@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/Sorting.ts
CHANGED
|
@@ -7,8 +7,9 @@ import {
|
|
|
7
7
|
Getter,
|
|
8
8
|
Header,
|
|
9
9
|
OnChangeFn,
|
|
10
|
+
PartialGenerics,
|
|
10
11
|
PropGetterValue,
|
|
11
|
-
|
|
12
|
+
TableInstance,
|
|
12
13
|
Row,
|
|
13
14
|
Updater,
|
|
14
15
|
} from '../types'
|
|
@@ -18,6 +19,7 @@ import {
|
|
|
18
19
|
isFunction,
|
|
19
20
|
makeStateUpdater,
|
|
20
21
|
memo,
|
|
22
|
+
Overwrite,
|
|
21
23
|
propGetter,
|
|
22
24
|
} from '../utils'
|
|
23
25
|
|
|
@@ -30,27 +32,27 @@ export type ColumnSort = {
|
|
|
30
32
|
|
|
31
33
|
export type SortingState = ColumnSort[]
|
|
32
34
|
|
|
33
|
-
export type SortingFn<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
export type SortingFn<TGenerics extends PartialGenerics> = {
|
|
36
|
+
(rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type CustomSortingTypes<TGenerics extends PartialGenerics> = Record<
|
|
40
|
+
string,
|
|
41
|
+
SortingFn<TGenerics>
|
|
42
|
+
>
|
|
41
43
|
|
|
42
44
|
export type SortingTableState = {
|
|
43
45
|
sorting: SortingState
|
|
44
46
|
}
|
|
45
47
|
|
|
46
|
-
export type SortType<
|
|
48
|
+
export type SortType<TGenerics extends PartialGenerics> =
|
|
47
49
|
| 'auto'
|
|
48
50
|
| BuiltInSortType
|
|
49
|
-
| keyof
|
|
50
|
-
| SortingFn<
|
|
51
|
+
| keyof TGenerics['SortingFns']
|
|
52
|
+
| SortingFn<TGenerics>
|
|
51
53
|
|
|
52
|
-
export type SortingColumnDef<
|
|
53
|
-
sortType?: SortType<
|
|
54
|
+
export type SortingColumnDef<TGenerics extends PartialGenerics> = {
|
|
55
|
+
sortType?: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
54
56
|
sortDescFirst?: boolean
|
|
55
57
|
enableSorting?: boolean
|
|
56
58
|
enableMultiSort?: boolean
|
|
@@ -59,14 +61,8 @@ export type SortingColumnDef<TFilterFns> = {
|
|
|
59
61
|
sortUndefined?: false | -1 | 1
|
|
60
62
|
}
|
|
61
63
|
|
|
62
|
-
export type SortingColumn<
|
|
63
|
-
|
|
64
|
-
_TValue,
|
|
65
|
-
TFilterFns,
|
|
66
|
-
_TSortingFns,
|
|
67
|
-
_TAggregationFns
|
|
68
|
-
> = {
|
|
69
|
-
sortType: SortType<TFilterFns>
|
|
64
|
+
export type SortingColumn<TGenerics extends PartialGenerics> = {
|
|
65
|
+
sortType: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
70
66
|
getCanSort: () => boolean
|
|
71
67
|
getCanMultiSort: () => boolean
|
|
72
68
|
getSortIndex: () => number
|
|
@@ -77,14 +73,8 @@ export type SortingColumn<
|
|
|
77
73
|
) => undefined | PropGetterValue<ToggleSortingProps, TGetter>
|
|
78
74
|
}
|
|
79
75
|
|
|
80
|
-
export type SortingOptions<
|
|
81
|
-
|
|
82
|
-
TValue,
|
|
83
|
-
TFilterFns,
|
|
84
|
-
TSortingFns,
|
|
85
|
-
TAggregationFns
|
|
86
|
-
> = {
|
|
87
|
-
sortTypes?: TSortingFns
|
|
76
|
+
export type SortingOptions<TGenerics extends PartialGenerics> = {
|
|
77
|
+
sortTypes?: TGenerics['SortingFns']
|
|
88
78
|
onSortingChange?: OnChangeFn<SortingState>
|
|
89
79
|
autoResetSorting?: boolean
|
|
90
80
|
enableSorting?: boolean
|
|
@@ -93,15 +83,9 @@ export type SortingOptions<
|
|
|
93
83
|
enableMultiSort?: boolean
|
|
94
84
|
sortDescFirst?: boolean
|
|
95
85
|
sortRowsFn?: (
|
|
96
|
-
instance:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
TFilterFns,
|
|
100
|
-
TSortingFns,
|
|
101
|
-
TAggregationFns
|
|
102
|
-
>,
|
|
103
|
-
rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
104
|
-
) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
86
|
+
instance: TableInstance<TGenerics>,
|
|
87
|
+
rowModel: RowModel<TGenerics>
|
|
88
|
+
) => RowModel<TGenerics>
|
|
105
89
|
maxMultiSortColCount?: number
|
|
106
90
|
isMultiSortEvent?: (e: MouseEvent | TouchEvent) => boolean
|
|
107
91
|
}
|
|
@@ -111,22 +95,12 @@ export type ToggleSortingProps = {
|
|
|
111
95
|
onClick?: (event: MouseEvent | TouchEvent) => void
|
|
112
96
|
}
|
|
113
97
|
|
|
114
|
-
export type SortingInstance<
|
|
115
|
-
TData,
|
|
116
|
-
TValue,
|
|
117
|
-
TFilterFns,
|
|
118
|
-
TSortingFns,
|
|
119
|
-
TAggregationFns
|
|
120
|
-
> = {
|
|
98
|
+
export type SortingInstance<TGenerics extends PartialGenerics> = {
|
|
121
99
|
_notifySortingReset: () => void
|
|
122
|
-
getColumnAutoSortingFn: (
|
|
123
|
-
columnId: string
|
|
124
|
-
) => SortingFn<any, any, any, any, any> | undefined
|
|
100
|
+
getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined
|
|
125
101
|
getColumnAutoSortDir: (columnId: string) => SortDirection
|
|
126
102
|
|
|
127
|
-
getColumnSortingFn: (
|
|
128
|
-
columnId: string
|
|
129
|
-
) => SortingFn<any, any, any, any, any> | undefined
|
|
103
|
+
getColumnSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined
|
|
130
104
|
|
|
131
105
|
setSorting: (updater: Updater<SortingState>) => void
|
|
132
106
|
toggleColumnSorting: (
|
|
@@ -143,54 +117,15 @@ export type SortingInstance<
|
|
|
143
117
|
columnId: string,
|
|
144
118
|
userProps?: TGetter
|
|
145
119
|
) => undefined | PropGetterValue<ToggleSortingProps, TGetter>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
TValue,
|
|
149
|
-
TFilterFns,
|
|
150
|
-
TSortingFns,
|
|
151
|
-
TAggregationFns
|
|
152
|
-
>
|
|
153
|
-
getPreSortedRows: () => Row<
|
|
154
|
-
TData,
|
|
155
|
-
TValue,
|
|
156
|
-
TFilterFns,
|
|
157
|
-
TSortingFns,
|
|
158
|
-
TAggregationFns
|
|
159
|
-
>[]
|
|
160
|
-
getPreSortedFlatRows: () => Row<
|
|
161
|
-
TData,
|
|
162
|
-
TValue,
|
|
163
|
-
TFilterFns,
|
|
164
|
-
TSortingFns,
|
|
165
|
-
TAggregationFns
|
|
166
|
-
>[]
|
|
167
|
-
getPreSortedRowsById: () => Record<
|
|
168
|
-
string,
|
|
169
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
170
|
-
>
|
|
171
|
-
getSortedRows: () => Row<
|
|
172
|
-
TData,
|
|
173
|
-
TValue,
|
|
174
|
-
TFilterFns,
|
|
175
|
-
TSortingFns,
|
|
176
|
-
TAggregationFns
|
|
177
|
-
>[]
|
|
178
|
-
getSortedFlatRows: () => Row<
|
|
179
|
-
TData,
|
|
180
|
-
TValue,
|
|
181
|
-
TFilterFns,
|
|
182
|
-
TSortingFns,
|
|
183
|
-
TAggregationFns
|
|
184
|
-
>[]
|
|
185
|
-
getSortedRowsById: () => Record<
|
|
186
|
-
string,
|
|
187
|
-
Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
188
|
-
>
|
|
120
|
+
getPreSortedRowModel: () => RowModel<TGenerics>
|
|
121
|
+
getSortedRowModel: () => RowModel<TGenerics>
|
|
189
122
|
}
|
|
190
123
|
|
|
191
124
|
//
|
|
192
125
|
|
|
193
|
-
export function getDefaultColumn<
|
|
126
|
+
export function getDefaultColumn<
|
|
127
|
+
TGenerics extends PartialGenerics
|
|
128
|
+
>(): SortingColumnDef<TGenerics> {
|
|
194
129
|
return {
|
|
195
130
|
sortType: 'auto',
|
|
196
131
|
}
|
|
@@ -202,15 +137,9 @@ export function getInitialState(): SortingTableState {
|
|
|
202
137
|
}
|
|
203
138
|
}
|
|
204
139
|
|
|
205
|
-
export function getDefaultOptions<
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
TFilterFns,
|
|
209
|
-
TSortingFns,
|
|
210
|
-
TAggregationFns
|
|
211
|
-
>(
|
|
212
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
213
|
-
): SortingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
140
|
+
export function getDefaultOptions<TGenerics extends PartialGenerics>(
|
|
141
|
+
instance: TableInstance<TGenerics>
|
|
142
|
+
): SortingOptions<TGenerics> {
|
|
214
143
|
return {
|
|
215
144
|
onSortingChange: makeStateUpdater('sorting', instance),
|
|
216
145
|
autoResetSorting: true,
|
|
@@ -220,16 +149,10 @@ export function getDefaultOptions<
|
|
|
220
149
|
}
|
|
221
150
|
}
|
|
222
151
|
|
|
223
|
-
export function createColumn<
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
TSortingFns,
|
|
228
|
-
TAggregationFns
|
|
229
|
-
>(
|
|
230
|
-
column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,
|
|
231
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
232
|
-
): SortingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
152
|
+
export function createColumn<TGenerics extends PartialGenerics>(
|
|
153
|
+
column: Column<TGenerics>,
|
|
154
|
+
instance: TableInstance<TGenerics>
|
|
155
|
+
): SortingColumn<TGenerics> {
|
|
233
156
|
return {
|
|
234
157
|
sortType: column.sortType,
|
|
235
158
|
getCanSort: () => instance.getColumnCanSort(column.id),
|
|
@@ -243,15 +166,9 @@ export function createColumn<
|
|
|
243
166
|
}
|
|
244
167
|
}
|
|
245
168
|
|
|
246
|
-
export function getInstance<
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
TFilterFns,
|
|
250
|
-
TSortingFns,
|
|
251
|
-
TAggregationFns
|
|
252
|
-
>(
|
|
253
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
254
|
-
): SortingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
169
|
+
export function getInstance<TGenerics extends PartialGenerics>(
|
|
170
|
+
instance: TableInstance<TGenerics>
|
|
171
|
+
): SortingInstance<TGenerics> {
|
|
255
172
|
let registered = false
|
|
256
173
|
|
|
257
174
|
return {
|
|
@@ -323,13 +240,9 @@ export function getInstance<
|
|
|
323
240
|
: column.sortType === 'auto'
|
|
324
241
|
? instance.getColumnAutoSortingFn(columnId)
|
|
325
242
|
: (userSortTypes as Record<string, any>)?.[column.sortType as string] ??
|
|
326
|
-
(sortTypes[
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
TFilterFns,
|
|
330
|
-
TSortingFns,
|
|
331
|
-
TAggregationFns
|
|
332
|
-
>)
|
|
243
|
+
(sortTypes[
|
|
244
|
+
column.sortType as BuiltInSortType
|
|
245
|
+
] as SortingFn<TGenerics>)
|
|
333
246
|
},
|
|
334
247
|
|
|
335
248
|
setSorting: updater =>
|
|
@@ -514,6 +427,7 @@ export function getInstance<
|
|
|
514
427
|
return propGetter(initialProps, userProps)
|
|
515
428
|
},
|
|
516
429
|
|
|
430
|
+
getPreSortedRowModel: () => instance.getGlobalFilteredRowModel(),
|
|
517
431
|
getSortedRowModel: memo(
|
|
518
432
|
() => [
|
|
519
433
|
instance.getState().sorting,
|
|
@@ -525,23 +439,15 @@ export function getInstance<
|
|
|
525
439
|
return rowModel
|
|
526
440
|
}
|
|
527
441
|
|
|
528
|
-
if (process.env.NODE_ENV !== 'production' && instance.options.debug)
|
|
529
|
-
console.info('Sorting...')
|
|
530
|
-
|
|
531
442
|
return sortingFn(instance, rowModel)
|
|
532
443
|
},
|
|
533
444
|
{
|
|
534
445
|
key: 'getSortedRowModel',
|
|
535
|
-
debug: instance.options.
|
|
536
|
-
onChange: () =>
|
|
446
|
+
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
447
|
+
onChange: () => {
|
|
448
|
+
instance._notifyGroupingReset()
|
|
449
|
+
},
|
|
537
450
|
}
|
|
538
451
|
),
|
|
539
|
-
|
|
540
|
-
getPreSortedRows: () => instance.getGlobalFilteredRowModel().rows,
|
|
541
|
-
getPreSortedFlatRows: () => instance.getGlobalFilteredRowModel().flatRows,
|
|
542
|
-
getPreSortedRowsById: () => instance.getGlobalFilteredRowModel().rowsById,
|
|
543
|
-
getSortedRows: () => instance.getSortedRowModel().rows,
|
|
544
|
-
getSortedFlatRows: () => instance.getSortedRowModel().flatRows,
|
|
545
|
-
getSortedRowsById: () => instance.getSortedRowModel().rowsById,
|
|
546
452
|
}
|
|
547
453
|
}
|
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
Column,
|
|
4
4
|
Getter,
|
|
5
5
|
OnChangeFn,
|
|
6
|
+
PartialGenerics,
|
|
6
7
|
PropGetterValue,
|
|
7
|
-
|
|
8
|
+
TableInstance,
|
|
8
9
|
Updater,
|
|
9
10
|
} from '../types'
|
|
10
11
|
import { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'
|
|
@@ -24,27 +25,9 @@ export type VisibilityTableState = {
|
|
|
24
25
|
columnVisibility: VisibilityState
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
export type VisibilityInstance<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
TFilterFns,
|
|
31
|
-
TSortingFns,
|
|
32
|
-
TAggregationFns
|
|
33
|
-
> = {
|
|
34
|
-
getVisibleFlatColumns: () => Column<
|
|
35
|
-
TData,
|
|
36
|
-
TValue,
|
|
37
|
-
TFilterFns,
|
|
38
|
-
TSortingFns,
|
|
39
|
-
TAggregationFns
|
|
40
|
-
>[]
|
|
41
|
-
getVisibleLeafColumns: () => Column<
|
|
42
|
-
TData,
|
|
43
|
-
TValue,
|
|
44
|
-
TFilterFns,
|
|
45
|
-
TSortingFns,
|
|
46
|
-
TAggregationFns
|
|
47
|
-
>[]
|
|
28
|
+
export type VisibilityInstance<TGenerics extends PartialGenerics> = {
|
|
29
|
+
getVisibleFlatColumns: () => Column<TGenerics>[]
|
|
30
|
+
getVisibleLeafColumns: () => Column<TGenerics>[]
|
|
48
31
|
setColumnVisibility: (updater: Updater<VisibilityState>) => void
|
|
49
32
|
toggleColumnVisibility: (columnId: string, value?: boolean) => void
|
|
50
33
|
toggleAllColumnsVisible: (value?: boolean) => void
|
|
@@ -67,20 +50,8 @@ export type VisibilityColumnDef = {
|
|
|
67
50
|
defaultCanHide?: boolean
|
|
68
51
|
}
|
|
69
52
|
|
|
70
|
-
export type VisibilityRow<
|
|
71
|
-
|
|
72
|
-
TValue,
|
|
73
|
-
TFilterFns,
|
|
74
|
-
TSortingFns,
|
|
75
|
-
TAggregationFns
|
|
76
|
-
> = {
|
|
77
|
-
getVisibleCells: () => Cell<
|
|
78
|
-
TData,
|
|
79
|
-
TValue,
|
|
80
|
-
TFilterFns,
|
|
81
|
-
TSortingFns,
|
|
82
|
-
TAggregationFns
|
|
83
|
-
>[]
|
|
53
|
+
export type VisibilityRow<TGenerics extends PartialGenerics> = {
|
|
54
|
+
getVisibleCells: () => Cell<TGenerics>[]
|
|
84
55
|
}
|
|
85
56
|
|
|
86
57
|
export type VisibilityColumn = {
|
|
@@ -100,14 +71,8 @@ export function getInitialState(): VisibilityTableState {
|
|
|
100
71
|
}
|
|
101
72
|
}
|
|
102
73
|
|
|
103
|
-
export function getDefaultOptions<
|
|
104
|
-
|
|
105
|
-
TValue,
|
|
106
|
-
TFilterFns,
|
|
107
|
-
TSortingFns,
|
|
108
|
-
TAggregationFns
|
|
109
|
-
>(
|
|
110
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
74
|
+
export function getDefaultOptions<TGenerics extends PartialGenerics>(
|
|
75
|
+
instance: TableInstance<TGenerics>
|
|
111
76
|
): VisibilityDefaultOptions {
|
|
112
77
|
return {
|
|
113
78
|
onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),
|
|
@@ -120,15 +85,9 @@ export function getDefaultColumn() {
|
|
|
120
85
|
}
|
|
121
86
|
}
|
|
122
87
|
|
|
123
|
-
export function createColumn<
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
TFilterFns,
|
|
127
|
-
TSortingFns,
|
|
128
|
-
TAggregationFns
|
|
129
|
-
>(
|
|
130
|
-
column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,
|
|
131
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
88
|
+
export function createColumn<TGenerics extends PartialGenerics>(
|
|
89
|
+
column: Column<TGenerics>,
|
|
90
|
+
instance: TableInstance<TGenerics>
|
|
132
91
|
): VisibilityColumn {
|
|
133
92
|
return {
|
|
134
93
|
getCanHide: () => instance.getColumnCanHide(column.id),
|
|
@@ -150,15 +109,9 @@ export function createColumn<
|
|
|
150
109
|
}
|
|
151
110
|
}
|
|
152
111
|
|
|
153
|
-
export function getInstance<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
TFilterFns,
|
|
157
|
-
TSortingFns,
|
|
158
|
-
TAggregationFns
|
|
159
|
-
>(
|
|
160
|
-
instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
|
|
161
|
-
): VisibilityInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
|
|
112
|
+
export function getInstance<TGenerics extends PartialGenerics>(
|
|
113
|
+
instance: TableInstance<TGenerics>
|
|
114
|
+
): VisibilityInstance<TGenerics> {
|
|
162
115
|
return {
|
|
163
116
|
getVisibleFlatColumns: memo(
|
|
164
117
|
() => [
|
|
@@ -172,7 +125,10 @@ export function getInstance<
|
|
|
172
125
|
allFlatColumns => {
|
|
173
126
|
return allFlatColumns.filter(d => d.getIsVisible?.())
|
|
174
127
|
},
|
|
175
|
-
{
|
|
128
|
+
{
|
|
129
|
+
key: 'getVisibleFlatColumns',
|
|
130
|
+
debug: () => instance.options.debugAll ?? instance.options.debugColumns,
|
|
131
|
+
}
|
|
176
132
|
),
|
|
177
133
|
|
|
178
134
|
getVisibleLeafColumns: memo(
|
|
@@ -187,7 +143,10 @@ export function getInstance<
|
|
|
187
143
|
allFlatColumns => {
|
|
188
144
|
return allFlatColumns.filter(d => d.getIsVisible?.())
|
|
189
145
|
},
|
|
190
|
-
{
|
|
146
|
+
{
|
|
147
|
+
key: 'getVisibleLeafColumns',
|
|
148
|
+
debug: () => instance.options.debugAll ?? instance.options.debugColumns,
|
|
149
|
+
}
|
|
191
150
|
),
|
|
192
151
|
|
|
193
152
|
setColumnVisibility: updater =>
|
package/src/filterTypes.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccessorFn, Row } from './types'
|
|
1
|
+
import { AccessorFn, PartialGenerics, Row } from './types'
|
|
2
2
|
|
|
3
3
|
export const filterTypes = {
|
|
4
4
|
includesString,
|
|
@@ -14,15 +14,8 @@ export const filterTypes = {
|
|
|
14
14
|
|
|
15
15
|
export type BuiltInFilterType = keyof typeof filterTypes
|
|
16
16
|
|
|
17
|
-
function includesString<
|
|
18
|
-
|
|
19
|
-
TValue,
|
|
20
|
-
TAccessor extends AccessorFn<TData>,
|
|
21
|
-
TFilterFns,
|
|
22
|
-
TSortingFns,
|
|
23
|
-
TAggregationFns
|
|
24
|
-
>(
|
|
25
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
17
|
+
function includesString<TGenerics extends PartialGenerics>(
|
|
18
|
+
rows: Row<TGenerics>[],
|
|
26
19
|
columnIds: string[],
|
|
27
20
|
filterValue: unknown
|
|
28
21
|
) {
|
|
@@ -38,15 +31,8 @@ function includesString<
|
|
|
38
31
|
|
|
39
32
|
includesString.autoRemove = (val: any) => testFalsey(val)
|
|
40
33
|
|
|
41
|
-
function includesStringSensitive<
|
|
42
|
-
|
|
43
|
-
TValue,
|
|
44
|
-
TAccessor extends AccessorFn<TData>,
|
|
45
|
-
TFilterFns,
|
|
46
|
-
TSortingFns,
|
|
47
|
-
TAggregationFns
|
|
48
|
-
>(
|
|
49
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
34
|
+
function includesStringSensitive<TGenerics extends PartialGenerics>(
|
|
35
|
+
rows: Row<TGenerics>[],
|
|
50
36
|
columnIds: string[],
|
|
51
37
|
filterValue: unknown
|
|
52
38
|
) {
|
|
@@ -62,15 +48,8 @@ function includesStringSensitive<
|
|
|
62
48
|
|
|
63
49
|
includesStringSensitive.autoRemove = (val: any) => testFalsey(val)
|
|
64
50
|
|
|
65
|
-
function equalsString<
|
|
66
|
-
|
|
67
|
-
TValue,
|
|
68
|
-
TAccessor extends AccessorFn<TData>,
|
|
69
|
-
TFilterFns,
|
|
70
|
-
TSortingFns,
|
|
71
|
-
TAggregationFns
|
|
72
|
-
>(
|
|
73
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
51
|
+
function equalsString<TGenerics extends PartialGenerics>(
|
|
52
|
+
rows: Row<TGenerics>[],
|
|
74
53
|
columnIds: string[],
|
|
75
54
|
filterValue: unknown
|
|
76
55
|
) {
|
|
@@ -88,15 +67,8 @@ function equalsString<
|
|
|
88
67
|
|
|
89
68
|
equalsString.autoRemove = (val: any) => testFalsey(val)
|
|
90
69
|
|
|
91
|
-
function equalsStringSensitive<
|
|
92
|
-
|
|
93
|
-
TValue,
|
|
94
|
-
TAccessor extends AccessorFn<TData>,
|
|
95
|
-
TFilterFns,
|
|
96
|
-
TSortingFns,
|
|
97
|
-
TAggregationFns
|
|
98
|
-
>(
|
|
99
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
70
|
+
function equalsStringSensitive<TGenerics extends PartialGenerics>(
|
|
71
|
+
rows: Row<TGenerics>[],
|
|
100
72
|
columnIds: string[],
|
|
101
73
|
filterValue: unknown
|
|
102
74
|
) {
|
|
@@ -111,15 +83,8 @@ function equalsStringSensitive<
|
|
|
111
83
|
|
|
112
84
|
equalsStringSensitive.autoRemove = (val: any) => testFalsey(val)
|
|
113
85
|
|
|
114
|
-
function arrIncludes<
|
|
115
|
-
|
|
116
|
-
TValue,
|
|
117
|
-
TAccessor extends AccessorFn<TData>,
|
|
118
|
-
TFilterFns,
|
|
119
|
-
TSortingFns,
|
|
120
|
-
TAggregationFns
|
|
121
|
-
>(
|
|
122
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
86
|
+
function arrIncludes<TGenerics extends PartialGenerics>(
|
|
87
|
+
rows: Row<TGenerics>[],
|
|
123
88
|
columnIds: string[],
|
|
124
89
|
filterValue: unknown
|
|
125
90
|
) {
|
|
@@ -133,15 +98,8 @@ function arrIncludes<
|
|
|
133
98
|
|
|
134
99
|
arrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length
|
|
135
100
|
|
|
136
|
-
function arrIncludesAll<
|
|
137
|
-
|
|
138
|
-
TValue,
|
|
139
|
-
TAccessor extends AccessorFn<TData>,
|
|
140
|
-
TFilterFns,
|
|
141
|
-
TSortingFns,
|
|
142
|
-
TAggregationFns
|
|
143
|
-
>(
|
|
144
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
101
|
+
function arrIncludesAll<TGenerics extends PartialGenerics>(
|
|
102
|
+
rows: Row<TGenerics>[],
|
|
145
103
|
columnIds: string[],
|
|
146
104
|
filterValue: unknown[]
|
|
147
105
|
) {
|
|
@@ -159,15 +117,8 @@ function arrIncludesAll<
|
|
|
159
117
|
|
|
160
118
|
arrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length
|
|
161
119
|
|
|
162
|
-
function equals<
|
|
163
|
-
|
|
164
|
-
TValue,
|
|
165
|
-
TAccessor extends AccessorFn<TData>,
|
|
166
|
-
TFilterFns,
|
|
167
|
-
TSortingFns,
|
|
168
|
-
TAggregationFns
|
|
169
|
-
>(
|
|
170
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
120
|
+
function equals<TGenerics extends PartialGenerics>(
|
|
121
|
+
rows: Row<TGenerics>[],
|
|
171
122
|
columnIds: string[],
|
|
172
123
|
filterValue: unknown
|
|
173
124
|
) {
|
|
@@ -181,15 +132,8 @@ function equals<
|
|
|
181
132
|
|
|
182
133
|
equals.autoRemove = (val: any) => testFalsey(val)
|
|
183
134
|
|
|
184
|
-
function weakEquals<
|
|
185
|
-
|
|
186
|
-
TValue,
|
|
187
|
-
TAccessor extends AccessorFn<TData>,
|
|
188
|
-
TFilterFns,
|
|
189
|
-
TSortingFns,
|
|
190
|
-
TAggregationFns
|
|
191
|
-
>(
|
|
192
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
135
|
+
function weakEquals<TGenerics extends PartialGenerics>(
|
|
136
|
+
rows: Row<TGenerics>[],
|
|
193
137
|
columnIds: string[],
|
|
194
138
|
filterValue: unknown
|
|
195
139
|
) {
|
|
@@ -204,15 +148,8 @@ function weakEquals<
|
|
|
204
148
|
|
|
205
149
|
weakEquals.autoRemove = (val: any) => testFalsey(val)
|
|
206
150
|
|
|
207
|
-
function betweenNumberRange<
|
|
208
|
-
|
|
209
|
-
TValue,
|
|
210
|
-
TAccessor extends AccessorFn<TData>,
|
|
211
|
-
TFilterFns,
|
|
212
|
-
TSortingFns,
|
|
213
|
-
TAggregationFns
|
|
214
|
-
>(
|
|
215
|
-
rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
|
|
151
|
+
function betweenNumberRange<TGenerics extends PartialGenerics>(
|
|
152
|
+
rows: Row<TGenerics>[],
|
|
216
153
|
columnIds: string[],
|
|
217
154
|
filterValue: [unknown, unknown]
|
|
218
155
|
) {
|