@tanstack/react-table 8.0.0-alpha.6 → 8.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js +66 -73
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +47 -33
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +23 -22
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +10 -22
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +27 -58
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +10 -27
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +108 -28
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +2 -2
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +24 -29
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +23 -38
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +10 -22
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +10 -2
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterTypes.js.map +1 -1
- package/build/cjs/index.js +12 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortTypes.js.map +1 -1
- package/build/cjs/types.js +22 -0
- package/build/cjs/types.js.map +1 -0
- package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/expandRowsFn.js.map +1 -1
- package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/groupRowsFn.js.map +1 -1
- package/build/cjs/utils/paginateRowsFn.js.map +1 -1
- package/build/cjs/utils/sortRowsFn.js.map +1 -1
- package/build/cjs/utils.js +44 -18
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1388 -1355
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +337 -307
- package/build/types/core.d.ts +63 -67
- package/build/types/createTable.d.ts +34 -44
- package/build/types/features/ColumnSizing.d.ts +13 -7
- package/build/types/features/Expanding.d.ts +11 -16
- package/build/types/features/Filters.d.ts +39 -47
- package/build/types/features/Grouping.d.ts +28 -27
- package/build/types/features/Headers.d.ts +30 -30
- package/build/types/features/Ordering.d.ts +5 -5
- package/build/types/features/Pagination.d.ts +11 -16
- package/build/types/features/Pinning.d.ts +5 -5
- package/build/types/features/RowSelection.d.ts +15 -23
- package/build/types/features/Sorting.d.ts +26 -25
- package/build/types/features/Visibility.d.ts +9 -9
- package/build/types/filterTypes.d.ts +10 -10
- package/build/types/index.d.ts +1 -0
- package/build/types/sortTypes.d.ts +7 -7
- package/build/types/types.d.ts +34 -23
- package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
- package/build/types/utils/expandRowsFn.d.ts +2 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
- package/build/types/utils/groupRowsFn.d.ts +2 -2
- package/build/types/utils/paginateRowsFn.d.ts +2 -2
- package/build/types/utils/sortRowsFn.d.ts +2 -2
- package/build/types/utils.d.ts +5 -6
- package/build/umd/index.development.js +1397 -1354
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.tsx +192 -520
- package/src/createTable.tsx +137 -192
- package/src/features/ColumnSizing.ts +48 -77
- package/src/features/Expanding.ts +25 -113
- package/src/features/Filters.ts +91 -293
- package/src/features/Grouping.ts +60 -165
- package/src/features/Headers.ts +148 -331
- package/src/features/Ordering.ts +19 -42
- package/src/features/Pagination.ts +35 -110
- package/src/features/Pinning.ts +16 -40
- package/src/features/RowSelection.ts +47 -227
- package/src/features/Sorting.ts +49 -143
- package/src/features/Visibility.ts +23 -64
- package/src/filterTypes.ts +19 -82
- package/src/index.tsx +1 -0
- package/src/sortTypes.ts +19 -31
- package/src/types.ts +80 -100
- package/src/utils/columnFilterRowsFn.ts +11 -53
- package/src/utils/expandRowsFn.ts +7 -27
- package/src/utils/globalFilterRowsFn.ts +10 -43
- package/src/utils/groupRowsFn.ts +13 -37
- package/src/utils/paginateRowsFn.ts +5 -11
- package/src/utils/sortRowsFn.ts +8 -28
- package/src/utils.tsx +61 -35
package/src/features/Filters.ts
CHANGED
|
@@ -2,13 +2,19 @@ import { RowModel } from '..'
|
|
|
2
2
|
import { BuiltInFilterType, filterTypes } from '../filterTypes'
|
|
3
3
|
import {
|
|
4
4
|
Column,
|
|
5
|
-
Listener,
|
|
6
5
|
OnChangeFn,
|
|
7
|
-
|
|
6
|
+
PartialGenerics,
|
|
7
|
+
TableInstance,
|
|
8
8
|
Row,
|
|
9
9
|
Updater,
|
|
10
10
|
} from '../types'
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
functionalUpdate,
|
|
13
|
+
isFunction,
|
|
14
|
+
makeStateUpdater,
|
|
15
|
+
memo,
|
|
16
|
+
Overwrite,
|
|
17
|
+
} from '../utils'
|
|
12
18
|
|
|
13
19
|
export type ColumnFilter = {
|
|
14
20
|
id: string
|
|
@@ -17,42 +23,19 @@ export type ColumnFilter = {
|
|
|
17
23
|
|
|
18
24
|
export type ColumnFiltersState = ColumnFilter[]
|
|
19
25
|
|
|
20
|
-
export type FilterFn<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
columnIds: string[],
|
|
25
|
-
filterValue: any
|
|
26
|
-
): any
|
|
27
|
-
autoRemove?: ColumnFilterAutoRemoveTestFn<
|
|
28
|
-
TData,
|
|
29
|
-
TValue,
|
|
30
|
-
TFilterFns,
|
|
31
|
-
TSortingFns,
|
|
32
|
-
TAggregationFns
|
|
33
|
-
>
|
|
34
|
-
}
|
|
26
|
+
export type FilterFn<TGenerics extends PartialGenerics> = {
|
|
27
|
+
(rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any
|
|
28
|
+
autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>
|
|
29
|
+
}
|
|
35
30
|
|
|
36
|
-
export type ColumnFilterAutoRemoveTestFn<
|
|
37
|
-
TData,
|
|
38
|
-
TValue,
|
|
39
|
-
TFilterFns,
|
|
40
|
-
TSortingFns,
|
|
41
|
-
TAggregationFns
|
|
42
|
-
> = (
|
|
31
|
+
export type ColumnFilterAutoRemoveTestFn<TGenerics extends PartialGenerics> = (
|
|
43
32
|
value: unknown,
|
|
44
|
-
column?: Column<
|
|
33
|
+
column?: Column<TGenerics>
|
|
45
34
|
) => boolean
|
|
46
35
|
|
|
47
|
-
export type CustomFilterTypes<
|
|
48
|
-
TData,
|
|
49
|
-
TValue,
|
|
50
|
-
TFilterFns,
|
|
51
|
-
TSortingFns,
|
|
52
|
-
TAggregationFns
|
|
53
|
-
> = Record<
|
|
36
|
+
export type CustomFilterTypes<TGenerics extends PartialGenerics> = Record<
|
|
54
37
|
string,
|
|
55
|
-
FilterFn<
|
|
38
|
+
FilterFn<TGenerics>
|
|
56
39
|
>
|
|
57
40
|
|
|
58
41
|
export type FiltersTableState = {
|
|
@@ -60,14 +43,14 @@ export type FiltersTableState = {
|
|
|
60
43
|
globalFilter: any
|
|
61
44
|
}
|
|
62
45
|
|
|
63
|
-
export type FilterType<
|
|
46
|
+
export type FilterType<TGenerics extends PartialGenerics> =
|
|
64
47
|
| 'auto'
|
|
65
48
|
| BuiltInFilterType
|
|
66
|
-
|
|
|
67
|
-
| FilterFn<
|
|
49
|
+
| TGenerics['FilterFns']
|
|
50
|
+
| FilterFn<TGenerics>
|
|
68
51
|
|
|
69
|
-
export type FiltersColumnDef<
|
|
70
|
-
filterType?: FilterType<
|
|
52
|
+
export type FiltersColumnDef<TGenerics extends PartialGenerics> = {
|
|
53
|
+
filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>
|
|
71
54
|
enableAllFilters?: boolean
|
|
72
55
|
enableColumnFilter?: boolean
|
|
73
56
|
enableGlobalFilter?: boolean
|
|
@@ -76,210 +59,82 @@ export type FiltersColumnDef<TFilterFns> = {
|
|
|
76
59
|
defaultCanGlobalFilter?: boolean
|
|
77
60
|
}
|
|
78
61
|
|
|
79
|
-
export type FiltersColumn<
|
|
80
|
-
|
|
81
|
-
TValue,
|
|
82
|
-
TFilterFns,
|
|
83
|
-
TSortingFns,
|
|
84
|
-
TAggregationFns
|
|
85
|
-
> = {
|
|
86
|
-
filterType: FilterType<TFilterFns>
|
|
62
|
+
export type FiltersColumn<TGenerics extends PartialGenerics> = {
|
|
63
|
+
filterType: FilterType<Overwrite<TGenerics, { Value: any }>>
|
|
87
64
|
getCanColumnFilter: () => boolean
|
|
88
65
|
getCanGlobalFilter: () => boolean
|
|
89
66
|
getColumnFilterIndex: () => number
|
|
90
67
|
getIsColumnFiltered: () => boolean
|
|
91
68
|
getColumnFilterValue: () => unknown
|
|
92
69
|
setColumnFilterValue: (value: any) => void
|
|
93
|
-
getPreFilteredRows: () =>
|
|
94
|
-
| Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]
|
|
95
|
-
| undefined
|
|
70
|
+
getPreFilteredRows: () => Row<TGenerics>[] | undefined
|
|
96
71
|
getPreFilteredUniqueValues: () => Map<any, number>
|
|
97
72
|
getPreFilteredMinMaxValues: () => [any, any]
|
|
98
73
|
}
|
|
99
74
|
|
|
100
|
-
export type FiltersOptions<
|
|
101
|
-
TData,
|
|
102
|
-
TValue,
|
|
103
|
-
TFilterFns,
|
|
104
|
-
TSortingFns,
|
|
105
|
-
TAggregationFns
|
|
106
|
-
> = {
|
|
75
|
+
export type FiltersOptions<TGenerics extends PartialGenerics> = {
|
|
107
76
|
filterFromChildrenUp?: boolean
|
|
108
|
-
filterTypes?:
|
|
77
|
+
filterTypes?: TGenerics['FilterFns']
|
|
109
78
|
enableFilters?: boolean
|
|
110
79
|
// Column
|
|
111
80
|
onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
|
|
112
81
|
autoResetColumnFilters?: boolean
|
|
113
82
|
enableColumnFilters?: boolean
|
|
114
83
|
columnFilterRowsFn?: (
|
|
115
|
-
instance:
|
|
116
|
-
coreRowModel: RowModel<
|
|
117
|
-
) => RowModel<
|
|
84
|
+
instance: TableInstance<TGenerics>,
|
|
85
|
+
coreRowModel: RowModel<TGenerics>
|
|
86
|
+
) => RowModel<TGenerics>
|
|
118
87
|
// Global
|
|
119
|
-
globalFilterType?: FilterType<
|
|
88
|
+
globalFilterType?: FilterType<TGenerics>
|
|
120
89
|
onGlobalFilterChange?: OnChangeFn<any>
|
|
121
90
|
enableGlobalFilters?: boolean
|
|
122
91
|
autoResetGlobalFilter?: boolean
|
|
123
92
|
enableGlobalFilter?: boolean
|
|
124
93
|
globalFilterRowsFn?: (
|
|
125
|
-
instance:
|
|
126
|
-
rowModel: RowModel<
|
|
127
|
-
) => RowModel<
|
|
128
|
-
getColumnCanGlobalFilterFn?: (
|
|
129
|
-
column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
130
|
-
) => boolean
|
|
94
|
+
instance: TableInstance<TGenerics>,
|
|
95
|
+
rowModel: RowModel<TGenerics>
|
|
96
|
+
) => RowModel<TGenerics>
|
|
97
|
+
getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
|
|
131
98
|
}
|
|
132
99
|
|
|
133
|
-
export type FiltersInstance<
|
|
134
|
-
TData,
|
|
135
|
-
TValue,
|
|
136
|
-
TFilterFns,
|
|
137
|
-
TSortingFns,
|
|
138
|
-
TAggregationFns
|
|
139
|
-
> = {
|
|
100
|
+
export type FiltersInstance<TGenerics extends PartialGenerics> = {
|
|
140
101
|
_notifyFiltersReset: () => void
|
|
141
|
-
getColumnAutoFilterFn: (
|
|
142
|
-
columnId: string
|
|
143
|
-
) => FilterFn<any, any, any, any, any> | undefined
|
|
102
|
+
getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
|
|
144
103
|
|
|
145
|
-
getColumnFilterFn: (
|
|
146
|
-
columnId: string
|
|
147
|
-
) => FilterFn<any, any, any, any, any> | undefined
|
|
104
|
+
getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
|
|
148
105
|
|
|
149
106
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
|
|
150
107
|
setColumnFilterValue: (columnId: string, value: any) => void
|
|
151
108
|
resetColumnFilters: () => void
|
|
152
109
|
getColumnCanColumnFilter: (columnId: string) => boolean
|
|
153
|
-
getColumnCanGlobalFilterFn?: (
|
|
154
|
-
column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
155
|
-
) => boolean
|
|
110
|
+
getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
|
|
156
111
|
|
|
157
112
|
getColumnIsFiltered: (columnId: string) => boolean
|
|
158
113
|
getColumnFilterValue: (columnId: string) => unknown
|
|
159
114
|
getColumnFilterIndex: (columnId: string) => number
|
|
160
|
-
getColumnFilteredRowModel: () => RowModel<
|
|
161
|
-
TData,
|
|
162
|
-
TValue,
|
|
163
|
-
TFilterFns,
|
|
164
|
-
TSortingFns,
|
|
165
|
-
TAggregationFns
|
|
166
|
-
>
|
|
167
|
-
getPreFilteredRowModel: () => RowModel<
|
|
168
|
-
TData,
|
|
169
|
-
TValue,
|
|
170
|
-
TFilterFns,
|
|
171
|
-
TSortingFns,
|
|
172
|
-
TAggregationFns
|
|
173
|
-
>
|
|
174
|
-
getPreFilteredRows: () => Row<
|
|
175
|
-
TData,
|
|
176
|
-
TValue,
|
|
177
|
-
TFilterFns,
|
|
178
|
-
TSortingFns,
|
|
179
|
-
TAggregationFns
|
|
180
|
-
>[]
|
|
181
|
-
getPreFilteredFlatRows: () => Row<
|
|
182
|
-
TData,
|
|
183
|
-
TValue,
|
|
184
|
-
TFilterFns,
|
|
185
|
-
TSortingFns,
|
|
186
|
-
TAggregationFns
|
|
187
|
-
>[]
|
|
188
|
-
getPreFilteredRowsById: () => Record<
|
|
189
|
-
string,
|
|
190
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
191
|
-
>
|
|
192
|
-
getPreColumnFilteredRows: () => Row<
|
|
193
|
-
TData,
|
|
194
|
-
TValue,
|
|
195
|
-
TFilterFns,
|
|
196
|
-
TSortingFns,
|
|
197
|
-
TAggregationFns
|
|
198
|
-
>[]
|
|
199
|
-
getPreColumnFilteredFlatRows: () => Row<
|
|
200
|
-
TData,
|
|
201
|
-
TValue,
|
|
202
|
-
TFilterFns,
|
|
203
|
-
TSortingFns,
|
|
204
|
-
TAggregationFns
|
|
205
|
-
>[]
|
|
206
|
-
getPreColumnFilteredRowsById: () => Record<
|
|
207
|
-
string,
|
|
208
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
209
|
-
>
|
|
210
|
-
getColumnFilteredRows: () => Row<
|
|
211
|
-
TData,
|
|
212
|
-
TValue,
|
|
213
|
-
TFilterFns,
|
|
214
|
-
TSortingFns,
|
|
215
|
-
TAggregationFns
|
|
216
|
-
>[]
|
|
217
|
-
getColumnFilteredFlatRows: () => Row<
|
|
218
|
-
TData,
|
|
219
|
-
TValue,
|
|
220
|
-
TFilterFns,
|
|
221
|
-
TSortingFns,
|
|
222
|
-
TAggregationFns
|
|
223
|
-
>[]
|
|
224
|
-
getColumnFilteredRowsById: () => Record<
|
|
225
|
-
string,
|
|
226
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
227
|
-
>
|
|
228
115
|
|
|
229
|
-
//
|
|
116
|
+
// All
|
|
117
|
+
getPreFilteredRowModel: () => RowModel<TGenerics>
|
|
118
|
+
|
|
119
|
+
// Column Filters
|
|
120
|
+
getPreColumnFilteredRowModel: () => RowModel<TGenerics>
|
|
121
|
+
getColumnFilteredRowModel: () => RowModel<TGenerics>
|
|
122
|
+
|
|
123
|
+
// Global Filters
|
|
230
124
|
setGlobalFilter: (updater: Updater<any>) => void
|
|
231
125
|
resetGlobalFilter: () => void
|
|
232
|
-
getGlobalAutoFilterFn: () => FilterFn<
|
|
233
|
-
getGlobalFilterFn: () => FilterFn<
|
|
126
|
+
getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined
|
|
127
|
+
getGlobalFilterFn: () => FilterFn<TGenerics> | undefined
|
|
234
128
|
getColumnCanGlobalFilter: (columnId: string) => boolean
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
TValue,
|
|
238
|
-
TFilterFns,
|
|
239
|
-
TSortingFns,
|
|
240
|
-
TAggregationFns
|
|
241
|
-
>
|
|
242
|
-
getPreGlobalFilteredRows: () => Row<
|
|
243
|
-
TData,
|
|
244
|
-
TValue,
|
|
245
|
-
TFilterFns,
|
|
246
|
-
TSortingFns,
|
|
247
|
-
TAggregationFns
|
|
248
|
-
>[]
|
|
249
|
-
getPreGlobalFilteredFlatRows: () => Row<
|
|
250
|
-
TData,
|
|
251
|
-
TValue,
|
|
252
|
-
TFilterFns,
|
|
253
|
-
TSortingFns,
|
|
254
|
-
TAggregationFns
|
|
255
|
-
>[]
|
|
256
|
-
getPreGlobalFilteredRowsById: () => Record<
|
|
257
|
-
string,
|
|
258
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
259
|
-
>
|
|
260
|
-
getGlobalFilteredRows: () => Row<
|
|
261
|
-
TData,
|
|
262
|
-
TValue,
|
|
263
|
-
TFilterFns,
|
|
264
|
-
TSortingFns,
|
|
265
|
-
TAggregationFns
|
|
266
|
-
>[]
|
|
267
|
-
getGlobalFilteredFlatRows: () => Row<
|
|
268
|
-
TData,
|
|
269
|
-
TValue,
|
|
270
|
-
TFilterFns,
|
|
271
|
-
TSortingFns,
|
|
272
|
-
TAggregationFns
|
|
273
|
-
>[]
|
|
274
|
-
getGlobalFilteredRowsById: () => Record<
|
|
275
|
-
string,
|
|
276
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
277
|
-
>
|
|
129
|
+
getPreGlobalFilteredRowModel: () => RowModel<TGenerics>
|
|
130
|
+
getGlobalFilteredRowModel: () => RowModel<TGenerics>
|
|
278
131
|
}
|
|
279
132
|
|
|
280
133
|
//
|
|
281
134
|
|
|
282
|
-
export function getDefaultColumn<
|
|
135
|
+
export function getDefaultColumn<
|
|
136
|
+
TGenerics extends PartialGenerics
|
|
137
|
+
>(): FiltersColumnDef<TGenerics> {
|
|
283
138
|
return {
|
|
284
139
|
filterType: 'auto',
|
|
285
140
|
}
|
|
@@ -292,15 +147,9 @@ export function getInitialState(): FiltersTableState {
|
|
|
292
147
|
}
|
|
293
148
|
}
|
|
294
149
|
|
|
295
|
-
export function getDefaultOptions<
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
TFilterFns,
|
|
299
|
-
TSortingFns,
|
|
300
|
-
TAggregationFns
|
|
301
|
-
>(
|
|
302
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
303
|
-
): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
150
|
+
export function getDefaultOptions<TGenerics extends PartialGenerics>(
|
|
151
|
+
instance: TableInstance<TGenerics>
|
|
152
|
+
): FiltersOptions<TGenerics> {
|
|
304
153
|
return {
|
|
305
154
|
onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
|
|
306
155
|
onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
|
|
@@ -309,25 +158,19 @@ export function getDefaultOptions<
|
|
|
309
158
|
autoResetGlobalFilter: true,
|
|
310
159
|
globalFilterType: 'auto',
|
|
311
160
|
getColumnCanGlobalFilterFn: column => {
|
|
312
|
-
const value = instance
|
|
313
|
-
|
|
314
|
-
|
|
161
|
+
const value = instance
|
|
162
|
+
.getCoreRowModel()
|
|
163
|
+
.flatRows[0]?.getAllCellsByColumnId()[column.id]?.value
|
|
315
164
|
|
|
316
165
|
return typeof value === 'string'
|
|
317
166
|
},
|
|
318
167
|
}
|
|
319
168
|
}
|
|
320
169
|
|
|
321
|
-
export function createColumn<
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
TSortingFns,
|
|
326
|
-
TAggregationFns
|
|
327
|
-
>(
|
|
328
|
-
column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,
|
|
329
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
330
|
-
): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
170
|
+
export function createColumn<TGenerics extends PartialGenerics>(
|
|
171
|
+
column: Column<TGenerics>,
|
|
172
|
+
instance: TableInstance<TGenerics>
|
|
173
|
+
): FiltersColumn<TGenerics> {
|
|
331
174
|
const getFacetInfo = memo(
|
|
332
175
|
() => [column.getPreFilteredRows()],
|
|
333
176
|
(rows = []) => {
|
|
@@ -362,7 +205,10 @@ export function createColumn<
|
|
|
362
205
|
preFilteredMinMaxValues,
|
|
363
206
|
}
|
|
364
207
|
},
|
|
365
|
-
{
|
|
208
|
+
{
|
|
209
|
+
key: 'column.getFacetInfo',
|
|
210
|
+
debug: () => instance.options.debugAll ?? instance.options.debugColumns,
|
|
211
|
+
}
|
|
366
212
|
)
|
|
367
213
|
|
|
368
214
|
return {
|
|
@@ -379,15 +225,9 @@ export function createColumn<
|
|
|
379
225
|
}
|
|
380
226
|
}
|
|
381
227
|
|
|
382
|
-
export function getInstance<
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
TFilterFns,
|
|
386
|
-
TSortingFns,
|
|
387
|
-
TAggregationFns
|
|
388
|
-
>(
|
|
389
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
390
|
-
): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
228
|
+
export function getInstance<TGenerics extends PartialGenerics>(
|
|
229
|
+
instance: TableInstance<TGenerics>
|
|
230
|
+
): FiltersInstance<TGenerics> {
|
|
391
231
|
let registered = false
|
|
392
232
|
|
|
393
233
|
return {
|
|
@@ -413,7 +253,7 @@ export function getInstance<
|
|
|
413
253
|
}
|
|
414
254
|
},
|
|
415
255
|
getColumnAutoFilterFn: columnId => {
|
|
416
|
-
const firstRow = instance.
|
|
256
|
+
const firstRow = instance.getCoreRowModel().flatRows[0]
|
|
417
257
|
|
|
418
258
|
const value = firstRow?.values[columnId]
|
|
419
259
|
|
|
@@ -453,13 +293,9 @@ export function getInstance<
|
|
|
453
293
|
: (userFilterTypes as Record<string, any>)?.[
|
|
454
294
|
column.filterType as string
|
|
455
295
|
] ??
|
|
456
|
-
(filterTypes[
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
TFilterFns,
|
|
460
|
-
TSortingFns,
|
|
461
|
-
TAggregationFns
|
|
462
|
-
>)
|
|
296
|
+
(filterTypes[
|
|
297
|
+
column.filterType as BuiltInFilterType
|
|
298
|
+
] as FilterFn<TGenerics>)
|
|
463
299
|
},
|
|
464
300
|
|
|
465
301
|
getGlobalFilterFn: () => {
|
|
@@ -473,13 +309,9 @@ export function getInstance<
|
|
|
473
309
|
: (userFilterTypes as Record<string, any>)?.[
|
|
474
310
|
globalFilterType as string
|
|
475
311
|
] ??
|
|
476
|
-
(filterTypes[
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
TFilterFns,
|
|
480
|
-
TSortingFns,
|
|
481
|
-
TAggregationFns
|
|
482
|
-
>)
|
|
312
|
+
(filterTypes[
|
|
313
|
+
globalFilterType as BuiltInFilterType
|
|
314
|
+
] as FilterFn<TGenerics>)
|
|
483
315
|
},
|
|
484
316
|
|
|
485
317
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
|
|
@@ -592,13 +424,7 @@ export function getInstance<
|
|
|
592
424
|
//
|
|
593
425
|
if (
|
|
594
426
|
shouldAutoRemoveFilter(
|
|
595
|
-
filterFn as FilterFn<
|
|
596
|
-
TData,
|
|
597
|
-
TValue,
|
|
598
|
-
TFilterFns,
|
|
599
|
-
TSortingFns,
|
|
600
|
-
TAggregationFns
|
|
601
|
-
>,
|
|
427
|
+
filterFn as FilterFn<TGenerics>,
|
|
602
428
|
newFilter,
|
|
603
429
|
column
|
|
604
430
|
)
|
|
@@ -631,6 +457,8 @@ export function getInstance<
|
|
|
631
457
|
instance.setColumnFilters(instance.initialState?.columnFilters ?? [])
|
|
632
458
|
},
|
|
633
459
|
|
|
460
|
+
getPreFilteredRowModel: () => instance.getCoreRowModel(),
|
|
461
|
+
getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),
|
|
634
462
|
getColumnFilteredRowModel: memo(
|
|
635
463
|
() => [
|
|
636
464
|
instance.getState().columnFilters,
|
|
@@ -643,9 +471,6 @@ export function getInstance<
|
|
|
643
471
|
return rowModel
|
|
644
472
|
}
|
|
645
473
|
|
|
646
|
-
if (process.env.NODE_ENV !== 'production' && instance.options.debug)
|
|
647
|
-
console.info('Column Filtering...')
|
|
648
|
-
|
|
649
474
|
return columnFiltersFn(instance as any, rowModel)
|
|
650
475
|
})()
|
|
651
476
|
|
|
@@ -667,25 +492,12 @@ export function getInstance<
|
|
|
667
492
|
|
|
668
493
|
return columnFilteredRowModel
|
|
669
494
|
},
|
|
670
|
-
{
|
|
495
|
+
{
|
|
496
|
+
key: 'getColumnFilteredRowModel',
|
|
497
|
+
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
498
|
+
}
|
|
671
499
|
),
|
|
672
|
-
|
|
673
|
-
// These might be easier to remember than "column" filtered rows
|
|
674
|
-
getPreFilteredRowModel: () => instance.getCoreRowModel(),
|
|
675
|
-
getPreFilteredRows: () => instance.getCoreRowModel().rows,
|
|
676
|
-
getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
|
|
677
|
-
getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,
|
|
678
|
-
|
|
679
|
-
// Pre Column Filter
|
|
680
|
-
getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,
|
|
681
|
-
getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
|
|
682
|
-
getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,
|
|
683
|
-
getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,
|
|
684
|
-
|
|
685
|
-
getColumnFilteredFlatRows: () =>
|
|
686
|
-
instance.getColumnFilteredRowModel().flatRows,
|
|
687
|
-
getColumnFilteredRowsById: () =>
|
|
688
|
-
instance.getColumnFilteredRowModel().rowsById,
|
|
500
|
+
getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),
|
|
689
501
|
getGlobalFilteredRowModel: memo(
|
|
690
502
|
() => [
|
|
691
503
|
instance.getState().globalFilter,
|
|
@@ -698,11 +510,8 @@ export function getInstance<
|
|
|
698
510
|
return columnFilteredRowModel
|
|
699
511
|
}
|
|
700
512
|
|
|
701
|
-
if (process.env.NODE_ENV !== 'production' && instance.options.debug)
|
|
702
|
-
console.info('Global Filtering...')
|
|
703
|
-
|
|
704
513
|
return globalFiltersFn(
|
|
705
|
-
instance as
|
|
514
|
+
instance as TableInstance<TGenerics>,
|
|
706
515
|
columnFilteredRowModel
|
|
707
516
|
)
|
|
708
517
|
})()
|
|
@@ -727,30 +536,19 @@ export function getInstance<
|
|
|
727
536
|
},
|
|
728
537
|
{
|
|
729
538
|
key: 'getGlobalFilteredRowModel',
|
|
730
|
-
debug: instance.options.
|
|
539
|
+
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
731
540
|
onChange: () => {
|
|
732
541
|
instance._notifySortingReset()
|
|
733
542
|
},
|
|
734
543
|
}
|
|
735
544
|
),
|
|
736
|
-
|
|
737
|
-
getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,
|
|
738
|
-
getPreGlobalFilteredFlatRows: () =>
|
|
739
|
-
instance.getColumnFilteredRowModel().flatRows,
|
|
740
|
-
getPreGlobalFilteredRowsById: () =>
|
|
741
|
-
instance.getColumnFilteredRowModel().rowsById,
|
|
742
|
-
getGlobalFilteredRows: () => instance.getGlobalFilteredRowModel().rows,
|
|
743
|
-
getGlobalFilteredFlatRows: () =>
|
|
744
|
-
instance.getGlobalFilteredRowModel().flatRows,
|
|
745
|
-
getGlobalFilteredRowsById: () =>
|
|
746
|
-
instance.getGlobalFilteredRowModel().rowsById,
|
|
747
545
|
}
|
|
748
546
|
}
|
|
749
547
|
|
|
750
|
-
export function shouldAutoRemoveFilter(
|
|
751
|
-
filterFn?: FilterFn<
|
|
548
|
+
export function shouldAutoRemoveFilter<TGenerics extends PartialGenerics>(
|
|
549
|
+
filterFn?: FilterFn<TGenerics>,
|
|
752
550
|
value?: any,
|
|
753
|
-
column?: Column<
|
|
551
|
+
column?: Column<TGenerics>
|
|
754
552
|
) {
|
|
755
553
|
return (
|
|
756
554
|
(filterFn && filterFn.autoRemove
|