You are here

public function HMSFieldWidget::settingsForm in HMS Field 8

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 WidgetBase::settingsForm

File

src/Plugin/Field/FieldWidget/HMSFieldWidget.php, line 60
Contains \Drupal\hms_field\Plugin\Field\FieldWidget\HMSFieldWidget.

Class

HMSFieldWidget
Plugin implementation of the 'hms_default' widget.

Namespace

Drupal\hms_field\Plugin\Field\FieldWidget

Code

public function settingsForm(array $form, FormStateInterface $form_state) {
  $elements = parent::settingsForm($form, $form_state);
  $elements['format'] = array(
    '#type' => 'select',
    '#title' => t('Input format'),
    '#default_value' => $this
      ->getSetting('format'),
    '#options' => $this->hms_service
      ->format_options(),
    '#description' => t('The input format used for this field.'),
  );
  $elements['default_placeholder'] = array(
    '#type' => 'checkbox',
    '#title' => t('Default placeholder'),
    '#default_value' => $this
      ->getSetting('default_placeholder'),
    '#description' => t('Provide a default placeholder with the format.'),
  );
  $elements['placeholder'] = array(
    '#type' => 'textfield',
    '#title' => t('Placeholder'),
    '#default_value' => $this
      ->getSetting('placeholder'),
    '#description' => 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.'),
    '#states' => array(
      'invisible' => array(
        ':input[name*="default_placeholder"]' => array(
          'checked' => TRUE,
        ),
      ),
    ),
  );
  return $elements;
}