Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Ajax/DataCommand.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Ajax/DataCommand.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,73 @@ +<?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, + ]; + } + +}