diff --git a/js/dropdown-widget.js b/js/dropdown-widget.js index 8eb113f..6a3aaa8 100644 --- a/js/dropdown-widget.js +++ b/js/dropdown-widget.js @@ -7,7 +7,7 @@ "use strict"; - var $dropdown = ' 'item_list', '#items' => $items, - '#attributes' => ['class' => ['js-facets-dropdown-links']], + '#attributes' => [ + 'class' => ['js-facets-dropdown-links'], + 'data-multiple' => $facet->getShowOnlyOneResult() ? 0 : 1, + ], '#cache' => [ 'contexts' => [ 'url.path', diff --git a/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php b/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php index 8fc63da..6ee5320 100644 --- a/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php +++ b/tests/src/Unit/Plugin/widget/CheckboxWidgetTest.php @@ -14,12 +14,12 @@ use Drupal\Tests\UnitTestCase; * * @group facets */ -class CheckboxWidgetTest extends UnitTestCase { +class DropdownWidgetTest extends UnitTestCase { /** * The processor to be tested. * - * @var \Drupal\facets\Plugin\facets\widget\CheckboxWidget + * @var \Drupal\facets\Plugin\facets\widget\DropdownWidget */ protected $widget; diff --git a/tests/src/Unit/Plugin/widget/SelectWidgetTest.php b/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php similarity index 82% rename from tests/src/Unit/Plugin/widget/SelectWidgetTest.php rename to tests/src/Unit/Plugin/widget/DropdownWidgetTest.php index 6ef4664..e411814 100644 --- a/tests/src/Unit/Plugin/widget/SelectWidgetTest.php +++ b/tests/src/Unit/Plugin/widget/DropdownWidgetTest.php @@ -84,6 +84,27 @@ class SelectWidgetTest extends UnitTestCase { } /** + * Tests multiple. + */ + public function testMultiple() { + $facet = new Facet([], 'facet'); + $output = $this->widget->build($facet); + + $this->assertInternalType('array', $output); + $this->assertEquals(['js-facets-dropdown-links'], $output['#attributes']['class']); + $this->assertEquals(1, $output['#attributes']['data-multiple']); + + $facet = new Facet([], 'facet'); + $facet->setShowOnlyOneResult(TRUE); + $output = $this->widget->build($facet); + + $this->assertInternalType('array', $output); + $this->assertEquals(['js-facets-dropdown-links'], $output['#attributes']['class']); + $this->assertEquals(0, $output['#attributes']['data-multiple']); + } + + + /** * Build a formattable markup object to use in the other tests. * * @param string $text