You are here

public function StateItem::fieldSettingsForm in State Machine 8

Returns a form for the field-level settings.

Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure field-level settings.

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 settings.

Overrides FieldItemBase::fieldSettingsForm

File

src/Plugin/Field/FieldType/StateItem.php, line 100

Class

StateItem
Plugin implementation of the 'state' field type.

Namespace

Drupal\state_machine\Plugin\Field\FieldType

Code

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

  // Allow the workflow to be changed if it's not determined by a callback.
  if (!$this
    ->getSetting('workflow_callback')) {
    $workflow_manager = \Drupal::service('plugin.manager.workflow');
    $workflows = $workflow_manager
      ->getGroupedLabels($this
      ->getEntity()
      ->getEntityTypeId());
    $element['workflow'] = [
      '#type' => 'select',
      '#title' => $this
        ->t('Workflow'),
      '#options' => $workflows,
      '#default_value' => $this
        ->getSetting('workflow'),
      '#required' => TRUE,
    ];
  }
  return $element;
}