You are here

public function DateBase::getItemFormats in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/DateBase.php \Drupal\webform\Plugin\WebformElement\DateBase::getItemFormats()

Get an element's available single value formats.

Return value

array An associative array of single value formats containing name/label pairs.

Overrides WebformElementBase::getItemFormats

File

src/Plugin/WebformElement/DateBase.php, line 219

Class

DateBase
Provides a base 'date' class.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public function getItemFormats() {
  $formats = parent::getItemFormats();
  $date_formats = DateFormat::loadMultiple();
  foreach ($date_formats as $date_format) {
    $formats[$date_format
      ->id()] = $date_format
      ->label();
  }

  // If a default format is defined update the fallback date formats label.
  // @see \Drupal\webform\Plugin\WebformElementBase::getItemFormat
  $default_format = $this->configFactory
    ->get('webform.settings')
    ->get('format.' . $this
    ->getPluginId() . '.item');
  if ($default_format && isset($date_formats[$default_format])) {
    $formats['fallback'] = $this
      ->t('Default date format (@label)', [
      '@label' => $date_formats[$default_format]
        ->label(),
    ]);
  }
  return $formats;
}