You are here

protected function LocalTaskItemForm::actions in Translation Management Tool 8

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

File

translators/tmgmt_local/src/Form/LocalTaskItemForm.php, line 143

Class

LocalTaskItemForm
Form controller for the localTaskItem edit forms.

Namespace

Drupal\tmgmt_local\Form

Code

protected function actions(array $form, FormStateInterface $form_state) {

  /** @var LocalTaskItem $task_item */
  $task_item = $this->entity;
  $actions['save_as_completed'] = array(
    '#type' => 'submit',
    '#button_type' => 'primary',
    '#validate' => [
      '::validateSaveAsComplete',
    ],
    '#submit' => [
      '::save',
      '::saveAsComplete',
    ],
    '#access' => $task_item
      ->isPending(),
    '#value' => t('Save as completed'),
  );
  $actions['save'] = array(
    '#type' => 'submit',
    '#submit' => [
      '::save',
    ],
    '#access' => $task_item
      ->isPending(),
    '#value' => t('Save'),
  );
  $job_item = $task_item
    ->getJobItem();
  if ($job_item
    ->getSourcePlugin() instanceof SourcePreviewInterface && $job_item
    ->getSourcePlugin()
    ->getPreviewUrl($job_item)) {
    $actions['preview'] = [
      '#type' => 'submit',
      '#submit' => [
        '::save',
        '::preview',
      ],
      '#access' => $task_item
        ->isPending(),
      '#value' => t('Preview'),
    ];
  }
  return $actions;
}