class DateTime in Webform 8.5
Same name and namespace in other branches
- 6.x src/Plugin/WebformElement/DateTime.php \Drupal\webform\Plugin\WebformElement\DateTime
Provides a 'datetime' element.
Plugin annotation
@WebformElement(
id = "datetime",
api = "https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Datetime!Element!Datetime.php/class/Datetime",
label = @Translation("Date/time"),
description = @Translation("Provides a form element for date & time selection."),
category = @Translation("Date/time elements"),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\webform\Plugin\WebformElementBase implements TrustedCallbackInterface, WebformElementInterface uses MessengerTrait, StringTranslationTrait, WebformCompositeFormElementTrait, WebformEntityInjectionTrait
Expanded class hierarchy of DateTime
File
- src/
Plugin/ WebformElement/ DateTime.php, line 22
Namespace
Drupal\webform\Plugin\WebformElementView source
class DateTime extends DateBase {
/**
* {@inheritdoc}
*/
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();
}
}
return [
'date_min' => '',
'date_max' => '',
// Date settings.
'date_date_format' => $date_format,
'date_date_datepicker_button' => FALSE,
'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();
}
/**
* {@inheritdoc}
*/
protected function defineTranslatableProperties() {
return array_merge(parent::defineTranslatableProperties(), [
'date_date_placeholder',
'date_time_placeholder',
]);
}
/****************************************************************************/
/**
* {@inheritdoc}
*/
public function prepare(array &$element, WebformSubmissionInterface $webform_submission = NULL) {
// Must define a '#default_value' for Datetime element to prevent the
// below error.
// Notice: Undefined index: #default_value in Drupal\Core\Datetime\Element\Datetime::valueCallback().
if (!isset($element['#default_value'])) {
$element['#default_value'] = NULL;
}
// Remove 'for' from the element's label.
$element['#label_attributes']['webform-remove-for-attribute'] = TRUE;
/* Date */
$date_element = isset($element['#date_date_element']) ? $element['#date_date_element'] : 'date';
// Unset unsupported date format for date elements that are not
// text or datepicker.
if (!in_array($date_element, [
'text',
'datepicker',
])) {
unset($element['date_date_format']);
}
// Set date year range.
$element += [
'#date_year_range' => '',
];
if (empty($element['#date_year_range'])) {
$date_min = $this
->getElementProperty($element, 'date_date_min') ?: $this
->getElementProperty($element, 'date_min');
$min_year = $date_min ? static::formatDate('Y', strtotime($date_min)) : '1900';
$date_max = $this
->getElementProperty($element, 'date_date_max') ?: $this
->getElementProperty($element, 'date_max');
$max_year = $date_max ? static::formatDate('Y', strtotime($date_max)) : '2050';
$element['#date_year_range'] = "{$min_year}:{$max_year}";
}
// Set date format.
if (!isset($element['#date_date_format'])) {
$element['#date_date_format'] = $this
->getDefaultProperty('date_date_format');
}
// Add date callback.
$element['#date_date_callbacks'][] = '_webform_datetime_date';
/* Time */
// Set time format.
if (!isset($element['#date_time_format'])) {
$element['#date_time_format'] = $this
->getDefaultProperty('date_time_format');
}
// Add time callback.
$element['#date_time_callbacks'][] = '_webform_datetime_time';
// Prepare element after date/time formats have been updated.
parent::prepare($element, $webform_submission);
}
/**
* {@inheritdoc}
*/
protected function getElementSelectorInputsOptions(array $element) {
$t_args = [
'@title' => $this
->getAdminLabel($element),
];
return [
'date' => (string) $this
->t('@title [Date]', $t_args),
'time' => (string) $this
->t('@title [Time]', $t_args),
];
}
/**
* {@inheritdoc}
*/
public function getElementSelectorInputValue($selector, $trigger, array $element, WebformSubmissionInterface $webform_submission) {
$value = $this
->getRawValue($element, $webform_submission);
if (empty($value)) {
return NULL;
}
// Get date/time format pattern.
$input_name = WebformSubmissionConditionsValidator::getSelectorInputName($selector);
$format = 'html_' . WebformSubmissionConditionsValidator::getInputNameAsArray($input_name, 1);
$pattern = DateFormat::load($format)
->getPattern();
// Return date/time.
$date = DrupalDateTime::createFromTimestamp(strtotime($value));
return $date
->format($pattern);
}
/**
* {@inheritdoc}
*/
public function form(array $form, FormStateInterface $form_state) {
$form = parent::form($form, $form_state);
$form['date']['#description'] = $this
->t('Datetime element is designed to have sane defaults so any or all can be omitted.') . ' ' . $this
->t('Both the date and time components are configurable so they can be output as HTML5 datetime elements or not, as desired.');
$form['date']['date_date_element'] = [
'#type' => 'select',
'#title' => $this
->t('Date element'),
'#options' => [
'datetime' => $this
->t('HTML datetime - Use the HTML5 datetime element type.'),
'datetime-local' => $this
->t('HTML datetime input (localized) - Use the HTML5 datetime-local element type.'),
'date' => $this
->t('HTML date input - Use the HTML5 date element type.'),
'text' => $this
->t('Text input - No HTML5 element, use a normal text field.'),
'datepicker' => $this
->t('Date picker input - Use jQuery date picker with custom date format'),
'none' => $this
->t('None - Do not display a date element'),
],
];
$form['date']['date_date_datepicker_button'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Show date picker button'),
'#description' => $this
->t('If checked, date picker will include a calendar button'),
'#return_value' => TRUE,
'#states' => [
'visible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datepicker',
],
],
],
],
];
$form['date']['date_date_element_datetime_warning'] = [
'#type' => 'webform_message',
'#message_type' => 'warning',
'#message_message' => $this
->t('HTML5 datetime elements do not gracefully degrade in older browsers and will be displayed as a plain text field without a date or time picker.'),
'#access' => TRUE,
'#states' => [
'visible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime',
],
],
'or',
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime-local',
],
],
],
],
];
$form['date']['date_date_element_none_warning'] = [
'#type' => 'webform_message',
'#message_type' => 'warning',
'#message_message' => $this
->t('You should consider using a dedicated Time element, instead of this Date/time element, which will prepend the current date to the submitted time.'),
'#access' => TRUE,
'#states' => [
'visible' => [
':input[name="properties[date_date_element]"]' => [
'value' => 'none',
],
],
],
];
$form['date']['date_date_placeholder'] = [
'#type' => 'textfield',
'#title' => $this
->t('Date placeholder'),
'#description' => $this
->t('The placeholder will be shown in the element until the user starts entering a value.'),
'#states' => [
'visible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'text',
],
],
'or',
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datepicker',
],
],
],
],
];
$date_format = DateFormat::load('html_date')
->getPattern();
$form['date']['date_date_format'] = [
'#type' => 'webform_select_other',
'#title' => $this
->t('Date format'),
'#options' => [
$date_format => $this
->t('HTML date - @format (@date)', [
'@format' => $date_format,
'@date' => static::formatDate($date_format),
]),
'l, F j, Y' => $this
->t('Long date - @format (@date)', [
'@format' => 'l, F j, Y',
'@date' => static::formatDate('l, F j, Y'),
]),
'D, m/d/Y' => $this
->t('Medium date - @format (@date)', [
'@format' => 'D, m/d/Y',
'@date' => static::formatDate('D, m/d/Y'),
]),
'm/d/Y' => $this
->t('Short date - @format (@date)', [
'@format' => 'm/d/Y',
'@date' => static::formatDate('m/d/Y'),
]),
],
'#other__option_label' => $this
->t('Custom…'),
'#other__placeholder' => $this
->t('Custom date format…'),
'#other__description' => $this
->t('Enter date format using <a href="http://php.net/manual/en/function.date.php">Date Input Format</a>.'),
'#states' => [
'visible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'text',
],
],
'or',
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datepicker',
],
],
],
],
];
$form['date']['date_year_range'] = [
'#type' => 'textfield',
'#title' => $this
->t('Date year range'),
'#description' => $this
->t("A description of the range of years to allow, like '1900:2050', '-3:+3' or '2000:+3', where the first value describes the earliest year and the second the latest year in the range.") . ' ' . $this
->t('A year in either position means that specific year.') . ' ' . $this
->t('A +/- value describes a dynamic value that is that many years earlier or later than the current year at the time the webform is displayed.') . ' ' . $this
->t("Used in jQueryUI (fallback) datepicker year range and HTML5 min/max date settings. Defaults to '1900:2050'.") . ' ' . $this
->t('Use min/max validation to define a more specific date range.'),
'#states' => [
'invisible' => [
':input[name="properties[date_date_element]"]' => [
'value' => 'none',
],
],
],
];
// Time.
$form['time'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Time settings'),
];
$form['time']['date_time_element'] = [
'#type' => 'select',
'#title' => $this
->t('Time element'),
'#options' => [
'time' => $this
->t('HTML time input - Use a HTML5 time element type.'),
'text' => $this
->t('Text input - No HTML5 element, use a normal text field.'),
'timepicker' => $this
->t('Time picker input - Use jQuery time picker with custom time format'),
'none' => $this
->t('None - Do not display a time element.'),
],
'#states' => [
'invisible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime',
],
],
'or',
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime-local',
],
],
],
],
];
$form['time']['date_time_placeholder'] = [
'#type' => 'textfield',
'#title' => $this
->t('Time placeholder'),
'#description' => $this
->t('The placeholder will be shown in the element until the user starts entering a value.'),
'#states' => [
'visible' => [
[
':input[name="properties[date_time_element]"]' => [
'value' => 'text',
],
],
'or',
[
':input[name="properties[date_time_element]"]' => [
'value' => 'timepicker',
],
],
],
],
];
$form['time']['date_time_format'] = [
'#type' => 'webform_select_other',
'#title' => $this
->t('Time format'),
'#description' => $this
->t("Time format is only applicable for browsers that do not have support for the HTML5 time element. Browsers that support the HTML5 time element will display the time using the user's preferred format."),
'#options' => [
'H:i:s' => $this
->t('24 hour with seconds - @format (@time)', [
'@format' => 'H:i:s',
'@time' => static::formatDate('H:i:s'),
]),
'H:i' => $this
->t('24 hour - @format (@time)', [
'@format' => 'H:i',
'@time' => static::formatDate('H:i'),
]),
'g:i:s A' => $this
->t('12 hour with seconds - @format (@time)', [
'@format' => 'g:i:s A',
'@time' => static::formatDate('g:i:s A'),
]),
'g:i A' => $this
->t('12 hour - @format (@time)', [
'@format' => 'g:i A',
'@time' => static::formatDate('g:i A'),
]),
],
'#other__option_label' => $this
->t('Custom…'),
'#other__placeholder' => $this
->t('Custom time format…'),
'#other__description' => $this
->t('Enter time format using <a href="http://php.net/manual/en/function.date.php">Time Input Format</a>.'),
'#states' => [
'invisible' => [
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime',
],
],
'or',
[
':input[name="properties[date_date_element]"]' => [
'value' => 'datetime-local',
],
],
'or',
[
':input[name="properties[date_time_element]"]' => [
'value' => 'none',
],
],
'or',
[
':input[name="properties[date_time_element]"]' => [
'value' => 'time',
],
],
],
],
];
$form['time']['date_time_container'] = $this
->getFormInlineContainer();
$form['time']['date_time_container']['date_time_min'] = [
'#type' => 'webform_time',
'#title' => $this
->t('Time minimum'),
'#description' => $this
->t('Specifies the minimum time.'),
'#states' => [
'invisible' => [
[
':input[name="properties[date_time_element]"]' => [
'value' => 'none',
],
],
],
],
];
$form['time']['date_time_container']['date_time_max'] = [
'#type' => 'webform_time',
'#title' => $this
->t('Time maximum'),
'#description' => $this
->t('Specifies the maximum time.'),
'#states' => [
'invisible' => [
[
':input[name="properties[date_time_element]"]' => [
'value' => 'none',
],
],
],
],
];
$form['time']['date_time_step'] = [
'#type' => 'webform_select_other',
'#title' => $this
->t('Time step'),
'#description' => $this
->t('Specifies the minute intervals.'),
'#options' => [
60 => $this
->t('1 minute'),
300 => $this
->t('5 minutes'),
600 => $this
->t('10 minutes'),
900 => $this
->t('15 minutes'),
1200 => $this
->t('20 minutes'),
1800 => $this
->t('30 minutes'),
],
'#other__type' => 'number',
'#other__description' => $this
->t('Enter interval in seconds.'),
'#states' => [
'invisible' => [
[
':input[name="properties[date_time_element]"]' => [
'value' => 'none',
],
],
],
],
];
return $form;
}
/**
* {@inheritdoc}
*/
public function getConfigurationFormProperties(array &$form, FormStateInterface $form_state) {
$properties = parent::getConfigurationFormProperties($form, $form_state);
// Remove hidden date properties.
if (isset($properties['#date_date_element'])) {
switch ($properties['#date_date_element']) {
case 'date':
unset($properties['#date_date_format']);
break;
case 'datetime':
case 'datetime-local':
unset($properties['#date_date_format'], $properties['#date_time_element'], $properties['#date_time_format'], $properties['#date_increment']);
break;
case 'none':
unset($properties['#date_date_format'], $properties['#date_year_range']);
break;
}
}
// Remove hidden date properties.
if (isset($properties['#date_time_element'])) {
switch ($properties['#date_time_element']) {
case 'time':
unset($properties['#date_time_format']);
break;
case 'none':
unset($properties['#date_time_format'], $properties['date_increment']);
break;
}
}
return $properties;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DateBase:: |
public static | function | After build handler for date elements. | 1 |
DateBase:: |
public | function |
Build an element's export row. Overrides WebformElementBase:: |
|
DateBase:: |
protected static | function | Specifies the start and end year to use as a date range. | |
DateBase:: |
protected static | function | Format custom date. | |
DateBase:: |
protected | function |
Format an element's value as text. Overrides WebformElementBase:: |
|
DateBase:: |
protected | function | Get the type of date/time element. | |
DateBase:: |
public | function |
Get an element's default single value format name. Overrides WebformElementBase:: |
|
DateBase:: |
public | function |
Get an element's available single value formats. Overrides WebformElementBase:: |
|
DateBase:: |
public | function |
Get test values for an element. Overrides WebformElementBase:: |
|
DateBase:: |
protected | function | Parse GNU Date Input Format. | |
DateBase:: |
protected | function |
Prepare an element's validation callbacks. Overrides WebformElementBase:: |
|
DateBase:: |
public static | function | Webform element pre validation handler for Date elements. | |
DateBase:: |
public | function |
Set an element's default value using saved data. Overrides WebformElementBase:: |
1 |
DateBase:: |
protected | function | Set GNU date input format error. | |
DateBase:: |
public | function |
Form validation handler. Overrides WebformElementBase:: |
1 |
DateBase:: |
public static | function | Webform element validation handler for date elements. | |
DateBase:: |
protected | function | Validate GNU date input format. | |
DateTime:: |
protected | function |
Define an element's default properties. Overrides DateBase:: |
|
DateTime:: |
protected | function |
Define an element's translatable properties. Overrides WebformElementBase:: |
|
DateTime:: |
public | function |
Gets the actual configuration webform array to be built. Overrides DateBase:: |
|
DateTime:: |
public | function |
Get an associative array of element properties from configuration webform. Overrides WebformElementBase:: |
|
DateTime:: |
protected | function |
Get an element's (sub)inputs selectors as options. Overrides WebformElementBase:: |
|
DateTime:: |
public | function |
Get an element's (sub)input selector value. Overrides WebformElementBase:: |
|
DateTime:: |
public | function |
Prepare an element to be rendered within a webform. Overrides DateBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. | ||
WebformCompositeFormElementTrait:: |
public static | function | Adds form element theming to an element if its title or description is set. | 1 |
WebformElementBase:: |
protected | property | The configuration factory. | |
WebformElementBase:: |
protected | property | The current user. | |
WebformElementBase:: |
protected | property | An associative array of an element's default properties names and values. | |
WebformElementBase:: |
protected | property | A element info manager. | |
WebformElementBase:: |
protected | property | The webform element manager. | |
WebformElementBase:: |
protected | property | The entity type manager. | |
WebformElementBase:: |
protected | property | The webform libraries manager. | |
WebformElementBase:: |
protected | property | A logger instance. | |
WebformElementBase:: |
protected | property | The webform submission storage. | |
WebformElementBase:: |
protected | property | The token manager. | |
WebformElementBase:: |
protected | property | An indexed array of an element's translated properties. | |
WebformElementBase:: |
public | function |
Alter an element's associated form. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
protected | function | Build an element as text or HTML. | 4 |
WebformElementBase:: |
public | function |
Form constructor. Overrides PluginFormInterface:: |
3 |
WebformElementBase:: |
protected | function | Build configuration form tabs. | 1 |
WebformElementBase:: |
public | function |
Build an element's export header. Overrides WebformElementInterface:: |
4 |
WebformElementBase:: |
public | function |
Get an element's export options webform. Overrides WebformElementInterface:: |
4 |
WebformElementBase:: |
public | function |
Build an element as HTML element. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Build an element as text element. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
protected | function | Checks an access rule against a user account's roles and id. | |
WebformElementBase:: |
public | function |
Check element access (rules). Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
2 |
WebformElementBase:: |
protected | function | Define default base properties used by all elements. | 4 |
WebformElementBase:: |
protected | function | Define default multiple properties used by most elements. | 1 |
WebformElementBase:: |
public | function |
Display element disabled warning. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Finalize an element to be rendered within a webform. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
protected | function | Format an element's value as HTML or plain text. | 2 |
WebformElementBase:: |
protected | function | Format an element's item using custom HTML or plain text. | 2 |
WebformElementBase:: |
protected | function | Format an element's items using custom HTML or plain text. | |
WebformElementBase:: |
public | function |
Format an element's value as HTML. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
protected | function | Format an element's value as HTML. | 19 |
WebformElementBase:: |
protected | function | Format an element's items as HTML. | 2 |
WebformElementBase:: |
public | function |
Format an element's table column value. Overrides WebformElementInterface:: |
4 |
WebformElementBase:: |
public | function |
Format an element's value as plain text. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
protected | function | Format an element's items as text. | 2 |
WebformElementBase:: |
public | function |
Get an element's admin label (#admin_title, #title or #webform_key). Overrides WebformElementInterface:: |
|
WebformElementBase:: |
protected | function | Get configuration property value. | 1 |
WebformElementBase:: |
protected | function | Get default base properties used by all elements. | |
WebformElementBase:: |
public | function |
Gets the element's default key. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
protected | function | Get default multiple properties used by most elements. | |
WebformElementBase:: |
public | function |
Get default properties. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get an element's default property value. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
protected | function | Get a render element's default property. | |
WebformElementBase:: |
public | function |
Get an element's property value. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get an element's selectors as options. Overrides WebformElementInterface:: |
11 |
WebformElementBase:: |
public | function |
Get an element's selectors source values. Overrides WebformElementInterface:: |
3 |
WebformElementBase:: |
public | function |
Get an element's supported states as options. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Get an element's default export options. Overrides WebformElementInterface:: |
5 |
WebformElementBase:: |
public | function |
Get the Webform element's form element class definition. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
protected | function | Get form--inline container which is used for side-by-side element layout. | |
WebformElementBase:: |
public | function |
Retrieves the default properties for the defined element type. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get element's single value format name by looking for '#format' property, global settings, and finally default settings. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Get an element's default multiple value format name. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Get element's multiple value format name by looking for '#format' property, global settings, and finally default settings. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get an element's available multiple value formats. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Get an element's key/name. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get an element's label (#title or #webform_key). Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get configuration form's off-canvas width. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Get link to element's API documentation. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get the URL for the element's API documentation. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Gets the category of the plugin instance. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Gets the description of the plugin instance. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Gets the label of the plugin instance. Overrides WebformElementInterface:: |
3 |
WebformElementBase:: |
public | function |
Get an element's submission raw value. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get related element types. Overrides WebformElementInterface:: |
6 |
WebformElementBase:: |
public | function |
Get element's table column(s) settings. Overrides WebformElementInterface:: |
4 |
WebformElementBase:: |
public | function |
Get translatable properties. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Gets the type name (aka id) of the plugin instance with the 'webform_' prefix. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Get an element's submission value. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
protected | function | Determine if the element has a composite field wrapper. | |
WebformElementBase:: |
public | function |
Determine if the element is or includes a managed_file upload element. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Checks if the element value has multiple values. Overrides WebformElementInterface:: |
6 |
WebformElementBase:: |
public | function |
Checks if the element uses the 'webform_multiple' element. Overrides WebformElementInterface:: |
3 |
WebformElementBase:: |
public | function |
Determine if the element supports a specified property. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Determine if an element's has a submission value. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Checks if the element has a wrapper. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public static | function | Webform element #after_build callback. | |
WebformElementBase:: |
public | function |
Initialize an element to be displayed, rendered, or exported. Overrides WebformElementInterface:: |
8 |
WebformElementBase:: |
public | function |
Checks if the element is a composite element. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Checks if the element is a container that can contain elements. Overrides WebformElementInterface:: |
9 |
WebformElementBase:: |
public | function |
Checks if the element is disabled. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Checks if an empty element is excluded. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Checks if the element is enabled. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Checks if the element is excluded via webform.settings. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
public | function |
Checks if the element is hidden. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Checks if the element carries a value. Overrides WebformElementInterface:: |
11 |
WebformElementBase:: |
public | function |
Checks if the element value could contain multiple lines. Overrides WebformElementInterface:: |
2 |
WebformElementBase:: |
public | function |
Checks if the element is a root element. Overrides WebformElementInterface:: |
3 |
WebformElementBase:: |
public | function |
Acts on a webform submission element after it is created. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Delete any additional value associated with an element. Overrides WebformElementInterface:: |
5 |
WebformElementBase:: |
public | function |
Acts on loaded webform submission. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function |
Acts on a saved webform submission element before the insert or update hook is invoked. Overrides WebformElementInterface:: |
5 |
WebformElementBase:: |
public | function |
Changes the values of an entity before it is created. Overrides WebformElementInterface:: |
1 |
WebformElementBase:: |
public | function | 1 | |
WebformElementBase:: |
protected | function | Prefix an element's export header. | |
WebformElementBase:: |
protected | function | Replace Core's composite #pre_render with Webform's composite #pre_render. | |
WebformElementBase:: |
protected | function | Prepare an element's pre render callbacks. | 3 |
WebformElementBase:: |
protected | function | Set multiple element wrapper. | 1 |
WebformElementBase:: |
protected | function | Set an elements #states and flexbox wrapper. | 1 |
WebformElementBase:: |
public static | function | Fix flexbox wrapper. | |
WebformElementBase:: |
public static | function | Fix state wrapper. | |
WebformElementBase:: |
public | function |
Acts on a webform submission element before the presave hook is invoked. Overrides WebformElementInterface:: |
4 |
WebformElementBase:: |
public | function |
Generate a renderable preview of the element. Overrides WebformElementInterface:: |
37 |
WebformElementBase:: |
public | function |
Replace tokens for all element properties. Overrides WebformElementInterface:: |
|
WebformElementBase:: |
protected | function | Set an element's configuration webform element default value. | 2 |
WebformElementBase:: |
protected | function | Set configuration webform default values recursively. | |
WebformElementBase:: |
protected | function | Set element's default callback. | |
WebformElementBase:: |
public | function |
Form submission handler. Overrides PluginFormInterface:: |
|
WebformElementBase:: |
public | function |
Checks if the element supports multiple values. Overrides WebformElementInterface:: |
8 |
WebformElementBase:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
1 |
WebformElementBase:: |
public static | function | Form API callback. Validate element #minlength value. | |
WebformElementBase:: |
public static | function | Form API callback. Validate element #multiple > 1 value. | |
WebformElementBase:: |
public static | function | Form API callback. Validate element #unique value. | |
WebformElementBase:: |
public static | function | Form API callback. Validate element #unique multiple values. | |
WebformElementBase:: |
public | function |
Constructs a WebformElementBase object. Overrides PluginBase:: |
2 |
WebformEntityInjectionTrait:: |
protected | property | The webform. | |
WebformEntityInjectionTrait:: |
protected | property | The webform submission. | |
WebformEntityInjectionTrait:: |
public | function | Get the webform that this handler is attached to. | |
WebformEntityInjectionTrait:: |
public | function | Set webform and webform submission entity. | |
WebformEntityInjectionTrait:: |
public | function | Reset webform and webform submission entity. | |
WebformEntityInjectionTrait:: |
public | function | ||
WebformEntityInjectionTrait:: |
public | function | Set the webform that this is handler is attached to. | |
WebformEntityInjectionTrait:: |
public | function | Get the webform submission that this handler is handling. |