class DesignTokenValuePluginCollection
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Theme/DesignToken/DesignTokenValuePluginCollection.php \Drupal\Core\Theme\DesignToken\DesignTokenValuePluginCollection
A collection of design token value plugins.
Hierarchy
- class \Drupal\Component\Plugin\LazyPluginCollection implements \Drupal\Component\Plugin\IteratorAggregate, \Drupal\Component\Plugin\Countable
- class \Drupal\Core\Theme\DesignToken\DesignTokenValuePluginCollection extends \Drupal\Component\Plugin\LazyPluginCollection
Expanded class hierarchy of DesignTokenValuePluginCollection
2 files declare their use of DesignTokenValuePluginCollection
- DesignToken.php in core/
lib/ Drupal/ Core/ Theme/ Entity/ DesignToken.php - DesignTokenInterface.php in core/
lib/ Drupal/ Core/ Theme/ Entity/ DesignTokenInterface.php
File
-
core/
lib/ Drupal/ Core/ Theme/ DesignToken/ DesignTokenValuePluginCollection.php, line 14
Namespace
Drupal\Core\Theme\DesignTokenView source
class DesignTokenValuePluginCollection extends LazyPluginCollection {
public function __construct(protected DesignTokenValuePluginManagerInterface $manager, protected string $pluginId, protected array $configurations = []) {
if (!empty($this->configurations)) {
$instance_ids = array_keys($this->configurations);
$this->instanceIds = array_combine($instance_ids, $instance_ids);
}
}
/**
* {@inheritdoc}
*/
protected function initializePlugin($instance_id) : void {
$this->set($instance_id, $this->manager
->createInstance($this->pluginId, DesignTokenValuePluginBase::prepareConfiguration($this->configurations[$instance_id] ?? [])));
}
/**
* {@inheritdoc}
*/
public function setConfiguration(array $configuration) {
// Track each instance ID as it is updated.
$unprocessed_instance_ids = $this->getInstanceIds();
foreach ($configuration as $instance_id => $instance_configuration) {
$this->configurations[$instance_id] = $instance_configuration;
$instance = $this->get($instance_id);
if ($instance instanceof ConfigurableInterface) {
$instance->setConfiguration(DesignTokenValuePluginBase::prepareConfiguration($instance_configuration));
}
// Remove this instance ID from the list being updated.
unset($unprocessed_instance_ids[$instance_id]);
}
// Remove remaining instances that had no configuration specified for them.
foreach ($unprocessed_instance_ids as $unprocessed_instance_id) {
$this->removeInstanceId($unprocessed_instance_id);
}
return $this;
}
/**
* {@inheritdoc}
*/
public function getConfiguration() : array {
$preparedConfigurations = [];
foreach ($this->configurations as $instanceId => $configuration) {
$instance = $this->get($instanceId);
$preparedConfigurations[DesignTokenEntity::getConfigScopeName($instanceId)] = $instance->toDtcg();
}
return $preparedConfigurations;
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
|---|---|---|---|---|---|
| DesignTokenValuePluginCollection::getConfiguration | public | function | Gets the current configuration of all plugins in this collection. | Overrides LazyPluginCollection::getConfiguration | |
| DesignTokenValuePluginCollection::initializePlugin | protected | function | Initializes and stores a plugin. | Overrides LazyPluginCollection::initializePlugin | |
| DesignTokenValuePluginCollection::setConfiguration | public | function | Sets the configuration for all plugins in this collection. | Overrides LazyPluginCollection::setConfiguration | |
| DesignTokenValuePluginCollection::__construct | public | function | |||
| LazyPluginCollection::$instanceIds | protected | property | Stores the IDs of all potential plugin instances. | ||
| LazyPluginCollection::$pluginInstances | protected | property | Stores all instantiated plugins. | ||
| LazyPluginCollection::addInstanceId | public | function | Adds an instance ID to the available instance IDs. | 2 | |
| LazyPluginCollection::clear | public | function | Clears all instantiated plugins. | 1 | |
| LazyPluginCollection::count | public | function | |||
| LazyPluginCollection::get | public | function | Gets a plugin instance, initializing it if necessary. | 7 | |
| LazyPluginCollection::getInstanceIds | public | function | Gets all instance IDs. | ||
| LazyPluginCollection::getIterator | public | function | |||
| LazyPluginCollection::has | public | function | Determines if a plugin instance exists. | ||
| LazyPluginCollection::remove | public | function | Removes an initialized plugin. | 1 | |
| LazyPluginCollection::removeInstanceId | public | function | Removes an instance ID. | 1 | |
| LazyPluginCollection::set | public | function | Stores an initialized plugin. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.