Skip to content

Commit 1ca5f05

Browse files
committed
feat: Make filter count for column header dymaic h2oai#1689
1 parent 953d910 commit 1ca5f05

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

ui/src/table.tsx

+6-6
Original file line numberDiff line numberDiff line change
@@ -310,12 +310,12 @@ const
310310
setSelectedFiltersCount(0)
311311
},
312312
getOnFilterChangeHandler = (data: S, key: S) => (_ev?: React.FormEvent<HTMLInputElement | HTMLElement>, checked?: B) => {
313-
setMenuFilters(filters => filters.map(f => f.key === key ? ({ ...f, checked }) : f))
313+
const onChangeFilterMap = menuFilters.map(f => (f.key === key ? { ...f, checked } : f))
314+
setMenuFilters(onChangeFilterMap)
314315
onFilterChange(data, key, checked)
315-
setSelectedFiltersCount( // Step 2
316-
checked
317-
? selectedFiltersCount + 1
318-
: selectedFiltersCount - 1
316+
setFiltersInBulk(col.key, onChangeFilterMap.filter(f => f.checked).map(f => f.key))
317+
setSelectedFiltersCount(
318+
onChangeFilterMap.reduce((count, filter) => (filter.checked ? count + 1 : count), 0)
319319
)
320320
}
321321

@@ -402,7 +402,7 @@ const
402402
if (c.filterable) {
403403
const dataKey = c.name // Assuming the column name represents the data key
404404
const appliedFilters = selectedFilters?.[dataKey]?.length || 0
405-
label += (appliedFilters > 0 && appliedFilters <= 9) ? ` (${appliedFilters})` : appliedFilters > 9 ? '(9+)' : ''
405+
label += (appliedFilters > 0 && appliedFilters <= 9) ? ` (${appliedFilters})` : appliedFilters > 9 ? '(9+)': ''
406406
}
407407
return {
408408
key: c.name,

0 commit comments

Comments
 (0)