public function GutenbergLibraryManager::getActiveThemeMergedDefinition in Gutenberg 8.2
Get the active theme merged definition.
Return value
array The merged theme definitions.
Overrides GutenbergLibraryManagerInterface::getActiveThemeMergedDefinition
File
- src/
GutenbergLibraryManager.php, line 242
Class
- GutenbergLibraryManager
- Provides the default .gutenberg.yml library plugin manager.
Namespace
Drupal\gutenbergCode
public function getActiveThemeMergedDefinition() {
if (isset($this->activeThemeMergedDefinition)) {
return $this->activeThemeMergedDefinition;
}
$cid = $this->cacheKey . ':active_theme';
if ($cache = $this->cacheBackend
->get($cid)) {
return $this->activeThemeMergedDefinition = $cache->data;
}
// Specify the default definition.
$definition = $this->defaults;
foreach ($this
->getActiveThemeDefinitions() as $array) {
foreach ($array as $key => $value) {
if ($key === 'id' || $key === 'provider') {
// Ignore irrelevant properties.
continue;
}
if (isset($definition[$key]) && is_array($definition[$key]) && is_array($value)) {
// Merge arrays.
$definition[$key] = array_merge($definition[$key], $value);
}
else {
$definition[$key] = $value;
}
}
}
$this->activeThemeMergedDefinition = $definition;
$this->cacheBackend
->set($cid, $definition, Cache::PERMANENT, [
'gutenberg',
]);
return $this->activeThemeMergedDefinition;
}