class DataCommand in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Ajax/DataCommand.php \Drupal\Core\Ajax\DataCommand
- 9 core/lib/Drupal/Core/Ajax/DataCommand.php \Drupal\Core\Ajax\DataCommand
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.
Hierarchy
- class \Drupal\Core\Ajax\DataCommand implements \Drupal\Core\Ajax\CommandInterface
Expanded class hierarchy of DataCommand
Related topics
3 files declare their use of DataCommand
- AjaxCommandsTest.php in core/
tests/ Drupal/ Tests/ Core/ Ajax/ AjaxCommandsTest.php - ajax_forms_test.module in core/
modules/ system/ tests/ modules/ ajax_forms_test/ ajax_forms_test.module - Mock module for Ajax forms testing.
- Callbacks.php in core/
modules/ system/ tests/ modules/ ajax_forms_test/ src/ Callbacks.php
File
- core/
lib/ Drupal/ Core/ Ajax/ DataCommand.php, line 16
Namespace
Drupal\Core\AjaxView source
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,
];
}
}