diff --git a/src/components/results/common/global-filter/use-computation-column-filters.ts b/src/components/results/common/global-filter/use-computation-column-filters.ts index 3d55c5f32b..9e60ca1a2f 100644 --- a/src/components/results/common/global-filter/use-computation-column-filters.ts +++ b/src/components/results/common/global-filter/use-computation-column-filters.ts @@ -21,13 +21,19 @@ function toColumnFilterInfos(infos: ComputationResultColumnFilterInfos[] | null) } return infos.flatMap(mapColumnFilters); } - +function parseFilterValue(filterValue: string) { + const parsed = JSON.parse(filterValue); + if (!Array.isArray(parsed)) { + return parsed; + } + return parsed.flatMap((v) => (typeof v === 'string' ? v.split(',').map((s) => s.trim()) : v)); +} function mapColumnFilters({ columnId, columnFilterInfos }: ComputationResultColumnFilterInfos): FilterConfig[] { const filters = Array.isArray(columnFilterInfos) ? columnFilterInfos : [columnFilterInfos]; return filters.map((filter) => ({ column: columnId, - value: filter.filterValue, + value: parseFilterValue(filter.filterValue), type: filter.filterType, dataType: filter.filterDataType, tolerance: filter.filterTolerance ?? undefined, diff --git a/src/components/results/common/update-computation-columns-filters.ts b/src/components/results/common/update-computation-columns-filters.ts index 4bf3aa3106..9c6664ff75 100644 --- a/src/components/results/common/update-computation-columns-filters.ts +++ b/src/components/results/common/update-computation-columns-filters.ts @@ -29,7 +29,7 @@ export const updateComputationColumnsFilters = ( ? { filterDataType: filter?.dataType, filterType: filter?.type, - filterValue: filter?.value, + filterValue: JSON.stringify(filter?.value), filterTolerance: filter?.tolerance, } : null,