From 211bf0973be69d5d1db9c4680a284cb9b78b59f3 Mon Sep 17 00:00:00 2001 From: Aleksey Stadnik Date: Mon, 22 Jul 2024 09:57:27 +0300 Subject: [PATCH] ref issues_2588 - fix date filter display and add select filter without multiple in table filters --- src/Screen/TD.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Screen/TD.php b/src/Screen/TD.php index f7665b745..75223dd89 100644 --- a/src/Screen/TD.php +++ b/src/Screen/TD.php @@ -35,6 +35,7 @@ class TD extends Cell public const FILTER_DATE_RANGE = 'dateRange'; public const FILTER_NUMBER_RANGE = 'numberRange'; public const FILTER_SELECT = 'select'; + public const FILTER_SELECT_NOT_MULTIPLE = 'selectNotMultiple'; /** * @var string|null|int */ @@ -264,11 +265,12 @@ protected function buildFilter(): ?Field protected function detectConstantFilter(string $filter): Field { $input = match ($filter) { - self::FILTER_DATE_RANGE => DateRange::make()->disableMobile(), - self::FILTER_NUMBER_RANGE => NumberRange::make(), - self::FILTER_SELECT => Select::make()->options($this->filterOptions)->multiple(), - self::FILTER_DATE => DateTimer::make()->inline()->format('Y-m-d'), - default => Input::make()->type($filter), + self::FILTER_DATE_RANGE => DateRange::make()->disableMobile(), + self::FILTER_NUMBER_RANGE => NumberRange::make(), + self::FILTER_SELECT => Select::make()->options($this->filterOptions)->multiple(), + self::FILTER_DATE => DateTimer::make()->format('Y-m-d'), + self::FILTER_SELECT_NOT_MULTIPLE => Select::make()->options($this->filterOptions)->empty(), + default => Input::make()->type($filter), }; return $input; @@ -394,6 +396,6 @@ protected function buildFilterString(): ?string return implode(', ', $filter); } - return $filter; + return $this->filterOptions[$filter] ?? $filter; } }