function AjaxResponse::addCommand

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Ajax/AjaxResponse.php \Drupal\Core\Ajax\AjaxResponse::addCommand()
  2. 10 core/lib/Drupal/Core/Ajax/AjaxResponse.php \Drupal\Core\Ajax\AjaxResponse::addCommand()
  3. 11.x core/lib/Drupal/Core/Ajax/AjaxResponse.php \Drupal\Core\Ajax\AjaxResponse::addCommand()

Add an AJAX command to the response.

Parameters

\Drupal\Core\Ajax\CommandInterface $command: An AJAX command object implementing CommandInterface.

bool $prepend: A boolean which determines whether the new command should be executed before previously added commands. Defaults to FALSE.

Return value

$this The current AjaxResponse.

File

core/lib/Drupal/Core/Ajax/AjaxResponse.php, line 38

Class

AjaxResponse
JSON response object for AJAX requests.

Namespace

Drupal\Core\Ajax

Code

public function addCommand(CommandInterface $command, $prepend = FALSE) {
    if ($prepend) {
        array_unshift($this->commands, $command->render());
    }
    else {
        $this->commands[] = $command->render();
    }
    if ($command instanceof CommandWithAttachedAssetsInterface) {
        $assets = $command->getAttachedAssets();
        $attachments = [
            'library' => $assets->getLibraries(),
            'drupalSettings' => $assets->getSettings(),
        ];
        $attachments = BubbleableMetadata::mergeAttachments($this->getAttachments(), $attachments);
        $this->setAttachments($attachments);
    }
    return $this;
}

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