You are here

protected function DateTime::defineDefaultProperties in Webform 6.x

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

Define an element's default properties.

Return value

array An associative array contain an the element's default properties.

Overrides DateBase::defineDefaultProperties

File

src/Plugin/WebformElement/DateTime.php, line 27

Class

DateTime
Provides a 'datetime' element.

Namespace

Drupal\webform\Plugin\WebformElement

Code

protected function defineDefaultProperties() {
  $date_format = '';
  $time_format = '';

  // Date formats cannot be loaded during install or update.
  if (!defined('MAINTENANCE_MODE')) {

    /** @var \Drupal\Core\Datetime\DateFormatInterface $date_format_entity */
    if ($date_format_entity = DateFormat::load('html_date')) {
      $date_format = $date_format_entity
        ->getPattern();
    }

    /** @var \Drupal\Core\Datetime\DateFormatInterface $time_format_entity */
    if ($time_format_entity = DateFormat::load('html_time')) {
      $time_format = $time_format_entity
        ->getPattern();
    }
  }
  $properties = [
    'date_min' => '',
    'date_max' => '',
    // Date settings.
    'date_date_format' => $date_format,
    'date_date_element' => 'date',
    'date_year_range' => '1900:2050',
    'date_date_placeholder' => '',
    // Time settings.
    'date_time_format' => $time_format,
    'date_time_element' => 'time',
    'date_time_min' => '',
    'date_time_max' => '',
    'date_time_step' => '',
    'date_time_placeholder' => '',
  ] + parent::defineDefaultProperties();
  if ($this
    ->datePickerExists()) {
    $properties += [
      'date_date_datepicker_button' => FALSE,
    ];
  }
  return $properties;
}