From 81862f99995ffd49abe6f82117680d4c72256cbb Mon Sep 17 00:00:00 2001 From: Guido Modarelli Date: Thu, 17 Oct 2024 14:10:23 -0300 Subject: [PATCH] Refactor adding filters to handle array values efficiently --- .../common/data-grid/data-grid-service.ts | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/plugins/main/public/components/common/data-grid/data-grid-service.ts b/plugins/main/public/components/common/data-grid/data-grid-service.ts index a7e39d87e0..a54eb432fe 100644 --- a/plugins/main/public/components/common/data-grid/data-grid-service.ts +++ b/plugins/main/public/components/common/data-grid/data-grid-service.ts @@ -198,13 +198,29 @@ export const onFilterCellActions = ( setFilters: (filters: Filter[]) => void, ) => { return (field: string, operation: FILTER_OPERATOR, value?: any) => { - const newFilter = PatternDataSourceFilterManager.createFilter( - operation, - field, - value, - indexPatternId, - ); - setFilters([...filters, newFilter]); + const newFilters: Filter[] = []; + if (Array.isArray(value)) { + value.forEach(item => { + newFilters.push( + PatternDataSourceFilterManager.createFilter( + operation, + field, + item, + indexPatternId, + ), + ); + }); + } else { + newFilters.push( + PatternDataSourceFilterManager.createFilter( + operation, + field, + value, + indexPatternId, + ), + ); + } + setFilters([...filters, ...newFilters]); }; };