FieldConfigEditForm::actions

protected FieldConfigEditForm::actions(array $form, FormStateInterface $form_state)

Returns an array of supported actions for the current entity form.

@todo Consider introducing a 'preview' action here, since it is used by many entity types.

Overrides EntityForm::actions

File

core/modules/field_ui/src/Form/FieldConfigEditForm.php, line 115

Class

FieldConfigEditForm
Provides a form for the field settings form.

Namespace

Drupal\field_ui\Form

Code

protected function actions(array $form, FormStateInterface $form_state) {
  $actions = parent::actions($form, $form_state);
  $actions['submit']['#value'] = $this->t('Save settings');

  if (!$this->entity->isNew()) {
    $target_entity_type = $this->entityManager->getDefinition($this->entity->getTargetEntityTypeId());
    $route_parameters = [
      'field_config' => $this->entity->id(),
    ] + FieldUI::getRouteBundleParameter($target_entity_type, $this->entity->getTargetBundle());
    $url = new Url('entity.field_config.' . $target_entity_type->id() . '_field_delete_form', $route_parameters);

    if ($this->getRequest()->query->has('destination')) {
      $query = $url->getOption('query');
      $query['destination'] = $this->getRequest()->query->get('destination');
      $url->setOption('query', $query);
    }
    $actions['delete'] = array(
      '#type' => 'link',
      '#title' => $this->t('Delete'),
      '#url' => $url,
      '#access' => $this->entity->access('delete'),
      '#attributes' => array(
        'class' => array('button', 'button--danger'),
      ),
    );
  }

  return $actions;
}
doc_Drupal
2016-10-29 09:11:04
Comments
Leave a Comment

Please login to continue.