From 290e7f405d7984891cf6903de097c06c6060c404 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Tue, 6 Jan 2026 15:08:36 +0000 Subject: [PATCH] Use `terms` fieldtype instead of `select` --- src/Query/Scopes/Filters/Fields/Terms.php | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/src/Query/Scopes/Filters/Fields/Terms.php b/src/Query/Scopes/Filters/Fields/Terms.php index b7f63b71384..9fcd560ba8e 100644 --- a/src/Query/Scopes/Filters/Fields/Terms.php +++ b/src/Query/Scopes/Filters/Fields/Terms.php @@ -20,10 +20,12 @@ public function fieldItems() 'default' => 'like', ], 'term' => [ - 'type' => 'select', - 'options' => $this->options()->all(), + 'type' => 'terms', 'placeholder' => __('Term'), 'clearable' => true, + 'mode' => 'select', + 'max_items' => 1, + 'taxonomies' => $this->fieldtype->taxonomies(), 'if' => [ 'operator' => 'contains_any like', ], @@ -63,21 +65,4 @@ public function badge($values) return $field.': '.$term; } - - protected function options() - { - return collect($this->fieldtype->taxonomies()) - ->map(function ($handle) { - return Facades\Taxonomy::find($handle); - }) - ->filter() - ->flatMap(function ($taxonomy) { - return $taxonomy->queryTerms()->get(); - }) - ->mapWithKeys(function ($term) { - $value = $this->fieldtype->usingSingleTaxonomy() ? $term->slug() : $term->id(); - - return [$value => $term->title()]; - }); - } }