123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?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,
- ];
- }
- }
|