Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/Ajax/CommandWithAttachedAssetsTrait.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 use Drupal\Core\Asset\AttachedAssets; | |
6 | |
7 /** | |
8 * Trait for Ajax commands that render content and attach assets. | |
9 * | |
10 * @ingroup ajax | |
11 */ | |
12 trait CommandWithAttachedAssetsTrait { | |
13 | |
14 /** | |
15 * The attached assets for this Ajax command. | |
16 * | |
17 * @var \Drupal\Core\Asset\AttachedAssets | |
18 */ | |
19 protected $attachedAssets; | |
20 | |
21 /** | |
22 * Processes the content for output. | |
23 * | |
24 * If content is a render array, it may contain attached assets to be | |
25 * processed. | |
26 * | |
27 * @return string|\Drupal\Component\Render\MarkupInterface | |
28 * HTML rendered content. | |
29 */ | |
30 protected function getRenderedContent() { | |
31 $this->attachedAssets = new AttachedAssets(); | |
32 if (is_array($this->content)) { | |
33 $html = \Drupal::service('renderer')->renderRoot($this->content); | |
34 $this->attachedAssets = AttachedAssets::createFromRenderArray($this->content); | |
35 return $html; | |
36 } | |
37 else { | |
38 return $this->content; | |
39 } | |
40 } | |
41 | |
42 /** | |
43 * Gets the attached assets. | |
44 * | |
45 * @return \Drupal\Core\Asset\AttachedAssets|null | |
46 * The attached assets for this command. | |
47 */ | |
48 public function getAttachedAssets() { | |
49 return $this->attachedAssets; | |
50 } | |
51 | |
52 } |