Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/Ajax/InsertCommand.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Core\Ajax; | |
4 | |
5 /** | |
6 * Generic AJAX command for inserting content. | |
7 * | |
8 * This command instructs the client to insert the given HTML using whichever | |
9 * jQuery DOM manipulation method has been specified in the #ajax['method'] | |
10 * variable of the element that triggered the request. | |
11 * | |
12 * This command is implemented by Drupal.AjaxCommands.prototype.insert() | |
13 * defined in misc/ajax.js. | |
14 * | |
15 * @ingroup ajax | |
16 */ | |
17 class InsertCommand implements CommandInterface, CommandWithAttachedAssetsInterface { | |
18 | |
19 use CommandWithAttachedAssetsTrait; | |
20 | |
21 /** | |
22 * A CSS selector string. | |
23 * | |
24 * If the command is a response to a request from an #ajax form element then | |
25 * this value can be NULL. | |
26 * | |
27 * @var string | |
28 */ | |
29 protected $selector; | |
30 | |
31 /** | |
32 * The content for the matched element(s). | |
33 * | |
34 * Either a render array or an HTML string. | |
35 * | |
36 * @var string|array | |
37 */ | |
38 protected $content; | |
39 | |
40 /** | |
41 * A settings array to be passed to any attached JavaScript behavior. | |
42 * | |
43 * @var array | |
44 */ | |
45 protected $settings; | |
46 | |
47 /** | |
48 * Constructs an InsertCommand object. | |
49 * | |
50 * @param string $selector | |
51 * A CSS selector. | |
52 * @param string|array $content | |
53 * The content that will be inserted in the matched element(s), either a | |
54 * render array or an HTML string. | |
55 * @param array $settings | |
56 * An array of JavaScript settings to be passed to any attached behaviors. | |
57 */ | |
58 public function __construct($selector, $content, array $settings = NULL) { | |
59 $this->selector = $selector; | |
60 $this->content = $content; | |
61 $this->settings = $settings; | |
62 } | |
63 | |
64 /** | |
65 * Implements Drupal\Core\Ajax\CommandInterface:render(). | |
66 */ | |
67 public function render() { | |
68 | |
69 return [ | |
70 'command' => 'insert', | |
71 'method' => NULL, | |
72 'selector' => $this->selector, | |
73 'data' => $this->getRenderedContent(), | |
74 'settings' => $this->settings, | |
75 ]; | |
76 } | |
77 | |
78 } |