abstract class TextBase in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Plugin/WebformElement/TextBase.php \Drupal\webform\Plugin\WebformElement\TextBase
Provides a base 'text' (field) class.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\webform\Plugin\WebformElementBase implements TrustedCallbackInterface, WebformElementInterface uses MessengerTrait, StringTranslationTrait, WebformCompositeFormElementTrait, WebformEntityStorageTrait, WebformEntityInjectionTrait
- class \Drupal\webform\Plugin\WebformElement\TextBase uses TextBaseTrait
- class \Drupal\webform\Plugin\WebformElementBase implements TrustedCallbackInterface, WebformElementInterface uses MessengerTrait, StringTranslationTrait, WebformCompositeFormElementTrait, WebformEntityStorageTrait, WebformEntityInjectionTrait
Expanded class hierarchy of TextBase
1 file declares its use of TextBase
File
- src/
Plugin/ WebformElement/ TextBase.php, line 16
Namespace
Drupal\webform\Plugin\WebformElementView source
abstract class TextBase extends WebformElementBase {
use TextBaseTrait;
/**
* {@inheritdoc}
*/
protected function defineDefaultProperties() {
return [
'readonly' => FALSE,
'size' => NULL,
'minlength' => NULL,
'maxlength' => NULL,
'placeholder' => '',
'autocomplete' => 'on',
'pattern' => '',
'pattern_error' => '',
] + parent::defineDefaultProperties();
}
/**
* {@inheritdoc}
*/
protected function defineTranslatableProperties() {
return array_merge(parent::defineTranslatableProperties(), [
'default_value',
'counter_minimum_message',
'counter_maximum_message',
'pattern_error',
]);
}
/****************************************************************************/
/**
* {@inheritdoc}
*/
public function prepare(array &$element, WebformSubmissionInterface $webform_submission = NULL) {
parent::prepare($element, $webform_submission);
// Counter.
if (!empty($element['#counter_type']) && (!empty($element['#counter_minimum']) || !empty($element['#counter_maximum'])) && $this->librariesManager
->isIncluded('jquery.textcounter')) {
// Apply character min/max to min/max length.
if ($element['#counter_type'] === 'character') {
if (!empty($element['#counter_minimum'])) {
$element['#minlength'] = $element['#counter_minimum'];
}
if (!empty($element['#counter_maximum'])) {
$element['#maxlength'] = $element['#counter_maximum'];
}
}
// Set 'data-counter-*' attributes using '#counter_*' properties.
$data_attributes = [
'counter_type',
'counter_minimum',
'counter_minimum_message',
'counter_maximum',
'counter_maximum_message',
];
foreach ($data_attributes as $data_attribute) {
if (empty($element['#' . $data_attribute])) {
continue;
}
$data_attribute_name = 'data-' . str_replace('_', '-', $data_attribute);
$data_attribute_value = $element['#' . $data_attribute];
if (in_array($data_attribute, [
'counter_minimum_message',
'counter_maximum_message',
])) {
$data_attribute_value = WebformHtmlEditor::stripTags($data_attribute_value);
}
$element['#attributes'][$data_attribute_name] = $data_attribute_value;
}
$element['#attributes']['class'][] = 'js-webform-counter';
$element['#attributes']['class'][] = 'webform-counter';
$element['#attached']['library'][] = 'webform/webform.element.counter';
$element['#element_validate'][] = [
get_class($this),
'validateCounter',
];
}
// Input mask.
if (!empty($element['#input_mask']) && $this->librariesManager
->isIncluded('jquery.inputmask')) {
// See if the element mask is JSON by looking for 'name':, else assume it
// is a mask pattern.
$input_mask = $element['#input_mask'];
if (preg_match("/^'[^']+'\\s*:/", $input_mask)) {
$element['#attributes']['data-inputmask'] = $input_mask;
}
else {
$element['#attributes']['data-inputmask-mask'] = $input_mask;
}
// Set input mask #pattern.
$input_masks = $this
->getInputMasks();
if (isset($input_masks[$input_mask]) && isset($input_masks[$input_mask]['pattern']) && empty($element['#pattern'])) {
$element['#pattern'] = $input_masks[$input_mask]['pattern'];
}
$element['#attributes']['class'][] = 'js-webform-input-mask';
$element['#attached']['library'][] = 'webform/webform.element.inputmask';
$element['#element_validate'][] = [
get_called_class(),
'validateInputMask',
];
}
// Input hiding.
if (!empty($element['#input_hide'])) {
$element['#attributes']['class'][] = 'js-webform-input-hide';
$element['#attached']['library'][] = 'webform/webform.element.inputhide';
}
// Pattern validation.
// This override core's pattern validation to support unicode
// and a custom error message.
if (isset($element['#pattern'])) {
$element['#attributes']['pattern'] = $element['#pattern'];
$element['#element_validate'][] = [
get_called_class(),
'validatePattern',
];
// Set pattern error message using #pattern_error.
// @see Drupal.behaviors.webformRequiredError
// @see webform.form.js
if (!empty($element['#pattern_error'])) {
$element['#attributes']['data-webform-pattern-error'] = WebformHtmlHelper::toPlainText($element['#pattern_error']);
}
}
// Minlength attribute.
if (isset($element['#minlength'])) {
$element['#attributes']['minlength'] = $element['#minlength'];
}
}
/**
* {@inheritdoc}
*/
public function form(array $form, FormStateInterface $form_state) {
$form = parent::form($form, $form_state);
// Input mask.
$form['form']['input_mask'] = [
'#type' => 'webform_select_other',
'#title' => $this
->t('Input masks'),
'#description' => $this
->t('An <a href=":href">inputmask</a> helps the user with the element by ensuring a predefined format.', [
':href' => 'https://github.com/RobinHerbots/jquery.inputmask',
]),
'#other__option_label' => $this
->t('Custom…'),
'#other__placeholder' => $this
->t('Enter input mask…'),
'#other__description' => $this
->t('(9 = numeric; a = alphabetical; * = alphanumeric)'),
'#empty_option' => $this
->t('- None -'),
'#options' => $this
->getInputMaskOptions(),
];
if ($this->librariesManager
->isExcluded('jquery.inputmask')) {
$form['form']['input_mask']['#access'] = FALSE;
}
// Input hiding.
$form['form']['input_hide'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Input hiding'),
'#description' => $this
->t('Hide the input of the element when the input is not being focused.'),
'#return_value' => TRUE,
];
// Pattern.
$form['validation']['pattern'] = [
'#type' => 'webform_checkbox_value',
'#title' => $this
->t('Pattern'),
'#description' => $this
->t('A <a href=":href">regular expression</a> that the element\'s value is checked against.', [
':href' => 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions',
]),
'#value__title' => $this
->t('Pattern regular expression'),
'#value__description' => $this
->t('Enter a <a href=":href">regular expression</a> that the element\'s value should match.', [
':href' => 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions',
]),
'#value__maxlength' => NULL,
];
$form['validation']['pattern_error'] = [
'#type' => 'textfield',
'#title' => $this
->t('Pattern message'),
'#description' => $this
->t('If set, this message will be used when a pattern is not matched, instead of the default "@message" message.', [
'@message' => $this
->t('%name field is not in the right format.'),
]),
'#states' => [
'visible' => [
':input[name="properties[pattern][checkbox]"]' => [
'checked' => TRUE,
],
],
],
];
// Counter.
$form['validation'] += $this
->buildCounterForm();
if (isset($form['form']['maxlength'])) {
$form['form']['maxlength']['#description'] .= ' ' . $this
->t('If character counter is enabled, maxlength will automatically be set to the count maximum.');
$form['form']['maxlength']['#states'] = [
'invisible' => [
':input[name="properties[counter_type]"]' => [
'value' => 'character',
],
],
];
}
return $form;
}
/**
* Form API callback. Validate (word/character) counter.
*/
public static function validateCounter(array &$element, FormStateInterface $form_state) {
$value = $element['#value'];
if ($value === '') {
return;
}
$type = $element['#counter_type'];
$max = !empty($element['#counter_maximum']) ? $element['#counter_maximum'] : NULL;
$min = !empty($element['#counter_minimum']) ? $element['#counter_minimum'] : NULL;
// Display error.
// @see \Drupal\Core\Form\FormValidator::performRequiredValidation
$t_args = [
'@type' => $type === 'character' ? t('characters') : t('words'),
'@name' => $element['#title'],
'%max' => $max,
'%min' => $min,
];
// Get character/word count.
if ($type === 'character') {
$length = mb_strlen($value);
$t_args['%length'] = $length;
}
elseif ($type === 'word') {
$length = WebformTextHelper::wordCount($value);
$t_args['%length'] = $length;
}
// Validate character/word count.
if ($max && $length > $max) {
$form_state
->setError($element, t('@name cannot be longer than %max @type but is currently %length @type long.', $t_args));
}
elseif ($min && $length < $min) {
$form_state
->setError($element, t('@name must be longer than %min @type but is currently %length @type long.', $t_args));
}
}
/**
* Form API callback. Validate input mask and display required error message.
*
* Makes sure a required element's value doesn't include the default
* input mask as the submitted value.
*
* Applies only to the currency input mask.
*/
public static function validateInputMask(&$element, FormStateInterface $form_state, &$complete_form) {
// Set required error when input mask is submitted.
if (!empty($element['#required']) && static::isDefaultInputMask($element, $element['#value'])) {
WebformElementHelper::setRequiredError($element, $form_state);
}
}
/**
* Check if an element's value is the input mask's default value.
*
* @param array $element
* An element.
* @param string $value
* A value.
*
* @return bool
* TRUE if an element's value is the input mask's default value.
*/
public static function isDefaultInputMask(array $element, $value) {
if (empty($element['#input_mask']) || $value === '') {
return FALSE;
}
$input_mask = $element['#input_mask'];
$input_masks = [
"'alias': 'currency'" => '$ 0.00',
"'alias': 'currency_negative'" => '-$ 0.00',
"'alias': 'currency_positive_negative'" => '$ 0.00',
];
return isset($input_masks[$input_mask]) && $input_masks[$input_mask] === $value ? TRUE : FALSE;
}
/**
* Form API callback. Validate unicode pattern and display a custom error.
*
* @see https://www.drupal.org/project/drupal/issues/2633550
*/
public static function validatePattern(&$element, FormStateInterface $form_state, &$complete_form) {
if ($element['#value'] !== '') {
// PHP: Convert JavaScript-escaped Unicode characters to PCRE
// escape sequence format.
// @see https://bytefreaks.net/programming-2/php-programming-2/php-convert-javascript-escaped-unicode-characters-to-html-hex-references˚
$pcre_pattern = preg_replace('/\\\\u([a-fA-F0-9]{4})/', '\\x{\\1}', $element['#pattern']);
$pattern = '{^(?:' . $pcre_pattern . ')$}u';
if (!preg_match($pattern, $element['#value'])) {
if (!empty($element['#pattern_error'])) {
$form_state
->setError($element, WebformHtmlHelper::toHtmlMarkup($element['#pattern_error']));
}
else {
$form_state
->setError($element, t('%name field is not in the right format.', [
'%name' => $element['#title'],
]));
}
}
}
}
/**
* {@inheritdoc}
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
parent::validateConfigurationForm($form, $form_state);
$properties = $this
->getConfigurationFormProperties($form, $form_state);
// Validate #pattern's regular expression.
// @see \Drupal\Core\Render\Element\FormElement::validatePattern
// @see http://stackoverflow.com/questions/4440626/how-can-i-validate-regex
if (!empty($properties['#pattern'])) {
set_error_handler('_webform_entity_element_validate_rendering_error_handler');
// PHP: Convert JavaScript-escaped Unicode characters to PCRE escape
// sequence format.
// @see https://bytefreaks.net/programming-2/php-programming-2/php-convert-javascript-escaped-unicode-characters-to-html-hex-references
$pcre_pattern = preg_replace('/\\\\u([a-fA-F0-9]{4})/', '\\x{\\1}', $properties['#pattern']);
if (preg_match('{^(?:' . $pcre_pattern . ')$}u', NULL) === FALSE) {
$form_state
->setErrorByName('pattern', $this
->t('Pattern %pattern is not a valid regular expression.', [
'%pattern' => $properties['#pattern'],
]));
}
set_error_handler('_drupal_error_handler');
}
// Validate #counter_maximum.
if (!empty($properties['#counter_type']) && empty($properties['#counter_maximum']) && empty($properties['#counter_minimum'])) {
$form_state
->setErrorByName('counter_minimum', $this
->t('Counter minimum or maximum is required.'));
$form_state
->setErrorByName('counter_maximum', $this
->t('Counter minimum or maximum is required.'));
}
}
/****************************************************************************/
// Input masks.
/****************************************************************************/
/**
* Get input masks.
*
* @return array
* An associative array keyed my input mask contain input mask title,
* example, and patterh.
*/
protected function getInputMasks() {
$input_masks = [
"'alias': 'currency'" => [
'title' => $this
->t('Currency (+)'),
'example' => '$ 9.99',
'pattern' => '^\\$ [0-9]{1,3}(,[0-9]{3})*.\\d\\d$',
],
"'alias': 'currency_negative'" => [
'title' => $this
->t('Currency (-)'),
'example' => '-$ 9.99',
'pattern' => '^(-\\$ [0-9]{1,3}(,[0-9]{3})*.\\d\\d|\\$ 0.00)$',
],
"'alias': 'currency_positive_negative'" => [
'title' => $this
->t('Currency (+/-)'),
'example' => '$ 9.99',
'pattern' => '^[-]?\\$ [0-9]{1,3}(,[0-9]{3})*.\\d\\d$',
],
"'alias': 'datetime'" => [
'title' => $this
->t('Date'),
'example' => '2007-06-09\'T\'17:46:21',
],
"'alias': 'decimal'" => [
'title' => $this
->t('Decimal'),
'example' => '1.234',
'pattern' => '^\\d+(\\.\\d+)?$',
],
"'alias': 'email'" => [
'title' => $this
->t('Email'),
'example' => 'example@example.com',
],
"'alias': 'ip'" => [
'title' => $this
->t('IP address'),
'example' => '255.255.255.255',
'pattern' => '^\\d\\d\\d\\.\\d\\d\\d\\.\\d\\d\\d\\.\\d\\d\\d$',
],
'[9-]AAA-999' => [
'title' => $this
->t('License plate'),
'example' => '[9-]AAA-999',
],
"'alias': 'mac'" => [
'title' => $this
->t('MAC address'),
'example' => '99-99-99-99-99-99',
'pattern' => '^\\d\\d-\\d\\d-\\d\\d-\\d\\d-\\d\\d-\\d\\d$',
],
"'alias': 'percentage'" => [
'title' => $this
->t('Percentage'),
'example' => '99 %',
'pattern' => '^\\d+ %$',
],
'(999) 999-9999' => [
'title' => $this
->t('Phone'),
'example' => '(999) 999-9999',
'pattern' => '^\\(\\d\\d\\d\\) \\d\\d\\d-\\d\\d\\d\\d$',
],
'999-99-9999' => [
'title' => $this
->t('Social Security Number (SSN)'),
'example' => '999-99-9999',
'pattern' => '^\\d\\d\\d-\\d\\d-\\d\\d\\d\\d$',
],
"'alias': 'vin'" => [
'title' => $this
->t('Vehicle identification number (VIN)'),
'example' => 'JA3AY11A82U020534',
],
'99999[-9999]' => [
'title' => $this
->t('ZIP Code'),
'example' => '99999[-9999]',
'pattern' => '^\\d\\d\\d\\d\\d(-\\d\\d\\d\\d)?$',
],
"'casing': 'upper'" => [
'title' => $this
->t('Uppercase'),
'example' => 'UPPERCASE',
],
"'casing': 'lower'" => [
'title' => $this
->t('Lowercase'),
'example' => 'lowercase',
],
];
// Get input masks.
$modules = $this->moduleHandler
->getImplementations('webform_element_input_masks');
foreach ($modules as $module) {
$input_masks += $this->moduleHandler
->invoke($module, 'webform_element_input_masks');
}
// Alter input masks.
$this->moduleHandler
->alter('webform_element_input_masks', $input_masks);
return $input_masks;
}
/**
* Get input masks as select menu options.
*
* @return array
* An associative array of options.
*/
protected function getInputMaskOptions() {
$input_masks = $this
->getInputMasks();
$options = [];
foreach ($input_masks as $input_mask => $settings) {
$options[$input_mask] = $settings['title'] . (!empty($settings['example']) ? ' - ' . $settings['example'] : '');
}
return $options;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
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:: |
2 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 98 |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
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. | |
TextBase:: |
protected | function |
Define an element's default properties. Overrides WebformElementBase:: |
7 |
TextBase:: |
protected | function |
Define an element's translatable properties. Overrides WebformElementBase:: |
1 |
TextBase:: |
public | function |
Gets the actual configuration webform array to be built. Overrides WebformElementBase:: |
5 |
TextBase:: |
protected | function | Get input masks as select menu options. | |
TextBase:: |
protected | function | Get input masks. | |
TextBase:: |
public static | function | Check if an element's value is the input mask's default value. | |
TextBase:: |
public | function |
Prepare an element to be rendered within a webform. Overrides WebformElementBase:: |
3 |
TextBase:: |
public | function |
Form validation handler. Overrides WebformElementBase:: |
|
TextBase:: |
public static | function | Form API callback. Validate (word/character) counter. | |
TextBase:: |
public static | function | Form API callback. Validate input mask and display required error message. | |
TextBase:: |
public static | function | Form API callback. Validate unicode pattern and display a custom error. | |
TextBaseTrait:: |
public | function | Build counter widget used by text elements and other element. | |
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. Overrides WebformEntityStorageTrait:: |
|
WebformElementBase:: |
protected | property | The webform libraries manager. | |
WebformElementBase:: |
protected | property | A logger instance. | |
WebformElementBase:: |
protected | property | The module handler. | |
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's export row. Overrides WebformElementInterface:: |
7 |
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:: |
16 |
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 value as text. | 19 |
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:: |
public | function |
Get an associative array of element properties from configuration webform. Overrides WebformElementInterface:: |
3 |
WebformElementBase:: |
protected | function | Get configuration property value. | 1 |
WebformElementBase:: |
public | function |
Gets the element's default key. Overrides WebformElementInterface:: |
1 |
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:: |
protected | function | Get an element's (sub)inputs selectors as options. | 9 |
WebformElementBase:: |
public | function |
Get an element's (sub)input selector value. Overrides WebformElementInterface:: |
5 |
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 an element's default single value format name. Overrides WebformElementInterface:: |
23 |
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 available single value formats. Overrides WebformElementInterface:: |
24 |
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 test values for an element. Overrides WebformElementInterface:: |
23 |
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 | Prepare an element's validation callbacks. | 8 |
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:: |
public | function |
Set an element's default value using saved data. Overrides WebformElementInterface:: |
7 |
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. | |
WebformEntityInjectionTrait:: |
protected | property | The webform. | 1 |
WebformEntityInjectionTrait:: |
protected | property | The webform submission. | 1 |
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. | |
WebformEntityStorageTrait:: |
protected | property | An associate array of entity type storage aliases. | |
WebformEntityStorageTrait:: |
protected | function | Retrieves the entity storage. | |
WebformEntityStorageTrait:: |
protected | function | Retrieves the webform submission storage. | |
WebformEntityStorageTrait:: |
protected | function | Retrieves the webform storage. | |
WebformEntityStorageTrait:: |
public | function | Implements the magic __get() method. |