@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.2
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/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 +359 -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 +120 -194
- package/src/features/Filters.ts +299 -381
- package/src/features/Grouping.ts +158 -220
- package/src/features/Ordering.ts +24 -25
- package/src/features/Pagination.ts +88 -73
- package/src/features/Pinning.ts +186 -63
- package/src/features/RowSelection.ts +107 -245
- package/src/features/Sorting.ts +125 -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/.DS_Store +0 -0
- 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,260 @@ 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?: (instance: TableInstance<any>) => () => RowModel<any>
|
|
106
|
+
|
|
79
107
|
// Column
|
|
80
108
|
onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
|
|
81
|
-
autoResetColumnFilters?: boolean
|
|
82
109
|
enableColumnFilters?: boolean
|
|
83
|
-
|
|
84
|
-
instance: TableInstance<TGenerics>,
|
|
85
|
-
coreRowModel: RowModel<TGenerics>
|
|
86
|
-
) => RowModel<TGenerics>
|
|
110
|
+
|
|
87
111
|
// Global
|
|
88
|
-
|
|
112
|
+
globalFilterFn?: FilterFnOption<TGenerics>
|
|
89
113
|
onGlobalFilterChange?: OnChangeFn<any>
|
|
90
|
-
enableGlobalFilters?: boolean
|
|
91
|
-
autoResetGlobalFilter?: boolean
|
|
92
114
|
enableGlobalFilter?: boolean
|
|
93
|
-
|
|
115
|
+
getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean
|
|
116
|
+
|
|
117
|
+
// Faceting
|
|
118
|
+
getFacetedRowModel?: (
|
|
94
119
|
instance: TableInstance<TGenerics>,
|
|
95
|
-
|
|
96
|
-
) => RowModel<TGenerics>
|
|
97
|
-
|
|
120
|
+
columnId: string
|
|
121
|
+
) => () => RowModel<TGenerics>
|
|
122
|
+
getFacetedUniqueValues?: (
|
|
123
|
+
instance: TableInstance<TGenerics>,
|
|
124
|
+
columnId: string
|
|
125
|
+
) => () => Map<any, number>
|
|
126
|
+
getFacetedMinMaxValues?: (
|
|
127
|
+
instance: TableInstance<TGenerics>,
|
|
128
|
+
columnId: string
|
|
129
|
+
) => () => undefined | [number, number]
|
|
98
130
|
}
|
|
99
131
|
|
|
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
|
-
|
|
132
|
+
export type FiltersInstance<TGenerics extends TableGenerics> = {
|
|
106
133
|
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
134
|
|
|
116
|
-
|
|
117
|
-
getPreFilteredRowModel: () => RowModel<TGenerics>
|
|
135
|
+
resetColumnFilters: (defaultState?: boolean) => void
|
|
118
136
|
|
|
119
137
|
// Column Filters
|
|
120
|
-
|
|
121
|
-
|
|
138
|
+
getPreFilteredRowModel: () => RowModel<TGenerics>
|
|
139
|
+
getFilteredRowModel: () => RowModel<TGenerics>
|
|
140
|
+
_getFilteredRowModel?: () => RowModel<TGenerics>
|
|
122
141
|
|
|
123
142
|
// Global Filters
|
|
124
143
|
setGlobalFilter: (updater: Updater<any>) => void
|
|
125
|
-
resetGlobalFilter: () => void
|
|
144
|
+
resetGlobalFilter: (defaultState?: boolean) => void
|
|
126
145
|
getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined
|
|
127
146
|
getGlobalFilterFn: () => FilterFn<TGenerics> | undefined
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
147
|
+
getGlobalFacetedRowModel: () => RowModel<TGenerics>
|
|
148
|
+
_getGlobalFacetedRowModel?: () => RowModel<TGenerics>
|
|
149
|
+
getGlobalFacetedUniqueValues: () => Map<any, number>
|
|
150
|
+
_getGlobalFacetedUniqueValues?: () => Map<any, number>
|
|
151
|
+
getGlobalFacetedMinMaxValues: () => undefined | [number, number]
|
|
152
|
+
_getGlobalFacetedMinMaxValues?: () => undefined | [number, number]
|
|
131
153
|
}
|
|
132
154
|
|
|
133
155
|
//
|
|
134
156
|
|
|
135
|
-
export
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
157
|
+
export const Filters: TableFeature = {
|
|
158
|
+
getDefaultColumnDef: <
|
|
159
|
+
TGenerics extends TableGenerics
|
|
160
|
+
>(): FiltersColumnDef<TGenerics> => {
|
|
161
|
+
return {
|
|
162
|
+
filterFn: 'auto',
|
|
163
|
+
}
|
|
164
|
+
},
|
|
142
165
|
|
|
143
|
-
|
|
144
|
-
getInitialState: (): FiltersTableState => {
|
|
166
|
+
getInitialState: (state): FiltersTableState => {
|
|
145
167
|
return {
|
|
146
168
|
columnFilters: [],
|
|
147
169
|
globalFilter: undefined,
|
|
170
|
+
// filtersProgress: 1,
|
|
171
|
+
// facetProgress: {},
|
|
172
|
+
...state,
|
|
148
173
|
}
|
|
149
174
|
},
|
|
150
175
|
|
|
151
|
-
getDefaultOptions: <TGenerics extends
|
|
176
|
+
getDefaultOptions: <TGenerics extends TableGenerics>(
|
|
152
177
|
instance: TableInstance<TGenerics>
|
|
153
178
|
): FiltersOptions<TGenerics> => {
|
|
154
179
|
return {
|
|
155
180
|
onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
|
|
156
181
|
onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
globalFilterType: 'auto',
|
|
161
|
-
getColumnCanGlobalFilterFn: column => {
|
|
182
|
+
filterFromLeafRows: false,
|
|
183
|
+
globalFilterFn: 'auto',
|
|
184
|
+
getColumnCanGlobalFilter: column => {
|
|
162
185
|
const value = instance
|
|
163
186
|
.getCoreRowModel()
|
|
164
|
-
.flatRows[0]?.
|
|
187
|
+
.flatRows[0]?._getAllCellsByColumnId()
|
|
188
|
+
[column.id]?.getValue()
|
|
165
189
|
|
|
166
190
|
return typeof value === 'string'
|
|
167
191
|
},
|
|
168
192
|
}
|
|
169
193
|
},
|
|
170
194
|
|
|
171
|
-
createColumn: <TGenerics extends
|
|
195
|
+
createColumn: <TGenerics extends TableGenerics>(
|
|
172
196
|
column: Column<TGenerics>,
|
|
173
197
|
instance: TableInstance<TGenerics>
|
|
174
198
|
): 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
199
|
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 => {
|
|
200
|
+
filterFn: column.filterFn,
|
|
201
|
+
getAutoFilterFn: () => {
|
|
258
202
|
const firstRow = instance.getCoreRowModel().flatRows[0]
|
|
259
203
|
|
|
260
|
-
const value = firstRow?.
|
|
204
|
+
const value = firstRow?.getValue(column.id)
|
|
261
205
|
|
|
262
206
|
if (typeof value === 'string') {
|
|
263
|
-
return
|
|
207
|
+
return filterFns.includesString
|
|
264
208
|
}
|
|
265
209
|
|
|
266
210
|
if (typeof value === 'number') {
|
|
267
|
-
return
|
|
211
|
+
return filterFns.inNumberRange
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (typeof value === 'boolean') {
|
|
215
|
+
return filterFns.equals
|
|
268
216
|
}
|
|
269
217
|
|
|
270
218
|
if (value !== null && typeof value === 'object') {
|
|
271
|
-
return
|
|
219
|
+
return filterFns.equals
|
|
272
220
|
}
|
|
273
221
|
|
|
274
222
|
if (Array.isArray(value)) {
|
|
275
|
-
return
|
|
223
|
+
return filterFns.arrIncludes
|
|
276
224
|
}
|
|
277
225
|
|
|
278
|
-
return
|
|
279
|
-
},
|
|
280
|
-
getGlobalAutoFilterFn: () => {
|
|
281
|
-
return filterTypes.includesString
|
|
226
|
+
return filterFns.weakEquals
|
|
282
227
|
},
|
|
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
|
|
228
|
+
getFilterFn: () => {
|
|
229
|
+
const userFilterFns = instance.options.filterFns
|
|
230
|
+
|
|
231
|
+
return isFunction(column.filterFn)
|
|
232
|
+
? column.filterFn
|
|
233
|
+
: column.filterFn === 'auto'
|
|
234
|
+
? column.getAutoFilterFn()
|
|
235
|
+
: (userFilterFns as Record<string, any>)?.[
|
|
236
|
+
column.filterFn as string
|
|
297
237
|
] ??
|
|
298
|
-
(
|
|
299
|
-
column.
|
|
238
|
+
(filterFns[
|
|
239
|
+
column.filterFn as BuiltInFilterFn
|
|
300
240
|
] as FilterFn<TGenerics>)
|
|
301
241
|
},
|
|
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
|
-
|
|
242
|
+
getCanFilter: () => {
|
|
362
243
|
return (
|
|
363
|
-
column.
|
|
364
|
-
|
|
365
|
-
instance.options.enableFilters ??
|
|
366
|
-
instance.options.enableColumnFilters ??
|
|
367
|
-
column.defaultCanFilter ??
|
|
368
|
-
column.defaultCanColumnFilter ??
|
|
244
|
+
(column.columnDef.enableColumnFilter ?? true) &&
|
|
245
|
+
(instance.options.enableColumnFilters ?? true) &&
|
|
246
|
+
(instance.options.enableFilters ?? true) &&
|
|
369
247
|
!!column.accessorFn
|
|
370
248
|
)
|
|
371
249
|
},
|
|
372
250
|
|
|
373
|
-
|
|
374
|
-
const column = instance.getColumn(columnId)
|
|
375
|
-
|
|
376
|
-
if (!column) {
|
|
377
|
-
throw new Error()
|
|
378
|
-
}
|
|
379
|
-
|
|
251
|
+
getCanGlobalFilter: () => {
|
|
380
252
|
return (
|
|
381
|
-
(
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
column.defaultCanGlobalFilter ??
|
|
387
|
-
!!column.accessorFn) &&
|
|
388
|
-
instance.options.getColumnCanGlobalFilterFn?.(column)) ??
|
|
389
|
-
true
|
|
253
|
+
(column.columnDef.enableGlobalFilter ?? true) &&
|
|
254
|
+
(instance.options.enableGlobalFilter ?? true) &&
|
|
255
|
+
(instance.options.enableFilters ?? true) &&
|
|
256
|
+
(instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&
|
|
257
|
+
!!column.accessorFn
|
|
390
258
|
)
|
|
391
259
|
},
|
|
392
260
|
|
|
393
|
-
|
|
394
|
-
instance.getColumnFilterIndex(columnId) > -1,
|
|
261
|
+
getIsFiltered: () => column.getFilterIndex() > -1,
|
|
395
262
|
|
|
396
|
-
|
|
397
|
-
instance.getState().columnFilters?.find(d => d.id ===
|
|
263
|
+
getFilterValue: () =>
|
|
264
|
+
instance.getState().columnFilters?.find(d => d.id === column.id)?.value,
|
|
398
265
|
|
|
399
|
-
|
|
400
|
-
instance.getState().columnFilters?.findIndex(d => d.id ===
|
|
266
|
+
getFilterIndex: () =>
|
|
267
|
+
instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??
|
|
401
268
|
-1,
|
|
402
269
|
|
|
403
|
-
|
|
404
|
-
if (!columnId) return
|
|
405
|
-
|
|
270
|
+
setFilterValue: value => {
|
|
406
271
|
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)
|
|
272
|
+
const filterFn = column.getFilterFn()
|
|
273
|
+
const previousfilter = old?.find(d => d.id === column.id)
|
|
420
274
|
|
|
421
275
|
const newFilter = functionalUpdate(
|
|
422
276
|
value,
|
|
@@ -431,15 +285,15 @@ export const Filters = {
|
|
|
431
285
|
column
|
|
432
286
|
)
|
|
433
287
|
) {
|
|
434
|
-
return old?.filter(d => d.id !==
|
|
288
|
+
return old?.filter(d => d.id !== column.id) ?? []
|
|
435
289
|
}
|
|
436
290
|
|
|
437
|
-
const newFilterObj = { id:
|
|
291
|
+
const newFilterObj = { id: column.id, value: newFilter }
|
|
438
292
|
|
|
439
293
|
if (previousfilter) {
|
|
440
294
|
return (
|
|
441
295
|
old?.map(d => {
|
|
442
|
-
if (d.id ===
|
|
296
|
+
if (d.id === column.id) {
|
|
443
297
|
return newFilterObj
|
|
444
298
|
}
|
|
445
299
|
return d
|
|
@@ -454,105 +308,169 @@ export const Filters = {
|
|
|
454
308
|
return [newFilterObj]
|
|
455
309
|
})
|
|
456
310
|
},
|
|
311
|
+
_getFacetedRowModel:
|
|
312
|
+
instance.options.getFacetedRowModel &&
|
|
313
|
+
instance.options.getFacetedRowModel(instance, column.id),
|
|
314
|
+
getFacetedRowModel: () => {
|
|
315
|
+
if (!column._getFacetedRowModel) {
|
|
316
|
+
return instance.getPreFilteredRowModel()
|
|
317
|
+
}
|
|
457
318
|
|
|
458
|
-
|
|
459
|
-
instance.setColumnFilters(instance.initialState?.columnFilters ?? [])
|
|
319
|
+
return column._getFacetedRowModel()
|
|
460
320
|
},
|
|
321
|
+
_getFacetedUniqueValues:
|
|
322
|
+
instance.options.getFacetedUniqueValues &&
|
|
323
|
+
instance.options.getFacetedUniqueValues(instance, column.id),
|
|
324
|
+
getFacetedUniqueValues: () => {
|
|
325
|
+
if (!column._getFacetedUniqueValues) {
|
|
326
|
+
return new Map()
|
|
327
|
+
}
|
|
461
328
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
const columnFilteredRowModel = (() => {
|
|
472
|
-
if (!columnFilters?.length || !columnFiltersFn) {
|
|
473
|
-
return rowModel
|
|
474
|
-
}
|
|
329
|
+
return column._getFacetedUniqueValues()
|
|
330
|
+
},
|
|
331
|
+
_getFacetedMinMaxValues:
|
|
332
|
+
instance.options.getFacetedMinMaxValues &&
|
|
333
|
+
instance.options.getFacetedMinMaxValues(instance, column.id),
|
|
334
|
+
getFacetedMinMaxValues: () => {
|
|
335
|
+
if (!column._getFacetedMinMaxValues) {
|
|
336
|
+
return undefined
|
|
337
|
+
}
|
|
475
338
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
.getAllLeafColumns()
|
|
483
|
-
.filter(
|
|
484
|
-
column =>
|
|
485
|
-
!instance
|
|
486
|
-
.getState()
|
|
487
|
-
.columnFilters?.find(d => d.id === column.id)
|
|
488
|
-
)
|
|
339
|
+
return column._getFacetedMinMaxValues()
|
|
340
|
+
},
|
|
341
|
+
// () => [column.getFacetedRowModel()],
|
|
342
|
+
// facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),
|
|
343
|
+
}
|
|
344
|
+
},
|
|
489
345
|
|
|
490
|
-
|
|
491
|
-
|
|
346
|
+
createRow: <TGenerics extends TableGenerics>(
|
|
347
|
+
row: Row<TGenerics>,
|
|
348
|
+
instance: TableInstance<TGenerics>
|
|
349
|
+
): FiltersRow<TGenerics> => {
|
|
350
|
+
return {
|
|
351
|
+
columnFilters: {},
|
|
352
|
+
columnFiltersMeta: {},
|
|
353
|
+
}
|
|
354
|
+
},
|
|
492
355
|
|
|
493
|
-
|
|
494
|
-
|
|
356
|
+
createInstance: <TGenerics extends TableGenerics>(
|
|
357
|
+
instance: TableInstance<TGenerics>
|
|
358
|
+
): FiltersInstance<TGenerics> => {
|
|
359
|
+
return {
|
|
360
|
+
getGlobalAutoFilterFn: () => {
|
|
361
|
+
return filterFns.includesString
|
|
362
|
+
},
|
|
363
|
+
|
|
364
|
+
getGlobalFilterFn: () => {
|
|
365
|
+
const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =
|
|
366
|
+
instance.options
|
|
367
|
+
|
|
368
|
+
return isFunction(globalFilterFn)
|
|
369
|
+
? globalFilterFn
|
|
370
|
+
: globalFilterFn === 'auto'
|
|
371
|
+
? instance.getGlobalAutoFilterFn()
|
|
372
|
+
: (userFilterFns as Record<string, any>)?.[
|
|
373
|
+
globalFilterFn as string
|
|
374
|
+
] ??
|
|
375
|
+
(filterFns[
|
|
376
|
+
globalFilterFn as BuiltInFilterFn
|
|
377
|
+
] as FilterFn<TGenerics>)
|
|
378
|
+
},
|
|
379
|
+
|
|
380
|
+
setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
|
|
381
|
+
const leafColumns = instance.getAllLeafColumns()
|
|
382
|
+
|
|
383
|
+
const updateFn = (old: ColumnFiltersState) => {
|
|
384
|
+
return functionalUpdate(updater, old)?.filter(filter => {
|
|
385
|
+
const column = leafColumns.find(d => d.id === filter.id)
|
|
386
|
+
|
|
387
|
+
if (column) {
|
|
388
|
+
const filterFn = column.getFilterFn()
|
|
389
|
+
|
|
390
|
+
if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
|
|
391
|
+
return false
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
return true
|
|
495
396
|
})
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
instance.options.onColumnFiltersChange?.(updateFn)
|
|
400
|
+
},
|
|
401
|
+
|
|
402
|
+
setGlobalFilter: updater => {
|
|
403
|
+
instance.options.onGlobalFilterChange?.(updater)
|
|
404
|
+
},
|
|
405
|
+
|
|
406
|
+
resetGlobalFilter: defaultState => {
|
|
407
|
+
instance.setGlobalFilter(
|
|
408
|
+
defaultState ? undefined : instance.initialState.globalFilter
|
|
409
|
+
)
|
|
410
|
+
},
|
|
411
|
+
|
|
412
|
+
resetColumnFilters: defaultState => {
|
|
413
|
+
instance.setColumnFilters(
|
|
414
|
+
defaultState ? [] : instance.initialState?.columnFilters ?? []
|
|
415
|
+
)
|
|
416
|
+
},
|
|
496
417
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
418
|
+
getPreFilteredRowModel: () => instance.getCoreRowModel(),
|
|
419
|
+
_getFilteredRowModel:
|
|
420
|
+
instance.options.getFilteredRowModel &&
|
|
421
|
+
instance.options.getFilteredRowModel(instance),
|
|
422
|
+
getFilteredRowModel: () => {
|
|
423
|
+
if (
|
|
424
|
+
instance.options.manualFiltering ||
|
|
425
|
+
!instance._getFilteredRowModel
|
|
426
|
+
) {
|
|
427
|
+
return instance.getPreFilteredRowModel()
|
|
502
428
|
}
|
|
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
429
|
|
|
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
|
-
)
|
|
430
|
+
return instance._getFilteredRowModel()
|
|
431
|
+
},
|
|
533
432
|
|
|
534
|
-
|
|
535
|
-
|
|
433
|
+
_getGlobalFacetedRowModel:
|
|
434
|
+
instance.options.getFacetedRowModel &&
|
|
435
|
+
instance.options.getFacetedRowModel(instance, '__global__'),
|
|
536
436
|
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
437
|
+
getGlobalFacetedRowModel: () => {
|
|
438
|
+
if (
|
|
439
|
+
instance.options.manualFiltering ||
|
|
440
|
+
!instance._getGlobalFacetedRowModel
|
|
441
|
+
) {
|
|
442
|
+
return instance.getPreFilteredRowModel()
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
return instance._getGlobalFacetedRowModel()
|
|
446
|
+
},
|
|
540
447
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
instance._notifySortingReset()
|
|
548
|
-
},
|
|
448
|
+
_getGlobalFacetedUniqueValues:
|
|
449
|
+
instance.options.getFacetedUniqueValues &&
|
|
450
|
+
instance.options.getFacetedUniqueValues(instance, '__global__'),
|
|
451
|
+
getGlobalFacetedUniqueValues: () => {
|
|
452
|
+
if (!instance._getGlobalFacetedUniqueValues) {
|
|
453
|
+
return new Map()
|
|
549
454
|
}
|
|
550
|
-
|
|
455
|
+
|
|
456
|
+
return instance._getGlobalFacetedUniqueValues()
|
|
457
|
+
},
|
|
458
|
+
|
|
459
|
+
_getGlobalFacetedMinMaxValues:
|
|
460
|
+
instance.options.getFacetedMinMaxValues &&
|
|
461
|
+
instance.options.getFacetedMinMaxValues(instance, '__global__'),
|
|
462
|
+
getGlobalFacetedMinMaxValues: () => {
|
|
463
|
+
if (!instance._getGlobalFacetedMinMaxValues) {
|
|
464
|
+
return
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
return instance._getGlobalFacetedMinMaxValues()
|
|
468
|
+
},
|
|
551
469
|
}
|
|
552
470
|
},
|
|
553
471
|
}
|
|
554
472
|
|
|
555
|
-
export function shouldAutoRemoveFilter<TGenerics extends
|
|
473
|
+
export function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(
|
|
556
474
|
filterFn?: FilterFn<TGenerics>,
|
|
557
475
|
value?: any,
|
|
558
476
|
column?: Column<TGenerics>
|