Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Ajax/InsertCommand.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Core\Ajax; /** * Generic AJAX command for inserting content. * * This command instructs the client to insert the given HTML using whichever * jQuery DOM manipulation method has been specified in the #ajax['method'] * variable of the element that triggered the request. * * This command is implemented by Drupal.AjaxCommands.prototype.insert() * defined in misc/ajax.js. * * @ingroup ajax */ class InsertCommand implements CommandInterface, CommandWithAttachedAssetsInterface { use CommandWithAttachedAssetsTrait; /** * A CSS selector string. * * If the command is a response to a request from an #ajax form element then * this value can be NULL. * * @var string */ protected $selector; /** * The content for the matched element(s). * * Either a render array or an HTML string. * * @var string|array */ protected $content; /** * A settings array to be passed to any attached JavaScript behavior. * * @var array */ protected $settings; /** * Constructs an InsertCommand object. * * @param string $selector * A CSS selector. * @param string|array $content * The content that will be inserted in the matched element(s), either a * render array or an HTML string. * @param array $settings * An array of JavaScript settings to be passed to any attached behaviors. */ public function __construct($selector, $content, array $settings = NULL) { $this->selector = $selector; $this->content = $content; $this->settings = $settings; } /** * Implements Drupal\Core\Ajax\CommandInterface:render(). */ public function render() { return [ 'command' => 'insert', 'method' => NULL, 'selector' => $this->selector, 'data' => $this->getRenderedContent(), 'settings' => $this->settings, ]; } }