diff --git a/src/Widget/WidgetPluginBase.php b/src/Widget/WidgetPluginBase.php index e1a21af..d7b6a1d 100644 --- a/src/Widget/WidgetPluginBase.php +++ b/src/Widget/WidgetPluginBase.php @@ -132,33 +132,34 @@ abstract class WidgetPluginBase extends PluginBase implements WidgetPluginInterf */ protected function buildListItems(ResultInterface $result) { $classes = ['facet-item']; + $items = $this->prepareLink($result); + $children = $result->getChildren(); + // Check if we need to expand this result. if ($children && ($this->facet->getExpandHierarchy() || $result->isActive() || $result->hasActiveChildren())) { - $items = $this->prepareLink($result); $child_items = []; + $classes[] = 'facet-item--expanded'; foreach ($children as $child) { $child_items[] = $this->buildListItems($child); } - $classes[] = 'expanded'; $items['children'] = [ '#theme' => 'item_list', '#items' => $child_items]; if ($result->hasActiveChildren()) { - $items['#attributes'] = ['class' => 'active-trail']; + $classes[] = 'facet-item--active-trail'; } - if ($result->isActive()) { - $items['#attributes'] = ['class' => 'is-active']; + + }else{ + if($children){ + $classes[] = 'facet-item--collapsed'; } } - else { - $items = $this->prepareLink($result); - if ($result->isActive()) { - $items['#attributes'] = ['class' => 'is-active']; - } + if ($result->isActive()) { + $items['#attributes'] = ['class' => 'is-active']; } $items['#wrapper_attributes'] = ['class' => $classes];