You are here

public function SmartDateRemoveInstanceForm::buildForm in Smart Date 3.2.x

Same name and namespace in other branches
  1. 8.2 modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::buildForm()
  2. 3.x modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::buildForm()
  3. 3.0.x modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::buildForm()
  4. 3.1.x modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::buildForm()
  5. 3.3.x modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::buildForm()
  6. 3.4.x modules/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php \Drupal\smart_date_recur\Form\SmartDateRemoveInstanceForm::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/smart_date_recur/src/Form/SmartDateRemoveInstanceForm.php, line 50

Class

SmartDateRemoveInstanceForm
Provides an instance cancellation confirmation form for Smart Date.

Namespace

Drupal\smart_date_recur\Form

Code

public function buildForm(array $form, FormStateInterface $form_state, SmartDateRule $rrule = NULL, string $index = NULL, $ajax = FALSE) {
  $this->rrule = $rrule;
  $this->index = $index;
  $result = \Drupal::entityQuery('smart_date_override')
    ->condition('rrule', $rrule
    ->id())
    ->condition('rrule_index', $index)
    ->execute();
  if ($result && ($override = SmartDateOverride::load(array_pop($result)))) {
    $this->oid = $override
      ->id();
  }
  $form = parent::buildForm($form, $form_state);
  if ($ajax) {
    $this
      ->addAjaxWrapper($form);
    $form['actions']['cancel']['#attributes']['class'][] = 'use-ajax';
    $form['actions']['cancel']['#url']
      ->setRouteParameter('modal', TRUE);
    $form['actions']['submit']['#ajax'] = [
      'callback' => '::ajaxSubmit',
    ];
  }
  return $form;
}