diff --git a/src/Plugin/Block/FacetBlock.php b/src/Plugin/Block/FacetBlock.php index 02599c8..e7dd781 100644 --- a/src/Plugin/Block/FacetBlock.php +++ b/src/Plugin/Block/FacetBlock.php @@ -94,6 +94,13 @@ class FacetBlock extends BlockBase implements ContainerFactoryPluginInterface { 'route_parameters' => ['facets_facet' => $facet->id()], ]; + if (in_array('facet-active', $build[0]['#attributes']['class'], TRUE)) { + $build['#attributes']['class'][] = 'facet-active'; + } + else { + $build['#attributes']['class'][] = 'facet-inactive'; + } + // Add classes needed for ajax. if (!empty($build['#use_ajax'])) { $build['#attributes']['class'][] = 'block-facets-ajax'; diff --git a/src/Widget/WidgetPluginBase.php b/src/Widget/WidgetPluginBase.php index bd0987f..45b896f 100644 --- a/src/Widget/WidgetPluginBase.php +++ b/src/Widget/WidgetPluginBase.php @@ -77,6 +77,7 @@ abstract class WidgetPluginBase extends PluginBase implements WidgetPluginInterf '#attributes' => [ 'data-drupal-facet-id' => $facet->id(), 'data-drupal-facet-alias' => $facet->getUrlAlias(), + 'class' => [$facet->getActiveItems() ? 'facet-active' : 'facet-inactive'], ], '#context' => ['list_style' => $widget['type']], '#cache' => [ diff --git a/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php b/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php index d182688..e606718 100644 --- a/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php +++ b/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php @@ -32,7 +32,7 @@ class CheckboxWidgetTest extends WidgetTestBase { $this->assertInternalType('array', $output); $this->assertCount(4, $output['#items']); - $this->assertEquals(['js-facets-checkbox-links'], $output['#attributes']['class']); + $this->assertEquals(['facet-inactive', 'js-facets-checkbox-links'], $output['#attributes']['class']); $expected_links = [ $this->buildLinkAssertion('Llama', 'llama', $facet, 10), diff --git a/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php b/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php index 76a126e..0e08ebb 100644 --- a/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php +++ b/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php @@ -33,7 +33,7 @@ class DropdownWidgetTest extends WidgetTestBase { $this->assertInternalType('array', $output); $this->assertCount(4, $output['#items']); - $this->assertEquals(['js-facets-dropdown-links'], $output['#attributes']['class']); + $this->assertEquals(['facet-inactive', 'js-facets-dropdown-links'], $output['#attributes']['class']); $expected_links = [ $this->buildLinkAssertion('Llama', 'llama', $facet, 10),