Gets the current styles for each enabled group.
\Drupal\paragraphs\ParagraphInterface $paragraph: The paragraph.
string[] A list of enabled styles, keyed by the group ID.
public function getStyles(ParagraphInterface $paragraph) {
$defaults = [];
foreach ($this->configuration['groups'] as $group_id => $group_configuration) {
$defaults[$group_id] = $group_configuration['default'];
}
if ($styles_config = $paragraph
->getBehaviorSetting('style', 'styles')) {
// Ensure that a style is enabled, is enabled and the group is enabled.
foreach ($styles_config as $group_id => $style) {
if ($style && $this->yamlStyleDiscovery
->getStyle($style) && isset($this->configuration['groups'][$group_id])) {
$defaults[$group_id] = $style;
}
}
}
elseif ($style_config = $paragraph
->getBehaviorSetting('style', 'style')) {
// If there is old config, map it to the current one.
if ($style = $this->yamlStyleDiscovery
->getStyle($style_config)) {
foreach (array_keys($this->configuration['groups']) as $group_id) {
if (in_array($group_id, $style['groups'])) {
$defaults[$group_id] = $style_config;
}
}
}
}
return $defaults;
}