You are here

public function DirectoryDeleteForm::buildForm in Media Directories 2.x

Same name and namespace in other branches
  1. 8 modules/media_directories_ui/src/Form/DirectoryDeleteForm.php \Drupal\media_directories_ui\Form\DirectoryDeleteForm::buildForm()
  2. 3.x modules/media_directories_ui/src/Form/DirectoryDeleteForm.php \Drupal\media_directories_ui\Form\DirectoryDeleteForm::buildForm()

Form constructor.

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 The form structure.

Overrides ConfirmFormBase::buildForm

File

modules/media_directories_ui/src/Form/DirectoryDeleteForm.php, line 82

Class

DirectoryDeleteForm
Form to delete a directory.

Namespace

Drupal\media_directories_ui\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $build_info = $form_state
    ->getBuildInfo();
  if (isset($build_info['args'][0])) {
    $this->formContext = $build_info['args'][0];
    $this->directory = $this->formContext['directory'];
    $form['directory_id'] = [
      '#type' => 'hidden',
      '#value' => $this->directory
        ->id(),
    ];
  }
  if ($this->directory
    ->access('delete')) {
    $form['question']['#markup'] = '<h4>' . $this
      ->getQuestion() . '</h4>';
    $form = parent::buildForm($form, $form_state);
    $form['#attached']['library'][] = 'core/drupal.dialog.ajax';
    $form['actions']['submit']['#ajax'] = [
      'callback' => [
        $this,
        'submitModalAjax',
      ],
      'event' => 'click',
    ];
    $form['actions']['cancel'] = [
      '#type' => 'button',
      '#value' => $this
        ->t('Cancel'),
      '#button_type' => 'secondary',
      '#ajax' => [
        'callback' => [
          $this,
          'closeModalAjax',
        ],
        'event' => 'click',
      ],
    ];
  }
  else {
    $form['permission_info']['#markup'] = $this
      ->t('No permission found to delete this directory.');
  }
  return $form;
}