public function FormAjaxSubscriber::onView

public FormAjaxSubscriber::onView(GetResponseForControllerResultEvent $event)

Alters the wrapper format if this is an AJAX form request.

Parameters

\Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent $event: The event to process.

File

core/lib/Drupal/Core/Form/EventSubscriber/FormAjaxSubscriber.php, line 52

Class

FormAjaxSubscriber
Wraps AJAX form submissions that are triggered via an exception.

Namespace

Drupal\Core\Form\EventSubscriber

Code

public function onView(GetResponseForControllerResultEvent $event) {
  // To support an AJAX form submission of a form within a block, make the
  // later VIEW subscribers process the controller result as though for
  // HTML display (i.e., add blocks). During that block building, when the
  // submitted form gets processed, an exception gets thrown by
  // \Drupal\Core\Form\FormBuilderInterface::buildForm(), allowing
  // self::onException() to return an AJAX response instead of an HTML one.
  $request = $event->getRequest();
  if ($request->query->has(FormBuilderInterface::AJAX_FORM_REQUEST)) {
    $request->query->set(MainContentViewSubscriber::WRAPPER_FORMAT, 'html');
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Form!EventSubscriber!FormAjaxSubscriber.php/function/FormAjaxSubscriber::onView/8.1.x