@tanstack/table-core 8.0.13 → 8.0.14
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/cell.js +13 -13
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +20 -21
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +63 -68
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +16 -11
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/{instance.js → table.js} +46 -57
- package/build/cjs/core/table.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +36 -36
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +34 -34
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +46 -52
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +24 -49
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +8 -8
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +37 -37
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +33 -33
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +67 -67
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +36 -40
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +30 -30
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +2 -4
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +8 -8
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +8 -8
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +4 -4
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +3 -3
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +4 -4
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +3 -3
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +8 -8
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +9 -9
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +4 -4
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +7 -7
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +2 -2
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +567 -670
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +352 -377
- package/build/types/index.d.ts +284 -360
- package/build/umd/index.development.js +567 -671
- 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/cell.ts +34 -28
- package/src/core/column.ts +83 -72
- package/src/core/headers.ts +118 -149
- package/src/core/row.ts +31 -25
- package/src/core/{instance.ts → table.ts} +85 -116
- package/src/features/ColumnSizing.ts +45 -47
- package/src/features/Expanding.ts +53 -59
- package/src/features/Filters.ts +112 -132
- package/src/features/Grouping.ts +63 -112
- package/src/features/Ordering.ts +19 -21
- package/src/features/Pagination.ts +54 -55
- package/src/features/Pinning.ts +49 -61
- package/src/features/RowSelection.ts +97 -108
- package/src/features/Sorting.ts +57 -72
- package/src/features/Visibility.ts +48 -48
- package/src/index.ts +1 -2
- package/src/types.ts +64 -69
- package/src/utils/filterRowsUtils.ts +33 -28
- package/src/utils/getCoreRowModel.ts +22 -22
- package/src/utils/getExpandedRowModel.ts +15 -15
- package/src/utils/getFacetedMinMaxValues.ts +6 -6
- package/src/utils/getFacetedRowModel.ts +12 -12
- package/src/utils/getFacetedUniqueValues.ts +6 -6
- package/src/utils/getFilteredRowModel.ts +17 -17
- package/src/utils/getGroupedRowModel.ts +18 -21
- package/src/utils/getPaginationRowModel.ts +10 -13
- package/src/utils/getSortedRowModel.ts +14 -14
- package/src/utils.ts +8 -2
- package/build/cjs/core/instance.js.map +0 -1
- package/build/cjs/createTable.js +0 -72
- package/build/cjs/createTable.js.map +0 -1
- package/src/createTable.ts +0 -188
|
@@ -31,24 +31,24 @@ const Filters = {
|
|
|
31
31
|
...state
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
|
-
getDefaultOptions:
|
|
34
|
+
getDefaultOptions: table => {
|
|
35
35
|
return {
|
|
36
|
-
onColumnFiltersChange: utils.makeStateUpdater('columnFilters',
|
|
37
|
-
onGlobalFilterChange: utils.makeStateUpdater('globalFilter',
|
|
36
|
+
onColumnFiltersChange: utils.makeStateUpdater('columnFilters', table),
|
|
37
|
+
onGlobalFilterChange: utils.makeStateUpdater('globalFilter', table),
|
|
38
38
|
filterFromLeafRows: false,
|
|
39
39
|
globalFilterFn: 'auto',
|
|
40
40
|
getColumnCanGlobalFilter: column => {
|
|
41
|
-
var
|
|
41
|
+
var _table$getCoreRowMode, _table$getCoreRowMode2;
|
|
42
42
|
|
|
43
|
-
const value = (
|
|
43
|
+
const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null ? void 0 : (_table$getCoreRowMode2 = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode2.getValue();
|
|
44
44
|
return typeof value === 'string';
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
},
|
|
48
|
-
createColumn: (column,
|
|
48
|
+
createColumn: (column, table) => {
|
|
49
49
|
return {
|
|
50
50
|
getAutoFilterFn: () => {
|
|
51
|
-
const firstRow =
|
|
51
|
+
const firstRow = table.getCoreRowModel().flatRows[0];
|
|
52
52
|
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
53
53
|
|
|
54
54
|
if (typeof value === 'string') {
|
|
@@ -74,34 +74,31 @@ const Filters = {
|
|
|
74
74
|
return filterFns.filterFns.weakEquals;
|
|
75
75
|
},
|
|
76
76
|
getFilterFn: () => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const userFilterFns = instance.options.filterFns;
|
|
80
|
-
return utils.isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.columnDef.filterFn]) != null ? _ref : filterFns.filterFns[column.columnDef.filterFn];
|
|
77
|
+
return utils.isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : filterFns.filterFns[column.columnDef.filterFn];
|
|
81
78
|
},
|
|
82
79
|
getCanFilter: () => {
|
|
83
|
-
var _column$columnDef$ena,
|
|
80
|
+
var _column$columnDef$ena, _table$options$enable, _table$options$enable2;
|
|
84
81
|
|
|
85
|
-
return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((
|
|
82
|
+
return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn;
|
|
86
83
|
},
|
|
87
84
|
getCanGlobalFilter: () => {
|
|
88
|
-
var _column$columnDef$ena2,
|
|
85
|
+
var _column$columnDef$ena2, _table$options$enable3, _table$options$enable4, _table$options$getCol;
|
|
89
86
|
|
|
90
|
-
return ((_column$columnDef$ena2 = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena2 : true) && ((
|
|
87
|
+
return ((_column$columnDef$ena2 = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena2 : true) && ((_table$options$enable3 = table.options.enableGlobalFilter) != null ? _table$options$enable3 : true) && ((_table$options$enable4 = table.options.enableFilters) != null ? _table$options$enable4 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn;
|
|
91
88
|
},
|
|
92
89
|
getIsFiltered: () => column.getFilterIndex() > -1,
|
|
93
90
|
getFilterValue: () => {
|
|
94
|
-
var
|
|
91
|
+
var _table$getState$colum, _table$getState$colum2;
|
|
95
92
|
|
|
96
|
-
return (
|
|
93
|
+
return (_table$getState$colum = table.getState().columnFilters) == null ? void 0 : (_table$getState$colum2 = _table$getState$colum.find(d => d.id === column.id)) == null ? void 0 : _table$getState$colum2.value;
|
|
97
94
|
},
|
|
98
95
|
getFilterIndex: () => {
|
|
99
|
-
var
|
|
96
|
+
var _table$getState$colum3, _table$getState$colum4;
|
|
100
97
|
|
|
101
|
-
return (
|
|
98
|
+
return (_table$getState$colum3 = (_table$getState$colum4 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum4.findIndex(d => d.id === column.id)) != null ? _table$getState$colum3 : -1;
|
|
102
99
|
},
|
|
103
100
|
setFilterValue: value => {
|
|
104
|
-
|
|
101
|
+
table.setColumnFilters(old => {
|
|
105
102
|
const filterFn = column.getFilterFn();
|
|
106
103
|
const previousfilter = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
107
104
|
const newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
|
|
@@ -136,15 +133,15 @@ const Filters = {
|
|
|
136
133
|
return [newFilterObj];
|
|
137
134
|
});
|
|
138
135
|
},
|
|
139
|
-
_getFacetedRowModel:
|
|
136
|
+
_getFacetedRowModel: table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id),
|
|
140
137
|
getFacetedRowModel: () => {
|
|
141
138
|
if (!column._getFacetedRowModel) {
|
|
142
|
-
return
|
|
139
|
+
return table.getPreFilteredRowModel();
|
|
143
140
|
}
|
|
144
141
|
|
|
145
142
|
return column._getFacetedRowModel();
|
|
146
143
|
},
|
|
147
|
-
_getFacetedUniqueValues:
|
|
144
|
+
_getFacetedUniqueValues: table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id),
|
|
148
145
|
getFacetedUniqueValues: () => {
|
|
149
146
|
if (!column._getFacetedUniqueValues) {
|
|
150
147
|
return new Map();
|
|
@@ -152,7 +149,7 @@ const Filters = {
|
|
|
152
149
|
|
|
153
150
|
return column._getFacetedUniqueValues();
|
|
154
151
|
},
|
|
155
|
-
_getFacetedMinMaxValues:
|
|
152
|
+
_getFacetedMinMaxValues: table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id),
|
|
156
153
|
getFacetedMinMaxValues: () => {
|
|
157
154
|
if (!column._getFacetedMinMaxValues) {
|
|
158
155
|
return undefined;
|
|
@@ -164,28 +161,25 @@ const Filters = {
|
|
|
164
161
|
|
|
165
162
|
};
|
|
166
163
|
},
|
|
167
|
-
createRow: (row,
|
|
164
|
+
createRow: (row, table) => {
|
|
168
165
|
return {
|
|
169
166
|
columnFilters: {},
|
|
170
167
|
columnFiltersMeta: {}
|
|
171
168
|
};
|
|
172
169
|
},
|
|
173
|
-
|
|
170
|
+
createTable: table => {
|
|
174
171
|
return {
|
|
175
172
|
getGlobalAutoFilterFn: () => {
|
|
176
173
|
return filterFns.filterFns.includesString;
|
|
177
174
|
},
|
|
178
175
|
getGlobalFilterFn: () => {
|
|
179
|
-
var _ref2;
|
|
180
|
-
|
|
181
176
|
const {
|
|
182
|
-
filterFns: userFilterFns,
|
|
183
177
|
globalFilterFn: globalFilterFn
|
|
184
|
-
} =
|
|
185
|
-
return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ?
|
|
178
|
+
} = table.options;
|
|
179
|
+
return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : filterFns.filterFns[globalFilterFn];
|
|
186
180
|
},
|
|
187
181
|
setColumnFilters: updater => {
|
|
188
|
-
const leafColumns =
|
|
182
|
+
const leafColumns = table.getAllLeafColumns();
|
|
189
183
|
|
|
190
184
|
const updateFn = old => {
|
|
191
185
|
var _functionalUpdate;
|
|
@@ -205,51 +199,51 @@ const Filters = {
|
|
|
205
199
|
});
|
|
206
200
|
};
|
|
207
201
|
|
|
208
|
-
|
|
202
|
+
table.options.onColumnFiltersChange == null ? void 0 : table.options.onColumnFiltersChange(updateFn);
|
|
209
203
|
},
|
|
210
204
|
setGlobalFilter: updater => {
|
|
211
|
-
|
|
205
|
+
table.options.onGlobalFilterChange == null ? void 0 : table.options.onGlobalFilterChange(updater);
|
|
212
206
|
},
|
|
213
207
|
resetGlobalFilter: defaultState => {
|
|
214
|
-
|
|
208
|
+
table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);
|
|
215
209
|
},
|
|
216
210
|
resetColumnFilters: defaultState => {
|
|
217
|
-
var
|
|
211
|
+
var _table$initialState$c, _table$initialState;
|
|
218
212
|
|
|
219
|
-
|
|
213
|
+
table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);
|
|
220
214
|
},
|
|
221
|
-
getPreFilteredRowModel: () =>
|
|
222
|
-
_getFilteredRowModel:
|
|
215
|
+
getPreFilteredRowModel: () => table.getCoreRowModel(),
|
|
216
|
+
_getFilteredRowModel: table.options.getFilteredRowModel && table.options.getFilteredRowModel(table),
|
|
223
217
|
getFilteredRowModel: () => {
|
|
224
|
-
if (
|
|
225
|
-
return
|
|
218
|
+
if (table.options.manualFiltering || !table._getFilteredRowModel) {
|
|
219
|
+
return table.getPreFilteredRowModel();
|
|
226
220
|
}
|
|
227
221
|
|
|
228
|
-
return
|
|
222
|
+
return table._getFilteredRowModel();
|
|
229
223
|
},
|
|
230
|
-
_getGlobalFacetedRowModel:
|
|
224
|
+
_getGlobalFacetedRowModel: table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__'),
|
|
231
225
|
getGlobalFacetedRowModel: () => {
|
|
232
|
-
if (
|
|
233
|
-
return
|
|
226
|
+
if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {
|
|
227
|
+
return table.getPreFilteredRowModel();
|
|
234
228
|
}
|
|
235
229
|
|
|
236
|
-
return
|
|
230
|
+
return table._getGlobalFacetedRowModel();
|
|
237
231
|
},
|
|
238
|
-
_getGlobalFacetedUniqueValues:
|
|
232
|
+
_getGlobalFacetedUniqueValues: table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__'),
|
|
239
233
|
getGlobalFacetedUniqueValues: () => {
|
|
240
|
-
if (!
|
|
234
|
+
if (!table._getGlobalFacetedUniqueValues) {
|
|
241
235
|
return new Map();
|
|
242
236
|
}
|
|
243
237
|
|
|
244
|
-
return
|
|
238
|
+
return table._getGlobalFacetedUniqueValues();
|
|
245
239
|
},
|
|
246
|
-
_getGlobalFacetedMinMaxValues:
|
|
240
|
+
_getGlobalFacetedMinMaxValues: table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__'),
|
|
247
241
|
getGlobalFacetedMinMaxValues: () => {
|
|
248
|
-
if (!
|
|
242
|
+
if (!table._getGlobalFacetedMinMaxValues) {
|
|
249
243
|
return;
|
|
250
244
|
}
|
|
251
245
|
|
|
252
|
-
return
|
|
246
|
+
return table._getGlobalFacetedMinMaxValues();
|
|
253
247
|
}
|
|
254
248
|
};
|
|
255
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { TableFeature } from '../core/instance'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\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 FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ResolvedColumnFilter<TGenerics extends TableGenerics> = {\n id: string\n resolvedValue: unknown\n filterFn: FilterFn<TGenerics>\n}\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (\n row: Row<TGenerics>,\n columnId: string,\n filterValue: any,\n addMeta: (meta: TGenerics['FilterMeta']) => void\n ): boolean\n\n resolveFilterValue?: TransformFilterValueFn<TGenerics>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type TransformFilterValueFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n getAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getFilterFn: () => FilterFn<TGenerics> | undefined\n setFilterValue: (updater: Updater<any>) => void\n getCanFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getFacetedRowModel: () => RowModel<TGenerics>\n _getFacetedRowModel?: () => RowModel<TGenerics>\n getIsFiltered: () => boolean\n getFilterValue: () => unknown\n getFilterIndex: () => number\n getFacetedUniqueValues: () => Map<any, number>\n _getFacetedUniqueValues?: () => Map<any, number>\n getFacetedMinMaxValues: () => undefined | [number, number]\n _getFacetedMinMaxValues?: () => undefined | [number, number]\n}\n\nexport type FiltersRow<TGenerics extends TableGenerics> = {\n columnFilters: Record<string, boolean>\n columnFiltersMeta: Record<string, TGenerics['FilterMeta']>\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n getFilteredRowModel?: (instance: TableInstance<any>) => () => RowModel<any>\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n\n // Faceting\n getFacetedRowModel?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => RowModel<TGenerics>\n getFacetedUniqueValues?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => Map<any, number>\n getFacetedMinMaxValues?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => undefined | [number, number]\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n\n resetColumnFilters: (defaultState?: boolean) => void\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TGenerics>\n getFilteredRowModel: () => RowModel<TGenerics>\n _getFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: (defaultState?: boolean) => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFacetedRowModel: () => RowModel<TGenerics>\n _getGlobalFacetedRowModel?: () => RowModel<TGenerics>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n _getGlobalFacetedUniqueValues?: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => undefined | [number, number]\n _getGlobalFacetedMinMaxValues?: () => undefined | [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumnDef: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n // filtersProgress: 1,\n // facetProgress: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: false,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?._getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n return {\n getAutoFilterFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getFilterFn: () => {\n const userFilterFns = instance.options.filterFns\n\n return isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column.getAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n column.columnDef.filterFn as string\n ] ??\n (filterFns[\n column.columnDef.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n getCanFilter: () => {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n (instance.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanGlobalFilter: () => {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.enableFilters ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getIsFiltered: () => column.getFilterIndex() > -1,\n\n getFilterValue: () =>\n instance.getState().columnFilters?.find(d => d.id === column.id)?.value,\n\n getFilterIndex: () =>\n instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??\n -1,\n\n setFilterValue: value => {\n instance.setColumnFilters(old => {\n const filterFn = column.getFilterFn()\n const previousfilter = old?.find(d => d.id === column.id)\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 !== column.id) ?? []\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === column.id) {\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 _getFacetedRowModel:\n instance.options.getFacetedRowModel &&\n instance.options.getFacetedRowModel(instance, column.id),\n getFacetedRowModel: () => {\n if (!column._getFacetedRowModel) {\n return instance.getPreFilteredRowModel()\n }\n\n return column._getFacetedRowModel()\n },\n _getFacetedUniqueValues:\n instance.options.getFacetedUniqueValues &&\n instance.options.getFacetedUniqueValues(instance, column.id),\n getFacetedUniqueValues: () => {\n if (!column._getFacetedUniqueValues) {\n return new Map()\n }\n\n return column._getFacetedUniqueValues()\n },\n _getFacetedMinMaxValues:\n instance.options.getFacetedMinMaxValues &&\n instance.options.getFacetedMinMaxValues(instance, column.id),\n getFacetedMinMaxValues: () => {\n if (!column._getFacetedMinMaxValues) {\n return undefined\n }\n\n return column._getFacetedMinMaxValues()\n },\n // () => [column.getFacetedRowModel()],\n // facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersRow<TGenerics> => {\n return {\n columnFilters: {},\n columnFiltersMeta: {},\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\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 = column.getFilterFn()\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: defaultState => {\n instance.setGlobalFilter(\n defaultState ? undefined : instance.initialState.globalFilter\n )\n },\n\n resetColumnFilters: defaultState => {\n instance.setColumnFilters(\n defaultState ? [] : instance.initialState?.columnFilters ?? []\n )\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n _getFilteredRowModel:\n instance.options.getFilteredRowModel &&\n instance.options.getFilteredRowModel(instance),\n getFilteredRowModel: () => {\n if (\n instance.options.manualFiltering ||\n !instance._getFilteredRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getFilteredRowModel()\n },\n\n _getGlobalFacetedRowModel:\n instance.options.getFacetedRowModel &&\n instance.options.getFacetedRowModel(instance, '__global__'),\n\n getGlobalFacetedRowModel: () => {\n if (\n instance.options.manualFiltering ||\n !instance._getGlobalFacetedRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getGlobalFacetedRowModel()\n },\n\n _getGlobalFacetedUniqueValues:\n instance.options.getFacetedUniqueValues &&\n instance.options.getFacetedUniqueValues(instance, '__global__'),\n getGlobalFacetedUniqueValues: () => {\n if (!instance._getGlobalFacetedUniqueValues) {\n return new Map()\n }\n\n return instance._getGlobalFacetedUniqueValues()\n },\n\n _getGlobalFacetedMinMaxValues:\n instance.options.getFacetedMinMaxValues &&\n instance.options.getFacetedMinMaxValues(instance, '__global__'),\n getGlobalFacetedMinMaxValues: () => {\n if (!instance._getGlobalFacetedMinMaxValues) {\n return\n }\n\n return instance._getGlobalFacetedMinMaxValues()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\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":["Filters","getDefaultColumnDef","filterFn","getInitialState","state","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","_getAllCellsByColumnId","id","getValue","createColumn","getAutoFilterFn","firstRow","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getFilterFn","userFilterFns","options","isFunction","columnDef","getCanFilter","enableColumnFilter","enableColumnFilters","enableFilters","accessorFn","getCanGlobalFilter","enableGlobalFilter","getIsFiltered","getFilterIndex","getFilterValue","getState","find","d","findIndex","setFilterValue","setColumnFilters","old","previousfilter","newFilter","functionalUpdate","shouldAutoRemoveFilter","filter","newFilterObj","map","length","_getFacetedRowModel","getFacetedRowModel","getPreFilteredRowModel","_getFacetedUniqueValues","getFacetedUniqueValues","Map","_getFacetedMinMaxValues","getFacetedMinMaxValues","createRow","row","columnFiltersMeta","createInstance","getGlobalAutoFilterFn","getGlobalFilterFn","updater","leafColumns","getAllLeafColumns","updateFn","setGlobalFilter","resetGlobalFilter","defaultState","initialState","resetColumnFilters","_getFilteredRowModel","getFilteredRowModel","manualFiltering","_getGlobalFacetedRowModel","getGlobalFacetedRowModel","_getGlobalFacetedUniqueValues","getGlobalFacetedUniqueValues","_getGlobalFacetedMinMaxValues","getGlobalFacetedMinMaxValues","autoRemove"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { TableFeature } from '../core/table'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n Table,\n Row,\n Updater,\n RowData,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ResolvedColumnFilter<TData extends RowData> = {\n id: string\n resolvedValue: unknown\n filterFn: FilterFn<TData>\n}\n\nexport type FilterFn<TData extends RowData> = {\n (\n row: Row<TData>,\n columnId: string,\n filterValue: any,\n addMeta: (meta: any) => void\n ): boolean\n\n resolveFilterValue?: TransformFilterValueFn<TData>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TData>\n}\n\nexport type TransformFilterValueFn<TData extends RowData> = (\n value: any,\n column?: Column<TData>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (\n value: any,\n column?: Column<TData>\n) => boolean\n\nexport type CustomFilterFns<TData extends RowData> = Record<\n string,\n FilterFn<TData>\n>\n\nexport type FilterFnOption<TData extends RowData> =\n | 'auto'\n | BuiltInFilterFn\n | FilterFn<TData>\n\nexport type FiltersColumnDef<TData extends RowData> = {\n filterFn?: FilterFnOption<TData>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TData extends RowData> = {\n getAutoFilterFn: () => FilterFn<TData> | undefined\n getFilterFn: () => FilterFn<TData> | undefined\n setFilterValue: (updater: Updater<any>) => void\n getCanFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getFacetedRowModel: () => RowModel<TData>\n _getFacetedRowModel?: () => RowModel<TData>\n getIsFiltered: () => boolean\n getFilterValue: () => unknown\n getFilterIndex: () => number\n getFacetedUniqueValues: () => Map<any, number>\n _getFacetedUniqueValues?: () => Map<any, number>\n getFacetedMinMaxValues: () => undefined | [number, number]\n _getFacetedMinMaxValues?: () => undefined | [number, number]\n}\n\nexport type FiltersRow<TData extends RowData> = {\n columnFilters: Record<string, boolean>\n columnFiltersMeta: Record<string, any>\n}\n\nexport type FiltersOptions<TData extends RowData> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n getFilteredRowModel?: (table: Table<any>) => () => RowModel<any>\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n\n // Global\n globalFilterFn?: FilterFnOption<TData>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TData>) => boolean\n\n // Faceting\n getFacetedRowModel?: (\n table: Table<TData>,\n columnId: string\n ) => () => RowModel<TData>\n getFacetedUniqueValues?: (\n table: Table<TData>,\n columnId: string\n ) => () => Map<any, number>\n getFacetedMinMaxValues?: (\n table: Table<TData>,\n columnId: string\n ) => () => undefined | [number, number]\n}\n\nexport type FiltersInstance<TData extends RowData> = {\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n\n resetColumnFilters: (defaultState?: boolean) => void\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TData>\n getFilteredRowModel: () => RowModel<TData>\n _getFilteredRowModel?: () => RowModel<TData>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: (defaultState?: boolean) => void\n getGlobalAutoFilterFn: () => FilterFn<TData> | undefined\n getGlobalFilterFn: () => FilterFn<TData> | undefined\n getGlobalFacetedRowModel: () => RowModel<TData>\n _getGlobalFacetedRowModel?: () => RowModel<TData>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n _getGlobalFacetedUniqueValues?: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => undefined | [number, number]\n _getGlobalFacetedMinMaxValues?: () => undefined | [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumnDef: <TData extends RowData>(): FiltersColumnDef<TData> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n // filtersProgress: 1,\n // facetProgress: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): FiltersOptions<TData> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n filterFromLeafRows: false,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = table\n .getCoreRowModel()\n .flatRows[0]?._getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TData extends RowData>(\n column: Column<TData>,\n table: Table<TData>\n ): FiltersColumn<TData> => {\n return {\n getAutoFilterFn: () => {\n const firstRow = table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getFilterFn: () => {\n return isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column.getAutoFilterFn()\n : (filterFns[\n column.columnDef.filterFn as BuiltInFilterFn\n ] as FilterFn<TData>)\n },\n getCanFilter: () => {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (table.options.enableColumnFilters ?? true) &&\n (table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanGlobalFilter: () => {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (table.options.enableGlobalFilter ?? true) &&\n (table.options.enableFilters ?? true) &&\n (table.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getIsFiltered: () => column.getFilterIndex() > -1,\n\n getFilterValue: () =>\n table.getState().columnFilters?.find(d => d.id === column.id)?.value,\n\n getFilterIndex: () =>\n table.getState().columnFilters?.findIndex(d => d.id === column.id) ??\n -1,\n\n setFilterValue: value => {\n table.setColumnFilters(old => {\n const filterFn = column.getFilterFn()\n const previousfilter = old?.find(d => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TData>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== column.id) ?? []\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === column.id) {\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 _getFacetedRowModel:\n table.options.getFacetedRowModel &&\n table.options.getFacetedRowModel(table, column.id),\n getFacetedRowModel: () => {\n if (!column._getFacetedRowModel) {\n return table.getPreFilteredRowModel()\n }\n\n return column._getFacetedRowModel()\n },\n _getFacetedUniqueValues:\n table.options.getFacetedUniqueValues &&\n table.options.getFacetedUniqueValues(table, column.id),\n getFacetedUniqueValues: () => {\n if (!column._getFacetedUniqueValues) {\n return new Map()\n }\n\n return column._getFacetedUniqueValues()\n },\n _getFacetedMinMaxValues:\n table.options.getFacetedMinMaxValues &&\n table.options.getFacetedMinMaxValues(table, column.id),\n getFacetedMinMaxValues: () => {\n if (!column._getFacetedMinMaxValues) {\n return undefined\n }\n\n return column._getFacetedMinMaxValues()\n },\n // () => [column.getFacetedRowModel()],\n // facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): FiltersRow<TData> => {\n return {\n columnFilters: {},\n columnFiltersMeta: {},\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): FiltersInstance<TData> => {\n return {\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n\n getGlobalFilterFn: () => {\n const { globalFilterFn: globalFilterFn } = table.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? table.getGlobalAutoFilterFn()\n : (filterFns[globalFilterFn as BuiltInFilterFn] as FilterFn<TData>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = table.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 = column.getFilterFn()\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n table.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: defaultState => {\n table.setGlobalFilter(\n defaultState ? undefined : table.initialState.globalFilter\n )\n },\n\n resetColumnFilters: defaultState => {\n table.setColumnFilters(\n defaultState ? [] : table.initialState?.columnFilters ?? []\n )\n },\n\n getPreFilteredRowModel: () => table.getCoreRowModel(),\n _getFilteredRowModel:\n table.options.getFilteredRowModel &&\n table.options.getFilteredRowModel(table),\n getFilteredRowModel: () => {\n if (table.options.manualFiltering || !table._getFilteredRowModel) {\n return table.getPreFilteredRowModel()\n }\n\n return table._getFilteredRowModel()\n },\n\n _getGlobalFacetedRowModel:\n table.options.getFacetedRowModel &&\n table.options.getFacetedRowModel(table, '__global__'),\n\n getGlobalFacetedRowModel: () => {\n if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {\n return table.getPreFilteredRowModel()\n }\n\n return table._getGlobalFacetedRowModel()\n },\n\n _getGlobalFacetedUniqueValues:\n table.options.getFacetedUniqueValues &&\n table.options.getFacetedUniqueValues(table, '__global__'),\n getGlobalFacetedUniqueValues: () => {\n if (!table._getGlobalFacetedUniqueValues) {\n return new Map()\n }\n\n return table._getGlobalFacetedUniqueValues()\n },\n\n _getGlobalFacetedMinMaxValues:\n table.options.getFacetedMinMaxValues &&\n table.options.getFacetedMinMaxValues(table, '__global__'),\n getGlobalFacetedMinMaxValues: () => {\n if (!table._getGlobalFacetedMinMaxValues) {\n return\n }\n\n return table._getGlobalFacetedMinMaxValues()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TData extends RowData>(\n filterFn?: FilterFn<TData>,\n value?: any,\n column?: Column<TData>\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":["Filters","getDefaultColumnDef","filterFn","getInitialState","state","columnFilters","globalFilter","undefined","getDefaultOptions","table","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","_getAllCellsByColumnId","id","getValue","createColumn","getAutoFilterFn","firstRow","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getFilterFn","isFunction","columnDef","getCanFilter","enableColumnFilter","options","enableColumnFilters","enableFilters","accessorFn","getCanGlobalFilter","enableGlobalFilter","getIsFiltered","getFilterIndex","getFilterValue","getState","find","d","findIndex","setFilterValue","setColumnFilters","old","previousfilter","newFilter","functionalUpdate","shouldAutoRemoveFilter","filter","newFilterObj","map","length","_getFacetedRowModel","getFacetedRowModel","getPreFilteredRowModel","_getFacetedUniqueValues","getFacetedUniqueValues","Map","_getFacetedMinMaxValues","getFacetedMinMaxValues","createRow","row","columnFiltersMeta","createTable","getGlobalAutoFilterFn","getGlobalFilterFn","updater","leafColumns","getAllLeafColumns","updateFn","setGlobalFilter","resetGlobalFilter","defaultState","initialState","resetColumnFilters","_getFilteredRowModel","getFilteredRowModel","manualFiltering","_getGlobalFacetedRowModel","getGlobalFacetedRowModel","_getGlobalFacetedUniqueValues","getGlobalFacetedUniqueValues","_getGlobalFacetedMinMaxValues","getGlobalFacetedMinMaxValues","autoRemove"],"mappings":"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"}
|
|
@@ -20,9 +20,9 @@ const Grouping = {
|
|
|
20
20
|
getDefaultColumnDef: () => {
|
|
21
21
|
return {
|
|
22
22
|
aggregatedCell: props => {
|
|
23
|
-
var
|
|
23
|
+
var _toString, _props$getValue;
|
|
24
24
|
|
|
25
|
-
return (
|
|
25
|
+
return (_toString = (_props$getValue = props.getValue()) == null ? void 0 : _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;
|
|
26
26
|
},
|
|
27
27
|
aggregationFn: 'auto'
|
|
28
28
|
};
|
|
@@ -33,16 +33,16 @@ const Grouping = {
|
|
|
33
33
|
...state
|
|
34
34
|
};
|
|
35
35
|
},
|
|
36
|
-
getDefaultOptions:
|
|
36
|
+
getDefaultOptions: table => {
|
|
37
37
|
return {
|
|
38
|
-
onGroupingChange: utils.makeStateUpdater('grouping',
|
|
38
|
+
onGroupingChange: utils.makeStateUpdater('grouping', table),
|
|
39
39
|
groupedColumnMode: 'reorder'
|
|
40
40
|
};
|
|
41
41
|
},
|
|
42
|
-
createColumn: (column,
|
|
42
|
+
createColumn: (column, table) => {
|
|
43
43
|
return {
|
|
44
44
|
toggleGrouping: () => {
|
|
45
|
-
|
|
45
|
+
table.setGrouping(old => {
|
|
46
46
|
// Find any existing grouping for this column
|
|
47
47
|
if (old != null && old.includes(column.id)) {
|
|
48
48
|
return old.filter(d => d !== column.id);
|
|
@@ -54,17 +54,17 @@ const Grouping = {
|
|
|
54
54
|
getCanGroup: () => {
|
|
55
55
|
var _ref, _ref2, _ref3, _column$columnDef$ena;
|
|
56
56
|
|
|
57
|
-
return (_ref = (_ref2 = (_ref3 = (_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) != null ? _ref3 :
|
|
57
|
+
return (_ref = (_ref2 = (_ref3 = (_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) != null ? _ref3 : table.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
|
|
58
58
|
},
|
|
59
59
|
getIsGrouped: () => {
|
|
60
|
-
var
|
|
60
|
+
var _table$getState$group;
|
|
61
61
|
|
|
62
|
-
return (
|
|
62
|
+
return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);
|
|
63
63
|
},
|
|
64
64
|
getGroupedIndex: () => {
|
|
65
|
-
var
|
|
65
|
+
var _table$getState$group2;
|
|
66
66
|
|
|
67
|
-
return (
|
|
67
|
+
return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);
|
|
68
68
|
},
|
|
69
69
|
getToggleGroupingHandler: () => {
|
|
70
70
|
const canGroup = column.getCanGroup();
|
|
@@ -74,7 +74,7 @@ const Grouping = {
|
|
|
74
74
|
};
|
|
75
75
|
},
|
|
76
76
|
getAutoAggregationFn: () => {
|
|
77
|
-
const firstRow =
|
|
77
|
+
const firstRow = table.getCoreRowModel().flatRows[0];
|
|
78
78
|
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
79
79
|
|
|
80
80
|
if (typeof value === 'number') {
|
|
@@ -86,37 +86,33 @@ const Grouping = {
|
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
getAggregationFn: () => {
|
|
89
|
-
var _ref4;
|
|
90
|
-
|
|
91
|
-
const userAggregationFns = instance.options.aggregationFns;
|
|
92
|
-
|
|
93
89
|
if (!column) {
|
|
94
90
|
throw new Error();
|
|
95
91
|
}
|
|
96
92
|
|
|
97
|
-
return utils.isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() :
|
|
93
|
+
return utils.isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : aggregationFns.aggregationFns[column.columnDef.aggregationFn];
|
|
98
94
|
}
|
|
99
95
|
};
|
|
100
96
|
},
|
|
101
|
-
|
|
97
|
+
createTable: table => {
|
|
102
98
|
return {
|
|
103
|
-
setGrouping: updater =>
|
|
99
|
+
setGrouping: updater => table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater),
|
|
104
100
|
resetGrouping: defaultState => {
|
|
105
|
-
var
|
|
101
|
+
var _table$initialState$g, _table$initialState;
|
|
106
102
|
|
|
107
|
-
|
|
103
|
+
table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);
|
|
108
104
|
},
|
|
109
|
-
getPreGroupedRowModel: () =>
|
|
105
|
+
getPreGroupedRowModel: () => table.getFilteredRowModel(),
|
|
110
106
|
getGroupedRowModel: () => {
|
|
111
|
-
if (!
|
|
112
|
-
|
|
107
|
+
if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {
|
|
108
|
+
table._getGroupedRowModel = table.options.getGroupedRowModel(table);
|
|
113
109
|
}
|
|
114
110
|
|
|
115
|
-
if (
|
|
116
|
-
return
|
|
111
|
+
if (table.options.manualGrouping || !table._getGroupedRowModel) {
|
|
112
|
+
return table.getPreGroupedRowModel();
|
|
117
113
|
}
|
|
118
114
|
|
|
119
|
-
return
|
|
115
|
+
return table._getGroupedRowModel();
|
|
120
116
|
}
|
|
121
117
|
};
|
|
122
118
|
},
|
|
@@ -126,12 +122,7 @@ const Grouping = {
|
|
|
126
122
|
_groupingValuesCache: {}
|
|
127
123
|
};
|
|
128
124
|
},
|
|
129
|
-
createCell: (cell, column, row,
|
|
130
|
-
const getRenderValue = () => {
|
|
131
|
-
var _cell$getValue;
|
|
132
|
-
|
|
133
|
-
return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : instance.options.renderFallbackValue;
|
|
134
|
-
};
|
|
125
|
+
createCell: (cell, column, row, table) => {
|
|
135
126
|
|
|
136
127
|
return {
|
|
137
128
|
getIsGrouped: () => column.getIsGrouped() && column.id === row.groupingColumnId,
|
|
@@ -140,22 +131,6 @@ const Grouping = {
|
|
|
140
131
|
var _row$subRows;
|
|
141
132
|
|
|
142
133
|
return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
|
|
143
|
-
},
|
|
144
|
-
renderAggregatedCell: () => {
|
|
145
|
-
if (process.env.NODE_ENV === 'development') {
|
|
146
|
-
if (!column.columnDef.aggregatedCell) {
|
|
147
|
-
console.warn('A columnDef.aggregatedCell template is recommended for displaying aggregated values.');
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
const template = column.columnDef.aggregatedCell || column.columnDef.cell;
|
|
152
|
-
return template ? instance._render(template, {
|
|
153
|
-
instance,
|
|
154
|
-
column,
|
|
155
|
-
row,
|
|
156
|
-
cell,
|
|
157
|
-
getValue: getRenderValue
|
|
158
|
-
}) : null;
|
|
159
134
|
}
|
|
160
135
|
};
|
|
161
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport { TableFeature } from '../core/instance'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n columnId: string,\n leafRows: Row<TGenerics>[],\n childRows: Row<TGenerics>[]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n getValue: () => TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n getAutoAggregationFn: () => AggregationFn<TGenerics> | undefined\n getAggregationFn: () => AggregationFn<TGenerics> | undefined\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n _groupingValuesCache: Record<string, any>\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n getGroupedRowModel?: (instance: TableInstance<any>) => () => RowModel<any>\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: (defaultState?: boolean) => void\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumnDef: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregatedCell: props => props.getValue()?.toString?.() ?? null,\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n toggleGrouping: () => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.columnDef.enableGrouping ??\n true ??\n instance.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return instance.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n getAutoAggregationFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n },\n getAggregationFn: () => {\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column.getAutoAggregationFn()\n : (userAggregationFns as Record<string, any>)?.[\n column.columnDef.aggregationFn as string\n ] ??\n (aggregationFns[\n column.columnDef.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n resetGrouping: defaultState => {\n instance.setGrouping(\n defaultState ? [] : instance.initialState?.grouping ?? []\n )\n },\n\n getPreGroupedRowModel: () => instance.getFilteredRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n _groupingValuesCache: {},\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n const getRenderValue = () =>\n cell.getValue() ?? instance.options.renderFallbackValue\n\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,\n renderAggregatedCell: () => {\n if (process.env.NODE_ENV === 'development') {\n if (!column.columnDef.aggregatedCell) {\n console.warn(\n 'A columnDef.aggregatedCell template is recommended for displaying aggregated values.'\n )\n }\n }\n\n const template =\n column.columnDef.aggregatedCell || column.columnDef.cell\n\n return template\n ? instance._render(template, {\n instance,\n column,\n row,\n cell,\n getValue: getRenderValue,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\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":["Grouping","getDefaultColumnDef","aggregatedCell","props","getValue","toString","aggregationFn","getInitialState","state","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","columnDef","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","getAutoAggregationFn","firstRow","getCoreRowModel","flatRows","value","aggregationFns","sum","Object","prototype","call","extent","getAggregationFn","userAggregationFns","Error","isFunction","createInstance","updater","resetGrouping","defaultState","initialState","getPreGroupedRowModel","getFilteredRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","_groupingValuesCache","createCell","cell","getRenderValue","renderFallbackValue","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","process","env","NODE_ENV","console","warn","template","_render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":";;;;;;;;;;;;;;;;;AAsGA;AAEO,MAAMA,QAAsB,GAAG;AACpCC,EAAAA,mBAAmB,EAAE,MAEgB;IACnC,OAAO;AACLC,MAAAA,cAAc,EAAEC,KAAK,IAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,eAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,qBAAA,GAAA,CAAA,eAAA,GAAIA,KAAK,CAACC,QAAN,EAAJ,KAAI,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAkBC,QAAtB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAI,eAAkBA,CAAAA,QAAlB,EAAJ,KAAA,IAAA,GAAA,qBAAA,GAAsC,IAAtC,CAAA;OADhB;AAELC,MAAAA,aAAa,EAAE,MAAA;KAFjB,CAAA;GAJkC;EAUpCC,eAAe,EAAGC,KAAD,IAA+B;IAC9C,OAAO;AACLC,MAAAA,QAAQ,EAAE,EADL;MAEL,GAAGD,KAAAA;KAFL,CAAA;GAXkC;EAiBpCE,iBAAiB,EACfC,QADiB,IAEc;IAC/B,OAAO;AACLC,MAAAA,gBAAgB,EAAEC,sBAAgB,CAAC,UAAD,EAAaF,QAAb,CAD7B;AAELG,MAAAA,iBAAiB,EAAE,SAAA;KAFrB,CAAA;GApBkC;AA0BpCC,EAAAA,YAAY,EAAE,CACZC,MADY,EAEZL,QAFY,KAGkB;IAC9B,OAAO;AACLM,MAAAA,cAAc,EAAE,MAAM;AACpBN,QAAAA,QAAQ,CAACO,WAAT,CAAqBC,GAAG,IAAI;AAC1B;UACA,IAAIA,GAAJ,IAAIA,IAAAA,IAAAA,GAAG,CAAEC,QAAL,CAAcJ,MAAM,CAACK,EAArB,CAAJ,EAA8B;YAC5B,OAAOF,GAAG,CAACG,MAAJ,CAAWC,CAAC,IAAIA,CAAC,KAAKP,MAAM,CAACK,EAA7B,CAAP,CAAA;AACD,WAAA;;AAED,UAAA,OAAO,CAAC,IAAIF,GAAJ,IAAA,IAAA,GAAIA,GAAJ,GAAW,EAAX,CAAD,EAAiBH,MAAM,CAACK,EAAxB,CAAP,CAAA;SANF,CAAA,CAAA;OAFG;AAYLG,MAAAA,WAAW,EAAE,MAAM;AAAA,QAAA,IAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA;;QACjB,OACER,CAAAA,IAAAA,GAAAA,CAAAA,KAAAA,GAAAA,CAAAA,KAAAA,GAAAA,CAAAA,qBAAAA,GAAAA,MAAM,CAACS,SAAP,CAAiBC,cADnB,KAEE,IAAA,GAAA,qBAAA,GAAA,IAFF,oBAGEf,QAAQ,CAACgB,OAAT,CAAiBD,cAHnB,oBAIE,IAJF,KAAA,IAAA,GAAA,IAAA,GAKE,CAAC,CAACV,MAAM,CAACY,UALX,CAAA;OAbG;AAsBLC,MAAAA,YAAY,EAAE,MAAM;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAClB,QAAA,OAAA,CAAA,qBAAA,GAAOlB,QAAQ,CAACmB,QAAT,EAAA,CAAoBrB,QAA3B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAO,qBAA8BW,CAAAA,QAA9B,CAAuCJ,MAAM,CAACK,EAA9C,CAAP,CAAA;OAvBG;AA0BLU,MAAAA,eAAe,EAAE,MAAA;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,sBAAA,GAAMpB,QAAQ,CAACmB,QAAT,EAAA,CAAoBrB,QAA1B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAM,sBAA8BuB,CAAAA,OAA9B,CAAsChB,MAAM,CAACK,EAA7C,CAAN,CAAA;OA1BZ;AA4BLY,MAAAA,wBAAwB,EAAE,MAAM;AAC9B,QAAA,MAAMC,QAAQ,GAAGlB,MAAM,CAACQ,WAAP,EAAjB,CAAA;AAEA,QAAA,OAAO,MAAM;UACX,IAAI,CAACU,QAAL,EAAe,OAAA;AACflB,UAAAA,MAAM,CAACC,cAAP,EAAA,CAAA;SAFF,CAAA;OA/BG;AAoCLkB,MAAAA,oBAAoB,EAAE,MAAM;QAC1B,MAAMC,QAAQ,GAAGzB,QAAQ,CAAC0B,eAAT,EAA2BC,CAAAA,QAA3B,CAAoC,CAApC,CAAjB,CAAA;QAEA,MAAMC,KAAK,GAAGH,QAAH,IAAGA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEhC,QAAV,CAAmBY,MAAM,CAACK,EAA1B,CAAd,CAAA;;AAEA,QAAA,IAAI,OAAOkB,KAAP,KAAiB,QAArB,EAA+B;UAC7B,OAAOC,6BAAc,CAACC,GAAtB,CAAA;AACD,SAAA;;QAED,IAAIC,MAAM,CAACC,SAAP,CAAiBtC,QAAjB,CAA0BuC,IAA1B,CAA+BL,KAA/B,CAA0C,KAAA,eAA9C,EAA+D;UAC7D,OAAOC,6BAAc,CAACK,MAAtB,CAAA;AACD,SAAA;OA/CE;AAiDLC,MAAAA,gBAAgB,EAAE,MAAM;AAAA,QAAA,IAAA,KAAA,CAAA;;AACtB,QAAA,MAAMC,kBAAkB,GAAGpC,QAAQ,CAACgB,OAAT,CAAiBa,cAA5C,CAAA;;QAEA,IAAI,CAACxB,MAAL,EAAa;UACX,MAAM,IAAIgC,KAAJ,EAAN,CAAA;AACD,SAAA;;QAED,OAAOC,gBAAU,CAACjC,MAAM,CAACS,SAAP,CAAiBnB,aAAlB,CAAV,GACHU,MAAM,CAACS,SAAP,CAAiBnB,aADd,GAEHU,MAAM,CAACS,SAAP,CAAiBnB,aAAjB,KAAmC,MAAnC,GACAU,MAAM,CAACmB,oBAAP,EADA,GAECY,CAAAA,KAAAA,GAAAA,kBAFD,oBAECA,kBAAD,CACE/B,MAAM,CAACS,SAAP,CAAiBnB,aADnB,CAFA,oBAKCkC,6BAAc,CACbxB,MAAM,CAACS,SAAP,CAAiBnB,aADJ,CAPnB,CAAA;AAUD,OAAA;KAlEH,CAAA;GA9BkC;EAoGpC4C,cAAc,EACZvC,QADc,IAEkB;IAChC,OAAO;AACLO,MAAAA,WAAW,EAAEiC,OAAO,IAAIxC,QAAQ,CAACgB,OAAT,CAAiBf,gBAArB,IAAID,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAACgB,OAAT,CAAiBf,gBAAjB,CAAoCuC,OAApC,CADnB;MAGLC,aAAa,EAAEC,YAAY,IAAI;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAC7B1C,QAAAA,QAAQ,CAACO,WAAT,CACEmC,YAAY,GAAG,EAAH,GAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GAAQ1C,QAAQ,CAAC2C,YAAjB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAQ,sBAAuB7C,CAAAA,QAA/B,oCAA2C,EADzD,CAAA,CAAA;OAJG;AASL8C,MAAAA,qBAAqB,EAAE,MAAM5C,QAAQ,CAAC6C,mBAAT,EATxB;AAULC,MAAAA,kBAAkB,EAAE,MAAM;QACxB,IACE,CAAC9C,QAAQ,CAAC+C,mBAAV,IACA/C,QAAQ,CAACgB,OAAT,CAAiB8B,kBAFnB,EAGE;UACA9C,QAAQ,CAAC+C,mBAAT,GACE/C,QAAQ,CAACgB,OAAT,CAAiB8B,kBAAjB,CAAoC9C,QAApC,CADF,CAAA;AAED,SAAA;;QAED,IAAIA,QAAQ,CAACgB,OAAT,CAAiBgC,cAAjB,IAAmC,CAAChD,QAAQ,CAAC+C,mBAAjD,EAAsE;UACpE,OAAO/C,QAAQ,CAAC4C,qBAAT,EAAP,CAAA;AACD,SAAA;;QAED,OAAO5C,QAAQ,CAAC+C,mBAAT,EAAP,CAAA;AACD,OAAA;KAxBH,CAAA;GAvGkC;EAmIpCE,SAAS,EACPC,GADS,IAEO;IAChB,OAAO;AACLhC,MAAAA,YAAY,EAAE,MAAM,CAAC,CAACgC,GAAG,CAACC,gBADrB;AAELC,MAAAA,oBAAoB,EAAE,EAAA;KAFxB,CAAA;GAtIkC;EA4IpCC,UAAU,EAAE,CACVC,IADU,EAEVjD,MAFU,EAGV6C,GAHU,EAIVlD,QAJU,KAKkB;AAC5B,IAAA,MAAMuD,cAAc,GAAG,MAAA;AAAA,MAAA,IAAA,cAAA,CAAA;;MAAA,OACrBD,CAAAA,cAAAA,GAAAA,IAAI,CAAC7D,QAAL,EADqB,6BACFO,QAAQ,CAACgB,OAAT,CAAiBwC,mBADf,CAAA;KAAvB,CAAA;;IAGA,OAAO;AACLtC,MAAAA,YAAY,EAAE,MACZb,MAAM,CAACa,YAAP,EAAA,IAAyBb,MAAM,CAACK,EAAP,KAAcwC,GAAG,CAACC,gBAFxC;MAGLM,gBAAgB,EAAE,MAAM,CAACH,IAAI,CAACpC,YAAL,EAAD,IAAwBb,MAAM,CAACa,YAAP,EAH3C;AAILwC,MAAAA,eAAe,EAAE,MAAA;AAAA,QAAA,IAAA,YAAA,CAAA;;QAAA,OACf,CAACJ,IAAI,CAACpC,YAAL,EAAD,IACA,CAACoC,IAAI,CAACG,gBAAL,EADD,IAEA,CAAC,kBAACP,GAAG,CAACS,OAAL,KAAC,IAAA,IAAA,YAAA,CAAaC,MAAd,CAHc,CAAA;OAJZ;AAQLC,MAAAA,oBAAoB,EAAE,MAAM;AAC1B,QAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,UAAA,IAAI,CAAC3D,MAAM,CAACS,SAAP,CAAiBvB,cAAtB,EAAsC;YACpC0E,OAAO,CAACC,IAAR,CACE,sFADF,CAAA,CAAA;AAGD,WAAA;AACF,SAAA;;AAED,QAAA,MAAMC,QAAQ,GACZ9D,MAAM,CAACS,SAAP,CAAiBvB,cAAjB,IAAmCc,MAAM,CAACS,SAAP,CAAiBwC,IADtD,CAAA;AAGA,QAAA,OAAOa,QAAQ,GACXnE,QAAQ,CAACoE,OAAT,CAAiBD,QAAjB,EAA2B;UACzBnE,QADyB;UAEzBK,MAFyB;UAGzB6C,GAHyB;UAIzBI,IAJyB;AAKzB7D,UAAAA,QAAQ,EAAE8D,cAAAA;SALZ,CADW,GAQX,IARJ,CAAA;AASD,OAAA;KA7BH,CAAA;AA+BD,GAAA;AApLmC,EAA/B;AAuLA,SAASc,YAAT,CACLC,WADK,EAELxE,QAFK,EAGLK,iBAHK,EAIL;EACA,IAAI,EAACL,QAAD,IAACA,IAAAA,IAAAA,QAAQ,CAAE8D,MAAX,CAAA,IAAqB,CAACzD,iBAA1B,EAA6C;AAC3C,IAAA,OAAOmE,WAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMC,kBAAkB,GAAGD,WAAW,CAAC3D,MAAZ,CACzB6D,GAAG,IAAI,CAAC1E,QAAQ,CAACW,QAAT,CAAkB+D,GAAG,CAAC9D,EAAtB,CADiB,CAA3B,CAAA;;EAIA,IAAIP,iBAAiB,KAAK,QAA1B,EAAoC;AAClC,IAAA,OAAOoE,kBAAP,CAAA;AACD,GAAA;;EAED,MAAME,eAAe,GAAG3E,QAAQ,CAC7B4E,GADqB,CACjBC,CAAC,IAAIL,WAAW,CAACM,IAAZ,CAAiBJ,GAAG,IAAIA,GAAG,CAAC9D,EAAJ,KAAWiE,CAAnC,CADY,CAErBhE,CAAAA,MAFqB,CAEdkE,OAFc,CAAxB,CAAA;AAIA,EAAA,OAAO,CAAC,GAAGJ,eAAJ,EAAqB,GAAGF,kBAAxB,CAAP,CAAA;AACD;;;;;"}
|
|
1
|
+
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport { TableFeature } from '../core/table'\nimport {\n Cell,\n Column,\n OnChangeFn,\n Table,\n Row,\n Updater,\n ColumnDefTemplate,\n TableGenerics,\n RowData,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type AggregationFn<TData extends RowData> = (\n columnId: string,\n leafRows: Row<TData>[],\n childRows: Row<TData>[]\n) => any\n\nexport type CustomAggregationFns = Record<string, AggregationFn<any>>\n\nexport type AggregationFnOption<TData extends RowData> =\n | 'auto'\n | BuiltInAggregationFn\n | AggregationFn<TData>\n\nexport type GroupingColumnDef<TData extends RowData> = {\n aggregationFn?: AggregationFnOption<TData>\n aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData>['getContext']>>\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TData extends RowData> = {\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n getAutoAggregationFn: () => AggregationFn<TData> | undefined\n getAggregationFn: () => AggregationFn<TData> | undefined\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n _groupingValuesCache: Record<string, any>\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 enableGrouping: boolean\n}\n\nexport type GroupingOptions = {\n manualGrouping?: boolean\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n getGroupedRowModel?: (table: Table<any>) => () => RowModel<any>\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TData extends RowData> = {\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: (defaultState?: boolean) => void\n getPreGroupedRowModel: () => RowModel<TData>\n getGroupedRowModel: () => RowModel<TData>\n _getGroupedRowModel?: () => RowModel<TData>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumnDef: <TData extends RowData>(): GroupingColumnDef<TData> => {\n return {\n aggregatedCell: props => (props.getValue() as any)?.toString?.() ?? null,\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): GroupingOptions => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TData extends RowData>(\n column: Column<TData>,\n table: Table<TData>\n ): GroupingColumn<TData> => {\n return {\n toggleGrouping: () => {\n table.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.columnDef.enableGrouping ??\n true ??\n table.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return table.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => table.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n getAutoAggregationFn: () => {\n const firstRow = table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n },\n getAggregationFn: () => {\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column.getAutoAggregationFn()\n : (aggregationFns[\n column.columnDef.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TData>)\n },\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): GroupingInstance<TData> => {\n return {\n setGrouping: updater => table.options.onGroupingChange?.(updater),\n\n resetGrouping: defaultState => {\n table.setGrouping(\n defaultState ? [] : table.initialState?.grouping ?? []\n )\n },\n\n getPreGroupedRowModel: () => table.getFilteredRowModel(),\n getGroupedRowModel: () => {\n if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {\n table._getGroupedRowModel = table.options.getGroupedRowModel(table)\n }\n\n if (table.options.manualGrouping || !table._getGroupedRowModel) {\n return table.getPreGroupedRowModel()\n }\n\n return table._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TData extends RowData>(row: Row<TData>): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n _groupingValuesCache: {},\n }\n },\n\n createCell: <TData extends RowData>(\n cell: Cell<TData>,\n column: Column<TData>,\n row: Row<TData>,\n table: Table<TData>\n ): GroupingCell => {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\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,\n }\n },\n}\n\nexport function orderColumns<TData extends RowData>(\n leafColumns: Column<TData>[],\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":["Grouping","getDefaultColumnDef","aggregatedCell","props","getValue","toString","aggregationFn","getInitialState","state","grouping","getDefaultOptions","table","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","columnDef","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","getAutoAggregationFn","firstRow","getCoreRowModel","flatRows","value","aggregationFns","sum","Object","prototype","call","extent","getAggregationFn","Error","isFunction","createTable","updater","resetGrouping","defaultState","initialState","getPreGroupedRowModel","getFilteredRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","_groupingValuesCache","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
@@ -23,20 +23,20 @@ const Ordering = {
|
|
|
23
23
|
...state
|
|
24
24
|
};
|
|
25
25
|
},
|
|
26
|
-
getDefaultOptions:
|
|
26
|
+
getDefaultOptions: table => {
|
|
27
27
|
return {
|
|
28
|
-
onColumnOrderChange: utils.makeStateUpdater('columnOrder',
|
|
28
|
+
onColumnOrderChange: utils.makeStateUpdater('columnOrder', table)
|
|
29
29
|
};
|
|
30
30
|
},
|
|
31
|
-
|
|
31
|
+
createTable: table => {
|
|
32
32
|
return {
|
|
33
|
-
setColumnOrder: updater =>
|
|
33
|
+
setColumnOrder: updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater),
|
|
34
34
|
resetColumnOrder: defaultState => {
|
|
35
|
-
var
|
|
35
|
+
var _table$initialState$c;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);
|
|
38
38
|
},
|
|
39
|
-
_getOrderColumnsFn: utils.memo(() => [
|
|
39
|
+
_getOrderColumnsFn: utils.memo(() => [table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode], (columnOrder, grouping, groupedColumnMode) => columns => {
|
|
40
40
|
// Sort grouped columns to the start of the column list
|
|
41
41
|
// before the headers are built
|
|
42
42
|
let orderedColumns = []; // If there is no order, return the normal columns
|
|
@@ -64,7 +64,7 @@ const Ordering = {
|
|
|
64
64
|
|
|
65
65
|
return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
|
|
66
66
|
}, {
|
|
67
|
-
key: process.env.NODE_ENV === 'development' && 'getOrderColumnsFn' // debug: () =>
|
|
67
|
+
key: process.env.NODE_ENV === 'development' && 'getOrderColumnsFn' // debug: () => table.options.debugAll ?? table.options.debugTable,
|
|
68
68
|
|
|
69
69
|
})
|
|
70
70
|
};
|