You are here

protected function WebformOptionsForm::actions in Webform 8.5

Same name and namespace in other branches
  1. 6.x src/WebformOptionsForm.php \Drupal\webform\WebformOptionsForm::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

File

src/WebformOptionsForm.php, line 139

Class

WebformOptionsForm
Provides a form to set options.

Namespace

Drupal\webform

Code

protected function actions(array $form, FormStateInterface $form_state) {
  $actions = parent::actions($form, $form_state);

  /** @var \Drupal\webform\WebformOptionsInterface $webform_options */
  $webform_options = $this->entity;

  // Add reset button if options are altered.
  $module_names = $this
    ->alterModuleNames();
  if (count($module_names) && !empty($webform_options
    ->get('options'))) {
    $actions['#submit']['#weight'] = -100;
    $actions['reset'] = [
      '#type' => 'submit',
      '#value' => $this
        ->t('Reset'),
      '#submit' => [
        '::submitForm',
        '::reset',
      ],
    ];
  }

  // Open delete button in a modal dialog.
  if (isset($actions['delete'])) {
    $actions['delete']['#attributes'] = WebformDialogHelper::getModalDialogAttributes(WebformDialogHelper::DIALOG_NARROW, $actions['delete']['#attributes']['class']);
    WebformDialogHelper::attachLibraries($actions['delete']);
  }
  return $actions;
}