Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/Asset/AssetResolverInterface.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\Asset; | |
4 | |
5 /** | |
6 * Resolves asset libraries into concrete CSS and JavaScript assets. | |
7 * | |
8 * Given an attached assets collection (to be loaded for the current response), | |
9 * the asset resolver can resolve those asset libraries into a list of concrete | |
10 * CSS and JavaScript assets. | |
11 * | |
12 * In other words: this allows developers to translate Drupal's asset | |
13 * abstraction (asset libraries) into concrete assets. | |
14 * | |
15 * @see \Drupal\Core\Asset\AttachedAssetsInterface | |
16 * @see \Drupal\Core\Asset\LibraryDependencyResolverInterface | |
17 */ | |
18 interface AssetResolverInterface { | |
19 | |
20 /** | |
21 * Returns the CSS assets for the current response's libraries. | |
22 * | |
23 * It returns the CSS assets in order, according to the SMACSS categories | |
24 * specified in the assets' weights: | |
25 * - CSS_BASE | |
26 * - CSS_LAYOUT | |
27 * - CSS_COMPONENT | |
28 * - CSS_STATE | |
29 * - CSS_THEME | |
30 * @see https://www.drupal.org/node/1887918#separate-concerns | |
31 * This ensures proper cascading of styles so themes can easily override | |
32 * module styles through CSS selectors. | |
33 * | |
34 * Themes may replace module-defined CSS files by adding a stylesheet with the | |
35 * same filename. For example, themes/bartik/system-menus.css would replace | |
36 * modules/system/system-menus.css. This allows themes to override complete | |
37 * CSS files, rather than specific selectors, when necessary. | |
38 * | |
39 * Also invokes hook_css_alter(), to allow CSS assets to be altered. | |
40 * | |
41 * @param \Drupal\Core\Asset\AttachedAssetsInterface $assets | |
42 * The assets attached to the current response. | |
43 * @param bool $optimize | |
44 * Whether to apply the CSS asset collection optimizer, to return an | |
45 * optimized CSS asset collection rather than an unoptimized one. | |
46 * | |
47 * @return array | |
48 * A (possibly optimized) collection of CSS assets. | |
49 */ | |
50 public function getCssAssets(AttachedAssetsInterface $assets, $optimize); | |
51 | |
52 /** | |
53 * Returns the JavaScript assets for the current response's libraries. | |
54 * | |
55 * References to JavaScript files are placed in a certain order: first, all | |
56 * 'core' files, then all 'module' and finally all 'theme' JavaScript files | |
57 * are added to the page. Then, all settings are output, followed by 'inline' | |
58 * JavaScript code. If running update.php, all preprocessing is disabled. | |
59 * | |
60 * Note that hook_js_alter(&$javascript) is called during this function call | |
61 * to allow alterations of the JavaScript during its presentation. The correct | |
62 * way to add JavaScript during hook_js_alter() is to add another element to | |
63 * the $javascript array, deriving from drupal_js_defaults(). See | |
64 * locale_js_alter() for an example of this. | |
65 * | |
66 * @param \Drupal\Core\Asset\AttachedAssetsInterface $assets | |
67 * The assets attached to the current response. | |
68 * Note that this object is modified to reflect the final JavaScript | |
69 * settings assets. | |
70 * @param bool $optimize | |
71 * Whether to apply the JavaScript asset collection optimizer, to return | |
72 * optimized JavaScript asset collections rather than an unoptimized ones. | |
73 * | |
74 * @return array | |
75 * A nested array containing 2 values: | |
76 * - at index zero: the (possibly optimized) collection of JavaScript assets | |
77 * for the top of the page | |
78 * - at index one: the (possibly optimized) collection of JavaScript assets | |
79 * for the bottom of the page | |
80 */ | |
81 public function getJsAssets(AttachedAssetsInterface $assets, $optimize); | |
82 | |
83 } |