You are here

function _webform_datetime_date in Webform 6.x

Same name and namespace in other branches
  1. 8.5 includes/webform.date.inc \_webform_datetime_date()

Callback for custom datetime date element.

Parameters

array $element: The element.

\Drupal\Core\Form\FormStateInterface $form_state: The form state.

\Drupal\Core\Datetime\DrupalDateTime|null $date: The date value.

See also

\Drupal\webform\Plugin\WebformElement\DateTime::prepare

1 string reference to '_webform_datetime_date'
DateTime::prepare in src/Plugin/WebformElement/DateTime.php
Prepare an element to be rendered within a webform.

File

includes/webform.date.inc, line 45
Callback functions for date, datetime, and time elements.

Code

function _webform_datetime_date(array &$element, FormStateInterface $form_state, DrupalDateTime $date = NULL) {

  // Make sure the date element is being displayed.
  if (!isset($element['date'])) {
    return;
  }
  $type = isset($element['#date_date_element']) ? $element['#date_date_element'] : 'date';
  switch ($type) {
    case 'datepicker':

      // Convert #type from datepicker to textfield.
      $element['date']['#type'] = 'textfield';

      // Must manually set 'data-drupal-date-format' to trigger date picker.
      // @see \Drupal\Core\Render\Element\Date::processDate
      $element['date']['#attributes']['data-drupal-date-format'] = [
        $element['date']['#date_date_format'],
      ];
      break;
  }
}