public static function WebformElementStates::valueCallback in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Element/WebformElementStates.php \Drupal\webform\Element\WebformElementStates::valueCallback()
Determines how user input is mapped to an element's #value property.
Parameters
array $element: An associative array containing the properties of the element.
mixed $input: The incoming input to populate the form element. If this is FALSE, the element's default value should be returned.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
mixed The value to assign to the element.
Overrides FormElement::valueCallback
File
- src/
Element/ WebformElementStates.php, line 44
Class
- WebformElementStates
- Provides a webform element to edit an element's #states.
Namespace
Drupal\webform\ElementCode
public static function valueCallback(&$element, $input, FormStateInterface $form_state) {
if ($input === FALSE) {
if (isset($element['#default_value'])) {
if (is_string($element['#default_value'])) {
$default_value = Yaml::decode($element['#default_value']);
}
else {
$default_value = $element['#default_value'] ?: [];
}
return static::convertFormApiStatesToStatesArray($default_value);
}
else {
return [];
}
}
elseif (is_array($input) && isset($input['states'])) {
return is_string($input['states']) ? Yaml::decode($input['states']) : static::convertFormValuesToStatesArray($input['states']);
}
else {
return [];
}
}