You are here

public function Date::setDefaultValue in Webform 6.x

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

Set an element's default value using saved data.

The method allows the submission's 'saved' #default_value to be different from the element's #default_value.

Parameters

array $element: An element.

Overrides DateBase::setDefaultValue

See also

\Drupal\webform\Plugin\WebformElement\DateBase::setDefaultValue

\Drupal\webform\Plugin\WebformElement\EntityAutocomplete::setDefaultValue

File

src/Plugin/WebformElement/Date.php, line 93

Class

Date
Provides a 'date' element.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public function setDefaultValue(array &$element) {
  parent::setDefaultValue($element);

  // Format date picker default value.
  if ($this
    ->datePickerExists() && !empty($element['#datepicker'])) {
    if (isset($element['#default_value'])) {
      if ($this
        ->hasMultipleValues($element)) {
        foreach ($element['#default_value'] as $index => $default_value) {
          $element['#default_value'][$index] = static::formatDate($element['#date_date_format'], strtotime($default_value));
        }
      }
      else {
        $element['#default_value'] = static::formatDate($element['#date_date_format'], strtotime($element['#default_value']));
      }
    }
  }
}