function ViewEditForm::submitDisplayAdd

Same name and namespace in other branches
  1. 9 core/modules/views_ui/src/ViewEditForm.php \Drupal\views_ui\ViewEditForm::submitDisplayAdd()
  2. 8.9.x core/modules/views_ui/src/ViewEditForm.php \Drupal\views_ui\ViewEditForm::submitDisplayAdd()
  3. 11.x core/modules/views_ui/src/ViewEditForm.php \Drupal\views_ui\ViewEditForm::submitDisplayAdd()

Submit handler to add a display to a view.

File

core/modules/views_ui/src/ViewEditForm.php, line 914

Class

ViewEditForm
Form controller for the Views edit form.

Namespace

Drupal\views_ui

Code

public function submitDisplayAdd($form, FormStateInterface $form_state) {
  $view = $this->entity;
  // Create the new display.
  $parents = $form_state->getTriggeringElement()['#parents'];
  $display_type = array_pop($parents);
  $display = $view->getExecutable()
    ->newDisplay($display_type);
  $display_id = $display->display['id'];
  // A new display got added so the asterisks symbol should appear on the new
  // display.
  $view->getExecutable()->current_display = $display_id;
  $view->cacheSet();
  // Redirect to the new display's edit page.
  $form_state->setRedirect('entity.view.edit_display_form', [
    'view' => $view->id(),
    'display_id' => $display_id,
  ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.