From f3762309746a073d9fbc4ab1fc549d3347a77954 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Tue, 25 Oct 2022 14:42:00 -0400 Subject: [PATCH] SearchKit - Expose SearchSegment fields as filters Fixes dev/core#3929 By adding an input type to SearchSegments, Afform now picks them up as filter fields. --- .../Service/Spec/Provider/SearchSegmentExtraFieldProvider.php | 1 + .../tests/phpunit/api/v4/SearchSegment/SearchSegmentTest.php | 1 + 2 files changed, 2 insertions(+) diff --git a/ext/search_kit/Civi/Api4/Service/Spec/Provider/SearchSegmentExtraFieldProvider.php b/ext/search_kit/Civi/Api4/Service/Spec/Provider/SearchSegmentExtraFieldProvider.php index fc4c07a50aca..116d1e7d2f09 100644 --- a/ext/search_kit/Civi/Api4/Service/Spec/Provider/SearchSegmentExtraFieldProvider.php +++ b/ext/search_kit/Civi/Api4/Service/Spec/Provider/SearchSegmentExtraFieldProvider.php @@ -30,6 +30,7 @@ public function modifySpec(RequestSpec $spec) { $field->setOptions(array_column($set['items'], 'label')); $field->setSuffixes(['label']); $field->setSqlRenderer([__CLASS__, 'renderSql']); + $field->setInputType('Select'); $spec->addFieldSpec($field); } } diff --git a/ext/search_kit/tests/phpunit/api/v4/SearchSegment/SearchSegmentTest.php b/ext/search_kit/tests/phpunit/api/v4/SearchSegment/SearchSegmentTest.php index 12cbbab8d56f..e628fa87c527 100644 --- a/ext/search_kit/tests/phpunit/api/v4/SearchSegment/SearchSegmentTest.php +++ b/ext/search_kit/tests/phpunit/api/v4/SearchSegment/SearchSegmentTest.php @@ -85,6 +85,7 @@ public function testRangeSearchSegment() { $this->assertEquals('Giving Tier', $getField['label']); $this->assertEquals('Extra', $getField['type']); + $this->assertEquals('Select', $getField['input_type']); $this->assertEquals(['Low ball', 'Minor league', 'Major league', 'Heavy hitter'], $getField['options']); $params = [