class AttachedAssets in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Asset/AttachedAssets.php \Drupal\Core\Asset\AttachedAssets
The default attached assets collection.
Hierarchy
- class \Drupal\Core\Asset\AttachedAssets implements AttachedAssetsInterface
Expanded class hierarchy of AttachedAssets
12 files declare their use of AttachedAssets
- AjaxCommandsTest.php in core/
tests/ Drupal/ Tests/ Core/ Ajax/ AjaxCommandsTest.php - AjaxResponseAttachmentsProcessor.php in core/
lib/ Drupal/ Core/ Ajax/ AjaxResponseAttachmentsProcessor.php - AnnounceCommand.php in core/
lib/ Drupal/ Core/ Ajax/ AnnounceCommand.php - AssetResolverTest.php in core/
tests/ Drupal/ Tests/ Core/ Asset/ AssetResolverTest.php - Contains \Drupal\Tests\Core\Asset\AssetResolverTest.
- AttachedAssetsTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Asset/ AttachedAssetsTest.php
File
- core/
lib/ Drupal/ Core/ Asset/ AttachedAssets.php, line 8
Namespace
Drupal\Core\AssetView source
class AttachedAssets implements AttachedAssetsInterface {
/**
* The (ordered) list of asset libraries attached to the current response.
*
* @var string[]
*/
public $libraries = [];
/**
* The JavaScript settings attached to the current response.
*
* @var array
*/
public $settings = [];
/**
* The set of asset libraries that the client has already loaded.
*
* @var string[]
*/
protected $alreadyLoadedLibraries = [];
/**
* {@inheritdoc}
*/
public static function createFromRenderArray(array $render_array) {
if (!isset($render_array['#attached'])) {
throw new \LogicException('The render array has not yet been rendered, hence not all attachments have been collected yet.');
}
$assets = new static();
if (isset($render_array['#attached']['library'])) {
$assets
->setLibraries($render_array['#attached']['library']);
}
if (isset($render_array['#attached']['drupalSettings'])) {
$assets
->setSettings($render_array['#attached']['drupalSettings']);
}
return $assets;
}
/**
* {@inheritdoc}
*/
public function setLibraries(array $libraries) {
$this->libraries = array_unique($libraries);
return $this;
}
/**
* {@inheritdoc}
*/
public function getLibraries() {
return $this->libraries;
}
/**
* {@inheritdoc}
*/
public function setSettings(array $settings) {
$this->settings = $settings;
return $this;
}
/**
* {@inheritdoc}
*/
public function getSettings() {
return $this->settings;
}
/**
* {@inheritdoc}
*/
public function getAlreadyLoadedLibraries() {
return $this->alreadyLoadedLibraries;
}
/**
* {@inheritdoc}
*/
public function setAlreadyLoadedLibraries(array $libraries) {
$this->alreadyLoadedLibraries = $libraries;
return $this;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AttachedAssets:: |
protected | property | The set of asset libraries that the client has already loaded. | |
AttachedAssets:: |
public | property | The (ordered) list of asset libraries attached to the current response. | |
AttachedAssets:: |
public | property | The JavaScript settings attached to the current response. | |
AttachedAssets:: |
public static | function |
Creates an AttachedAssetsInterface object from a render array. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Returns the set of already loaded asset libraries. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Returns the asset libraries attached to the current response. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Returns the settings attached to the current response. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Sets the asset libraries that the current request marked as already loaded. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Sets the asset libraries attached to the current response. Overrides AttachedAssetsInterface:: |
|
AttachedAssets:: |
public | function |
Sets the JavaScript settings that are attached to the current response. Overrides AttachedAssetsInterface:: |