You are here

function field_default_token_selection_element_value in Field default token 8

Same name and namespace in other branches
  1. 7 field_default_token.module \field_default_token_selection_element_value()

Form element value callback.

Replacement for form_type_select_value() functions for selectors, checkboxes, radio buttons (Field UI forms only).

1 string reference to 'field_default_token_selection_element_value'
field_default_token_modify_field_ui_form in ./field_default_token.module
Modifies Field UI form.

File

./field_default_token.module, line 247
Enables to use tokens as field default values.

Code

function field_default_token_selection_element_value(&$element, $input, FormStateInterface $form_state) {
  $user_input = $form_state
    ->getUserInput();
  if (!empty($user_input['default_value_input']['default_value_token'])) {
    $token = $user_input['default_value_input']['default_value_token'];

    // Disable validation on Field UI forms.
    $element['#after_build'][] = 'field_default_token_remove_validation';
    if ($input !== FALSE) {
      if (isset($element['#multiple']) && $element['#multiple']) {
        $input = [
          $token,
        ];
      }
      else {
        $input = $token;
      }
    }
  }
  return Select::valueCallback($element, $input, $form_state);
}