@tanstack/table-core 8.0.0-alpha.64 → 8.0.0-alpha.65
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 +1 -0
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/features/Cells.js +1 -1
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/Columns.js +7 -7
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Filters.js +153 -77
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Headers.js +16 -16
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +6 -6
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +5 -5
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +3 -3
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +2 -2
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +51 -108
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +4 -4
- package/build/cjs/utils/filterRowsUtils.js +21 -0
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelSync.js +1 -1
- package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +1 -1
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +130 -0
- package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +1 -1
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +1 -1
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModelSync.js +1 -1
- package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
- package/build/cjs/utils.js +2 -6
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +422 -446
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +363 -395
- package/build/types/features/Filters.d.ts +24 -15
- package/build/types/filterFns.d.ts +10 -52
- package/build/types/index.d.ts +1 -2
- package/build/types/types.d.ts +2 -2
- package/build/types/utils/filterRowsUtils.d.ts +1 -0
- package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
- package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
- package/build/types/utils.d.ts +2 -2
- package/build/umd/index.development.js +424 -447
- 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 +2 -1
- package/src/core.ts +1 -0
- package/src/features/Cells.ts +3 -1
- package/src/features/Columns.ts +11 -7
- package/src/features/Filters.ts +202 -94
- package/src/features/Headers.ts +16 -16
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +1 -1
- package/src/features/Pinning.ts +10 -6
- package/src/features/RowSelection.ts +9 -6
- package/src/features/Sorting.ts +3 -5
- package/src/features/Visibility.ts +3 -2
- package/src/filterFns.ts +74 -147
- package/src/index.ts +1 -2
- package/src/types.ts +2 -0
- package/src/utils/filterRowsUtils.ts +24 -0
- package/src/utils/getCoreRowModelAsync.ts +1 -1
- package/src/utils/getCoreRowModelSync.ts +1 -1
- package/src/utils/getExpandedRowModel.ts +1 -1
- package/src/utils/getFilteredRowModelAsync.ts +49 -0
- package/src/utils/getFilteredRowModelSync.ts +150 -0
- package/src/utils/getGroupedRowModel.ts +1 -1
- package/src/utils/getPaginationRowModel.ts +1 -1
- package/src/utils/getSortedRowModelAsync.ts +1 -1
- package/src/utils/getSortedRowModelSync.ts +1 -1
- package/src/utils.ts +2 -4
- package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
- package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
- package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
- package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
- package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
- package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
- package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
package/build/cjs/core.js
CHANGED
package/build/cjs/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sources":["../../src/core.ts"],"sourcesContent":["import { functionalUpdate, RequiredKeys } from './utils'\n\nimport {\n Updater,\n TableOptions,\n TableState,\n TableInstance,\n Renderable,\n TableFeature,\n TableGenerics,\n InitialTableState,\n} from './types'\n\nimport { Columns } from './features/Columns'\nimport { Rows } from './features/Rows'\nimport { Cells } from './features/Cells'\nimport { ColumnSizing } from './features/ColumnSizing'\nimport { Expanding } from './features/Expanding'\nimport { Filters } from './features/Filters'\nimport { Grouping } from './features/Grouping'\nimport { Ordering } from './features/Ordering'\nimport { Pagination } from './features/Pagination'\nimport { Pinning } from './features/Pinning'\nimport { RowSelection } from './features/RowSelection'\nimport { Sorting } from './features/Sorting'\nimport { Visibility } from './features/Visibility'\nimport { Headers } from './features/Headers'\n//\nimport { mean } from './aggregationFns'\n\nexport type CoreTableState = {\n coreProgress: number\n}\n\nexport type CoreOptions<TGenerics extends TableGenerics> = {\n data: TGenerics['Row'][]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n render: TGenerics['Renderer']\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T\n meta?: TGenerics['TableMeta']\n}\n\nexport type TableCore<TGenerics extends TableGenerics> = {\n // generics: TGenerics\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptions<TGenerics>, 'state'>\n setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void\n queue: (cb: () => void) => void\n // willUpdate: () => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n render: <TProps>(\n template: Renderable<TGenerics, TProps>,\n props: TProps\n ) => string | null | TGenerics['Rendered']\n getOverallProgress: () => number\n _features: readonly TableFeature[]\n}\n\nexport function createTableInstance<TGenerics extends TableGenerics>(\n options: TableOptions<TGenerics>\n): TableInstance<TGenerics> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let instance = {} as TableInstance<TGenerics>\n\n instance._features = [\n Columns,\n Rows,\n Cells,\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n ] as const\n\n const defaultOptions = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(instance))\n }, {}) as TableOptions<TGenerics>\n\n const mergeOptions = (options: TableOptions<TGenerics>) => {\n if (instance.options.mergeOptions) {\n return instance.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n instance.options = {\n ...defaultOptions,\n ...options,\n }\n\n const coreInitialState: CoreTableState = {\n coreProgress: 1,\n }\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n instance._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const finalInstance: TableInstance<TGenerics> = {\n ...instance,\n ...(instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createInstance?.(instance))\n }, {}) as unknown as TableInstance<TGenerics>),\n queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n // willUpdate: () => {},\n initialState,\n reset: () => {\n instance.setState(instance.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, instance.options)\n instance.options = mergeOptions(newOptions)\n },\n render: (template, props) => {\n if (typeof instance.options.render === 'function') {\n return instance.options.render(template, props)\n }\n\n if (typeof template === 'function') {\n return (template as Function)(props)\n }\n\n return template\n },\n\n getState: () => {\n return instance.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n instance.options.onStateChange?.(updater)\n },\n\n getOverallProgress: () => {\n const { coreProgress, columnFiltersProgress, globalFilterProgress } =\n instance.getState()\n\n return mean(() =>\n [coreProgress, columnFiltersProgress, globalFilterProgress].filter(\n d => d < 1\n )\n ) as number\n },\n }\n\n instance = Object.assign(instance, finalInstance)\n\n return instance\n}\n"],"names":["createTableInstance","options","debugAll","debugTable","console","info","instance","_features","Columns","Rows","Cells","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","coreProgress","initialState","forEach","getInitialState","queued","queuedTimeout","finalInstance","_extends","createInstance","queue","cb","push","Promise","resolve","then","length","shift","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","render","template","props","getState","state","onStateChange","getOverallProgress","columnFiltersProgress","globalFilterProgress","mean","filter","d"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sources":["../../src/core.ts"],"sourcesContent":["import { functionalUpdate, RequiredKeys } from './utils'\n\nimport {\n Updater,\n TableOptions,\n TableState,\n TableInstance,\n Renderable,\n TableFeature,\n TableGenerics,\n InitialTableState,\n} from './types'\n\nimport { Columns } from './features/Columns'\nimport { Rows } from './features/Rows'\nimport { Cells } from './features/Cells'\nimport { ColumnSizing } from './features/ColumnSizing'\nimport { Expanding } from './features/Expanding'\nimport { Filters } from './features/Filters'\nimport { Grouping } from './features/Grouping'\nimport { Ordering } from './features/Ordering'\nimport { Pagination } from './features/Pagination'\nimport { Pinning } from './features/Pinning'\nimport { RowSelection } from './features/RowSelection'\nimport { Sorting } from './features/Sorting'\nimport { Visibility } from './features/Visibility'\nimport { Headers } from './features/Headers'\n//\nimport { mean } from './aggregationFns'\n\nexport type CoreTableState = {\n coreProgress: number\n}\n\nexport type CoreOptions<TGenerics extends TableGenerics> = {\n data: TGenerics['Row'][]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n render: TGenerics['Renderer']\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T\n meta?: TGenerics['TableMeta']\n}\n\nexport type TableCore<TGenerics extends TableGenerics> = {\n // generics: TGenerics\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptions<TGenerics>, 'state'>\n setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void\n queue: (cb: () => void) => void\n // willUpdate: () => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n render: <TProps>(\n template: Renderable<TGenerics, TProps>,\n props: TProps\n ) => string | null | TGenerics['Rendered']\n getOverallProgress: () => number\n _features: readonly TableFeature[]\n}\n\nexport function createTableInstance<TGenerics extends TableGenerics>(\n options: TableOptions<TGenerics>\n): TableInstance<TGenerics> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let instance = {} as TableInstance<TGenerics>\n\n instance._features = [\n Columns,\n Rows,\n Cells,\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n ] as const\n\n const defaultOptions = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(instance))\n }, {}) as TableOptions<TGenerics>\n\n const mergeOptions = (options: TableOptions<TGenerics>) => {\n if (instance.options.mergeOptions) {\n return instance.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n instance.options = {\n ...defaultOptions,\n ...options,\n }\n\n const coreInitialState: CoreTableState = {\n coreProgress: 1,\n }\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n instance._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const finalInstance: TableInstance<TGenerics> = {\n ...instance,\n ...(instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createInstance?.(instance))\n }, {}) as unknown as TableInstance<TGenerics>),\n queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n console.log('queue')\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n // willUpdate: () => {},\n initialState,\n reset: () => {\n instance.setState(instance.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, instance.options)\n instance.options = mergeOptions(newOptions)\n },\n render: (template, props) => {\n if (typeof instance.options.render === 'function') {\n return instance.options.render(template, props)\n }\n\n if (typeof template === 'function') {\n return (template as Function)(props)\n }\n\n return template\n },\n\n getState: () => {\n return instance.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n instance.options.onStateChange?.(updater)\n },\n\n getOverallProgress: () => {\n const { coreProgress, columnFiltersProgress, globalFilterProgress } =\n instance.getState()\n\n return mean(() =>\n [coreProgress, columnFiltersProgress, globalFilterProgress].filter(\n d => d < 1\n )\n ) as number\n },\n }\n\n instance = Object.assign(instance, finalInstance)\n\n return instance\n}\n"],"names":["createTableInstance","options","debugAll","debugTable","console","info","instance","_features","Columns","Rows","Cells","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","coreProgress","initialState","forEach","getInitialState","queued","queuedTimeout","finalInstance","_extends","createInstance","queue","cb","push","Promise","resolve","then","length","log","shift","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","render","template","props","getState","state","onStateChange","getOverallProgress","columnFiltersProgress","globalFilterProgress","mean","filter","d"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n value: any\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<TGenerics>,\n column,\n row.values[column.id]\n )\n })\n },\n {\n key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key
|
|
1
|
+
{"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n value: any\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<TGenerics>,\n column,\n row.values[column.id]\n )\n })\n },\n {\n key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): CellsInstance<TGenerics> => {\n return {\n createCell: (row, column, value) => {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId: column.id,\n row,\n column,\n value,\n renderCell: () =>\n column.cell\n ? instance.render(column.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n value,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n }\n },\n}\n"],"names":["Cells","createRow","row","instance","getAllCells","memo","getAllLeafColumns","leafColumns","map","column","createCell","values","id","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getAllCellsByColumnId","allCells","reduce","acc","cell","columnId","createInstance","value","rowId","renderCell","render","_features","forEach","feature","Object","assign","getCell","getRow","Error"],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ var Columns = {
|
|
|
46
46
|
|
|
47
47
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
48
48
|
},
|
|
49
|
-
key: 'getDefaultColumn'
|
|
49
|
+
key: process.env.NODE_ENV === 'production' && 'getDefaultColumn'
|
|
50
50
|
}),
|
|
51
51
|
getColumnDefs: function getColumnDefs() {
|
|
52
52
|
return instance.options.columns;
|
|
@@ -91,7 +91,7 @@ var Columns = {
|
|
|
91
91
|
return d.getFlatColumns();
|
|
92
92
|
}));
|
|
93
93
|
}, {
|
|
94
|
-
key: 'column.getFlatColumns',
|
|
94
|
+
key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
|
|
95
95
|
debug: function debug() {
|
|
96
96
|
var _instance$options$deb2;
|
|
97
97
|
|
|
@@ -112,7 +112,7 @@ var Columns = {
|
|
|
112
112
|
|
|
113
113
|
return [column];
|
|
114
114
|
}, {
|
|
115
|
-
key: 'column.getLeafColumns',
|
|
115
|
+
key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
|
|
116
116
|
debug: function debug() {
|
|
117
117
|
var _instance$options$deb3;
|
|
118
118
|
|
|
@@ -144,7 +144,7 @@ var Columns = {
|
|
|
144
144
|
|
|
145
145
|
return recurseColumns(columnDefs);
|
|
146
146
|
}, {
|
|
147
|
-
key: 'getAllColumns',
|
|
147
|
+
key: process.env.NODE_ENV === 'production' && 'getAllColumns',
|
|
148
148
|
debug: function debug() {
|
|
149
149
|
var _instance$options$deb4;
|
|
150
150
|
|
|
@@ -158,7 +158,7 @@ var Columns = {
|
|
|
158
158
|
return column.getFlatColumns();
|
|
159
159
|
});
|
|
160
160
|
}, {
|
|
161
|
-
key: 'getAllFlatColumns',
|
|
161
|
+
key: process.env.NODE_ENV === 'production' && 'getAllFlatColumns',
|
|
162
162
|
debug: function debug() {
|
|
163
163
|
var _instance$options$deb5;
|
|
164
164
|
|
|
@@ -173,7 +173,7 @@ var Columns = {
|
|
|
173
173
|
return acc;
|
|
174
174
|
}, {});
|
|
175
175
|
}, {
|
|
176
|
-
key: 'getAllFlatColumnsById',
|
|
176
|
+
key: process.env.NODE_ENV === 'production' && 'getAllFlatColumnsById',
|
|
177
177
|
debug: function debug() {
|
|
178
178
|
var _instance$options$deb6;
|
|
179
179
|
|
|
@@ -188,7 +188,7 @@ var Columns = {
|
|
|
188
188
|
});
|
|
189
189
|
return orderColumns(leafColumns);
|
|
190
190
|
}, {
|
|
191
|
-
key: 'getAllLeafColumns',
|
|
191
|
+
key: process.env.NODE_ENV === 'production' && 'getAllLeafColumns',
|
|
192
192
|
debug: function debug() {
|
|
193
193
|
var _instance$options$deb7;
|
|
194
194
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Columns.js","sources":["../../../src/features/Columns.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Header,\n TableGenerics,\n TableInstance,\n Row,\n AccessorFn,\n ColumnDef,\n Renderable,\n HeaderRenderProps,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\nexport type CoreColumnDef<TGenerics extends TableGenerics> = {\n id: string\n accessorKey?: string & keyof TGenerics['Row']\n accessorFn?: AccessorFn<TGenerics['Row']>\n columns?: ColumnDef<TGenerics>[]\n header?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n footer?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n cell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n meta?: TGenerics['ColumnMeta']\n}\n\nexport type CoreColumn<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TGenerics['Row']>\n columnDef: ColumnDef<TGenerics>\n columnDefType: CoreColumnDefType\n columns: Column<TGenerics>[]\n parent?: Column<TGenerics>\n getFlatColumns: () => Column<TGenerics>[]\n getLeafColumns: () => Column<TGenerics>[]\n}\n\nexport type ColumnsOptions<TGenerics extends TableGenerics> = {\n columns: ColumnDef<TGenerics>[]\n defaultColumn?: Partial<ColumnDef<TGenerics>>\n}\n\nexport type ColumnsInstance<TGenerics extends TableGenerics> = {\n getDefaultColumn: () => Partial<ColumnDef<TGenerics>>\n getColumnDefs: () => ColumnDef<TGenerics>[]\n createColumn: (\n columnDef: ColumnDef<TGenerics>,\n depth: number,\n parent?: Column<TGenerics>\n ) => Column<TGenerics>\n getAllColumns: () => Column<TGenerics>[]\n getAllFlatColumns: () => Column<TGenerics>[]\n getAllFlatColumnsById: () => Record<string, Column<TGenerics>>\n getAllLeafColumns: () => Column<TGenerics>[]\n getColumn: (columnId: string) => Column<TGenerics>\n}\n\n//\n\nexport const Columns = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnsInstance<TGenerics> => {\n return {\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<ColumnDef<TGenerics>>\n\n return {\n header: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n footer: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumn?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TGenerics>>\n },\n {\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n key: 'getDefaultColumn',\n }\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent\n ) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TGenerics['Row']> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TGenerics['Row']) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TGenerics> = {\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columnDefType: columnDef.columnDefType as CoreColumnDefType,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TGenerics>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: 'column.getFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [instance._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TGenerics>]\n },\n {\n key: 'column.getLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n\n column = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, instance))\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<TGenerics>\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TGenerics>[],\n parent?: Column<TGenerics>,\n depth = 0\n ): Column<TGenerics>[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: 'getAllColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: 'getAllFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TGenerics>>)\n },\n {\n key: 'getAllFlatColumnsById',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column =>\n column.getLeafColumns()\n )\n return orderColumns(leafColumns)\n },\n {\n key: 'getAllLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n },\n}\n"],"names":["Columns","createInstance","instance","getDefaultColumn","memo","options","defaultColumn","_extends","header","props","column","id","footer","cell","value","toString","_features","reduce","obj","feature","Object","assign","debug","debugAll","debugColumns","key","getColumnDefs","columns","createColumn","columnDef","depth","parent","accessorKey","undefined","accessorFn","originalRow","process","env","NODE_ENV","Error","columnDefType","getFlatColumns","flatMap","d","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","getColumn","columnId","console","warn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Columns.js","sources":["../../../src/features/Columns.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Header,\n TableGenerics,\n TableInstance,\n Row,\n AccessorFn,\n ColumnDef,\n Renderable,\n HeaderRenderProps,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\nexport type CoreColumnDef<TGenerics extends TableGenerics> = {\n id: string\n accessorKey?: string & keyof TGenerics['Row']\n accessorFn?: AccessorFn<TGenerics['Row']>\n columns?: ColumnDef<TGenerics>[]\n header?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n footer?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n cell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n meta?: TGenerics['ColumnMeta']\n}\n\nexport type CoreColumn<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TGenerics['Row']>\n columnDef: ColumnDef<TGenerics>\n columnDefType: CoreColumnDefType\n columns: Column<TGenerics>[]\n parent?: Column<TGenerics>\n getFlatColumns: () => Column<TGenerics>[]\n getLeafColumns: () => Column<TGenerics>[]\n}\n\nexport type ColumnsOptions<TGenerics extends TableGenerics> = {\n columns: ColumnDef<TGenerics>[]\n defaultColumn?: Partial<ColumnDef<TGenerics>>\n}\n\nexport type ColumnsInstance<TGenerics extends TableGenerics> = {\n getDefaultColumn: () => Partial<ColumnDef<TGenerics>>\n getColumnDefs: () => ColumnDef<TGenerics>[]\n createColumn: (\n columnDef: ColumnDef<TGenerics>,\n depth: number,\n parent?: Column<TGenerics>\n ) => Column<TGenerics>\n getAllColumns: () => Column<TGenerics>[]\n getAllFlatColumns: () => Column<TGenerics>[]\n getAllFlatColumnsById: () => Record<string, Column<TGenerics>>\n getAllLeafColumns: () => Column<TGenerics>[]\n getColumn: (columnId: string) => Column<TGenerics>\n}\n\n//\n\nexport const Columns = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnsInstance<TGenerics> => {\n return {\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<ColumnDef<TGenerics>>\n\n return {\n header: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n footer: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumn?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TGenerics>>\n },\n {\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n key: process.env.NODE_ENV === 'production' && 'getDefaultColumn',\n }\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent\n ) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TGenerics['Row']> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TGenerics['Row']) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TGenerics> = {\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columnDefType: columnDef.columnDefType as CoreColumnDefType,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TGenerics>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [instance._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TGenerics>]\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n\n column = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, instance))\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<TGenerics>\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TGenerics>[],\n parent?: Column<TGenerics>,\n depth = 0\n ): Column<TGenerics>[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getAllColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getAllFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TGenerics>>)\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getAllFlatColumnsById',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column =>\n column.getLeafColumns()\n )\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getAllLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n },\n}\n"],"names":["Columns","createInstance","instance","getDefaultColumn","memo","options","defaultColumn","_extends","header","props","column","id","footer","cell","value","toString","_features","reduce","obj","feature","Object","assign","debug","debugAll","debugColumns","key","process","env","NODE_ENV","getColumnDefs","columns","createColumn","columnDef","depth","parent","accessorKey","undefined","accessorFn","originalRow","Error","columnDefType","getFlatColumns","flatMap","d","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","getColumn","columnId","console","warn"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
16
|
var filterFns = require('../filterFns.js');
|
|
17
17
|
var utils = require('../utils.js');
|
|
18
|
+
var filterRowsUtils = require('../utils/filterRowsUtils.js');
|
|
18
19
|
|
|
19
20
|
//
|
|
20
21
|
var Filters = {
|
|
@@ -46,50 +47,6 @@ var Filters = {
|
|
|
46
47
|
};
|
|
47
48
|
},
|
|
48
49
|
createColumn: function createColumn(column, instance) {
|
|
49
|
-
var getFacetInfo = utils.memo(function () {
|
|
50
|
-
return [column.getPreFilteredRows()];
|
|
51
|
-
}, function (rows) {
|
|
52
|
-
var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
|
|
53
|
-
|
|
54
|
-
if (rows === void 0) {
|
|
55
|
-
rows = [];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
var preFilteredUniqueValues = new Map();
|
|
59
|
-
var preFilteredMinMaxValues = [(_rows$0$values$column = (_rows$ = rows[0]) == null ? void 0 : _rows$.values[column.id]) != null ? _rows$0$values$column : null, (_rows$0$values$column2 = (_rows$2 = rows[0]) == null ? void 0 : _rows$2.values[column.id]) != null ? _rows$0$values$column2 : null];
|
|
60
|
-
|
|
61
|
-
for (var i = 0; i < rows.length; i++) {
|
|
62
|
-
var _rows$i;
|
|
63
|
-
|
|
64
|
-
var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
|
|
65
|
-
|
|
66
|
-
if (preFilteredUniqueValues.has(_value)) {
|
|
67
|
-
var _preFilteredUniqueVal;
|
|
68
|
-
|
|
69
|
-
preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
|
|
70
|
-
} else {
|
|
71
|
-
preFilteredUniqueValues.set(_value, 1);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (_value < preFilteredMinMaxValues[0]) {
|
|
75
|
-
preFilteredMinMaxValues[0] = _value;
|
|
76
|
-
} else if (_value > preFilteredMinMaxValues[1]) {
|
|
77
|
-
preFilteredMinMaxValues[1] = _value;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
preFilteredUniqueValues: preFilteredUniqueValues,
|
|
83
|
-
preFilteredMinMaxValues: preFilteredMinMaxValues
|
|
84
|
-
};
|
|
85
|
-
}, {
|
|
86
|
-
key: 'column.getFacetInfo',
|
|
87
|
-
debug: function debug() {
|
|
88
|
-
var _instance$options$deb;
|
|
89
|
-
|
|
90
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
50
|
return {
|
|
94
51
|
filterFn: column.filterFn,
|
|
95
52
|
getCanColumnFilter: function getCanColumnFilter() {
|
|
@@ -110,15 +67,57 @@ var Filters = {
|
|
|
110
67
|
setColumnFilterValue: function setColumnFilterValue(val) {
|
|
111
68
|
return instance.setColumnFilterValue(column.id, val);
|
|
112
69
|
},
|
|
113
|
-
|
|
114
|
-
return
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
70
|
+
getFacetedRowModel: utils.memo(function () {
|
|
71
|
+
return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
|
|
72
|
+
instance.getFilteredRowModel()];
|
|
73
|
+
}, function (rowModel, columnFilters, globalFilter, _) {
|
|
74
|
+
if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
75
|
+
return rowModel;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return filterRowsUtils.filterRows(rowModel.rows, [].concat(columnFilters.map(function (d) {
|
|
79
|
+
return d.id;
|
|
80
|
+
}).filter(function (d) {
|
|
81
|
+
return d !== column.id;
|
|
82
|
+
}), [globalFilter ? '__global__' : undefined]).filter(Boolean), instance);
|
|
83
|
+
}, {
|
|
84
|
+
key: process.env.NODE_ENV === 'production' && 'getFacetedRowModel_' + column.id,
|
|
85
|
+
debug: function debug() {
|
|
86
|
+
var _instance$options$deb;
|
|
87
|
+
|
|
88
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
getFacetedUniqueValues: utils.memo(function () {
|
|
92
|
+
return [column.getFacetedRowModel()];
|
|
93
|
+
}, function (facetedRowModel) {
|
|
94
|
+
return getRowModelUniqueValues(facetedRowModel, column.id);
|
|
95
|
+
}, {
|
|
96
|
+
key: process.env.NODE_ENV === 'production' && 'column.getFacetedUniqueValues',
|
|
97
|
+
debug: function debug() {
|
|
98
|
+
var _instance$options$deb2;
|
|
99
|
+
|
|
100
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
|
|
101
|
+
}
|
|
102
|
+
}),
|
|
103
|
+
getFacetedMinMaxValues: utils.memo(function () {
|
|
104
|
+
return [column.getFacetedRowModel()];
|
|
105
|
+
}, function (facetedRowModel) {
|
|
106
|
+
return getRowModelMinMaxValues(facetedRowModel, column.id);
|
|
107
|
+
}, {
|
|
108
|
+
key: process.env.NODE_ENV === 'production' && 'column.getFacetedMinMaxValues',
|
|
109
|
+
debug: function debug() {
|
|
110
|
+
var _instance$options$deb3;
|
|
111
|
+
|
|
112
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
createRow: function createRow(row, instance) {
|
|
118
|
+
return {
|
|
119
|
+
columnFilterMap: {},
|
|
120
|
+
subRowsByFacetId: {}
|
|
122
121
|
};
|
|
123
122
|
},
|
|
124
123
|
createInstance: function createInstance(instance) {
|
|
@@ -132,7 +131,7 @@ var Filters = {
|
|
|
132
131
|
}
|
|
133
132
|
|
|
134
133
|
if (typeof value === 'number') {
|
|
135
|
-
return filterFns.filterFns.
|
|
134
|
+
return filterFns.filterFns.inNumberRange;
|
|
136
135
|
}
|
|
137
136
|
|
|
138
137
|
if (value !== null && typeof value === 'object') {
|
|
@@ -145,6 +144,15 @@ var Filters = {
|
|
|
145
144
|
|
|
146
145
|
return filterFns.filterFns.weakEquals;
|
|
147
146
|
},
|
|
147
|
+
getColumnFacetedRowModel: function getColumnFacetedRowModel(columnId) {
|
|
148
|
+
var column = instance.getColumn(columnId);
|
|
149
|
+
|
|
150
|
+
if (!column) {
|
|
151
|
+
throw new Error();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return column.getFacetedRowModel();
|
|
155
|
+
},
|
|
148
156
|
getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
|
|
149
157
|
return filterFns.filterFns.includesString;
|
|
150
158
|
},
|
|
@@ -166,7 +174,6 @@ var Filters = {
|
|
|
166
174
|
var _instance$options = instance.options,
|
|
167
175
|
userFilterFns = _instance$options.filterFns,
|
|
168
176
|
globalFilterFn = _instance$options.globalFilterFn;
|
|
169
|
-
debugger;
|
|
170
177
|
return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns.filterFns[globalFilterFn];
|
|
171
178
|
},
|
|
172
179
|
setColumnFilters: function setColumnFilters(updater) {
|
|
@@ -201,7 +208,7 @@ var Filters = {
|
|
|
201
208
|
instance.setGlobalFilter(instance.initialState.globalFilter);
|
|
202
209
|
},
|
|
203
210
|
getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
|
|
204
|
-
var _column$enableColumnF, _instance$options$ena;
|
|
211
|
+
var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
|
|
205
212
|
|
|
206
213
|
var column = instance.getColumn(columnId);
|
|
207
214
|
|
|
@@ -209,10 +216,10 @@ var Filters = {
|
|
|
209
216
|
throw new Error();
|
|
210
217
|
}
|
|
211
218
|
|
|
212
|
-
return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && !!column.accessorFn;
|
|
219
|
+
return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
|
|
213
220
|
},
|
|
214
221
|
getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
|
|
215
|
-
var _column$enableGlobalF, _instance$options$
|
|
222
|
+
var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
|
|
216
223
|
|
|
217
224
|
var column = instance.getColumn(columnId);
|
|
218
225
|
|
|
@@ -220,7 +227,7 @@ var Filters = {
|
|
|
220
227
|
throw new Error();
|
|
221
228
|
}
|
|
222
229
|
|
|
223
|
-
return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$
|
|
230
|
+
return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
|
|
224
231
|
},
|
|
225
232
|
getColumnIsFiltered: function getColumnIsFiltered(columnId) {
|
|
226
233
|
return instance.getColumnFilterIndex(columnId) > -1;
|
|
@@ -295,41 +302,110 @@ var Filters = {
|
|
|
295
302
|
|
|
296
303
|
instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
|
|
297
304
|
},
|
|
298
|
-
|
|
305
|
+
getPreFilteredRowModel: function getPreFilteredRowModel() {
|
|
299
306
|
return instance.getCoreRowModel();
|
|
300
307
|
},
|
|
301
|
-
|
|
302
|
-
if (!instance.
|
|
303
|
-
instance.
|
|
308
|
+
getFilteredRowModel: function getFilteredRowModel() {
|
|
309
|
+
if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
|
|
310
|
+
instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
|
|
304
311
|
}
|
|
305
312
|
|
|
306
|
-
if (instance.options.
|
|
307
|
-
return instance.
|
|
313
|
+
if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
|
|
314
|
+
return instance.getPreFilteredRowModel();
|
|
308
315
|
}
|
|
309
316
|
|
|
310
|
-
return instance.
|
|
311
|
-
},
|
|
312
|
-
getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
|
|
313
|
-
return instance.getColumnFilteredRowModel();
|
|
317
|
+
return instance._getFilteredRowModel();
|
|
314
318
|
},
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
319
|
+
getGlobalFacetedRowModel: utils.memo(function () {
|
|
320
|
+
return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
|
|
321
|
+
instance.getFilteredRowModel()];
|
|
322
|
+
}, function (rowModel, columnFilters, globalFilter, _) {
|
|
323
|
+
if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
324
|
+
return rowModel;
|
|
318
325
|
}
|
|
319
326
|
|
|
320
|
-
|
|
321
|
-
return
|
|
322
|
-
}
|
|
327
|
+
return filterRowsUtils.filterRows(rowModel.rows, columnFilters.map(function (d) {
|
|
328
|
+
return d.id;
|
|
329
|
+
}), instance);
|
|
330
|
+
}, {
|
|
331
|
+
key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',
|
|
332
|
+
debug: function debug() {
|
|
333
|
+
var _instance$options$deb4;
|
|
323
334
|
|
|
324
|
-
|
|
325
|
-
|
|
335
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
|
|
336
|
+
}
|
|
337
|
+
}),
|
|
338
|
+
getGlobalFacetedUniqueValues: utils.memo(function () {
|
|
339
|
+
return [instance.getGlobalFacetedRowModel()];
|
|
340
|
+
}, function (facetedRowModel) {
|
|
341
|
+
return getRowModelUniqueValues(facetedRowModel, '__global__');
|
|
342
|
+
}, {
|
|
343
|
+
key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedUniqueValues',
|
|
344
|
+
debug: function debug() {
|
|
345
|
+
var _instance$options$deb5;
|
|
346
|
+
|
|
347
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
|
|
348
|
+
}
|
|
349
|
+
}),
|
|
350
|
+
getGlobalFacetedMinMaxValues: utils.memo(function () {
|
|
351
|
+
return [instance.getGlobalFacetedRowModel()];
|
|
352
|
+
}, function (facetedRowModel) {
|
|
353
|
+
return getRowModelMinMaxValues(facetedRowModel, '__global__');
|
|
354
|
+
}, {
|
|
355
|
+
key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedMinMaxValues',
|
|
356
|
+
debug: function debug() {
|
|
357
|
+
var _instance$options$deb6;
|
|
358
|
+
|
|
359
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
|
|
360
|
+
}
|
|
361
|
+
})
|
|
326
362
|
};
|
|
327
363
|
}
|
|
328
364
|
};
|
|
329
365
|
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
330
366
|
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
|
|
331
367
|
}
|
|
368
|
+
function getRowModelMinMaxValues(rowModel, columnId) {
|
|
369
|
+
var _rowModel$flatRows$0$, _rowModel$flatRows$, _rowModel$flatRows$0$2, _rowModel$flatRows$2;
|
|
370
|
+
|
|
371
|
+
var facetedMinMaxValues = [(_rowModel$flatRows$0$ = (_rowModel$flatRows$ = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$.values[columnId]) != null ? _rowModel$flatRows$0$ : null, (_rowModel$flatRows$0$2 = (_rowModel$flatRows$2 = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$2.values[columnId]) != null ? _rowModel$flatRows$0$2 : null];
|
|
372
|
+
|
|
373
|
+
for (var i = 0; i < rowModel.flatRows.length; i++) {
|
|
374
|
+
var _rowModel$flatRows$i;
|
|
375
|
+
|
|
376
|
+
var _value = (_rowModel$flatRows$i = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i.values[columnId];
|
|
377
|
+
|
|
378
|
+
if (_value < facetedMinMaxValues[0]) {
|
|
379
|
+
facetedMinMaxValues[0] = _value;
|
|
380
|
+
} else if (_value > facetedMinMaxValues[1]) {
|
|
381
|
+
facetedMinMaxValues[1] = _value;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return facetedMinMaxValues;
|
|
386
|
+
}
|
|
387
|
+
function getRowModelUniqueValues(rowModel, columnId) {
|
|
388
|
+
var facetedUniqueValues = new Map();
|
|
389
|
+
|
|
390
|
+
for (var i = 0; i < rowModel.flatRows.length; i++) {
|
|
391
|
+
var _rowModel$flatRows$i2;
|
|
392
|
+
|
|
393
|
+
var _value2 = (_rowModel$flatRows$i2 = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i2.values[columnId];
|
|
394
|
+
|
|
395
|
+
if (facetedUniqueValues.has(_value2)) {
|
|
396
|
+
var _facetedUniqueValues$;
|
|
397
|
+
|
|
398
|
+
facetedUniqueValues.set(_value2, ((_facetedUniqueValues$ = facetedUniqueValues.get(_value2)) != null ? _facetedUniqueValues$ : 0) + 1);
|
|
399
|
+
} else {
|
|
400
|
+
facetedUniqueValues.set(_value2, 1);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
return facetedUniqueValues;
|
|
405
|
+
}
|
|
332
406
|
|
|
333
407
|
exports.Filters = Filters;
|
|
408
|
+
exports.getRowModelMinMaxValues = getRowModelMinMaxValues;
|
|
409
|
+
exports.getRowModelUniqueValues = getRowModelUniqueValues;
|
|
334
410
|
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
335
411
|
//# sourceMappingURL=Filters.js.map
|