You are here

public function FieldItemList::defaultValuesForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Field/FieldItemList.php \Drupal\Core\Field\FieldItemList::defaultValuesForm()
  2. 10 core/lib/Drupal/Core/Field/FieldItemList.php \Drupal\Core\Field\FieldItemList::defaultValuesForm()

Returns a form for the default value input.

Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure instance-level default value.

Parameters

array $form: The form where the settings form is being included in.

\Drupal\Core\Form\FormStateInterface $form_state: The form state of the (entire) configuration form.

Return value

array The form definition for the field default value.

Overrides FieldItemListInterface::defaultValuesForm

2 methods override FieldItemList::defaultValuesForm()
DateTimeFieldItemList::defaultValuesForm in core/modules/datetime/src/Plugin/Field/FieldType/DateTimeFieldItemList.php
Returns a form for the default value input.
FileFieldItemList::defaultValuesForm in core/modules/file/src/Plugin/Field/FieldType/FileFieldItemList.php
Returns a form for the default value input.

File

core/lib/Drupal/Core/Field/FieldItemList.php, line 282

Class

FieldItemList
Represents an entity field; that is, a list of field item objects.

Namespace

Drupal\Core\Field

Code

public function defaultValuesForm(array &$form, FormStateInterface $form_state) {
  if (empty($this
    ->getFieldDefinition()
    ->getDefaultValueCallback())) {
    if ($widget = $this
      ->defaultValueWidget($form_state)) {

      // Place the input in a separate place in the submitted values tree.
      $element = [
        '#parents' => [
          'default_value_input',
        ],
      ];
      $element += $widget
        ->form($this, $element, $form_state);
      return $element;
    }
    else {
      return [
        '#markup' => $this
          ->t('No widget available for: %type.', [
          '%type' => $this
            ->getFieldDefinition()
            ->getType(),
        ]),
      ];
    }
  }
}