function NodeForm::actions

Same name in other branches
  1. 8.9.x core/modules/node/src/NodeForm.php \Drupal\node\NodeForm::actions()
  2. 10 core/modules/node/src/NodeForm.php \Drupal\node\NodeForm::actions()
  3. 11.x core/modules/node/src/NodeForm.php \Drupal\node\NodeForm::actions()

Overrides EntityForm::actions

File

core/modules/node/src/NodeForm.php, line 215

Class

NodeForm
Form handler for the node edit forms.

Namespace

Drupal\node

Code

protected function actions(array $form, FormStateInterface $form_state) {
    $element = parent::actions($form, $form_state);
    $node = $this->entity;
    $preview_mode = $node->type->entity
        ->getPreviewMode();
    $element['submit']['#access'] = $preview_mode != DRUPAL_REQUIRED || $form_state->get('has_been_previewed');
    $element['preview'] = [
        '#type' => 'submit',
        '#access' => $preview_mode != DRUPAL_DISABLED && ($node->access('create') || $node->access('update')),
        '#value' => $this->t('Preview'),
        '#weight' => 20,
        '#submit' => [
            '::submitForm',
            '::preview',
        ],
    ];
    if (array_key_exists('delete', $element)) {
        $element['delete']['#weight'] = 100;
    }
    return $element;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.