UNPKG

es-grid-template

Version:

es-grid-template

40 lines (39 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.customStringFilterFn = customStringFilterFn; exports.useFilterOperator = useFilterOperator; function useFilterOperator(table) { const setFilterOperator = (columnId, operator) => { const filters = table.getState().columnFilters; const next = filters.map(f => f.id === columnId ? { ...f, operator } : f); table.setColumnFilters(next); }; const getFilterOperator = columnId => { const filters = table.getState().columnFilters; return filters.find(f => f.id === columnId)?.operator ?? 'contains'; }; return { setFilterOperator, getFilterOperator }; } function customStringFilterFn(row, columnId, filterValue) { const filters = row.table.getState().columnFilters; const operator = filters.find(f => f.id === columnId)?.operator ?? 'contains'; const cellValue = String(row.getValue(columnId) ?? ''); switch (operator) { case 'equal': return cellValue === filterValue; case 'startsWith': return cellValue.toLowerCase().startsWith(filterValue.toLowerCase()); case 'endsWith': return cellValue.toLowerCase().endsWith(filterValue.toLowerCase()); default: return cellValue.toLowerCase().includes(filterValue.toLowerCase()); } }