You are here

public function DateBase::setDefaultValue in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/DateBase.php \Drupal\webform\Plugin\WebformElement\DateBase::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 WebformElementBase::setDefaultValue

See also

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

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

1 call to DateBase::setDefaultValue()
Date::setDefaultValue in src/Plugin/WebformElement/Date.php
Set an element's default value using saved data.
1 method overrides DateBase::setDefaultValue()
Date::setDefaultValue in src/Plugin/WebformElement/Date.php
Set an element's default value using saved data.

File

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

Class

DateBase
Provides a base 'date' class.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public function setDefaultValue(array &$element) {
  if ($this
    ->hasMultipleValues($element)) {
    $element['#default_value'] = isset($element['#default_value']) ? (array) $element['#default_value'] : NULL;
    return;
  }

  // Datelist and Datetime require #default_value to be DrupalDateTime.
  if (in_array($element['#type'], [
    'datelist',
    'datetime',
  ])) {
    if (!empty($element['#default_value']) && is_string($element['#default_value'])) {
      $element['#default_value'] = $element['#default_value'] ? DrupalDateTime::createFromTimestamp(strtotime($element['#default_value'])) : NULL;
    }
  }
}