You are here

protected function TagFormBase::actions in Extensible BBCode 4.0.x

Same name and namespace in other branches
  1. 8.3 src/Form/TagFormBase.php \Drupal\xbbcode\Form\TagFormBase::actions()

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

This function generates a list of Form API elements which represent actions supported by the current entity form.

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

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array An array of supported Form API action elements keyed by name.

Overrides EntityForm::actions

1 call to TagFormBase::actions()
TagForm::actions in src/Form/TagForm.php
Returns an array of supported actions for the current entity form.
1 method overrides TagFormBase::actions()
TagForm::actions in src/Form/TagForm.php
Returns an array of supported actions for the current entity form.

File

src/Form/TagFormBase.php, line 248

Class

TagFormBase
Base form for custom tags.

Namespace

Drupal\xbbcode\Form

Code

protected function actions(array $form, FormStateInterface $form_state) : array {
  $actions = parent::actions($form, $form_state);
  if (!$this->entity
    ->isNew()) {

    // Add access check on the save button.
    if (isset($actions['submit'])) {
      $actions['submit']['#access'] = $this->entity
        ->access('update');
    }
    try {
      $actions['copy'] = [
        '#type' => 'link',
        '#attributes' => [
          'class' => [
            'button',
          ],
        ],
        '#title' => $this
          ->t('Copy'),
        '#access' => $this->entity
          ->access('create'),
        '#url' => $this->entity
          ->toUrl('copy-form'),
      ];
    } catch (EntityMalformedException $e) {
    }
  }
  return $actions;
}