function DesignTokenValuePluginCollection::setConfiguration

File

core/lib/Drupal/Core/Theme/DesignToken/DesignTokenValuePluginCollection.php, line 37

Class

DesignTokenValuePluginCollection
A collection of design token value plugins.

Namespace

Drupal\Core\Theme\DesignToken

Code

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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.