import { debounce } from "shared/lib/debounce"; import { eventOpenColumnFilters, headerButtons } from "shared/lib/slickgrid"; import { IColumnFilterValue } from "shared/model/types"; function setColumnFilter(value: IColumnFilterValue) { const { columnId, table } = eventOpenColumnFilters; if (!columnId || !table) return; const args = table.filter.args; if (!args.columnFilters) return; table.filter.args = { ...args, columnFilters: { ...args.columnFilters, [columnId]: { ...args.columnFilters[columnId], value, }, }, }; value[1] || value[2] ? headerButtons.highlightColumn(table, columnId) : headerButtons.resetColumn(table, columnId); } export const applyFilter = debounce(setColumnFilter);