@tanstack/react-table 8.0.0-alpha.6 → 8.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js +66 -73
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +47 -33
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +23 -22
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +10 -22
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +27 -58
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +10 -27
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +108 -28
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +2 -2
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +24 -29
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +23 -38
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +10 -22
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +10 -2
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterTypes.js.map +1 -1
- package/build/cjs/index.js +12 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortTypes.js.map +1 -1
- package/build/cjs/types.js +22 -0
- package/build/cjs/types.js.map +1 -0
- package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/expandRowsFn.js.map +1 -1
- package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/groupRowsFn.js.map +1 -1
- package/build/cjs/utils/paginateRowsFn.js.map +1 -1
- package/build/cjs/utils/sortRowsFn.js.map +1 -1
- package/build/cjs/utils.js +44 -18
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1388 -1355
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +337 -307
- package/build/types/core.d.ts +63 -67
- package/build/types/createTable.d.ts +34 -44
- package/build/types/features/ColumnSizing.d.ts +13 -7
- package/build/types/features/Expanding.d.ts +11 -16
- package/build/types/features/Filters.d.ts +39 -47
- package/build/types/features/Grouping.d.ts +28 -27
- package/build/types/features/Headers.d.ts +30 -30
- package/build/types/features/Ordering.d.ts +5 -5
- package/build/types/features/Pagination.d.ts +11 -16
- package/build/types/features/Pinning.d.ts +5 -5
- package/build/types/features/RowSelection.d.ts +15 -23
- package/build/types/features/Sorting.d.ts +26 -25
- package/build/types/features/Visibility.d.ts +9 -9
- package/build/types/filterTypes.d.ts +10 -10
- package/build/types/index.d.ts +1 -0
- package/build/types/sortTypes.d.ts +7 -7
- package/build/types/types.d.ts +34 -23
- package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
- package/build/types/utils/expandRowsFn.d.ts +2 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
- package/build/types/utils/groupRowsFn.d.ts +2 -2
- package/build/types/utils/paginateRowsFn.d.ts +2 -2
- package/build/types/utils/sortRowsFn.d.ts +2 -2
- package/build/types/utils.d.ts +5 -6
- package/build/umd/index.development.js +1397 -1354
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.tsx +192 -520
- package/src/createTable.tsx +137 -192
- package/src/features/ColumnSizing.ts +48 -77
- package/src/features/Expanding.ts +25 -113
- package/src/features/Filters.ts +91 -293
- package/src/features/Grouping.ts +60 -165
- package/src/features/Headers.ts +148 -331
- package/src/features/Ordering.ts +19 -42
- package/src/features/Pagination.ts +35 -110
- package/src/features/Pinning.ts +16 -40
- package/src/features/RowSelection.ts +47 -227
- package/src/features/Sorting.ts +49 -143
- package/src/features/Visibility.ts +23 -64
- package/src/filterTypes.ts +19 -82
- package/src/index.tsx +1 -0
- package/src/sortTypes.ts +19 -31
- package/src/types.ts +80 -100
- package/src/utils/columnFilterRowsFn.ts +11 -53
- package/src/utils/expandRowsFn.ts +7 -27
- package/src/utils/globalFilterRowsFn.ts +10 -43
- package/src/utils/groupRowsFn.ts +13 -37
- package/src/utils/paginateRowsFn.ts +5 -11
- package/src/utils/sortRowsFn.ts +8 -28
- package/src/utils.tsx +61 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n Listener,\n OnChangeFn,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, isFunction, makeStateUpdater, memo } from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n (\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: any\n ): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }\n\nexport type ColumnFilterAutoRemoveTestFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = (\n value: unknown,\n column?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n) => boolean\n\nexport type CustomFilterTypes<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = Record<\n string,\n FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type FilterType<TFilterFns> =\n | 'auto'\n | BuiltInFilterType\n | keyof TFilterFns\n | FilterFn<unknown, unknown, TFilterFns, any, any>\n\nexport type FiltersColumnDef<TFilterFns> = {\n filterType?: FilterType<TFilterFns>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterType: FilterType<TFilterFns>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () =>\n | Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n filterFromChildrenUp?: boolean\n filterTypes?: TFilterFns\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n columnFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n coreRowModel: RowModel<any, any, any, any, any>\n ) => RowModel<any, any, any, any, any>\n // Global\n globalFilterType?: FilterType<TFilterFns>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n globalFilterRowsFn?: (\n instance: ReactTable<any, any, any, any, any>,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n}\n\nexport type FiltersInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n getColumnFilterFn: (\n columnId: string\n ) => FilterFn<any, any, any, any, any> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n getColumnFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPreColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumnFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n // Global\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getGlobalFilterFn: () => FilterFn<any, any, any, any, any> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getGlobalFilteredRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGlobalFilteredRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGlobalFilteredRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): FiltersColumnDef<TFilterFns> {\n return {\n filterType: 'auto',\n }\n}\n\nexport function getInitialState(): FiltersTableState {\n return {\n columnFilters: [],\n globalFilter: undefined,\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromChildrenUp: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance.getCoreFlatRows()[0]?.getAllCellsByColumnId()[\n column.id\n ]?.value\n\n return typeof value === 'string'\n },\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n { key: 'column.getFacetInfo', debug: instance.options.debug }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val => instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (instance.options.autoResetAll === true) {\n instance.resetSorting()\n } else {\n if (instance.options.autoResetColumnFilters) {\n instance.resetColumnFilters()\n }\n if (instance.options.autoResetGlobalFilter) {\n instance.resetGlobalFilter()\n }\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[column.filterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[globalFilterType as BuiltInFilterType] as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(undefined)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getColumnFilteredRowModel: memo(\n () => [\n instance.getState().columnFilters,\n instance.getCoreRowModel(),\n instance.options.columnFilterRowsFn,\n ],\n (columnFilters, rowModel, columnFiltersFn) => {\n const columnFilteredRowModel = (() => {\n if (!columnFilters?.length || !columnFiltersFn) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Column Filtering...')\n\n return columnFiltersFn(instance as any, rowModel)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n { key: 'getColumnFilteredRowModel', debug: instance.options.debug }\n ),\n\n // These might be easier to remember than \"column\" filtered rows\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreFilteredRows: () => instance.getCoreRowModel().rows,\n getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n\n // Pre Column Filter\n getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,\n getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,\n getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,\n getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n\n getColumnFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getColumnFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRowModel: memo(\n () => [\n instance.getState().globalFilter,\n instance.getColumnFilteredRowModel(),\n instance.options.globalFilterRowsFn,\n ],\n (globalFilterValue, columnFilteredRowModel, globalFiltersFn) => {\n const globalFilteredRowModel = (() => {\n if (!globalFiltersFn || !globalFilterValue) {\n return columnFilteredRowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Global Filtering...')\n\n return globalFiltersFn(\n instance as ReactTable<any, any, any, any, any>,\n columnFilteredRowModel\n )\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModel',\n debug: instance.options.debug,\n onChange: () => {\n instance._notifySortingReset()\n },\n }\n ),\n\n getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,\n getPreGlobalFilteredFlatRows: () =>\n instance.getColumnFilteredRowModel().flatRows,\n getPreGlobalFilteredRowsById: () =>\n instance.getColumnFilteredRowModel().rowsById,\n getGlobalFilteredRows: () => instance.getGlobalFilteredRowModel().rows,\n getGlobalFilteredFlatRows: () =>\n instance.getGlobalFilteredRowModel().flatRows,\n getGlobalFilteredRowsById: () =>\n instance.getGlobalFilteredRowModel().rowsById,\n }\n}\n\nexport function shouldAutoRemoveFilter(\n filterFn?: FilterFn<any, any, any, any, any>,\n value?: any,\n column?: Column<any, any, any, any, any>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromChildrenUp","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreFlatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","autoResetAll","resetSorting","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","initialState","getColumnFilteredRowModel","getCoreRowModel","columnFilterRowsFn","rowModel","columnFiltersFn","columnFilteredRowModel","info","nonFilteredColumns","forEach","getPreFilteredRowModel","getPreFilteredFlatRows","flatRows","getPreFilteredRowsById","rowsById","getPreColumnFilteredRows","getPreColumnFilteredFlatRows","getPreColumnFilteredRowsById","getColumnFilteredRows","getColumnFilteredFlatRows","getColumnFilteredRowsById","getGlobalFilteredRowModel","globalFilterRowsFn","globalFilterValue","globalFiltersFn","globalFilteredRowModel","onChange","_notifySortingReset","getPreGlobalFilteredRows","getPreGlobalFilteredFlatRows","getPreGlobalFilteredRowsById","getGlobalFilteredRows","getGlobalFilteredFlatRows","getGlobalFilteredRowsById","autoRemove"],"mappings":";;;;;;;;;;;;;;;;;AAuRA;AAEO,SAASA,gBAAT,GAAsE;AAC3E,SAAO;AACLC,IAAAA,UAAU,EAAE;AADP,GAAP;AAGD;AAEM,SAASC,eAAT,GAA8C;AACnD,SAAO;AACLC,IAAAA,aAAa,EAAE,EADV;AAELC,IAAAA,YAAY,EAAEC;AAFT,GAAP;AAID;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQoE;AACzE,SAAO;AACLC,IAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB,CADlC;AAELG,IAAAA,oBAAoB,EAAED,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CAFjC;AAGLI,IAAAA,sBAAsB,EAAE,IAHnB;AAILC,IAAAA,oBAAoB,EAAE,IAJjB;AAKLC,IAAAA,qBAAqB,EAAE,IALlB;AAMLC,IAAAA,gBAAgB,EAAE,MANb;AAOLC,IAAAA,0BAA0B,EAAE,oCAAAC,MAAM,EAAI;AAAA;;AACpC,UAAMC,KAAK,4BAAGV,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAH,+CAAG,sBAA+BC,qBAA/B,GACZH,MAAM,CAACI,EADK,CAAH,qBAAG,uBAEXH,KAFH;AAIA,aAAO,OAAOA,KAAP,KAAiB,QAAxB;AACD;AAbI,GAAP;AAeD;AAEM,SAASI,YAAT,CAOLL,MAPK,EAQLT,QARK,EASmE;AACxE,MAAMe,YAAY,GAAGC,UAAI,CACvB;AAAA,WAAM,CAACP,MAAM,CAACQ,kBAAP,EAAD,CAAN;AAAA,GADuB,EAEvB,UAACC,IAAD,EAAe;AAAA;;AAAA,QAAdA,IAAc;AAAdA,MAAAA,IAAc,GAAP,EAAO;AAAA;;AACb,QAAIC,uBAAuB,GAAG,IAAIC,GAAJ,EAA9B;AAEA,QAAIC,uBAAmC,GAAG,oCACxCH,IAAI,CAAC,CAAD,CADoC,qBACxC,OAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CADwC,oCACV,IADU,uCAExCK,IAAI,CAAC,CAAD,CAFoC,qBAExC,QAASI,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAFwC,qCAEV,IAFU,CAA1C;;AAKA,SAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAAA;;AACpC,UAAMb,MAAK,cAAGQ,IAAI,CAACK,CAAD,CAAP,qBAAG,QAASD,MAAT,CAAgBb,MAAM,CAACI,EAAvB,CAAd;;AAEA,UAAIM,uBAAuB,CAACM,GAAxB,CAA4Bf,MAA5B,CAAJ,EAAwC;AAAA;;AACtCS,QAAAA,uBAAuB,CAACO,GAAxB,CACEhB,MADF,EAEE,0BAACS,uBAAuB,CAACQ,GAAxB,CAA4BjB,MAA5B,CAAD,oCAAuC,CAAvC,IAA4C,CAF9C;AAID,OALD,MAKO;AACLS,QAAAA,uBAAuB,CAACO,GAAxB,CAA4BhB,MAA5B,EAAmC,CAAnC;AACD;;AAED,UAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AACtCA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD,OAFD,MAEO,IAAIA,MAAK,GAAGW,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AAC7CA,QAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BX,MAA7B;AACD;AACF;;AAED,WAAO;AACLS,MAAAA,uBAAuB,EAAvBA,uBADK;AAELE,MAAAA,uBAAuB,EAAvBA;AAFK,KAAP;AAID,GAjCsB,EAkCvB;AAAEO,IAAAA,GAAG,EAAE,qBAAP;AAA8BC,IAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAAtD,GAlCuB,CAAzB;AAqCA,SAAO;AACLnC,IAAAA,UAAU,EAAEe,MAAM,CAACf,UADd;AAELqC,IAAAA,kBAAkB,EAAE;AAAA,aAAM/B,QAAQ,CAACgC,wBAAT,CAAkCvB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAFf;AAGLoB,IAAAA,kBAAkB,EAAE;AAAA,aAAMjC,QAAQ,CAACkC,wBAAT,CAAkCzB,MAAM,CAACI,EAAzC,CAAN;AAAA,KAHf;AAILsB,IAAAA,oBAAoB,EAAE;AAAA,aAAMnC,QAAQ,CAACmC,oBAAT,CAA8B1B,MAAM,CAACI,EAArC,CAAN;AAAA,KAJjB;AAKLuB,IAAAA,mBAAmB,EAAE;AAAA,aAAMpC,QAAQ,CAACqC,mBAAT,CAA6B5B,MAAM,CAACI,EAApC,CAAN;AAAA,KALhB;AAMLyB,IAAAA,oBAAoB,EAAE;AAAA,aAAMtC,QAAQ,CAACsC,oBAAT,CAA8B7B,MAAM,CAACI,EAArC,CAAN;AAAA,KANjB;AAOL0B,IAAAA,oBAAoB,EAAE,8BAAAC,GAAG;AAAA,aAAIxC,QAAQ,CAACuC,oBAAT,CAA8B9B,MAAM,CAACI,EAArC,EAAyC2B,GAAzC,CAAJ;AAAA,KAPpB;AAQLC,IAAAA,0BAA0B,EAAE;AAAA,aAAM1B,YAAY,GAAGI,uBAArB;AAAA,KARvB;AASLuB,IAAAA,0BAA0B,EAAE;AAAA,aAAM3B,YAAY,GAAGM,uBAArB;AAAA,KATvB;AAULJ,IAAAA,kBAAkB,EAAE;AAAA,aAAMnB,SAAN;AAAA;AAVf,GAAP;AAYD;AAEM,SAAS6C,WAAT,CAOL3C,QAPK,EAQqE;AAC1E,MAAI4C,UAAU,GAAG,KAAjB;AAEA,SAAO;AACLC,IAAAA,mBAAmB,EAAE,+BAAM;AACzB,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAI5C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UAAI9C,QAAQ,CAAC8B,OAAT,CAAiBgB,YAAjB,KAAkC,IAAtC,EAA4C;AAC1C9C,QAAAA,QAAQ,CAAC+C,YAAT;AACD,OAFD,MAEO;AACL,YAAI/C,QAAQ,CAAC8B,OAAT,CAAiB1B,sBAArB,EAA6C;AAC3CJ,UAAAA,QAAQ,CAACgD,kBAAT;AACD;;AACD,YAAIhD,QAAQ,CAAC8B,OAAT,CAAiBxB,qBAArB,EAA4C;AAC1CN,UAAAA,QAAQ,CAACiD,iBAAT;AACD;AACF;AACF,KArBI;AAsBLC,IAAAA,qBAAqB,EAAE,+BAAAC,QAAQ,EAAI;AACjC,UAAMC,QAAQ,GAAGpD,QAAQ,CAACW,eAAT,GAA2B,CAA3B,CAAjB;AAEA,UAAMD,KAAK,GAAG0C,QAAH,oBAAGA,QAAQ,CAAE9B,MAAV,CAAiB6B,QAAjB,CAAd;;AAEA,UAAI,OAAOzC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACC,cAAnB;AACD;;AAED,UAAI,OAAO5C,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO2C,uBAAW,CAACE,kBAAnB;AACD;;AAED,UAAI7C,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAvC,EAAiD;AAC/C,eAAO2C,uBAAW,CAACG,MAAnB;AACD;;AAED,UAAIC,KAAK,CAACC,OAAN,CAAchD,KAAd,CAAJ,EAA0B;AACxB,eAAO2C,uBAAW,CAACM,WAAnB;AACD;;AAED,aAAON,uBAAW,CAACO,UAAnB;AACD,KA5CI;AA6CLC,IAAAA,qBAAqB,EAAE,iCAAM;AAC3B,aAAOR,uBAAW,CAACC,cAAnB;AACD,KA/CI;AAgDLQ,IAAAA,iBAAiB,EAAE,2BAAAX,QAAQ,EAAI;AAAA;;AAC7B,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;AACA,UAAMa,eAAe,GAAGhE,QAAQ,CAAC8B,OAAT,CAAiBuB,WAAzC;;AAEA,UAAI,CAAC5C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,aAAOC,gBAAU,CAACzD,MAAM,CAACf,UAAR,CAAV,GACHe,MAAM,CAACf,UADJ,GAEHe,MAAM,CAACf,UAAP,KAAsB,MAAtB,GACAM,QAAQ,CAACkD,qBAAT,CAA+BC,QAA/B,CADA,WAECa,eAFD,oBAECA,eAAD,CACEvD,MAAM,CAACf,UADT,CAFA,mBAKC2D,uBAAW,CAAC5C,MAAM,CAACf,UAAR,CAPhB;AAcD,KAtEI;AAwELyE,IAAAA,iBAAiB,EAAE,6BAAM;AAAA;;AACvB,8BACEnE,QAAQ,CAAC8B,OADX;AAAA,UAAqBkC,eAArB,qBAAQX,WAAR;AAAA,UAAsC9C,gBAAtC,qBAAsCA,gBAAtC;AAGA,aAAO2D,gBAAU,CAAC3D,gBAAD,CAAV,GACHA,gBADG,GAEHA,gBAAgB,KAAK,MAArB,GACAP,QAAQ,CAAC6D,qBAAT,EADA,YAECG,eAFD,oBAECA,eAAD,CACEzD,gBADF,CAFA,oBAKC8C,uBAAW,CAAC9C,gBAAD,CAPhB;AAcD,KA1FI;AA4FL6D,IAAAA,gBAAgB,EAAE,0BAACC,OAAD,EAA0C;AAC1D,UAAMC,WAAW,GAAGtE,QAAQ,CAACuE,iBAAT,EAApB;;AAEA,UAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAA6B;AAAA;;AAC5C,oCAAOC,sBAAgB,CAACL,OAAD,EAAUI,GAAV,CAAvB,qBAAO,kBAAgCE,MAAhC,CAAuC,UAAAA,MAAM,EAAI;AACtD,cAAMlE,MAAM,GAAG6D,WAAW,CAACM,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAAS8D,MAAM,CAAC9D,EAApB;AAAA,WAAlB,CAAf;;AAEA,cAAIJ,MAAJ,EAAY;AACV,gBAAMqE,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;;AAEA,gBAAIkE,sBAAsB,CAACD,QAAD,EAAWH,MAAM,CAACjE,KAAlB,EAAyBD,MAAzB,CAA1B,EAA4D;AAC1D,qBAAO,KAAP;AACD;AACF;;AAED,iBAAO,IAAP;AACD,SAZM,CAAP;AAaD,OAdD;;AAgBAT,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,oBAAAD,QAAQ,CAAC8B,OAAT,CAAiB7B,qBAAjB,CACEuE,QADF,EAEEA,QAAQ,CAACxE,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,CAFV;AAID,KAnHI;AAqHLqF,IAAAA,eAAe,EAAE,yBAAAZ,OAAO,EAAI;AAC1BrE,MAAAA,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,oBAAAH,QAAQ,CAAC8B,OAAT,CAAiB3B,oBAAjB,CACEkE,OADF,EAEEK,sBAAgB,CAACL,OAAD,EAAUrE,QAAQ,CAACgF,QAAT,GAAoBnF,YAA9B,CAFlB;AAID,KA1HI;AA4HLoD,IAAAA,iBAAiB,EAAE,6BAAM;AACvBjD,MAAAA,QAAQ,CAACiF,eAAT,CAAyBnF,SAAzB;AACD,KA9HI;AAgILkC,IAAAA,wBAAwB,EAAE,kCAAAmB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,mFACExD,MAAM,CAACyE,gBADT,oCAEEzE,MAAM,CAAC0E,kBAFT,oBAGEnF,QAAQ,CAAC8B,OAAT,CAAiBsD,aAHnB,oBAIEpF,QAAQ,CAAC8B,OAAT,CAAiBuD,mBAJnB,oBAKE5E,MAAM,CAAC6E,gBALT,oBAME7E,MAAM,CAAC8E,sBANT,oBAOE,CAAC,CAAC9E,MAAM,CAAC+E,UAPX;AASD,KAhJI;AAkJLtD,IAAAA,wBAAwB,EAAE,kCAAAiB,QAAQ,EAAI;AAAA;;AACpC,UAAM1C,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,UAAI,CAAC1C,MAAL,EAAa;AACX,cAAM,IAAIwD,KAAJ,EAAN;AACD;;AAED,sBACG,2EAACjE,QAAQ,CAAC8B,OAAT,CAAiBsD,aAAlB,oCACCpF,QAAQ,CAAC8B,OAAT,CAAiB2D,kBADlB,qBAEChF,MAAM,CAACyE,gBAFR,qBAGCzE,MAAM,CAACgF,kBAHR,qBAIChF,MAAM,CAAC6E,gBAJR,qBAKC7E,MAAM,CAACiF,sBALR,oBAMC,CAAC,CAACjF,MAAM,CAAC+E,UANV,MAOCxF,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAPlB,oBAOCR,QAAQ,CAAC8B,OAAT,CAAiBtB,0BAAjB,CAA8CC,MAA9C,CAPD,CADH,oBASE,IATF;AAWD,KApKI;AAsKL4B,IAAAA,mBAAmB,EAAE,6BAAAc,QAAQ;AAAA,aAC3BnD,QAAQ,CAACmC,oBAAT,CAA8BgB,QAA9B,IAA0C,CAAC,CADhB;AAAA,KAtKxB;AAyKLb,IAAAA,oBAAoB,EAAE,8BAAAa,QAAQ;AAAA;;AAAA,sCAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,+CAC5B,sBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAAzC,CAD4B,qBAC5B,uBAAiEzC,KADrC;AAAA,KAzKzB;AA4KLyB,IAAAA,oBAAoB,EAAE,8BAAAgB,QAAQ;AAAA;;AAAA,iEAC5BnD,QAAQ,CAACgF,QAAT,GAAoBpF,aADQ,qBAC5B,uBAAmC+F,SAAnC,CAA6C,UAAAd,CAAC;AAAA,eAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,OAA9C,CAD4B,qCAE5B,CAAC,CAF2B;AAAA,KA5KzB;AAgLLZ,IAAAA,oBAAoB,EAAE,8BAACY,QAAD,EAAWzC,KAAX,EAAqB;AACzC,UAAI,CAACyC,QAAL,EAAe;AAEfnD,MAAAA,QAAQ,CAACoE,gBAAT,CAA0B,UAAAK,GAAG,EAAI;AAC/B,YAAMhE,MAAM,GAAGT,QAAQ,CAAC+D,SAAT,CAAmBZ,QAAnB,CAAf;;AAEA,YAAI,CAAC1C,MAAL,EAAa;AACX,cAAImF,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,oDACmD7C,QADnD;AAGD;;AACD,gBAAM,IAAIc,KAAJ,EAAN;AACD;;AAED,YAAMa,QAAQ,GAAG9E,QAAQ,CAAC8D,iBAAT,CAA2BrD,MAAM,CAACI,EAAlC,CAAjB;AACA,YAAMoF,cAAc,GAAGxB,GAAH,oBAAGA,GAAG,CAAEG,IAAL,CAAU,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,SAAX,CAAvB;AAEA,YAAM+C,SAAS,GAAGxB,sBAAgB,CAChChE,KADgC,EAEhCuF,cAAc,GAAGA,cAAc,CAACvF,KAAlB,GAA0BZ,SAFR,CAAlC,CAf+B;;AAqB/B,YACEiF,sBAAsB,CACpBD,QADoB,EAQpBoB,SARoB,EASpBzF,MAToB,CADxB,EAYE;AAAA;;AACA,gCAAOgE,GAAP,oBAAOA,GAAG,CAAEE,MAAL,CAAY,UAAAE,CAAC;AAAA,mBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb;AAAA,WAAb,CAAP,0BAA8C,EAA9C;AACD;;AAED,YAAMgD,YAAY,GAAG;AAAEtF,UAAAA,EAAE,EAAEsC,QAAN;AAAgBzC,UAAAA,KAAK,EAAEwF;AAAvB,SAArB;;AAEA,YAAID,cAAJ,EAAoB;AAAA;;AAClB,6BACExB,GADF,oBACEA,GAAG,CAAE2B,GAAL,CAAS,UAAAvB,CAAC,EAAI;AACZ,gBAAIA,CAAC,CAAChE,EAAF,KAASsC,QAAb,EAAuB;AACrB,qBAAOgD,YAAP;AACD;;AACD,mBAAOtB,CAAP;AACD,WALD,CADF,uBAMQ,EANR;AAQD;;AAED,YAAIJ,GAAJ,YAAIA,GAAG,CAAEjD,MAAT,EAAiB;AACf,2BAAWiD,GAAX,GAAgB0B,YAAhB;AACD;;AAED,eAAO,CAACA,YAAD,CAAP;AACD,OAvDD;AAwDD,KA3OI;AA6OLnD,IAAAA,kBAAkB,EAAE,8BAAM;AAAA;;AACxBhD,MAAAA,QAAQ,CAACoE,gBAAT,oDAA0BpE,QAAQ,CAACqG,YAAnC,qBAA0B,uBAAuBzG,aAAjD,oCAAkE,EAAlE;AACD,KA/OI;AAiPL0G,IAAAA,yBAAyB,EAAEtF,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBpF,aADhB,EAEJI,QAAQ,CAACuG,eAAT,EAFI,EAGJvG,QAAQ,CAAC8B,OAAT,CAAiB0E,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAAC5G,aAAD,EAAgB6G,QAAhB,EAA0BC,eAA1B,EAA8C;AAC5C,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,EAAC/G,aAAD,YAACA,aAAa,CAAE4B,MAAhB,KAA0B,CAACkF,eAA/B,EAAgD;AAC9C,iBAAOD,QAAP;AACD;;AAED,YAAIb,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOF,eAAe,CAAC1G,QAAD,EAAkByG,QAAlB,CAAtB;AACD,OAT8B,EAA/B,CAD4C;AAa5C;;;AACA,UAAMI,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAd4C;AAsB5C;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM0F,sBAAsB,CAACzF,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAOyF,sBAAP;AACD,KAnC4B,EAoC7B;AAAE/E,MAAAA,GAAG,EAAE,2BAAP;AAAoCC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD;AAA5D,KApC6B,CAjP1B;AAwRL;AACAkF,IAAAA,sBAAsB,EAAE;AAAA,aAAM/G,QAAQ,CAACuG,eAAT,EAAN;AAAA,KAzRnB;AA0RLtF,IAAAA,kBAAkB,EAAE;AAAA,aAAMjB,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KA1Rf;AA2RL8F,IAAAA,sBAAsB,EAAE;AAAA,aAAMhH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KA3RnB;AA4RLC,IAAAA,sBAAsB,EAAE;AAAA,aAAMlH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KA5RnB;AA8RL;AACAC,IAAAA,wBAAwB,EAAE;AAAA,aAAMpH,QAAQ,CAACuG,eAAT,GAA2BrF,IAAjC;AAAA,KA/RrB;AAgSLmG,IAAAA,4BAA4B,EAAE;AAAA,aAAMrH,QAAQ,CAACuG,eAAT,GAA2BU,QAAjC;AAAA,KAhSzB;AAiSLK,IAAAA,4BAA4B,EAAE;AAAA,aAAMtH,QAAQ,CAACuG,eAAT,GAA2BY,QAAjC;AAAA,KAjSzB;AAkSLI,IAAAA,qBAAqB,EAAE;AAAA,aAAMvH,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KAlSlB;AAoSLsG,IAAAA,yBAAyB,EAAE;AAAA,aACzBxH,QAAQ,CAACsG,yBAAT,GAAqCW,QADZ;AAAA,KApStB;AAsSLQ,IAAAA,yBAAyB,EAAE;AAAA,aACzBzH,QAAQ,CAACsG,yBAAT,GAAqCa,QADZ;AAAA,KAtStB;AAwSLO,IAAAA,yBAAyB,EAAE1G,UAAI,CAC7B;AAAA,aAAM,CACJhB,QAAQ,CAACgF,QAAT,GAAoBnF,YADhB,EAEJG,QAAQ,CAACsG,yBAAT,EAFI,EAGJtG,QAAQ,CAAC8B,OAAT,CAAiB6F,kBAHb,CAAN;AAAA,KAD6B,EAM7B,UAACC,iBAAD,EAAoBjB,sBAApB,EAA4CkB,eAA5C,EAAgE;AAC9D,UAAMC,sBAAsB,GAAI,YAAM;AACpC,YAAI,CAACD,eAAD,IAAoB,CAACD,iBAAzB,EAA4C;AAC1C,iBAAOjB,sBAAP;AACD;;AAED,YAAIf,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC9F,QAAQ,CAAC8B,OAAT,CAAiBD,KAA9D,EACEkE,OAAO,CAACa,IAAR,CAAa,qBAAb;AAEF,eAAOiB,eAAe,CACpB7H,QADoB,EAEpB2G,sBAFoB,CAAtB;AAID,OAZ8B,EAA/B,CAD8D;AAgB9D;;;AACA,UAAME,kBAAkB,GAAG7G,QAAQ,CAChCuE,iBADwB,GAExBI,MAFwB,CAGvB,UAAAlE,MAAM;AAAA;;AAAA,eACJ,4BAACT,QAAQ,CAACgF,QAAT,GAAoBpF,aAArB,aAAC,uBAAmCgF,IAAnC,CAAwC,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAChE,EAAF,KAASJ,MAAM,CAACI,EAApB;AAAA,SAAzC,CAAD,CADI;AAAA,OAHiB,CAA3B,CAjB8D;AAyB9D;;AAEAgG,MAAAA,kBAAkB,CAACC,OAAnB,CAA2B,UAAArG,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACQ,kBAAP,GAA4B;AAAA,iBAAM6G,sBAAsB,CAAC5G,IAA7B;AAAA,SAA5B;AACD,OAFD;AAIA,aAAO4G,sBAAP;AACD,KAtC4B,EAuC7B;AACElG,MAAAA,GAAG,EAAE,2BADP;AAEEC,MAAAA,KAAK,EAAE7B,QAAQ,CAAC8B,OAAT,CAAiBD,KAF1B;AAGEkG,MAAAA,QAAQ,EAAE,oBAAM;AACd/H,QAAAA,QAAQ,CAACgI,mBAAT;AACD;AALH,KAvC6B,CAxS1B;AAwVLC,IAAAA,wBAAwB,EAAE;AAAA,aAAMjI,QAAQ,CAACsG,yBAAT,GAAqCpF,IAA3C;AAAA,KAxVrB;AAyVLgH,IAAAA,4BAA4B,EAAE;AAAA,aAC5BlI,QAAQ,CAACsG,yBAAT,GAAqCW,QADT;AAAA,KAzVzB;AA2VLkB,IAAAA,4BAA4B,EAAE;AAAA,aAC5BnI,QAAQ,CAACsG,yBAAT,GAAqCa,QADT;AAAA,KA3VzB;AA6VLiB,IAAAA,qBAAqB,EAAE;AAAA,aAAMpI,QAAQ,CAAC0H,yBAAT,GAAqCxG,IAA3C;AAAA,KA7VlB;AA8VLmH,IAAAA,yBAAyB,EAAE;AAAA,aACzBrI,QAAQ,CAAC0H,yBAAT,GAAqCT,QADZ;AAAA,KA9VtB;AAgWLqB,IAAAA,yBAAyB,EAAE;AAAA,aACzBtI,QAAQ,CAAC0H,yBAAT,GAAqCP,QADZ;AAAA;AAhWtB,GAAP;AAmWD;AAEM,SAASpC,sBAAT,CACLD,QADK,EAELpE,KAFK,EAGLD,MAHK,EAIL;AACA,SACE,CAACqE,QAAQ,IAAIA,QAAQ,CAACyD,UAArB,GACGzD,QAAQ,CAACyD,UAAT,CAAoB7H,KAApB,EAA2BD,MAA3B,CADH,GAEG,KAFJ,KAGA,OAAOC,KAAP,KAAiB,WAHjB,IAIC,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KALjC;AAOD;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n OnChangeFn,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TGenerics extends PartialGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends PartialGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterTypes<TGenerics extends PartialGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type FilterType<TGenerics extends PartialGenerics> =\n | 'auto'\n | BuiltInFilterType\n | TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends PartialGenerics> = {\n filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends PartialGenerics> = {\n filterType: FilterType<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends PartialGenerics> = {\n filterFromChildrenUp?: boolean\n filterTypes?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n columnFilterRowsFn?: (\n instance: TableInstance<TGenerics>,\n coreRowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n // Global\n globalFilterType?: FilterType<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n globalFilterRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends PartialGenerics> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // All\n getPreFilteredRowModel: () => RowModel<TGenerics>\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport function getDefaultColumn<\n TGenerics extends PartialGenerics\n>(): FiltersColumnDef<TGenerics> {\n return {\n filterType: 'auto',\n }\n}\n\nexport function getInitialState(): FiltersTableState {\n return {\n columnFilters: [],\n globalFilter: undefined,\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): FiltersOptions<TGenerics> {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromChildrenUp: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): FiltersColumn<TGenerics> {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val => instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): FiltersInstance<TGenerics> {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (instance.options.autoResetAll === true) {\n instance.resetSorting()\n } else {\n if (instance.options.autoResetColumnFilters) {\n instance.resetColumnFilters()\n }\n if (instance.options.autoResetGlobalFilter) {\n instance.resetGlobalFilter()\n }\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[\n column.filterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[\n globalFilterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(undefined)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: memo(\n () => [\n instance.getState().columnFilters,\n instance.getCoreRowModel(),\n instance.options.columnFilterRowsFn,\n ],\n (columnFilters, rowModel, columnFiltersFn) => {\n const columnFilteredRowModel = (() => {\n if (!columnFilters?.length || !columnFiltersFn) {\n return rowModel\n }\n\n return columnFiltersFn(instance as any, rowModel)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n {\n key: 'getColumnFilteredRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: memo(\n () => [\n instance.getState().globalFilter,\n instance.getColumnFilteredRowModel(),\n instance.options.globalFilterRowsFn,\n ],\n (globalFilterValue, columnFilteredRowModel, globalFiltersFn) => {\n const globalFilteredRowModel = (() => {\n if (!globalFiltersFn || !globalFilterValue) {\n return columnFilteredRowModel\n }\n\n return globalFiltersFn(\n instance as TableInstance<TGenerics>,\n columnFilteredRowModel\n )\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._notifySortingReset()\n },\n }\n ),\n }\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends PartialGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromChildrenUp","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","autoResetAll","resetSorting","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","initialState","getPreFilteredRowModel","getPreColumnFilteredRowModel","getColumnFilteredRowModel","columnFilterRowsFn","rowModel","columnFiltersFn","columnFilteredRowModel","nonFilteredColumns","forEach","debugTable","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","globalFilterRowsFn","globalFilterValue","globalFiltersFn","globalFilteredRowModel","onChange","_notifySortingReset","autoRemove"],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ function getInstance(instance) {
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
getColumnAutoAggregationFn: function getColumnAutoAggregationFn(columnId) {
|
|
74
|
-
var firstRow = instance.
|
|
74
|
+
var firstRow = instance.getCoreRowModel().flatRows[0];
|
|
75
75
|
var value = firstRow == null ? void 0 : firstRow.values[columnId];
|
|
76
76
|
|
|
77
77
|
if (typeof value === 'number') {
|
|
@@ -139,11 +139,6 @@ function getInstance(instance) {
|
|
|
139
139
|
},
|
|
140
140
|
getToggleGroupingProps: function getToggleGroupingProps(columnId, userProps) {
|
|
141
141
|
var column = instance.getColumn(columnId);
|
|
142
|
-
|
|
143
|
-
if (!column) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
142
|
var canGroup = column.getCanGroup();
|
|
148
143
|
var initialProps = {
|
|
149
144
|
title: canGroup ? 'Toggle Grouping' : undefined,
|
|
@@ -159,6 +154,9 @@ function getInstance(instance) {
|
|
|
159
154
|
|
|
160
155
|
return !!((_instance$getRow = instance.getRow(rowId)) != null && _instance$getRow.groupingColumnId);
|
|
161
156
|
},
|
|
157
|
+
getPreGroupedRowModel: function getPreGroupedRowModel() {
|
|
158
|
+
return instance.getSortedRowModel();
|
|
159
|
+
},
|
|
162
160
|
getGroupedRowModel: utils.memo(function () {
|
|
163
161
|
return [instance.getState().grouping, instance.getSortedRowModel(), instance.options.groupRowsFn];
|
|
164
162
|
}, function (grouping, rowModel, groupRowsFn) {
|
|
@@ -166,33 +164,18 @@ function getInstance(instance) {
|
|
|
166
164
|
return rowModel;
|
|
167
165
|
}
|
|
168
166
|
|
|
169
|
-
if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Grouping...');
|
|
170
167
|
return groupRowsFn(instance, rowModel);
|
|
171
168
|
}, {
|
|
172
169
|
key: 'getGroupedRowModel',
|
|
173
|
-
debug:
|
|
170
|
+
debug: function debug() {
|
|
171
|
+
var _instance$options$deb;
|
|
172
|
+
|
|
173
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
174
|
+
},
|
|
174
175
|
onChange: function onChange() {
|
|
175
176
|
return instance._notifyExpandedReset();
|
|
176
177
|
}
|
|
177
|
-
})
|
|
178
|
-
getPreGroupedRows: function getPreGroupedRows() {
|
|
179
|
-
return instance.getSortedRowModel().rows;
|
|
180
|
-
},
|
|
181
|
-
getPreGroupedFlatRows: function getPreGroupedFlatRows() {
|
|
182
|
-
return instance.getSortedRowModel().flatRows;
|
|
183
|
-
},
|
|
184
|
-
getPreGroupedRowsById: function getPreGroupedRowsById() {
|
|
185
|
-
return instance.getSortedRowModel().rowsById;
|
|
186
|
-
},
|
|
187
|
-
getGroupedRows: function getGroupedRows() {
|
|
188
|
-
return instance.getGroupedRowModel().rows;
|
|
189
|
-
},
|
|
190
|
-
getGroupedFlatRows: function getGroupedFlatRows() {
|
|
191
|
-
return instance.getGroupedRowModel().flatRows;
|
|
192
|
-
},
|
|
193
|
-
getGroupedRowsById: function getGroupedRowsById() {
|
|
194
|
-
return instance.getGroupedRowModel().rowsById;
|
|
195
|
-
}
|
|
178
|
+
})
|
|
196
179
|
};
|
|
197
180
|
}
|
|
198
181
|
function createRow(row, instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import React, { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInAggregationType, aggregationTypes } from '../aggregationTypes'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn = (leafValues: any[], childValues: any[]) => any\n\nexport type AggregationType<TAggregationFns> =\n | 'auto'\n | BuiltInAggregationType\n | keyof TAggregationFns\n | AggregationFn\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TAggregationFns> = {\n aggregationType?: AggregationType<TAggregationFns>\n aggregateValue?: (columnValue: unknown) => any\n renderAggregatedCell?: () => React.ReactNode\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n TAggregationFns\n> = {\n aggregationType?: AggregationType<TAggregationFns>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n aggregationTypes?: TAggregationFns\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n groupRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type GroupingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (columnId: string) => AggregationFn | undefined\n getColumnAggregationFn: (columnId: string) => AggregationFn | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getGroupedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getGroupedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getGroupedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): GroupingColumnDef<TFilterFns> {\n return {\n aggregationType: 'auto',\n }\n}\n\nexport function getInitialState(): GroupingTableState {\n return {\n grouping: [],\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n aggregationType: column.aggregationType,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyGroupingReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreFlatRows()[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationTypes.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationTypes.extent\n }\n\n return aggregationTypes.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationTypes = instance.options.aggregationTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationType)\n ? column.aggregationType\n : column.aggregationType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userAggregationTypes as Record<string, any>)?.[\n column.aggregationType as string\n ] ??\n (aggregationTypes[\n column.aggregationType as BuiltInAggregationType\n ] as AggregationFn)\n },\n\n setGrouping: updater =>\n instance.options.onGroupingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().grouping)\n ),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n return\n }\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getGroupedRowModel: memo(\n () => [\n instance.getState().grouping,\n instance.getSortedRowModel(),\n instance.options.groupRowsFn,\n ],\n (grouping, rowModel, groupRowsFn) => {\n if (!groupRowsFn || !grouping.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Grouping...')\n\n return groupRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedRowModel',\n debug: instance.options.debug,\n onChange: () => instance._notifyExpandedReset(),\n }\n ),\n\n getPreGroupedRows: () => instance.getSortedRowModel().rows,\n getPreGroupedFlatRows: () => instance.getSortedRowModel().flatRows,\n getPreGroupedRowsById: () => instance.getSortedRowModel().rowsById,\n getGroupedRows: () => instance.getGroupedRowModel().rows,\n getGroupedFlatRows: () => instance.getGroupedRowModel().flatRows,\n getGroupedRowsById: () => instance.getGroupedRowModel().rowsById,\n }\n}\n\nexport function createRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingRow {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n}\n\nexport function createCell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> &\n GroupingCell,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n _instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): GroupingCell {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n }\n}\n\nexport function orderColumns<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n leafColumns: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["getDefaultColumn","aggregationType","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","_notifyGroupingReset","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreFlatRows","value","values","aggregationTypes","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationTypes","Error","isFunction","getColumnAutoFilterFn","setGrouping","updater","functionalUpdate","getState","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","persist","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getGroupedRowModel","memo","getSortedRowModel","groupRowsFn","rowModel","length","process","env","NODE_ENV","debug","console","info","key","onChange","_notifyExpandedReset","getPreGroupedRows","rows","getPreGroupedFlatRows","flatRows","getPreGroupedRowsById","rowsById","getGroupedRows","getGroupedFlatRows","getGroupedRowsById","createRow","row","createCell","cell","_instance","getIsPlaceholder","getIsAggregated","subRows","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import React, { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInAggregationType, aggregationTypes } from '../aggregationTypes'\nimport {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n PartialGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends PartialGenerics> = (\n leafValues: TGenerics['Row'][],\n childValues: TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationTypes<TGenerics extends PartialGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationType<TGenerics extends PartialGenerics> =\n | 'auto'\n | BuiltInAggregationType\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends PartialGenerics> = {\n aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n renderAggregatedCell?: () => React.ReactNode\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends PartialGenerics> = {\n aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends PartialGenerics> = {\n aggregationTypes?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n groupRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type ToggleGroupingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type GroupingInstance<TGenerics extends PartialGenerics> = {\n _notifyGroupingReset: () => void\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport function getDefaultColumn<\n TGenerics extends PartialGenerics\n>(): GroupingColumnDef<TGenerics> {\n return {\n aggregationType: 'auto',\n }\n}\n\nexport function getInitialState(): GroupingTableState {\n return {\n grouping: [],\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): GroupingOptions<TGenerics> {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n autoResetGrouping: true,\n groupedColumnMode: 'reorder',\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): GroupingColumn<TGenerics> {\n return {\n aggregationType: column.aggregationType,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): GroupingInstance<TGenerics> {\n let registered = false\n\n return {\n _notifyGroupingReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationTypes.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationTypes.extent\n }\n\n return aggregationTypes.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationTypes = instance.options.aggregationTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationType)\n ? column.aggregationType\n : column.aggregationType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userAggregationTypes as Record<string, any>)?.[\n column.aggregationType as string\n ] ??\n (aggregationTypes[\n column.aggregationType as BuiltInAggregationType\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater =>\n instance.options.onGroupingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().grouping)\n ),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: memo(\n () => [\n instance.getState().grouping,\n instance.getSortedRowModel(),\n instance.options.groupRowsFn,\n ],\n (grouping, rowModel, groupRowsFn) => {\n if (!groupRowsFn || !grouping.length) {\n return rowModel\n }\n\n return groupRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance._notifyExpandedReset(),\n }\n ),\n }\n}\n\nexport function createRow<TGenerics extends PartialGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n): GroupingRow {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n}\n\nexport function createCell<TGenerics extends PartialGenerics>(\n cell: Cell<TGenerics> & GroupingCell,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n _instance: TableInstance<TGenerics>\n): GroupingCell {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n }\n}\n\nexport function orderColumns<TGenerics extends PartialGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["getDefaultColumn","aggregationType","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","_notifyGroupingReset","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationTypes","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationTypes","Error","isFunction","getColumnAutoFilterFn","setGrouping","updater","functionalUpdate","getState","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","persist","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","memo","groupRowsFn","rowModel","length","key","debug","debugAll","debugTable","onChange","_notifyExpandedReset","createRow","row","createCell","cell","_instance","getIsPlaceholder","getIsAggregated","subRows","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
|
+
var ColumnSizing = require('./ColumnSizing.js');
|
|
16
17
|
|
|
17
18
|
//
|
|
18
19
|
function createRow(row, instance) {
|
|
@@ -29,7 +30,11 @@ function createRow(row, instance) {
|
|
|
29
30
|
});
|
|
30
31
|
}, {
|
|
31
32
|
key: 'row._getAllVisibleCells',
|
|
32
|
-
debug:
|
|
33
|
+
debug: function debug() {
|
|
34
|
+
var _instance$options$deb;
|
|
35
|
+
|
|
36
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
37
|
+
}
|
|
33
38
|
}),
|
|
34
39
|
getVisibleCells: utils.memo(function () {
|
|
35
40
|
return [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()];
|
|
@@ -37,7 +42,11 @@ function createRow(row, instance) {
|
|
|
37
42
|
return [].concat(left, center, right);
|
|
38
43
|
}, {
|
|
39
44
|
key: 'row.getVisibleCells',
|
|
40
|
-
debug:
|
|
45
|
+
debug: function debug() {
|
|
46
|
+
var _instance$options$deb2;
|
|
47
|
+
|
|
48
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
49
|
+
}
|
|
41
50
|
}),
|
|
42
51
|
getCenterVisibleCells: utils.memo(function () {
|
|
43
52
|
return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
@@ -48,7 +57,11 @@ function createRow(row, instance) {
|
|
|
48
57
|
});
|
|
49
58
|
}, {
|
|
50
59
|
key: 'row.getCenterVisibleCells',
|
|
51
|
-
debug:
|
|
60
|
+
debug: function debug() {
|
|
61
|
+
var _instance$options$deb3;
|
|
62
|
+
|
|
63
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
|
|
64
|
+
}
|
|
52
65
|
}),
|
|
53
66
|
getLeftVisibleCells: utils.memo(function () {
|
|
54
67
|
return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
|
|
@@ -61,7 +74,11 @@ function createRow(row, instance) {
|
|
|
61
74
|
return cells;
|
|
62
75
|
}, {
|
|
63
76
|
key: 'row.getLeftVisibleCells',
|
|
64
|
-
debug:
|
|
77
|
+
debug: function debug() {
|
|
78
|
+
var _instance$options$deb4;
|
|
79
|
+
|
|
80
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
|
|
81
|
+
}
|
|
65
82
|
}),
|
|
66
83
|
getRightVisibleCells: utils.memo(function () {
|
|
67
84
|
return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
|
|
@@ -74,7 +91,11 @@ function createRow(row, instance) {
|
|
|
74
91
|
return cells;
|
|
75
92
|
}, {
|
|
76
93
|
key: 'row.getRightVisibleCells',
|
|
77
|
-
debug:
|
|
94
|
+
debug: function debug() {
|
|
95
|
+
var _instance$options$deb5;
|
|
96
|
+
|
|
97
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
|
|
98
|
+
}
|
|
78
99
|
})
|
|
79
100
|
};
|
|
80
101
|
}
|
|
@@ -143,9 +164,9 @@ function getInstance(instance) {
|
|
|
143
164
|
column: column
|
|
144
165
|
});
|
|
145
166
|
}
|
|
146
|
-
}; // Yes, we have to convert instance to
|
|
167
|
+
}; // Yes, we have to convert instance to unknown, because we know more than the compiler here.
|
|
147
168
|
|
|
148
|
-
return header;
|
|
169
|
+
return Object.assign(header, ColumnSizing.createHeader(header, instance));
|
|
149
170
|
},
|
|
150
171
|
// Header Groups
|
|
151
172
|
getHeaderGroups: utils.memo(function () {
|
|
@@ -164,7 +185,11 @@ function getInstance(instance) {
|
|
|
164
185
|
return headerGroups;
|
|
165
186
|
}, {
|
|
166
187
|
key: 'getHeaderGroups',
|
|
167
|
-
debug:
|
|
188
|
+
debug: function debug() {
|
|
189
|
+
var _instance$options$deb6;
|
|
190
|
+
|
|
191
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
|
|
192
|
+
}
|
|
168
193
|
}),
|
|
169
194
|
getCenterHeaderGroups: utils.memo(function () {
|
|
170
195
|
return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
@@ -175,7 +200,11 @@ function getInstance(instance) {
|
|
|
175
200
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
|
|
176
201
|
}, {
|
|
177
202
|
key: 'getCenterHeaderGroups',
|
|
178
|
-
debug:
|
|
203
|
+
debug: function debug() {
|
|
204
|
+
var _instance$options$deb7;
|
|
205
|
+
|
|
206
|
+
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
|
|
207
|
+
}
|
|
179
208
|
}),
|
|
180
209
|
getLeftHeaderGroups: utils.memo(function () {
|
|
181
210
|
return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left];
|
|
@@ -186,7 +215,11 @@ function getInstance(instance) {
|
|
|
186
215
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
|
|
187
216
|
}, {
|
|
188
217
|
key: 'getLeftHeaderGroups',
|
|
189
|
-
debug:
|
|
218
|
+
debug: function debug() {
|
|
219
|
+
var _instance$options$deb8;
|
|
220
|
+
|
|
221
|
+
return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
|
|
222
|
+
}
|
|
190
223
|
}),
|
|
191
224
|
getRightHeaderGroups: utils.memo(function () {
|
|
192
225
|
return [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.right];
|
|
@@ -197,7 +230,11 @@ function getInstance(instance) {
|
|
|
197
230
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
|
|
198
231
|
}, {
|
|
199
232
|
key: 'getRightHeaderGroups',
|
|
200
|
-
debug:
|
|
233
|
+
debug: function debug() {
|
|
234
|
+
var _instance$options$deb9;
|
|
235
|
+
|
|
236
|
+
return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
|
|
237
|
+
}
|
|
201
238
|
}),
|
|
202
239
|
// Footer Groups
|
|
203
240
|
getFooterGroups: utils.memo(function () {
|
|
@@ -206,7 +243,11 @@ function getInstance(instance) {
|
|
|
206
243
|
return [].concat(headerGroups).reverse();
|
|
207
244
|
}, {
|
|
208
245
|
key: 'getFooterGroups',
|
|
209
|
-
debug:
|
|
246
|
+
debug: function debug() {
|
|
247
|
+
var _instance$options$deb10;
|
|
248
|
+
|
|
249
|
+
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
|
|
250
|
+
}
|
|
210
251
|
}),
|
|
211
252
|
getLeftFooterGroups: utils.memo(function () {
|
|
212
253
|
return [instance.getLeftHeaderGroups()];
|
|
@@ -214,7 +255,11 @@ function getInstance(instance) {
|
|
|
214
255
|
return [].concat(headerGroups).reverse();
|
|
215
256
|
}, {
|
|
216
257
|
key: 'getLeftFooterGroups',
|
|
217
|
-
debug:
|
|
258
|
+
debug: function debug() {
|
|
259
|
+
var _instance$options$deb11;
|
|
260
|
+
|
|
261
|
+
return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
|
|
262
|
+
}
|
|
218
263
|
}),
|
|
219
264
|
getCenterFooterGroups: utils.memo(function () {
|
|
220
265
|
return [instance.getCenterHeaderGroups()];
|
|
@@ -222,7 +267,11 @@ function getInstance(instance) {
|
|
|
222
267
|
return [].concat(headerGroups).reverse();
|
|
223
268
|
}, {
|
|
224
269
|
key: 'getCenterFooterGroups',
|
|
225
|
-
debug:
|
|
270
|
+
debug: function debug() {
|
|
271
|
+
var _instance$options$deb12;
|
|
272
|
+
|
|
273
|
+
return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
|
|
274
|
+
}
|
|
226
275
|
}),
|
|
227
276
|
getRightFooterGroups: utils.memo(function () {
|
|
228
277
|
return [instance.getRightHeaderGroups()];
|
|
@@ -230,7 +279,11 @@ function getInstance(instance) {
|
|
|
230
279
|
return [].concat(headerGroups).reverse();
|
|
231
280
|
}, {
|
|
232
281
|
key: 'getRightFooterGroups',
|
|
233
|
-
debug:
|
|
282
|
+
debug: function debug() {
|
|
283
|
+
var _instance$options$deb13;
|
|
284
|
+
|
|
285
|
+
return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
|
|
286
|
+
}
|
|
234
287
|
}),
|
|
235
288
|
// Flat Headers
|
|
236
289
|
getFlatHeaders: utils.memo(function () {
|
|
@@ -241,7 +294,11 @@ function getInstance(instance) {
|
|
|
241
294
|
}).flat();
|
|
242
295
|
}, {
|
|
243
296
|
key: 'getFlatHeaders',
|
|
244
|
-
debug:
|
|
297
|
+
debug: function debug() {
|
|
298
|
+
var _instance$options$deb14;
|
|
299
|
+
|
|
300
|
+
return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
|
|
301
|
+
}
|
|
245
302
|
}),
|
|
246
303
|
getLeftFlatHeaders: utils.memo(function () {
|
|
247
304
|
return [instance.getLeftHeaderGroups()];
|
|
@@ -251,7 +308,11 @@ function getInstance(instance) {
|
|
|
251
308
|
}).flat();
|
|
252
309
|
}, {
|
|
253
310
|
key: 'getLeftFlatHeaders',
|
|
254
|
-
debug:
|
|
311
|
+
debug: function debug() {
|
|
312
|
+
var _instance$options$deb15;
|
|
313
|
+
|
|
314
|
+
return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
|
|
315
|
+
}
|
|
255
316
|
}),
|
|
256
317
|
getCenterFlatHeaders: utils.memo(function () {
|
|
257
318
|
return [instance.getCenterHeaderGroups()];
|
|
@@ -261,7 +322,11 @@ function getInstance(instance) {
|
|
|
261
322
|
}).flat();
|
|
262
323
|
}, {
|
|
263
324
|
key: 'getCenterFlatHeaders',
|
|
264
|
-
debug:
|
|
325
|
+
debug: function debug() {
|
|
326
|
+
var _instance$options$deb16;
|
|
327
|
+
|
|
328
|
+
return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
|
|
329
|
+
}
|
|
265
330
|
}),
|
|
266
331
|
getRightFlatHeaders: utils.memo(function () {
|
|
267
332
|
return [instance.getRightHeaderGroups()];
|
|
@@ -271,7 +336,11 @@ function getInstance(instance) {
|
|
|
271
336
|
}).flat();
|
|
272
337
|
}, {
|
|
273
338
|
key: 'getRightFlatHeaders',
|
|
274
|
-
debug:
|
|
339
|
+
debug: function debug() {
|
|
340
|
+
var _instance$options$deb17;
|
|
341
|
+
|
|
342
|
+
return (_instance$options$deb17 = instance.options.debugAll) != null ? _instance$options$deb17 : instance.options.debugHeaders;
|
|
343
|
+
}
|
|
275
344
|
}),
|
|
276
345
|
// Leaf Headers
|
|
277
346
|
getCenterLeafHeaders: utils.memo(function () {
|
|
@@ -284,7 +353,11 @@ function getInstance(instance) {
|
|
|
284
353
|
});
|
|
285
354
|
}, {
|
|
286
355
|
key: 'getCenterLeafHeaders',
|
|
287
|
-
debug:
|
|
356
|
+
debug: function debug() {
|
|
357
|
+
var _instance$options$deb18;
|
|
358
|
+
|
|
359
|
+
return (_instance$options$deb18 = instance.options.debugAll) != null ? _instance$options$deb18 : instance.options.debugHeaders;
|
|
360
|
+
}
|
|
288
361
|
}),
|
|
289
362
|
getLeftLeafHeaders: utils.memo(function () {
|
|
290
363
|
return [instance.getLeftFlatHeaders()];
|
|
@@ -296,7 +369,11 @@ function getInstance(instance) {
|
|
|
296
369
|
});
|
|
297
370
|
}, {
|
|
298
371
|
key: 'getLeftLeafHeaders',
|
|
299
|
-
debug:
|
|
372
|
+
debug: function debug() {
|
|
373
|
+
var _instance$options$deb19;
|
|
374
|
+
|
|
375
|
+
return (_instance$options$deb19 = instance.options.debugAll) != null ? _instance$options$deb19 : instance.options.debugHeaders;
|
|
376
|
+
}
|
|
300
377
|
}),
|
|
301
378
|
getRightLeafHeaders: utils.memo(function () {
|
|
302
379
|
return [instance.getRightFlatHeaders()];
|
|
@@ -308,7 +385,11 @@ function getInstance(instance) {
|
|
|
308
385
|
});
|
|
309
386
|
}, {
|
|
310
387
|
key: 'getRightLeafHeaders',
|
|
311
|
-
debug:
|
|
388
|
+
debug: function debug() {
|
|
389
|
+
var _instance$options$deb20;
|
|
390
|
+
|
|
391
|
+
return (_instance$options$deb20 = instance.options.debugAll) != null ? _instance$options$deb20 : instance.options.debugHeaders;
|
|
392
|
+
}
|
|
312
393
|
}),
|
|
313
394
|
getLeafHeaders: utils.memo(function () {
|
|
314
395
|
return [instance.getLeftHeaderGroups(), instance.getCenterHeaderGroups(), instance.getRightHeaderGroups()];
|
|
@@ -320,7 +401,11 @@ function getInstance(instance) {
|
|
|
320
401
|
}).flat();
|
|
321
402
|
}, {
|
|
322
403
|
key: 'getLeafHeaders',
|
|
323
|
-
debug:
|
|
404
|
+
debug: function debug() {
|
|
405
|
+
var _instance$options$deb21;
|
|
406
|
+
|
|
407
|
+
return (_instance$options$deb21 = instance.options.debugAll) != null ? _instance$options$deb21 : instance.options.debugHeaders;
|
|
408
|
+
}
|
|
324
409
|
}),
|
|
325
410
|
getHeader: function getHeader(id) {
|
|
326
411
|
var header = [].concat(instance.getFlatHeaders(), instance.getCenterFlatHeaders(), instance.getLeftFlatHeaders(), instance.getRightFlatHeaders()).find(function (d) {
|
|
@@ -383,11 +468,6 @@ function getInstance(instance) {
|
|
|
383
468
|
},
|
|
384
469
|
getFooterProps: function getFooterProps(id, userProps) {
|
|
385
470
|
var header = instance.getHeader(id);
|
|
386
|
-
|
|
387
|
-
if (!header) {
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
471
|
var initialProps = {
|
|
392
472
|
key: header.id,
|
|
393
473
|
role: 'columnfooter',
|