@tanstack/table-core 8.0.11 → 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 +1092 -0
- package/build/types/index.d.ts +759 -0
- 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 +2 -2
- 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
package/src/features/Filters.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { RowModel } from '..'
|
|
2
|
-
import { TableFeature } from '../core/
|
|
2
|
+
import { TableFeature } from '../core/table'
|
|
3
3
|
import { BuiltInFilterFn, filterFns } from '../filterFns'
|
|
4
4
|
import {
|
|
5
5
|
Column,
|
|
6
6
|
OnChangeFn,
|
|
7
7
|
TableGenerics,
|
|
8
|
-
|
|
8
|
+
Table,
|
|
9
9
|
Row,
|
|
10
10
|
Updater,
|
|
11
|
+
RowData,
|
|
11
12
|
} from '../types'
|
|
12
13
|
import {
|
|
13
14
|
functionalUpdate,
|
|
@@ -29,59 +30,58 @@ export type ColumnFilter = {
|
|
|
29
30
|
value: unknown
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
export type ResolvedColumnFilter<
|
|
33
|
+
export type ResolvedColumnFilter<TData extends RowData> = {
|
|
33
34
|
id: string
|
|
34
35
|
resolvedValue: unknown
|
|
35
|
-
filterFn: FilterFn<
|
|
36
|
+
filterFn: FilterFn<TData>
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
export type FilterFn<
|
|
39
|
+
export type FilterFn<TData extends RowData> = {
|
|
39
40
|
(
|
|
40
|
-
row: Row<
|
|
41
|
+
row: Row<TData>,
|
|
41
42
|
columnId: string,
|
|
42
43
|
filterValue: any,
|
|
43
|
-
addMeta: (meta:
|
|
44
|
+
addMeta: (meta: any) => void
|
|
44
45
|
): boolean
|
|
45
46
|
|
|
46
|
-
resolveFilterValue?: TransformFilterValueFn<
|
|
47
|
-
autoRemove?: ColumnFilterAutoRemoveTestFn<
|
|
47
|
+
resolveFilterValue?: TransformFilterValueFn<TData>
|
|
48
|
+
autoRemove?: ColumnFilterAutoRemoveTestFn<TData>
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
export type TransformFilterValueFn<
|
|
51
|
+
export type TransformFilterValueFn<TData extends RowData> = (
|
|
51
52
|
value: any,
|
|
52
|
-
column?: Column<
|
|
53
|
+
column?: Column<TData>
|
|
53
54
|
) => unknown
|
|
54
55
|
|
|
55
|
-
export type ColumnFilterAutoRemoveTestFn<
|
|
56
|
+
export type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (
|
|
56
57
|
value: any,
|
|
57
|
-
column?: Column<
|
|
58
|
+
column?: Column<TData>
|
|
58
59
|
) => boolean
|
|
59
60
|
|
|
60
|
-
export type CustomFilterFns<
|
|
61
|
+
export type CustomFilterFns<TData extends RowData> = Record<
|
|
61
62
|
string,
|
|
62
|
-
FilterFn<
|
|
63
|
+
FilterFn<TData>
|
|
63
64
|
>
|
|
64
65
|
|
|
65
|
-
export type FilterFnOption<
|
|
66
|
+
export type FilterFnOption<TData extends RowData> =
|
|
66
67
|
| 'auto'
|
|
67
68
|
| BuiltInFilterFn
|
|
68
|
-
|
|
|
69
|
-
| FilterFn<TGenerics>
|
|
69
|
+
| FilterFn<TData>
|
|
70
70
|
|
|
71
|
-
export type FiltersColumnDef<
|
|
72
|
-
filterFn?: FilterFnOption<
|
|
71
|
+
export type FiltersColumnDef<TData extends RowData> = {
|
|
72
|
+
filterFn?: FilterFnOption<TData>
|
|
73
73
|
enableColumnFilter?: boolean
|
|
74
74
|
enableGlobalFilter?: boolean
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
export type FiltersColumn<
|
|
78
|
-
getAutoFilterFn: () => FilterFn<
|
|
79
|
-
getFilterFn: () => FilterFn<
|
|
77
|
+
export type FiltersColumn<TData extends RowData> = {
|
|
78
|
+
getAutoFilterFn: () => FilterFn<TData> | undefined
|
|
79
|
+
getFilterFn: () => FilterFn<TData> | undefined
|
|
80
80
|
setFilterValue: (updater: Updater<any>) => void
|
|
81
81
|
getCanFilter: () => boolean
|
|
82
82
|
getCanGlobalFilter: () => boolean
|
|
83
|
-
getFacetedRowModel: () => RowModel<
|
|
84
|
-
_getFacetedRowModel?: () => RowModel<
|
|
83
|
+
getFacetedRowModel: () => RowModel<TData>
|
|
84
|
+
_getFacetedRowModel?: () => RowModel<TData>
|
|
85
85
|
getIsFiltered: () => boolean
|
|
86
86
|
getFilterValue: () => unknown
|
|
87
87
|
getFilterIndex: () => number
|
|
@@ -91,60 +91,59 @@ export type FiltersColumn<TGenerics extends TableGenerics> = {
|
|
|
91
91
|
_getFacetedMinMaxValues?: () => undefined | [number, number]
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
export type FiltersRow<
|
|
94
|
+
export type FiltersRow<TData extends RowData> = {
|
|
95
95
|
columnFilters: Record<string, boolean>
|
|
96
|
-
columnFiltersMeta: Record<string,
|
|
96
|
+
columnFiltersMeta: Record<string, any>
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export type FiltersOptions<
|
|
99
|
+
export type FiltersOptions<TData extends RowData> = {
|
|
100
100
|
enableFilters?: boolean
|
|
101
101
|
manualFiltering?: boolean
|
|
102
102
|
filterFromLeafRows?: boolean
|
|
103
|
-
|
|
104
|
-
getFilteredRowModel?: (instance: TableInstance<any>) => () => RowModel<any>
|
|
103
|
+
getFilteredRowModel?: (table: Table<any>) => () => RowModel<any>
|
|
105
104
|
|
|
106
105
|
// Column
|
|
107
106
|
onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
|
|
108
107
|
enableColumnFilters?: boolean
|
|
109
108
|
|
|
110
109
|
// Global
|
|
111
|
-
globalFilterFn?: FilterFnOption<
|
|
110
|
+
globalFilterFn?: FilterFnOption<TData>
|
|
112
111
|
onGlobalFilterChange?: OnChangeFn<any>
|
|
113
112
|
enableGlobalFilter?: boolean
|
|
114
|
-
getColumnCanGlobalFilter?: (column: Column<
|
|
113
|
+
getColumnCanGlobalFilter?: (column: Column<TData>) => boolean
|
|
115
114
|
|
|
116
115
|
// Faceting
|
|
117
116
|
getFacetedRowModel?: (
|
|
118
|
-
|
|
117
|
+
table: Table<TData>,
|
|
119
118
|
columnId: string
|
|
120
|
-
) => () => RowModel<
|
|
119
|
+
) => () => RowModel<TData>
|
|
121
120
|
getFacetedUniqueValues?: (
|
|
122
|
-
|
|
121
|
+
table: Table<TData>,
|
|
123
122
|
columnId: string
|
|
124
123
|
) => () => Map<any, number>
|
|
125
124
|
getFacetedMinMaxValues?: (
|
|
126
|
-
|
|
125
|
+
table: Table<TData>,
|
|
127
126
|
columnId: string
|
|
128
127
|
) => () => undefined | [number, number]
|
|
129
128
|
}
|
|
130
129
|
|
|
131
|
-
export type FiltersInstance<
|
|
130
|
+
export type FiltersInstance<TData extends RowData> = {
|
|
132
131
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
|
|
133
132
|
|
|
134
133
|
resetColumnFilters: (defaultState?: boolean) => void
|
|
135
134
|
|
|
136
135
|
// Column Filters
|
|
137
|
-
getPreFilteredRowModel: () => RowModel<
|
|
138
|
-
getFilteredRowModel: () => RowModel<
|
|
139
|
-
_getFilteredRowModel?: () => RowModel<
|
|
136
|
+
getPreFilteredRowModel: () => RowModel<TData>
|
|
137
|
+
getFilteredRowModel: () => RowModel<TData>
|
|
138
|
+
_getFilteredRowModel?: () => RowModel<TData>
|
|
140
139
|
|
|
141
140
|
// Global Filters
|
|
142
141
|
setGlobalFilter: (updater: Updater<any>) => void
|
|
143
142
|
resetGlobalFilter: (defaultState?: boolean) => void
|
|
144
|
-
getGlobalAutoFilterFn: () => FilterFn<
|
|
145
|
-
getGlobalFilterFn: () => FilterFn<
|
|
146
|
-
getGlobalFacetedRowModel: () => RowModel<
|
|
147
|
-
_getGlobalFacetedRowModel?: () => RowModel<
|
|
143
|
+
getGlobalAutoFilterFn: () => FilterFn<TData> | undefined
|
|
144
|
+
getGlobalFilterFn: () => FilterFn<TData> | undefined
|
|
145
|
+
getGlobalFacetedRowModel: () => RowModel<TData>
|
|
146
|
+
_getGlobalFacetedRowModel?: () => RowModel<TData>
|
|
148
147
|
getGlobalFacetedUniqueValues: () => Map<any, number>
|
|
149
148
|
_getGlobalFacetedUniqueValues?: () => Map<any, number>
|
|
150
149
|
getGlobalFacetedMinMaxValues: () => undefined | [number, number]
|
|
@@ -154,9 +153,7 @@ export type FiltersInstance<TGenerics extends TableGenerics> = {
|
|
|
154
153
|
//
|
|
155
154
|
|
|
156
155
|
export const Filters: TableFeature = {
|
|
157
|
-
getDefaultColumnDef: <
|
|
158
|
-
TGenerics extends TableGenerics
|
|
159
|
-
>(): FiltersColumnDef<TGenerics> => {
|
|
156
|
+
getDefaultColumnDef: <TData extends RowData>(): FiltersColumnDef<TData> => {
|
|
160
157
|
return {
|
|
161
158
|
filterFn: 'auto',
|
|
162
159
|
}
|
|
@@ -172,16 +169,16 @@ export const Filters: TableFeature = {
|
|
|
172
169
|
}
|
|
173
170
|
},
|
|
174
171
|
|
|
175
|
-
getDefaultOptions: <
|
|
176
|
-
|
|
177
|
-
): FiltersOptions<
|
|
172
|
+
getDefaultOptions: <TData extends RowData>(
|
|
173
|
+
table: Table<TData>
|
|
174
|
+
): FiltersOptions<TData> => {
|
|
178
175
|
return {
|
|
179
|
-
onColumnFiltersChange: makeStateUpdater('columnFilters',
|
|
180
|
-
onGlobalFilterChange: makeStateUpdater('globalFilter',
|
|
176
|
+
onColumnFiltersChange: makeStateUpdater('columnFilters', table),
|
|
177
|
+
onGlobalFilterChange: makeStateUpdater('globalFilter', table),
|
|
181
178
|
filterFromLeafRows: false,
|
|
182
179
|
globalFilterFn: 'auto',
|
|
183
180
|
getColumnCanGlobalFilter: column => {
|
|
184
|
-
const value =
|
|
181
|
+
const value = table
|
|
185
182
|
.getCoreRowModel()
|
|
186
183
|
.flatRows[0]?._getAllCellsByColumnId()
|
|
187
184
|
[column.id]?.getValue()
|
|
@@ -191,13 +188,13 @@ export const Filters: TableFeature = {
|
|
|
191
188
|
}
|
|
192
189
|
},
|
|
193
190
|
|
|
194
|
-
createColumn: <
|
|
195
|
-
column: Column<
|
|
196
|
-
|
|
197
|
-
): FiltersColumn<
|
|
191
|
+
createColumn: <TData extends RowData>(
|
|
192
|
+
column: Column<TData>,
|
|
193
|
+
table: Table<TData>
|
|
194
|
+
): FiltersColumn<TData> => {
|
|
198
195
|
return {
|
|
199
196
|
getAutoFilterFn: () => {
|
|
200
|
-
const firstRow =
|
|
197
|
+
const firstRow = table.getCoreRowModel().flatRows[0]
|
|
201
198
|
|
|
202
199
|
const value = firstRow?.getValue(column.id)
|
|
203
200
|
|
|
@@ -224,24 +221,19 @@ export const Filters: TableFeature = {
|
|
|
224
221
|
return filterFns.weakEquals
|
|
225
222
|
},
|
|
226
223
|
getFilterFn: () => {
|
|
227
|
-
const userFilterFns = instance.options.filterFns
|
|
228
|
-
|
|
229
224
|
return isFunction(column.columnDef.filterFn)
|
|
230
225
|
? column.columnDef.filterFn
|
|
231
226
|
: column.columnDef.filterFn === 'auto'
|
|
232
227
|
? column.getAutoFilterFn()
|
|
233
|
-
: (
|
|
234
|
-
column.columnDef.filterFn as string
|
|
235
|
-
] ??
|
|
236
|
-
(filterFns[
|
|
228
|
+
: (filterFns[
|
|
237
229
|
column.columnDef.filterFn as BuiltInFilterFn
|
|
238
|
-
] as FilterFn<
|
|
230
|
+
] as FilterFn<TData>)
|
|
239
231
|
},
|
|
240
232
|
getCanFilter: () => {
|
|
241
233
|
return (
|
|
242
234
|
(column.columnDef.enableColumnFilter ?? true) &&
|
|
243
|
-
(
|
|
244
|
-
(
|
|
235
|
+
(table.options.enableColumnFilters ?? true) &&
|
|
236
|
+
(table.options.enableFilters ?? true) &&
|
|
245
237
|
!!column.accessorFn
|
|
246
238
|
)
|
|
247
239
|
},
|
|
@@ -249,9 +241,9 @@ export const Filters: TableFeature = {
|
|
|
249
241
|
getCanGlobalFilter: () => {
|
|
250
242
|
return (
|
|
251
243
|
(column.columnDef.enableGlobalFilter ?? true) &&
|
|
252
|
-
(
|
|
253
|
-
(
|
|
254
|
-
(
|
|
244
|
+
(table.options.enableGlobalFilter ?? true) &&
|
|
245
|
+
(table.options.enableFilters ?? true) &&
|
|
246
|
+
(table.options.getColumnCanGlobalFilter?.(column) ?? true) &&
|
|
255
247
|
!!column.accessorFn
|
|
256
248
|
)
|
|
257
249
|
},
|
|
@@ -259,14 +251,14 @@ export const Filters: TableFeature = {
|
|
|
259
251
|
getIsFiltered: () => column.getFilterIndex() > -1,
|
|
260
252
|
|
|
261
253
|
getFilterValue: () =>
|
|
262
|
-
|
|
254
|
+
table.getState().columnFilters?.find(d => d.id === column.id)?.value,
|
|
263
255
|
|
|
264
256
|
getFilterIndex: () =>
|
|
265
|
-
|
|
257
|
+
table.getState().columnFilters?.findIndex(d => d.id === column.id) ??
|
|
266
258
|
-1,
|
|
267
259
|
|
|
268
260
|
setFilterValue: value => {
|
|
269
|
-
|
|
261
|
+
table.setColumnFilters(old => {
|
|
270
262
|
const filterFn = column.getFilterFn()
|
|
271
263
|
const previousfilter = old?.find(d => d.id === column.id)
|
|
272
264
|
|
|
@@ -278,7 +270,7 @@ export const Filters: TableFeature = {
|
|
|
278
270
|
//
|
|
279
271
|
if (
|
|
280
272
|
shouldAutoRemoveFilter(
|
|
281
|
-
filterFn as FilterFn<
|
|
273
|
+
filterFn as FilterFn<TData>,
|
|
282
274
|
newFilter,
|
|
283
275
|
column
|
|
284
276
|
)
|
|
@@ -307,18 +299,18 @@ export const Filters: TableFeature = {
|
|
|
307
299
|
})
|
|
308
300
|
},
|
|
309
301
|
_getFacetedRowModel:
|
|
310
|
-
|
|
311
|
-
|
|
302
|
+
table.options.getFacetedRowModel &&
|
|
303
|
+
table.options.getFacetedRowModel(table, column.id),
|
|
312
304
|
getFacetedRowModel: () => {
|
|
313
305
|
if (!column._getFacetedRowModel) {
|
|
314
|
-
return
|
|
306
|
+
return table.getPreFilteredRowModel()
|
|
315
307
|
}
|
|
316
308
|
|
|
317
309
|
return column._getFacetedRowModel()
|
|
318
310
|
},
|
|
319
311
|
_getFacetedUniqueValues:
|
|
320
|
-
|
|
321
|
-
|
|
312
|
+
table.options.getFacetedUniqueValues &&
|
|
313
|
+
table.options.getFacetedUniqueValues(table, column.id),
|
|
322
314
|
getFacetedUniqueValues: () => {
|
|
323
315
|
if (!column._getFacetedUniqueValues) {
|
|
324
316
|
return new Map()
|
|
@@ -327,8 +319,8 @@ export const Filters: TableFeature = {
|
|
|
327
319
|
return column._getFacetedUniqueValues()
|
|
328
320
|
},
|
|
329
321
|
_getFacetedMinMaxValues:
|
|
330
|
-
|
|
331
|
-
|
|
322
|
+
table.options.getFacetedMinMaxValues &&
|
|
323
|
+
table.options.getFacetedMinMaxValues(table, column.id),
|
|
332
324
|
getFacetedMinMaxValues: () => {
|
|
333
325
|
if (!column._getFacetedMinMaxValues) {
|
|
334
326
|
return undefined
|
|
@@ -341,42 +333,36 @@ export const Filters: TableFeature = {
|
|
|
341
333
|
}
|
|
342
334
|
},
|
|
343
335
|
|
|
344
|
-
createRow: <
|
|
345
|
-
row: Row<
|
|
346
|
-
|
|
347
|
-
): FiltersRow<
|
|
336
|
+
createRow: <TData extends RowData>(
|
|
337
|
+
row: Row<TData>,
|
|
338
|
+
table: Table<TData>
|
|
339
|
+
): FiltersRow<TData> => {
|
|
348
340
|
return {
|
|
349
341
|
columnFilters: {},
|
|
350
342
|
columnFiltersMeta: {},
|
|
351
343
|
}
|
|
352
344
|
},
|
|
353
345
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
): FiltersInstance<
|
|
346
|
+
createTable: <TData extends RowData>(
|
|
347
|
+
table: Table<TData>
|
|
348
|
+
): FiltersInstance<TData> => {
|
|
357
349
|
return {
|
|
358
350
|
getGlobalAutoFilterFn: () => {
|
|
359
351
|
return filterFns.includesString
|
|
360
352
|
},
|
|
361
353
|
|
|
362
354
|
getGlobalFilterFn: () => {
|
|
363
|
-
const {
|
|
364
|
-
instance.options
|
|
355
|
+
const { globalFilterFn: globalFilterFn } = table.options
|
|
365
356
|
|
|
366
357
|
return isFunction(globalFilterFn)
|
|
367
358
|
? globalFilterFn
|
|
368
359
|
: globalFilterFn === 'auto'
|
|
369
|
-
?
|
|
370
|
-
: (
|
|
371
|
-
globalFilterFn as string
|
|
372
|
-
] ??
|
|
373
|
-
(filterFns[
|
|
374
|
-
globalFilterFn as BuiltInFilterFn
|
|
375
|
-
] as FilterFn<TGenerics>)
|
|
360
|
+
? table.getGlobalAutoFilterFn()
|
|
361
|
+
: (filterFns[globalFilterFn as BuiltInFilterFn] as FilterFn<TData>)
|
|
376
362
|
},
|
|
377
363
|
|
|
378
364
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
|
|
379
|
-
const leafColumns =
|
|
365
|
+
const leafColumns = table.getAllLeafColumns()
|
|
380
366
|
|
|
381
367
|
const updateFn = (old: ColumnFiltersState) => {
|
|
382
368
|
return functionalUpdate(updater, old)?.filter(filter => {
|
|
@@ -394,84 +380,78 @@ export const Filters: TableFeature = {
|
|
|
394
380
|
})
|
|
395
381
|
}
|
|
396
382
|
|
|
397
|
-
|
|
383
|
+
table.options.onColumnFiltersChange?.(updateFn)
|
|
398
384
|
},
|
|
399
385
|
|
|
400
386
|
setGlobalFilter: updater => {
|
|
401
|
-
|
|
387
|
+
table.options.onGlobalFilterChange?.(updater)
|
|
402
388
|
},
|
|
403
389
|
|
|
404
390
|
resetGlobalFilter: defaultState => {
|
|
405
|
-
|
|
406
|
-
defaultState ? undefined :
|
|
391
|
+
table.setGlobalFilter(
|
|
392
|
+
defaultState ? undefined : table.initialState.globalFilter
|
|
407
393
|
)
|
|
408
394
|
},
|
|
409
395
|
|
|
410
396
|
resetColumnFilters: defaultState => {
|
|
411
|
-
|
|
412
|
-
defaultState ? [] :
|
|
397
|
+
table.setColumnFilters(
|
|
398
|
+
defaultState ? [] : table.initialState?.columnFilters ?? []
|
|
413
399
|
)
|
|
414
400
|
},
|
|
415
401
|
|
|
416
|
-
getPreFilteredRowModel: () =>
|
|
402
|
+
getPreFilteredRowModel: () => table.getCoreRowModel(),
|
|
417
403
|
_getFilteredRowModel:
|
|
418
|
-
|
|
419
|
-
|
|
404
|
+
table.options.getFilteredRowModel &&
|
|
405
|
+
table.options.getFilteredRowModel(table),
|
|
420
406
|
getFilteredRowModel: () => {
|
|
421
|
-
if (
|
|
422
|
-
|
|
423
|
-
!instance._getFilteredRowModel
|
|
424
|
-
) {
|
|
425
|
-
return instance.getPreFilteredRowModel()
|
|
407
|
+
if (table.options.manualFiltering || !table._getFilteredRowModel) {
|
|
408
|
+
return table.getPreFilteredRowModel()
|
|
426
409
|
}
|
|
427
410
|
|
|
428
|
-
return
|
|
411
|
+
return table._getFilteredRowModel()
|
|
429
412
|
},
|
|
430
413
|
|
|
431
414
|
_getGlobalFacetedRowModel:
|
|
432
|
-
|
|
433
|
-
|
|
415
|
+
table.options.getFacetedRowModel &&
|
|
416
|
+
table.options.getFacetedRowModel(table, '__global__'),
|
|
434
417
|
|
|
435
418
|
getGlobalFacetedRowModel: () => {
|
|
436
|
-
if (
|
|
437
|
-
|
|
438
|
-
!instance._getGlobalFacetedRowModel
|
|
439
|
-
) {
|
|
440
|
-
return instance.getPreFilteredRowModel()
|
|
419
|
+
if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {
|
|
420
|
+
return table.getPreFilteredRowModel()
|
|
441
421
|
}
|
|
442
422
|
|
|
443
|
-
return
|
|
423
|
+
return table._getGlobalFacetedRowModel()
|
|
444
424
|
},
|
|
445
425
|
|
|
446
426
|
_getGlobalFacetedUniqueValues:
|
|
447
|
-
|
|
448
|
-
|
|
427
|
+
table.options.getFacetedUniqueValues &&
|
|
428
|
+
table.options.getFacetedUniqueValues(table, '__global__'),
|
|
449
429
|
getGlobalFacetedUniqueValues: () => {
|
|
450
|
-
if (!
|
|
430
|
+
if (!table._getGlobalFacetedUniqueValues) {
|
|
451
431
|
return new Map()
|
|
452
432
|
}
|
|
453
433
|
|
|
454
|
-
return
|
|
434
|
+
return table._getGlobalFacetedUniqueValues()
|
|
455
435
|
},
|
|
456
436
|
|
|
457
437
|
_getGlobalFacetedMinMaxValues:
|
|
458
|
-
|
|
459
|
-
|
|
438
|
+
table.options.getFacetedMinMaxValues &&
|
|
439
|
+
table.options.getFacetedMinMaxValues(table, '__global__'),
|
|
460
440
|
getGlobalFacetedMinMaxValues: () => {
|
|
461
|
-
if (!
|
|
441
|
+
if (!table._getGlobalFacetedMinMaxValues) {
|
|
462
442
|
return
|
|
463
443
|
}
|
|
464
444
|
|
|
465
|
-
return
|
|
445
|
+
return table._getGlobalFacetedMinMaxValues()
|
|
466
446
|
},
|
|
467
447
|
}
|
|
468
448
|
},
|
|
469
449
|
}
|
|
470
450
|
|
|
471
|
-
export function shouldAutoRemoveFilter<
|
|
472
|
-
filterFn?: FilterFn<
|
|
451
|
+
export function shouldAutoRemoveFilter<TData extends RowData>(
|
|
452
|
+
filterFn?: FilterFn<TData>,
|
|
473
453
|
value?: any,
|
|
474
|
-
column?: Column<
|
|
454
|
+
column?: Column<TData>
|
|
475
455
|
) {
|
|
476
456
|
return (
|
|
477
457
|
(filterFn && filterFn.autoRemove
|