You are here

public function Dimension::settingsForm in Dimension 2.1.x

Same name and namespace in other branches
  1. 8 src/Plugin/Field/FieldWidget/Dimension.php \Drupal\dimension\Plugin\Field\FieldWidget\Dimension::settingsForm()
  2. 2.0.x src/Plugin/Field/FieldWidget/Dimension.php \Drupal\dimension\Plugin\Field\FieldWidget\Dimension::settingsForm()

Returns a form to configure settings for the widget.

Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the widget. The field_ui module takes care of handling submitted form values.

Parameters

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

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form definition for the widget settings.

Overrides NumberWidget::settingsForm

File

src/Plugin/Field/FieldWidget/Dimension.php, line 33

Class

Dimension

Namespace

Drupal\dimension\Plugin\Field\FieldWidget

Code

public function settingsForm(array $form, FormStateInterface $form_state) {
  $element = [];

  /** @noinspection StaticInvocationViaThisInspection */
  foreach ($this
    ->fields() as $key => $label) {
    $settings = $this
      ->getSetting($key);
    $element[$key] = [
      '#type' => 'fieldset',
      '#title' => $settings['label'],
    ];
    $element[$key]['label'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Label'),
      '#default_value' => $settings['label'],
      '#required' => TRUE,
      '#description' => $this
        ->t(''),
    ];
    $element[$key]['placeholder'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Placeholder'),
      '#default_value' => $settings['placeholder'],
      '#description' => $this
        ->t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'),
    ];
    $element[$key]['description'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Description'),
      '#default_value' => $settings['description'],
      '#description' => $this
        ->t(''),
    ];
  }
  return $element;
}