@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.0
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/aggregationFns.js +120 -0
- package/build/cjs/aggregationFns.js.map +1 -0
- package/build/cjs/core/cell.js +40 -0
- package/build/cjs/core/cell.js.map +1 -0
- package/build/cjs/core/column.js +88 -0
- package/build/cjs/core/column.js.map +1 -0
- package/build/cjs/core/headers.js +403 -0
- package/build/cjs/core/headers.js.map +1 -0
- package/build/cjs/core/instance.js +255 -0
- package/build/cjs/core/instance.js.map +1 -0
- package/build/cjs/core/row.js +77 -0
- package/build/cjs/core/row.js.map +1 -0
- package/build/cjs/createTable.js +36 -29
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +157 -189
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +103 -155
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +155 -304
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +97 -157
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +30 -41
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +102 -105
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +131 -89
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +138 -267
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +82 -167
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +69 -115
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +107 -0
- package/build/cjs/filterFns.js.map +1 -0
- package/build/cjs/index.js +36 -23
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortingFns.js +124 -0
- package/build/cjs/sortingFns.js.map +1 -0
- package/build/cjs/utils/filterRowsUtils.js +117 -0
- package/build/cjs/utils/filterRowsUtils.js.map +1 -0
- package/build/cjs/utils/getCoreRowModel.js +79 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +57 -0
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js +54 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +139 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +161 -0
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
- package/build/cjs/utils/getPaginationRowModel.js +61 -0
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
- package/build/cjs/utils/getSortedRowModel.js +110 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +38 -107
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +2976 -3853
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +586 -408
- package/build/types/aggregationFns.d.ts +13 -0
- package/build/types/core/cell.d.ts +9 -0
- package/build/types/core/column.d.ts +40 -0
- package/build/types/core/headers.d.ts +46 -0
- package/build/types/core/instance.d.ts +57 -0
- package/build/types/core/row.d.ts +15 -0
- package/build/types/createTable.d.ts +47 -26
- package/build/types/features/ColumnSizing.d.ts +32 -44
- package/build/types/features/Expanding.d.ts +15 -26
- package/build/types/features/Filters.d.ts +64 -63
- package/build/types/features/Grouping.d.ts +32 -46
- package/build/types/features/Ordering.d.ts +7 -10
- package/build/types/features/Pagination.d.ts +16 -15
- package/build/types/features/Pinning.d.ts +16 -17
- package/build/types/features/RowSelection.d.ts +13 -33
- package/build/types/features/Sorting.d.ts +25 -44
- package/build/types/features/Visibility.d.ts +16 -25
- package/build/types/filterFns.d.ts +13 -0
- package/build/types/index.d.ts +16 -10
- package/build/types/sortingFns.d.ts +11 -0
- package/build/types/types.d.ts +37 -122
- package/build/types/utils/filterRowsUtils.d.ts +4 -0
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getExpandedRowModel.d.ts +7 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/getFilteredRowModel.d.ts +2 -0
- package/build/types/utils/getGroupedRowModel.d.ts +2 -0
- package/build/types/utils/getPaginationRowModel.d.ts +4 -0
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +7 -11
- package/build/umd/index.development.js +3024 -3893
- 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 +9 -10
- package/src/.DS_Store +0 -0
- package/src/aggregationFns.ts +123 -0
- package/src/core/cell.ts +48 -0
- package/src/core/column.ts +147 -0
- package/src/core/headers.ts +575 -0
- package/src/core/instance.ts +361 -0
- package/src/core/row.ts +85 -0
- package/src/createTable.ts +188 -0
- package/src/features/ColumnSizing.ts +170 -185
- package/src/features/Expanding.ts +122 -194
- package/src/features/Filters.ts +301 -381
- package/src/features/Grouping.ts +160 -220
- package/src/features/Ordering.ts +24 -25
- package/src/features/Pagination.ts +90 -73
- package/src/features/Pinning.ts +186 -63
- package/src/features/RowSelection.ts +107 -245
- package/src/features/Sorting.ts +127 -225
- package/src/features/Visibility.ts +116 -132
- package/src/filterFns.ts +135 -0
- package/src/index.ts +29 -0
- package/src/{sortTypes.ts → sortingFns.ts} +63 -85
- package/src/types.ts +62 -168
- package/src/utils/filterRowsUtils.ts +112 -0
- package/src/utils/getCoreRowModel.ts +84 -0
- package/src/utils/getExpandedRowModel.ts +54 -0
- package/src/utils/getFacetedMinMaxValues.ts +40 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +159 -0
- package/src/utils/getGroupedRowModel.ts +175 -0
- package/src/utils/getPaginationRowModel.ts +48 -0
- package/src/utils/getSortedRowModel.ts +116 -0
- package/src/utils.ts +126 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -545
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -630
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -122
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/types.js +0 -22
- package/build/cjs/types.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -131
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -101
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/paginateRowsFn.js +0 -44
- package/build/cjs/utils/paginateRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -105
- package/build/types/features/Headers.d.ts +0 -43
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -763
- package/src/createTable.tsx +0 -137
- package/src/features/Headers.ts +0 -747
- package/src/filterTypes.ts +0 -188
- package/src/index.tsx +0 -23
- package/src/utils/columnFilterRowsFn.ts +0 -113
- package/src/utils/expandRowsFn.ts +0 -30
- package/src/utils/globalFilterRowsFn.ts +0 -89
- package/src/utils/groupRowsFn.ts +0 -170
- package/src/utils/paginateRowsFn.ts +0 -28
- package/src/utils/sortRowsFn.ts +0 -95
- package/src/utils.tsx +0 -221
package/src/features/Filters.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { RowModel } from '..'
|
|
2
|
-
import {
|
|
2
|
+
import { TableFeature } from '../core/instance'
|
|
3
|
+
import { BuiltInFilterFn, filterFns } from '../filterFns'
|
|
3
4
|
import {
|
|
4
5
|
Column,
|
|
5
6
|
OnChangeFn,
|
|
6
|
-
|
|
7
|
+
TableGenerics,
|
|
7
8
|
TableInstance,
|
|
8
9
|
Row,
|
|
9
10
|
Updater,
|
|
@@ -16,407 +17,262 @@ import {
|
|
|
16
17
|
Overwrite,
|
|
17
18
|
} from '../utils'
|
|
18
19
|
|
|
20
|
+
export type FiltersTableState = {
|
|
21
|
+
columnFilters: ColumnFiltersState
|
|
22
|
+
globalFilter: any
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type ColumnFiltersState = ColumnFilter[]
|
|
26
|
+
|
|
19
27
|
export type ColumnFilter = {
|
|
20
28
|
id: string
|
|
21
29
|
value: unknown
|
|
22
30
|
}
|
|
23
31
|
|
|
24
|
-
export type
|
|
32
|
+
export type ResolvedColumnFilter<TGenerics extends TableGenerics> = {
|
|
33
|
+
id: string
|
|
34
|
+
resolvedValue: unknown
|
|
35
|
+
filterFn: FilterFn<TGenerics>
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type FilterFn<TGenerics extends TableGenerics> = {
|
|
39
|
+
(
|
|
40
|
+
row: Row<TGenerics>,
|
|
41
|
+
columnId: string,
|
|
42
|
+
filterValue: any,
|
|
43
|
+
addMeta: (meta: TGenerics['FilterMeta']) => void
|
|
44
|
+
): boolean
|
|
25
45
|
|
|
26
|
-
|
|
27
|
-
(rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any
|
|
46
|
+
resolveFilterValue?: TransformFilterValueFn<TGenerics>
|
|
28
47
|
autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>
|
|
29
48
|
}
|
|
30
49
|
|
|
31
|
-
export type
|
|
32
|
-
value:
|
|
50
|
+
export type TransformFilterValueFn<TGenerics extends TableGenerics> = (
|
|
51
|
+
value: any,
|
|
52
|
+
column?: Column<TGenerics>
|
|
53
|
+
) => unknown
|
|
54
|
+
|
|
55
|
+
export type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (
|
|
56
|
+
value: any,
|
|
33
57
|
column?: Column<TGenerics>
|
|
34
58
|
) => boolean
|
|
35
59
|
|
|
36
|
-
export type
|
|
60
|
+
export type CustomFilterFns<TGenerics extends TableGenerics> = Record<
|
|
37
61
|
string,
|
|
38
62
|
FilterFn<TGenerics>
|
|
39
63
|
>
|
|
40
64
|
|
|
41
|
-
export type
|
|
42
|
-
columnFilters: ColumnFiltersState
|
|
43
|
-
globalFilter: any
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export type FilterType<TGenerics extends PartialGenerics> =
|
|
65
|
+
export type FilterFnOption<TGenerics extends TableGenerics> =
|
|
47
66
|
| 'auto'
|
|
48
|
-
|
|
|
49
|
-
| TGenerics['FilterFns']
|
|
67
|
+
| BuiltInFilterFn
|
|
68
|
+
| keyof TGenerics['FilterFns']
|
|
50
69
|
| FilterFn<TGenerics>
|
|
51
70
|
|
|
52
|
-
export type FiltersColumnDef<TGenerics extends
|
|
53
|
-
|
|
54
|
-
enableAllFilters?: boolean
|
|
71
|
+
export type FiltersColumnDef<TGenerics extends TableGenerics> = {
|
|
72
|
+
filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>
|
|
55
73
|
enableColumnFilter?: boolean
|
|
56
74
|
enableGlobalFilter?: boolean
|
|
57
|
-
defaultCanFilter?: boolean
|
|
58
|
-
defaultCanColumnFilter?: boolean
|
|
59
|
-
defaultCanGlobalFilter?: boolean
|
|
60
75
|
}
|
|
61
76
|
|
|
62
|
-
export type FiltersColumn<TGenerics extends
|
|
63
|
-
|
|
64
|
-
|
|
77
|
+
export type FiltersColumn<TGenerics extends TableGenerics> = {
|
|
78
|
+
filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>
|
|
79
|
+
getAutoFilterFn: () => FilterFn<TGenerics> | undefined
|
|
80
|
+
getFilterFn: () => FilterFn<TGenerics> | undefined
|
|
81
|
+
setFilterValue: (updater: Updater<any>) => void
|
|
82
|
+
getCanFilter: () => boolean
|
|
65
83
|
getCanGlobalFilter: () => boolean
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
getFacetedRowModel: () => RowModel<TGenerics>
|
|
85
|
+
_getFacetedRowModel?: () => RowModel<TGenerics>
|
|
86
|
+
getIsFiltered: () => boolean
|
|
87
|
+
getFilterValue: () => unknown
|
|
88
|
+
getFilterIndex: () => number
|
|
89
|
+
getFacetedUniqueValues: () => Map<any, number>
|
|
90
|
+
_getFacetedUniqueValues?: () => Map<any, number>
|
|
91
|
+
getFacetedMinMaxValues: () => undefined | [number, number]
|
|
92
|
+
_getFacetedMinMaxValues?: () => undefined | [number, number]
|
|
73
93
|
}
|
|
74
94
|
|
|
75
|
-
export type
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
export type FiltersRow<TGenerics extends TableGenerics> = {
|
|
96
|
+
columnFilters: Record<string, boolean>
|
|
97
|
+
columnFiltersMeta: Record<string, TGenerics['FilterMeta']>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export type FiltersOptions<TGenerics extends TableGenerics> = {
|
|
78
101
|
enableFilters?: boolean
|
|
102
|
+
manualFiltering?: boolean
|
|
103
|
+
filterFromLeafRows?: boolean
|
|
104
|
+
filterFns?: TGenerics['FilterFns']
|
|
105
|
+
getFilteredRowModel?: (
|
|
106
|
+
instance: TableInstance<TGenerics>
|
|
107
|
+
) => () => RowModel<TGenerics>
|
|
108
|
+
|
|
79
109
|
// Column
|
|
80
110
|
onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
|
|
81
|
-
autoResetColumnFilters?: boolean
|
|
82
111
|
enableColumnFilters?: boolean
|
|
83
|
-
|
|
84
|
-
instance: TableInstance<TGenerics>,
|
|
85
|
-
coreRowModel: RowModel<TGenerics>
|
|
86
|
-
) => RowModel<TGenerics>
|
|
112
|
+
|
|
87
113
|
// Global
|
|
88
|
-
|
|
114
|
+
globalFilterFn?: FilterFnOption<TGenerics>
|
|
89
115
|
onGlobalFilterChange?: OnChangeFn<any>
|
|
90
|
-
enableGlobalFilters?: boolean
|
|
91
|
-
autoResetGlobalFilter?: boolean
|
|
92
116
|
enableGlobalFilter?: boolean
|
|
93
|
-
|
|
117
|
+
getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean
|
|
118
|
+
|
|
119
|
+
// Faceting
|
|
120
|
+
getFacetedRowModel?: (
|
|
121
|
+
instance: TableInstance<TGenerics>,
|
|
122
|
+
columnId: string
|
|
123
|
+
) => () => RowModel<TGenerics>
|
|
124
|
+
getFacetedUniqueValues?: (
|
|
125
|
+
instance: TableInstance<TGenerics>,
|
|
126
|
+
columnId: string
|
|
127
|
+
) => () => Map<any, number>
|
|
128
|
+
getFacetedMinMaxValues?: (
|
|
94
129
|
instance: TableInstance<TGenerics>,
|
|
95
|
-
|
|
96
|
-
) =>
|
|
97
|
-
getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
|
|
130
|
+
columnId: string
|
|
131
|
+
) => () => undefined | [number, number]
|
|
98
132
|
}
|
|
99
133
|
|
|
100
|
-
export type FiltersInstance<TGenerics extends
|
|
101
|
-
_notifyFiltersReset: () => void
|
|
102
|
-
getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
|
|
103
|
-
|
|
104
|
-
getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
|
|
105
|
-
|
|
134
|
+
export type FiltersInstance<TGenerics extends TableGenerics> = {
|
|
106
135
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
|
|
107
|
-
setColumnFilterValue: (columnId: string, value: any) => void
|
|
108
|
-
resetColumnFilters: () => void
|
|
109
|
-
getColumnCanColumnFilter: (columnId: string) => boolean
|
|
110
|
-
getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
|
|
111
|
-
|
|
112
|
-
getColumnIsFiltered: (columnId: string) => boolean
|
|
113
|
-
getColumnFilterValue: (columnId: string) => unknown
|
|
114
|
-
getColumnFilterIndex: (columnId: string) => number
|
|
115
136
|
|
|
116
|
-
|
|
117
|
-
getPreFilteredRowModel: () => RowModel<TGenerics>
|
|
137
|
+
resetColumnFilters: (defaultState?: boolean) => void
|
|
118
138
|
|
|
119
139
|
// Column Filters
|
|
120
|
-
|
|
121
|
-
|
|
140
|
+
getPreFilteredRowModel: () => RowModel<TGenerics>
|
|
141
|
+
getFilteredRowModel: () => RowModel<TGenerics>
|
|
142
|
+
_getFilteredRowModel?: () => RowModel<TGenerics>
|
|
122
143
|
|
|
123
144
|
// Global Filters
|
|
124
145
|
setGlobalFilter: (updater: Updater<any>) => void
|
|
125
|
-
resetGlobalFilter: () => void
|
|
146
|
+
resetGlobalFilter: (defaultState?: boolean) => void
|
|
126
147
|
getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined
|
|
127
148
|
getGlobalFilterFn: () => FilterFn<TGenerics> | undefined
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
149
|
+
getGlobalFacetedRowModel: () => RowModel<TGenerics>
|
|
150
|
+
_getGlobalFacetedRowModel?: () => RowModel<TGenerics>
|
|
151
|
+
getGlobalFacetedUniqueValues: () => Map<any, number>
|
|
152
|
+
_getGlobalFacetedUniqueValues?: () => Map<any, number>
|
|
153
|
+
getGlobalFacetedMinMaxValues: () => undefined | [number, number]
|
|
154
|
+
_getGlobalFacetedMinMaxValues?: () => undefined | [number, number]
|
|
131
155
|
}
|
|
132
156
|
|
|
133
157
|
//
|
|
134
158
|
|
|
135
|
-
export
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
159
|
+
export const Filters: TableFeature = {
|
|
160
|
+
getDefaultColumnDef: <
|
|
161
|
+
TGenerics extends TableGenerics
|
|
162
|
+
>(): FiltersColumnDef<TGenerics> => {
|
|
163
|
+
return {
|
|
164
|
+
filterFn: 'auto',
|
|
165
|
+
}
|
|
166
|
+
},
|
|
142
167
|
|
|
143
|
-
|
|
144
|
-
getInitialState: (): FiltersTableState => {
|
|
168
|
+
getInitialState: (state): FiltersTableState => {
|
|
145
169
|
return {
|
|
146
170
|
columnFilters: [],
|
|
147
171
|
globalFilter: undefined,
|
|
172
|
+
// filtersProgress: 1,
|
|
173
|
+
// facetProgress: {},
|
|
174
|
+
...state,
|
|
148
175
|
}
|
|
149
176
|
},
|
|
150
177
|
|
|
151
|
-
getDefaultOptions: <TGenerics extends
|
|
178
|
+
getDefaultOptions: <TGenerics extends TableGenerics>(
|
|
152
179
|
instance: TableInstance<TGenerics>
|
|
153
180
|
): FiltersOptions<TGenerics> => {
|
|
154
181
|
return {
|
|
155
182
|
onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
|
|
156
183
|
onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
globalFilterType: 'auto',
|
|
161
|
-
getColumnCanGlobalFilterFn: column => {
|
|
184
|
+
filterFromLeafRows: false,
|
|
185
|
+
globalFilterFn: 'auto',
|
|
186
|
+
getColumnCanGlobalFilter: column => {
|
|
162
187
|
const value = instance
|
|
163
188
|
.getCoreRowModel()
|
|
164
|
-
.flatRows[0]?.
|
|
189
|
+
.flatRows[0]?._getAllCellsByColumnId()
|
|
190
|
+
[column.id]?.getValue()
|
|
165
191
|
|
|
166
192
|
return typeof value === 'string'
|
|
167
193
|
},
|
|
168
194
|
}
|
|
169
195
|
},
|
|
170
196
|
|
|
171
|
-
createColumn: <TGenerics extends
|
|
197
|
+
createColumn: <TGenerics extends TableGenerics>(
|
|
172
198
|
column: Column<TGenerics>,
|
|
173
199
|
instance: TableInstance<TGenerics>
|
|
174
200
|
): FiltersColumn<TGenerics> => {
|
|
175
|
-
const getFacetInfo = memo(
|
|
176
|
-
() => [column.getPreFilteredRows()],
|
|
177
|
-
(rows = []) => {
|
|
178
|
-
let preFilteredUniqueValues = new Map<any, number>()
|
|
179
|
-
|
|
180
|
-
let preFilteredMinMaxValues: [any, any] = [
|
|
181
|
-
rows[0]?.values[column.id] ?? null,
|
|
182
|
-
rows[0]?.values[column.id] ?? null,
|
|
183
|
-
]
|
|
184
|
-
|
|
185
|
-
for (let i = 0; i < rows.length; i++) {
|
|
186
|
-
const value = rows[i]?.values[column.id]
|
|
187
|
-
|
|
188
|
-
if (preFilteredUniqueValues.has(value)) {
|
|
189
|
-
preFilteredUniqueValues.set(
|
|
190
|
-
value,
|
|
191
|
-
(preFilteredUniqueValues.get(value) ?? 0) + 1
|
|
192
|
-
)
|
|
193
|
-
} else {
|
|
194
|
-
preFilteredUniqueValues.set(value, 1)
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
if (value < preFilteredMinMaxValues[0]) {
|
|
198
|
-
preFilteredMinMaxValues[0] = value
|
|
199
|
-
} else if (value > preFilteredMinMaxValues[1]) {
|
|
200
|
-
preFilteredMinMaxValues[1] = value
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return {
|
|
205
|
-
preFilteredUniqueValues,
|
|
206
|
-
preFilteredMinMaxValues,
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
key: 'column.getFacetInfo',
|
|
211
|
-
debug: () => instance.options.debugAll ?? instance.options.debugColumns,
|
|
212
|
-
}
|
|
213
|
-
)
|
|
214
|
-
|
|
215
|
-
return {
|
|
216
|
-
filterType: column.filterType,
|
|
217
|
-
getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),
|
|
218
|
-
getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),
|
|
219
|
-
getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),
|
|
220
|
-
getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),
|
|
221
|
-
getColumnFilterValue: () => instance.getColumnFilterValue(column.id),
|
|
222
|
-
setColumnFilterValue: val =>
|
|
223
|
-
instance.setColumnFilterValue(column.id, val),
|
|
224
|
-
getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,
|
|
225
|
-
getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,
|
|
226
|
-
getPreFilteredRows: () => undefined,
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
getInstance: <TGenerics extends PartialGenerics>(
|
|
231
|
-
instance: TableInstance<TGenerics>
|
|
232
|
-
): FiltersInstance<TGenerics> => {
|
|
233
|
-
let registered = false
|
|
234
|
-
|
|
235
201
|
return {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
registered = true
|
|
239
|
-
return
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
if (instance.options.autoResetAll === false) {
|
|
243
|
-
return
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
if (instance.options.autoResetAll === true) {
|
|
247
|
-
instance.resetSorting()
|
|
248
|
-
} else {
|
|
249
|
-
if (instance.options.autoResetColumnFilters) {
|
|
250
|
-
instance.resetColumnFilters()
|
|
251
|
-
}
|
|
252
|
-
if (instance.options.autoResetGlobalFilter) {
|
|
253
|
-
instance.resetGlobalFilter()
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
},
|
|
257
|
-
getColumnAutoFilterFn: columnId => {
|
|
202
|
+
filterFn: column.filterFn,
|
|
203
|
+
getAutoFilterFn: () => {
|
|
258
204
|
const firstRow = instance.getCoreRowModel().flatRows[0]
|
|
259
205
|
|
|
260
|
-
const value = firstRow?.
|
|
206
|
+
const value = firstRow?.getValue(column.id)
|
|
261
207
|
|
|
262
208
|
if (typeof value === 'string') {
|
|
263
|
-
return
|
|
209
|
+
return filterFns.includesString
|
|
264
210
|
}
|
|
265
211
|
|
|
266
212
|
if (typeof value === 'number') {
|
|
267
|
-
return
|
|
213
|
+
return filterFns.inNumberRange
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (typeof value === 'boolean') {
|
|
217
|
+
return filterFns.equals
|
|
268
218
|
}
|
|
269
219
|
|
|
270
220
|
if (value !== null && typeof value === 'object') {
|
|
271
|
-
return
|
|
221
|
+
return filterFns.equals
|
|
272
222
|
}
|
|
273
223
|
|
|
274
224
|
if (Array.isArray(value)) {
|
|
275
|
-
return
|
|
225
|
+
return filterFns.arrIncludes
|
|
276
226
|
}
|
|
277
227
|
|
|
278
|
-
return
|
|
279
|
-
},
|
|
280
|
-
getGlobalAutoFilterFn: () => {
|
|
281
|
-
return filterTypes.includesString
|
|
228
|
+
return filterFns.weakEquals
|
|
282
229
|
},
|
|
283
|
-
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
? column.filterType
|
|
293
|
-
: column.filterType === 'auto'
|
|
294
|
-
? instance.getColumnAutoFilterFn(columnId)
|
|
295
|
-
: (userFilterTypes as Record<string, any>)?.[
|
|
296
|
-
column.filterType as string
|
|
230
|
+
getFilterFn: () => {
|
|
231
|
+
const userFilterFns = instance.options.filterFns
|
|
232
|
+
|
|
233
|
+
return isFunction(column.filterFn)
|
|
234
|
+
? column.filterFn
|
|
235
|
+
: column.filterFn === 'auto'
|
|
236
|
+
? column.getAutoFilterFn()
|
|
237
|
+
: (userFilterFns as Record<string, any>)?.[
|
|
238
|
+
column.filterFn as string
|
|
297
239
|
] ??
|
|
298
|
-
(
|
|
299
|
-
column.
|
|
240
|
+
(filterFns[
|
|
241
|
+
column.filterFn as BuiltInFilterFn
|
|
300
242
|
] as FilterFn<TGenerics>)
|
|
301
243
|
},
|
|
302
|
-
|
|
303
|
-
getGlobalFilterFn: () => {
|
|
304
|
-
const { filterTypes: userFilterTypes, globalFilterType } =
|
|
305
|
-
instance.options
|
|
306
|
-
|
|
307
|
-
return isFunction(globalFilterType)
|
|
308
|
-
? globalFilterType
|
|
309
|
-
: globalFilterType === 'auto'
|
|
310
|
-
? instance.getGlobalAutoFilterFn()
|
|
311
|
-
: (userFilterTypes as Record<string, any>)?.[
|
|
312
|
-
globalFilterType as string
|
|
313
|
-
] ??
|
|
314
|
-
(filterTypes[
|
|
315
|
-
globalFilterType as BuiltInFilterType
|
|
316
|
-
] as FilterFn<TGenerics>)
|
|
317
|
-
},
|
|
318
|
-
|
|
319
|
-
setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
|
|
320
|
-
const leafColumns = instance.getAllLeafColumns()
|
|
321
|
-
|
|
322
|
-
const updateFn = (old: ColumnFiltersState) => {
|
|
323
|
-
return functionalUpdate(updater, old)?.filter(filter => {
|
|
324
|
-
const column = leafColumns.find(d => d.id === filter.id)
|
|
325
|
-
|
|
326
|
-
if (column) {
|
|
327
|
-
const filterFn = instance.getColumnFilterFn(column.id)
|
|
328
|
-
|
|
329
|
-
if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
|
|
330
|
-
return false
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return true
|
|
335
|
-
})
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
instance.options.onColumnFiltersChange?.(
|
|
339
|
-
updateFn,
|
|
340
|
-
updateFn(instance.getState().columnFilters)
|
|
341
|
-
)
|
|
342
|
-
},
|
|
343
|
-
|
|
344
|
-
setGlobalFilter: updater => {
|
|
345
|
-
instance.options.onGlobalFilterChange?.(
|
|
346
|
-
updater,
|
|
347
|
-
functionalUpdate(updater, instance.getState().globalFilter)
|
|
348
|
-
)
|
|
349
|
-
},
|
|
350
|
-
|
|
351
|
-
resetGlobalFilter: () => {
|
|
352
|
-
instance.setGlobalFilter(undefined)
|
|
353
|
-
},
|
|
354
|
-
|
|
355
|
-
getColumnCanColumnFilter: columnId => {
|
|
356
|
-
const column = instance.getColumn(columnId)
|
|
357
|
-
|
|
358
|
-
if (!column) {
|
|
359
|
-
throw new Error()
|
|
360
|
-
}
|
|
361
|
-
|
|
244
|
+
getCanFilter: () => {
|
|
362
245
|
return (
|
|
363
|
-
column.
|
|
364
|
-
|
|
365
|
-
instance.options.enableFilters ??
|
|
366
|
-
instance.options.enableColumnFilters ??
|
|
367
|
-
column.defaultCanFilter ??
|
|
368
|
-
column.defaultCanColumnFilter ??
|
|
246
|
+
(column.columnDef.enableColumnFilter ?? true) &&
|
|
247
|
+
(instance.options.enableColumnFilters ?? true) &&
|
|
248
|
+
(instance.options.enableFilters ?? true) &&
|
|
369
249
|
!!column.accessorFn
|
|
370
250
|
)
|
|
371
251
|
},
|
|
372
252
|
|
|
373
|
-
|
|
374
|
-
const column = instance.getColumn(columnId)
|
|
375
|
-
|
|
376
|
-
if (!column) {
|
|
377
|
-
throw new Error()
|
|
378
|
-
}
|
|
379
|
-
|
|
253
|
+
getCanGlobalFilter: () => {
|
|
380
254
|
return (
|
|
381
|
-
(
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
column.defaultCanGlobalFilter ??
|
|
387
|
-
!!column.accessorFn) &&
|
|
388
|
-
instance.options.getColumnCanGlobalFilterFn?.(column)) ??
|
|
389
|
-
true
|
|
255
|
+
(column.columnDef.enableGlobalFilter ?? true) &&
|
|
256
|
+
(instance.options.enableGlobalFilter ?? true) &&
|
|
257
|
+
(instance.options.enableFilters ?? true) &&
|
|
258
|
+
(instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&
|
|
259
|
+
!!column.accessorFn
|
|
390
260
|
)
|
|
391
261
|
},
|
|
392
262
|
|
|
393
|
-
|
|
394
|
-
instance.getColumnFilterIndex(columnId) > -1,
|
|
263
|
+
getIsFiltered: () => column.getFilterIndex() > -1,
|
|
395
264
|
|
|
396
|
-
|
|
397
|
-
instance.getState().columnFilters?.find(d => d.id ===
|
|
265
|
+
getFilterValue: () =>
|
|
266
|
+
instance.getState().columnFilters?.find(d => d.id === column.id)?.value,
|
|
398
267
|
|
|
399
|
-
|
|
400
|
-
instance.getState().columnFilters?.findIndex(d => d.id ===
|
|
268
|
+
getFilterIndex: () =>
|
|
269
|
+
instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??
|
|
401
270
|
-1,
|
|
402
271
|
|
|
403
|
-
|
|
404
|
-
if (!columnId) return
|
|
405
|
-
|
|
272
|
+
setFilterValue: value => {
|
|
406
273
|
instance.setColumnFilters(old => {
|
|
407
|
-
const
|
|
408
|
-
|
|
409
|
-
if (!column) {
|
|
410
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
411
|
-
console.warn(
|
|
412
|
-
`React-Table: Could not find a column with id: ${columnId}`
|
|
413
|
-
)
|
|
414
|
-
}
|
|
415
|
-
throw new Error()
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
const filterFn = instance.getColumnFilterFn(column.id)
|
|
419
|
-
const previousfilter = old?.find(d => d.id === columnId)
|
|
274
|
+
const filterFn = column.getFilterFn()
|
|
275
|
+
const previousfilter = old?.find(d => d.id === column.id)
|
|
420
276
|
|
|
421
277
|
const newFilter = functionalUpdate(
|
|
422
278
|
value,
|
|
@@ -431,15 +287,15 @@ export const Filters = {
|
|
|
431
287
|
column
|
|
432
288
|
)
|
|
433
289
|
) {
|
|
434
|
-
return old?.filter(d => d.id !==
|
|
290
|
+
return old?.filter(d => d.id !== column.id) ?? []
|
|
435
291
|
}
|
|
436
292
|
|
|
437
|
-
const newFilterObj = { id:
|
|
293
|
+
const newFilterObj = { id: column.id, value: newFilter }
|
|
438
294
|
|
|
439
295
|
if (previousfilter) {
|
|
440
296
|
return (
|
|
441
297
|
old?.map(d => {
|
|
442
|
-
if (d.id ===
|
|
298
|
+
if (d.id === column.id) {
|
|
443
299
|
return newFilterObj
|
|
444
300
|
}
|
|
445
301
|
return d
|
|
@@ -454,105 +310,169 @@ export const Filters = {
|
|
|
454
310
|
return [newFilterObj]
|
|
455
311
|
})
|
|
456
312
|
},
|
|
313
|
+
_getFacetedRowModel:
|
|
314
|
+
instance.options.getFacetedRowModel &&
|
|
315
|
+
instance.options.getFacetedRowModel(instance, column.id),
|
|
316
|
+
getFacetedRowModel: () => {
|
|
317
|
+
if (!column._getFacetedRowModel) {
|
|
318
|
+
return instance.getPreFilteredRowModel()
|
|
319
|
+
}
|
|
457
320
|
|
|
458
|
-
|
|
459
|
-
instance.setColumnFilters(instance.initialState?.columnFilters ?? [])
|
|
321
|
+
return column._getFacetedRowModel()
|
|
460
322
|
},
|
|
323
|
+
_getFacetedUniqueValues:
|
|
324
|
+
instance.options.getFacetedUniqueValues &&
|
|
325
|
+
instance.options.getFacetedUniqueValues(instance, column.id),
|
|
326
|
+
getFacetedUniqueValues: () => {
|
|
327
|
+
if (!column._getFacetedUniqueValues) {
|
|
328
|
+
return new Map()
|
|
329
|
+
}
|
|
461
330
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
const columnFilteredRowModel = (() => {
|
|
472
|
-
if (!columnFilters?.length || !columnFiltersFn) {
|
|
473
|
-
return rowModel
|
|
474
|
-
}
|
|
331
|
+
return column._getFacetedUniqueValues()
|
|
332
|
+
},
|
|
333
|
+
_getFacetedMinMaxValues:
|
|
334
|
+
instance.options.getFacetedMinMaxValues &&
|
|
335
|
+
instance.options.getFacetedMinMaxValues(instance, column.id),
|
|
336
|
+
getFacetedMinMaxValues: () => {
|
|
337
|
+
if (!column._getFacetedMinMaxValues) {
|
|
338
|
+
return undefined
|
|
339
|
+
}
|
|
475
340
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
341
|
+
return column._getFacetedMinMaxValues()
|
|
342
|
+
},
|
|
343
|
+
// () => [column.getFacetedRowModel()],
|
|
344
|
+
// facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
|
|
348
|
+
createRow: <TGenerics extends TableGenerics>(
|
|
349
|
+
row: Row<TGenerics>,
|
|
350
|
+
instance: TableInstance<TGenerics>
|
|
351
|
+
): FiltersRow<TGenerics> => {
|
|
352
|
+
return {
|
|
353
|
+
columnFilters: {},
|
|
354
|
+
columnFiltersMeta: {},
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
|
|
358
|
+
createInstance: <TGenerics extends TableGenerics>(
|
|
359
|
+
instance: TableInstance<TGenerics>
|
|
360
|
+
): FiltersInstance<TGenerics> => {
|
|
361
|
+
return {
|
|
362
|
+
getGlobalAutoFilterFn: () => {
|
|
363
|
+
return filterFns.includesString
|
|
364
|
+
},
|
|
365
|
+
|
|
366
|
+
getGlobalFilterFn: () => {
|
|
367
|
+
const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =
|
|
368
|
+
instance.options
|
|
489
369
|
|
|
490
|
-
|
|
491
|
-
|
|
370
|
+
return isFunction(globalFilterFn)
|
|
371
|
+
? globalFilterFn
|
|
372
|
+
: globalFilterFn === 'auto'
|
|
373
|
+
? instance.getGlobalAutoFilterFn()
|
|
374
|
+
: (userFilterFns as Record<string, any>)?.[
|
|
375
|
+
globalFilterFn as string
|
|
376
|
+
] ??
|
|
377
|
+
(filterFns[
|
|
378
|
+
globalFilterFn as BuiltInFilterFn
|
|
379
|
+
] as FilterFn<TGenerics>)
|
|
380
|
+
},
|
|
381
|
+
|
|
382
|
+
setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
|
|
383
|
+
const leafColumns = instance.getAllLeafColumns()
|
|
384
|
+
|
|
385
|
+
const updateFn = (old: ColumnFiltersState) => {
|
|
386
|
+
return functionalUpdate(updater, old)?.filter(filter => {
|
|
387
|
+
const column = leafColumns.find(d => d.id === filter.id)
|
|
388
|
+
|
|
389
|
+
if (column) {
|
|
390
|
+
const filterFn = column.getFilterFn()
|
|
391
|
+
|
|
392
|
+
if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
|
|
393
|
+
return false
|
|
394
|
+
}
|
|
395
|
+
}
|
|
492
396
|
|
|
493
|
-
|
|
494
|
-
column.getPreFilteredRows = () => columnFilteredRowModel.rows
|
|
397
|
+
return true
|
|
495
398
|
})
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
instance.options.onColumnFiltersChange?.(updateFn)
|
|
402
|
+
},
|
|
496
403
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
404
|
+
setGlobalFilter: updater => {
|
|
405
|
+
instance.options.onGlobalFilterChange?.(updater)
|
|
406
|
+
},
|
|
407
|
+
|
|
408
|
+
resetGlobalFilter: defaultState => {
|
|
409
|
+
instance.setGlobalFilter(
|
|
410
|
+
defaultState ? undefined : instance.initialState.globalFilter
|
|
411
|
+
)
|
|
412
|
+
},
|
|
413
|
+
|
|
414
|
+
resetColumnFilters: defaultState => {
|
|
415
|
+
instance.setColumnFilters(
|
|
416
|
+
defaultState ? [] : instance.initialState?.columnFilters ?? []
|
|
417
|
+
)
|
|
418
|
+
},
|
|
419
|
+
|
|
420
|
+
getPreFilteredRowModel: () => instance.getCoreRowModel(),
|
|
421
|
+
_getFilteredRowModel:
|
|
422
|
+
instance.options.getFilteredRowModel &&
|
|
423
|
+
instance.options.getFilteredRowModel(instance),
|
|
424
|
+
getFilteredRowModel: () => {
|
|
425
|
+
if (
|
|
426
|
+
instance.options.manualFiltering ||
|
|
427
|
+
!instance._getFilteredRowModel
|
|
428
|
+
) {
|
|
429
|
+
return instance.getPreFilteredRowModel()
|
|
502
430
|
}
|
|
503
|
-
),
|
|
504
|
-
getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),
|
|
505
|
-
getGlobalFilteredRowModel: memo(
|
|
506
|
-
() => [
|
|
507
|
-
instance.getState().globalFilter,
|
|
508
|
-
instance.getColumnFilteredRowModel(),
|
|
509
|
-
instance.options.globalFilterRowsFn,
|
|
510
|
-
],
|
|
511
|
-
(globalFilterValue, columnFilteredRowModel, globalFiltersFn) => {
|
|
512
|
-
const globalFilteredRowModel = (() => {
|
|
513
|
-
if (!globalFiltersFn || !globalFilterValue) {
|
|
514
|
-
return columnFilteredRowModel
|
|
515
|
-
}
|
|
516
431
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
columnFilteredRowModel
|
|
520
|
-
)
|
|
521
|
-
})()
|
|
522
|
-
|
|
523
|
-
// Now that each filtered column has it's partially filtered rows,
|
|
524
|
-
// lets assign the final filtered rows to all of the other columns
|
|
525
|
-
const nonFilteredColumns = instance
|
|
526
|
-
.getAllLeafColumns()
|
|
527
|
-
.filter(
|
|
528
|
-
column =>
|
|
529
|
-
!instance
|
|
530
|
-
.getState()
|
|
531
|
-
.columnFilters?.find(d => d.id === column.id)
|
|
532
|
-
)
|
|
432
|
+
return instance._getFilteredRowModel()
|
|
433
|
+
},
|
|
533
434
|
|
|
534
|
-
|
|
535
|
-
|
|
435
|
+
_getGlobalFacetedRowModel:
|
|
436
|
+
instance.options.getFacetedRowModel &&
|
|
437
|
+
instance.options.getFacetedRowModel(instance, '__global__'),
|
|
536
438
|
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
439
|
+
getGlobalFacetedRowModel: () => {
|
|
440
|
+
if (
|
|
441
|
+
instance.options.manualFiltering ||
|
|
442
|
+
!instance._getGlobalFacetedRowModel
|
|
443
|
+
) {
|
|
444
|
+
return instance.getPreFilteredRowModel()
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
return instance._getGlobalFacetedRowModel()
|
|
448
|
+
},
|
|
540
449
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
instance._notifySortingReset()
|
|
548
|
-
},
|
|
450
|
+
_getGlobalFacetedUniqueValues:
|
|
451
|
+
instance.options.getFacetedUniqueValues &&
|
|
452
|
+
instance.options.getFacetedUniqueValues(instance, '__global__'),
|
|
453
|
+
getGlobalFacetedUniqueValues: () => {
|
|
454
|
+
if (!instance._getGlobalFacetedUniqueValues) {
|
|
455
|
+
return new Map()
|
|
549
456
|
}
|
|
550
|
-
|
|
457
|
+
|
|
458
|
+
return instance._getGlobalFacetedUniqueValues()
|
|
459
|
+
},
|
|
460
|
+
|
|
461
|
+
_getGlobalFacetedMinMaxValues:
|
|
462
|
+
instance.options.getFacetedMinMaxValues &&
|
|
463
|
+
instance.options.getFacetedMinMaxValues(instance, '__global__'),
|
|
464
|
+
getGlobalFacetedMinMaxValues: () => {
|
|
465
|
+
if (!instance._getGlobalFacetedMinMaxValues) {
|
|
466
|
+
return
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
return instance._getGlobalFacetedMinMaxValues()
|
|
470
|
+
},
|
|
551
471
|
}
|
|
552
472
|
},
|
|
553
473
|
}
|
|
554
474
|
|
|
555
|
-
export function shouldAutoRemoveFilter<TGenerics extends
|
|
475
|
+
export function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(
|
|
556
476
|
filterFn?: FilterFn<TGenerics>,
|
|
557
477
|
value?: any,
|
|
558
478
|
column?: Column<TGenerics>
|