function FieldConfigEditForm::actions
Same name in other branches
- 9 core/modules/field_ui/src/Form/FieldConfigEditForm.php \Drupal\field_ui\Form\FieldConfigEditForm::actions()
- 8.9.x core/modules/field_ui/src/Form/FieldConfigEditForm.php \Drupal\field_ui\Form\FieldConfigEditForm::actions()
- 10 core/modules/field_ui/src/Form/FieldConfigEditForm.php \Drupal\field_ui\Form\FieldConfigEditForm::actions()
Overrides EntityForm::actions
File
-
core/
modules/ field_ui/ src/ Form/ FieldConfigEditForm.php, line 301
Class
- FieldConfigEditForm
- Provides a form for the field settings form.
Namespace
Drupal\field_ui\FormCode
protected function actions(array $form, FormStateInterface $form_state) {
$actions = parent::actions($form, $form_state);
$actions['submit']['#value'] = $this->entity
->isNew() ? $this->t('Save') : $this->t('Save settings');
$actions['submit']['#ajax'] = [
'callback' => '::ajaxSubmit',
];
if ($this->entity
->isNew()) {
$entity_type = $this->entity
->getTargetEntityTypeId();
$route_parameters = [
'field_name' => $this->entity
->getName(),
'entity_type' => $entity_type,
] + FieldUI::getRouteBundleParameter($this->entityTypeManager
->getDefinition($entity_type), $this->entity
->getTargetBundle());
$actions['back'] = [
'#type' => 'link',
'#weight' => 1,
'#title' => $this->t('Change field type'),
'#limit_validation_errors' => [],
'#attributes' => [
'class' => [
'button',
'use-ajax',
],
'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([
'width' => '1100',
]),
],
'#url' => Url::fromRoute("field_ui.field_storage_config_reset_add_{$entity_type}", $route_parameters),
];
}
if (!$this->entity
->isNew()) {
$target_entity_type = $this->entityTypeManager
->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);
$actions['delete'] = [
'#type' => 'link',
'#title' => $this->t('Delete'),
'#url' => $url,
'#access' => $this->entity
->access('delete'),
'#attributes' => [
'class' => [
'button',
'button--danger',
'use-ajax',
],
'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([
'width' => '1100',
]),
],
];
}
return $actions;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.