12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace Drupal\Core\Ajax;
- /**
- * An AJAX command for implementing jQuery's data() method.
- *
- * This instructs the client to attach the name=value pair of data to the
- * selector via jQuery's data cache.
- *
- * This command is implemented by Drupal.AjaxCommands.prototype.data() defined
- * in misc/ajax.js.
- *
- * @ingroup ajax
- */
- class DataCommand implements CommandInterface {
- /**
- * A CSS selector string for elements to which data will be attached.
- *
- * 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 key of the data attached to elements matched by the selector.
- *
- * @var string
- */
- protected $name;
- /**
- * The value of the data to be attached to elements matched by the selector.
- *
- * The data is not limited to strings; it can be any format.
- *
- * @var mixed
- */
- protected $value;
- /**
- * Constructs a DataCommand object.
- *
- * @param string $selector
- * A CSS selector for the elements to which the data will be attached.
- * @param string $name
- * The key of the data to be attached to elements matched by the selector.
- * @param mixed $value
- * The value of the data to be attached to elements matched by the selector.
- */
- public function __construct($selector, $name, $value) {
- $this->selector = $selector;
- $this->name = $name;
- $this->value = $value;
- }
- /**
- * Implements Drupal\Core\Ajax\CommandInterface:render().
- */
- public function render() {
- return [
- 'command' => 'data',
- 'selector' => $this->selector,
- 'name' => $this->name,
- 'value' => $this->value,
- ];
- }
- }
|