hasErrors()) { return $date->format(DateTimeItemInterface::DATE_STORAGE_FORMAT); } } return $default_value; } /** * Applies the HTML5 date popup to the views filter form. * * @param array &$form * The form to apply it to. */ protected function applyDatePopupToForm(array &$form): void { if (!empty($this->options['expose']['identifier'])) { $identifier = $this->options['expose']['identifier']; // Identify wrapper. $wrapper_key = $identifier . '_wrapper'; if (isset($form[$wrapper_key])) { $element = &$form[$wrapper_key][$identifier]; } else { $element = &$form[$identifier]; } // Detect filters that are using min/max. if (isset($element['min'])) { $element['min']['#type'] = 'date'; $element['max']['#type'] = 'date'; if ($this->options['value']['type'] == 'offset') { $element['min']['#default_value'] = $this->setDefaultValue($element['min']['#default_value']); $element['max']['#default_value'] = $this->setDefaultValue($element['max']['#default_value']); } if (isset($element['value'])) { $element['value']['#type'] = 'date'; } } else { $element['#type'] = 'date'; $element['#default_value'] = $this->setDefaultValue($element['#default_value']); } } } }