Patched to Drupal 8.4.8 level. See https://www.drupal.org/sa-core-2018-004 and patch...
[yaffs-website] / web / core / lib / Drupal / Core / Asset / AttachedAssetsInterface.php
1 <?php
2
3 namespace Drupal\Core\Asset;
4
5 /**
6  * The attached assets collection for the current response.
7  *
8  * Allows for storage of:
9  * - an ordered list of asset libraries (to be loaded for the current response)
10  * - attached JavaScript settings (to be loaded for the current response)
11  * - a set of asset libraries that the client already has loaded (as indicated
12  *   in the request, to *not* be loaded for the current response)
13  *
14  * @see \Drupal\Core\Asset\AssetResolverInterface
15  */
16 interface AttachedAssetsInterface {
17
18   /**
19    * Creates an AttachedAssetsInterface object from a render array.
20    *
21    * @param array $render_array
22    *   A render array.
23    *
24    * @return \Drupal\Core\Asset\AttachedAssetsInterface
25    *
26    * @throws \LogicException
27    */
28   public static function createFromRenderArray(array $render_array);
29
30   /**
31    * Sets the asset libraries attached to the current response.
32    *
33    * @param string[] $libraries
34    *   A list of libraries, in the order they should be loaded.
35    *
36    * @return $this
37    */
38   public function setLibraries(array $libraries);
39
40   /**
41    * Returns the asset libraries attached to the current response.
42    *
43    * @return string[]
44    */
45   public function getLibraries();
46
47   /**
48    * Sets the JavaScript settings that are attached to the current response.
49    *
50    * @param array $settings
51    *   The needed JavaScript settings.
52    *
53    * @return $this
54    */
55   public function setSettings(array $settings);
56
57   /**
58    * Returns the settings attached to the current response.
59    *
60    * @return array
61    */
62   public function getSettings();
63
64   /**
65    * Sets the asset libraries that the current request marked as already loaded.
66    *
67    * @param string[] $libraries
68    *   The set of already loaded libraries.
69    *
70    * @return $this
71    */
72   public function setAlreadyLoadedLibraries(array $libraries);
73
74   /**
75    * Returns the set of already loaded asset libraries.
76    *
77    * @return string[]
78    */
79   public function getAlreadyLoadedLibraries();
80
81 }