@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.69
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 +25 -37
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/core.js +167 -48
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +24 -40
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +28 -34
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +136 -225
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +57 -84
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +79 -126
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +137 -288
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +71 -117
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +125 -205
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +32 -44
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +79 -82
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +99 -178
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +133 -204
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +32 -22
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +67 -136
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +56 -118
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +48 -72
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +13 -13
- package/build/cjs/sortingFns.js +21 -21
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +49 -55
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +98 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +18 -22
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +48 -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 +130 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +126 -136
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +39 -39
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +112 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +36 -207
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +2024 -2971
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +421 -481
- package/build/types/core.d.ts +3 -5
- package/build/types/features/Cells.d.ts +1 -1
- package/build/types/features/ColumnSizing.d.ts +4 -15
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Expanding.d.ts +2 -7
- package/build/types/features/Filters.d.ts +24 -21
- package/build/types/features/Grouping.d.ts +5 -11
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +3 -3
- package/build/types/features/Pinning.d.ts +1 -5
- package/build/types/features/RowSelection.d.ts +2 -8
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/features/Sorting.d.ts +5 -15
- package/build/types/features/Visibility.d.ts +1 -4
- package/build/types/index.d.ts +6 -4
- package/build/types/types.d.ts +3 -15
- package/build/types/utils/filterRowsUtils.d.ts +3 -3
- package/build/types/utils/getCoreRowModel.d.ts +2 -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/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
- package/build/types/utils/getGroupedRowModel.d.ts +1 -1
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +1 -17
- package/build/umd/index.development.js +2053 -3002
- 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.ts +197 -47
- package/src/features/Cells.ts +7 -11
- package/src/features/ColumnSizing.ts +89 -139
- package/src/features/Columns.ts +10 -13
- package/src/features/Expanding.ts +62 -107
- package/src/features/Filters.ts +201 -308
- package/src/features/Grouping.ts +55 -81
- package/src/features/Headers.ts +18 -40
- package/src/features/Ordering.ts +6 -4
- package/src/features/Pagination.ts +31 -17
- package/src/features/Pinning.ts +79 -96
- package/src/features/RowSelection.ts +68 -118
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +47 -103
- package/src/features/Visibility.ts +24 -47
- package/src/filterFns.ts +9 -9
- package/src/index.ts +12 -4
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +3 -18
- package/src/utils/filterRowsUtils.ts +47 -68
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
- package/src/utils/getExpandedRowModel.ts +2 -2
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +150 -0
- package/src/utils/getGroupedRowModel.ts +53 -62
- package/src/utils/getPaginationRowModel.ts +1 -1
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
- package/src/utils.ts +28 -236
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
- package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelSync.js +0 -102
- package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +0 -130
- package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
- package/build/cjs/utils/getSortedRowModelSync.js +0 -118
- package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
- package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
- package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
- package/src/utils/getCoreRowModelAsync.ts +0 -104
- package/src/utils/getFilteredRowModelAsync.ts +0 -49
- package/src/utils/getFilteredRowModelSync.ts +0 -150
- package/src/utils/getSortedRowModelAsync.ts +0 -200
package/src/features/Grouping.ts
CHANGED
|
@@ -45,11 +45,10 @@ export type GroupingColumnDef<TGenerics extends TableGenerics> = {
|
|
|
45
45
|
row: Row<TGenerics>
|
|
46
46
|
column: Column<TGenerics>
|
|
47
47
|
cell: Cell<TGenerics>
|
|
48
|
-
|
|
48
|
+
getValue: () => TGenerics['Value']
|
|
49
49
|
}
|
|
50
50
|
>
|
|
51
51
|
enableGrouping?: boolean
|
|
52
|
-
defaultCanGroup?: boolean
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
export type GroupingColumn<TGenerics extends TableGenerics> = {
|
|
@@ -59,12 +58,15 @@ export type GroupingColumn<TGenerics extends TableGenerics> = {
|
|
|
59
58
|
getGroupedIndex: () => number
|
|
60
59
|
toggleGrouping: () => void
|
|
61
60
|
getToggleGroupingHandler: () => () => void
|
|
61
|
+
getColumnAutoAggregationFn: () => AggregationFn<TGenerics> | undefined
|
|
62
|
+
getColumnAggregationFn: () => AggregationFn<TGenerics> | undefined
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
export type GroupingRow = {
|
|
65
66
|
groupingColumnId?: string
|
|
66
67
|
groupingValue?: any
|
|
67
68
|
getIsGrouped: () => boolean
|
|
69
|
+
groupingValuesCache: Record<string, any>
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
export type GroupingCell<TGenerics extends TableGenerics> = {
|
|
@@ -96,20 +98,8 @@ export type GroupingOptions<TGenerics extends TableGenerics> = {
|
|
|
96
98
|
export type GroupingColumnMode = false | 'reorder' | 'remove'
|
|
97
99
|
|
|
98
100
|
export type GroupingInstance<TGenerics extends TableGenerics> = {
|
|
99
|
-
getColumnAutoAggregationFn: (
|
|
100
|
-
columnId: string
|
|
101
|
-
) => AggregationFn<TGenerics> | undefined
|
|
102
|
-
getColumnAggregationFn: (
|
|
103
|
-
columnId: string
|
|
104
|
-
) => AggregationFn<TGenerics> | undefined
|
|
105
101
|
setGrouping: (updater: Updater<GroupingState>) => void
|
|
106
|
-
resetGrouping: () => void
|
|
107
|
-
toggleColumnGrouping: (columnId: string) => void
|
|
108
|
-
getColumnCanGroup: (columnId: string) => boolean
|
|
109
|
-
getColumnIsGrouped: (columnId: string) => boolean
|
|
110
|
-
getColumnGroupedIndex: (columnId: string) => number
|
|
111
|
-
getToggleGroupingHandler: (columnId: string) => undefined | (() => void)
|
|
112
|
-
getRowIsGrouped: (rowId: string) => boolean
|
|
102
|
+
resetGrouping: (defaultState?: boolean) => void
|
|
113
103
|
getPreGroupedRowModel: () => RowModel<TGenerics>
|
|
114
104
|
getGroupedRowModel: () => RowModel<TGenerics>
|
|
115
105
|
_getGroupedRowModel?: () => RowModel<TGenerics>
|
|
@@ -147,24 +137,45 @@ export const Grouping: TableFeature = {
|
|
|
147
137
|
instance: TableInstance<TGenerics>
|
|
148
138
|
): GroupingColumn<TGenerics> => {
|
|
149
139
|
return {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
instance.getToggleGroupingHandler(column.id)!,
|
|
157
|
-
}
|
|
158
|
-
},
|
|
140
|
+
toggleGrouping: () => {
|
|
141
|
+
instance.setGrouping(old => {
|
|
142
|
+
// Find any existing grouping for this column
|
|
143
|
+
if (old?.includes(column.id)) {
|
|
144
|
+
return old.filter(d => d !== column.id)
|
|
145
|
+
}
|
|
159
146
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
147
|
+
return [...(old ?? []), column.id]
|
|
148
|
+
})
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
getCanGroup: () => {
|
|
152
|
+
return (
|
|
153
|
+
column.enableGrouping ??
|
|
154
|
+
true ??
|
|
155
|
+
instance.options.enableGrouping ??
|
|
156
|
+
true ??
|
|
157
|
+
!!column.accessorFn
|
|
158
|
+
)
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
getIsGrouped: () => {
|
|
162
|
+
return instance.getState().grouping?.includes(column.id)
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),
|
|
166
|
+
|
|
167
|
+
getToggleGroupingHandler: () => {
|
|
168
|
+
const canGroup = column.getCanGroup()
|
|
169
|
+
|
|
170
|
+
return () => {
|
|
171
|
+
if (!canGroup) return
|
|
172
|
+
column.toggleGrouping()
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
getColumnAutoAggregationFn: () => {
|
|
165
176
|
const firstRow = instance.getCoreRowModel().flatRows[0]
|
|
166
177
|
|
|
167
|
-
const value = firstRow?.
|
|
178
|
+
const value = firstRow?.getValue(column.id)
|
|
168
179
|
|
|
169
180
|
if (typeof value === 'number') {
|
|
170
181
|
return aggregationFns.sum
|
|
@@ -176,8 +187,7 @@ export const Grouping: TableFeature = {
|
|
|
176
187
|
|
|
177
188
|
return aggregationFns.count
|
|
178
189
|
},
|
|
179
|
-
getColumnAggregationFn:
|
|
180
|
-
const column = instance.getColumn(columnId)
|
|
190
|
+
getColumnAggregationFn: () => {
|
|
181
191
|
const userAggregationFns = instance.options.aggregationFns
|
|
182
192
|
|
|
183
193
|
if (!column) {
|
|
@@ -187,7 +197,7 @@ export const Grouping: TableFeature = {
|
|
|
187
197
|
return isFunction(column.aggregationFn)
|
|
188
198
|
? column.aggregationFn
|
|
189
199
|
: column.aggregationFn === 'auto'
|
|
190
|
-
?
|
|
200
|
+
? column.getColumnAutoAggregationFn()
|
|
191
201
|
: (userAggregationFns as Record<string, any>)?.[
|
|
192
202
|
column.aggregationFn as string
|
|
193
203
|
] ??
|
|
@@ -195,58 +205,21 @@ export const Grouping: TableFeature = {
|
|
|
195
205
|
column.aggregationFn as BuiltInAggregationFn
|
|
196
206
|
] as AggregationFn<TGenerics>)
|
|
197
207
|
},
|
|
208
|
+
}
|
|
209
|
+
},
|
|
198
210
|
|
|
211
|
+
createInstance: <TGenerics extends TableGenerics>(
|
|
212
|
+
instance: TableInstance<TGenerics>
|
|
213
|
+
): GroupingInstance<TGenerics> => {
|
|
214
|
+
return {
|
|
199
215
|
setGrouping: updater => instance.options.onGroupingChange?.(updater),
|
|
200
216
|
|
|
201
|
-
|
|
202
|
-
instance.setGrouping(
|
|
203
|
-
|
|
204
|
-
if (old?.includes(columnId)) {
|
|
205
|
-
return old.filter(d => d !== columnId)
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
return [...(old ?? []), columnId]
|
|
209
|
-
})
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
getColumnCanGroup: columnId => {
|
|
213
|
-
const column = instance.getColumn(columnId)
|
|
214
|
-
|
|
215
|
-
if (!column) {
|
|
216
|
-
throw new Error()
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
return (
|
|
220
|
-
column.enableGrouping ??
|
|
221
|
-
instance.options.enableGrouping ??
|
|
222
|
-
column.defaultCanGroup ??
|
|
223
|
-
!!column.accessorFn
|
|
217
|
+
resetGrouping: defaultState => {
|
|
218
|
+
instance.setGrouping(
|
|
219
|
+
defaultState ? [] : instance.initialState?.grouping ?? []
|
|
224
220
|
)
|
|
225
221
|
},
|
|
226
222
|
|
|
227
|
-
getColumnIsGrouped: columnId => {
|
|
228
|
-
return instance.getState().grouping?.includes(columnId)
|
|
229
|
-
},
|
|
230
|
-
|
|
231
|
-
getColumnGroupedIndex: columnId =>
|
|
232
|
-
instance.getState().grouping?.indexOf(columnId),
|
|
233
|
-
|
|
234
|
-
resetGrouping: () => {
|
|
235
|
-
instance.setGrouping(instance.initialState?.grouping ?? [])
|
|
236
|
-
},
|
|
237
|
-
|
|
238
|
-
getToggleGroupingHandler: columnId => {
|
|
239
|
-
const column = instance.getColumn(columnId)
|
|
240
|
-
const canGroup = column.getCanGroup()
|
|
241
|
-
|
|
242
|
-
return () => {
|
|
243
|
-
if (!canGroup) return
|
|
244
|
-
column.toggleGrouping?.()
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
|
|
248
|
-
getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,
|
|
249
|
-
|
|
250
223
|
getPreGroupedRowModel: () => instance.getSortedRowModel(),
|
|
251
224
|
getGroupedRowModel: () => {
|
|
252
225
|
if (
|
|
@@ -271,7 +244,8 @@ export const Grouping: TableFeature = {
|
|
|
271
244
|
instance: TableInstance<TGenerics>
|
|
272
245
|
): GroupingRow => {
|
|
273
246
|
return {
|
|
274
|
-
getIsGrouped: () =>
|
|
247
|
+
getIsGrouped: () => !!row.groupingColumnId,
|
|
248
|
+
groupingValuesCache: {},
|
|
275
249
|
}
|
|
276
250
|
},
|
|
277
251
|
|
|
@@ -298,7 +272,7 @@ export const Grouping: TableFeature = {
|
|
|
298
272
|
column,
|
|
299
273
|
row,
|
|
300
274
|
cell,
|
|
301
|
-
|
|
275
|
+
getValue: cell.getValue,
|
|
302
276
|
})
|
|
303
277
|
: null
|
|
304
278
|
},
|
package/src/features/Headers.ts
CHANGED
|
@@ -72,30 +72,6 @@ export const Headers = {
|
|
|
72
72
|
colSpan: 0,
|
|
73
73
|
rowSpan: 0,
|
|
74
74
|
headerGroup: null!,
|
|
75
|
-
getSize: () => {
|
|
76
|
-
let sum = 0
|
|
77
|
-
|
|
78
|
-
const recurse = (header: CoreHeader<TGenerics>) => {
|
|
79
|
-
if (header.subHeaders.length) {
|
|
80
|
-
header.subHeaders.forEach(recurse)
|
|
81
|
-
} else {
|
|
82
|
-
sum += header.column.getSize() ?? 0
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
recurse(header)
|
|
87
|
-
|
|
88
|
-
return sum
|
|
89
|
-
},
|
|
90
|
-
getStart: () => {
|
|
91
|
-
if (header.index > 0) {
|
|
92
|
-
const prevSiblingHeader =
|
|
93
|
-
header.headerGroup.headers[header.index - 1]
|
|
94
|
-
return prevSiblingHeader.getStart() + prevSiblingHeader.getSize()
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return 0
|
|
98
|
-
},
|
|
99
75
|
getLeafHeaders: (): Header<TGenerics>[] => {
|
|
100
76
|
const leafHeaders: CoreHeader<TGenerics>[] = []
|
|
101
77
|
|
|
@@ -163,7 +139,7 @@ export const Headers = {
|
|
|
163
139
|
return headerGroups
|
|
164
140
|
},
|
|
165
141
|
{
|
|
166
|
-
key: process.env.NODE_ENV === '
|
|
142
|
+
key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
|
|
167
143
|
debug: () =>
|
|
168
144
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
169
145
|
}
|
|
@@ -183,7 +159,8 @@ export const Headers = {
|
|
|
183
159
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'center')
|
|
184
160
|
},
|
|
185
161
|
{
|
|
186
|
-
key:
|
|
162
|
+
key:
|
|
163
|
+
process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
|
|
187
164
|
debug: () =>
|
|
188
165
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
189
166
|
}
|
|
@@ -200,7 +177,7 @@ export const Headers = {
|
|
|
200
177
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'left')
|
|
201
178
|
},
|
|
202
179
|
{
|
|
203
|
-
key: process.env.NODE_ENV === '
|
|
180
|
+
key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
|
|
204
181
|
debug: () =>
|
|
205
182
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
206
183
|
}
|
|
@@ -217,7 +194,7 @@ export const Headers = {
|
|
|
217
194
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'right')
|
|
218
195
|
},
|
|
219
196
|
{
|
|
220
|
-
key: process.env.NODE_ENV === '
|
|
197
|
+
key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
|
|
221
198
|
debug: () =>
|
|
222
199
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
223
200
|
}
|
|
@@ -231,7 +208,7 @@ export const Headers = {
|
|
|
231
208
|
return [...headerGroups].reverse()
|
|
232
209
|
},
|
|
233
210
|
{
|
|
234
|
-
key: process.env.NODE_ENV === '
|
|
211
|
+
key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
|
|
235
212
|
debug: () =>
|
|
236
213
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
237
214
|
}
|
|
@@ -243,7 +220,7 @@ export const Headers = {
|
|
|
243
220
|
return [...headerGroups].reverse()
|
|
244
221
|
},
|
|
245
222
|
{
|
|
246
|
-
key: process.env.NODE_ENV === '
|
|
223
|
+
key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
|
|
247
224
|
debug: () =>
|
|
248
225
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
249
226
|
}
|
|
@@ -255,7 +232,8 @@ export const Headers = {
|
|
|
255
232
|
return [...headerGroups].reverse()
|
|
256
233
|
},
|
|
257
234
|
{
|
|
258
|
-
key:
|
|
235
|
+
key:
|
|
236
|
+
process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
|
|
259
237
|
debug: () =>
|
|
260
238
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
261
239
|
}
|
|
@@ -267,7 +245,7 @@ export const Headers = {
|
|
|
267
245
|
return [...headerGroups].reverse()
|
|
268
246
|
},
|
|
269
247
|
{
|
|
270
|
-
key: process.env.NODE_ENV === '
|
|
248
|
+
key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
|
|
271
249
|
debug: () =>
|
|
272
250
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
273
251
|
}
|
|
@@ -285,7 +263,7 @@ export const Headers = {
|
|
|
285
263
|
.flat()
|
|
286
264
|
},
|
|
287
265
|
{
|
|
288
|
-
key: process.env.NODE_ENV === '
|
|
266
|
+
key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
|
|
289
267
|
debug: () =>
|
|
290
268
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
291
269
|
}
|
|
@@ -301,7 +279,7 @@ export const Headers = {
|
|
|
301
279
|
.flat()
|
|
302
280
|
},
|
|
303
281
|
{
|
|
304
|
-
key: process.env.NODE_ENV === '
|
|
282
|
+
key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
|
|
305
283
|
debug: () =>
|
|
306
284
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
307
285
|
}
|
|
@@ -317,7 +295,7 @@ export const Headers = {
|
|
|
317
295
|
.flat()
|
|
318
296
|
},
|
|
319
297
|
{
|
|
320
|
-
key: process.env.NODE_ENV === '
|
|
298
|
+
key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
|
|
321
299
|
debug: () =>
|
|
322
300
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
323
301
|
}
|
|
@@ -333,7 +311,7 @@ export const Headers = {
|
|
|
333
311
|
.flat()
|
|
334
312
|
},
|
|
335
313
|
{
|
|
336
|
-
key: process.env.NODE_ENV === '
|
|
314
|
+
key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
|
|
337
315
|
debug: () =>
|
|
338
316
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
339
317
|
}
|
|
@@ -347,7 +325,7 @@ export const Headers = {
|
|
|
347
325
|
return flatHeaders.filter(header => !header.subHeaders?.length)
|
|
348
326
|
},
|
|
349
327
|
{
|
|
350
|
-
key: process.env.NODE_ENV === '
|
|
328
|
+
key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
|
|
351
329
|
debug: () =>
|
|
352
330
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
353
331
|
}
|
|
@@ -359,7 +337,7 @@ export const Headers = {
|
|
|
359
337
|
return flatHeaders.filter(header => !header.subHeaders?.length)
|
|
360
338
|
},
|
|
361
339
|
{
|
|
362
|
-
key: process.env.NODE_ENV === '
|
|
340
|
+
key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
|
|
363
341
|
debug: () =>
|
|
364
342
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
365
343
|
}
|
|
@@ -371,7 +349,7 @@ export const Headers = {
|
|
|
371
349
|
return flatHeaders.filter(header => !header.subHeaders?.length)
|
|
372
350
|
},
|
|
373
351
|
{
|
|
374
|
-
key: process.env.NODE_ENV === '
|
|
352
|
+
key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
|
|
375
353
|
debug: () =>
|
|
376
354
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
377
355
|
}
|
|
@@ -395,7 +373,7 @@ export const Headers = {
|
|
|
395
373
|
.flat()
|
|
396
374
|
},
|
|
397
375
|
{
|
|
398
|
-
key: process.env.NODE_ENV === '
|
|
376
|
+
key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
|
|
399
377
|
debug: () =>
|
|
400
378
|
instance.options.debugAll ?? instance.options.debugHeaders,
|
|
401
379
|
}
|
package/src/features/Ordering.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type ColumnOrderDefaultOptions = {
|
|
|
27
27
|
|
|
28
28
|
export type ColumnOrderInstance<TGenerics extends TableGenerics> = {
|
|
29
29
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void
|
|
30
|
-
resetColumnOrder: () => void
|
|
30
|
+
resetColumnOrder: (defaultState?: boolean) => void
|
|
31
31
|
_getOrderColumnsFn: () => (
|
|
32
32
|
columns: Column<TGenerics>[]
|
|
33
33
|
) => Column<TGenerics>[]
|
|
@@ -57,8 +57,10 @@ export const Ordering: TableFeature = {
|
|
|
57
57
|
return {
|
|
58
58
|
setColumnOrder: updater =>
|
|
59
59
|
instance.options.onColumnOrderChange?.(updater),
|
|
60
|
-
resetColumnOrder:
|
|
61
|
-
instance.setColumnOrder(
|
|
60
|
+
resetColumnOrder: defaultState => {
|
|
61
|
+
instance.setColumnOrder(
|
|
62
|
+
defaultState ? [] : instance.initialState.columnOrder ?? []
|
|
63
|
+
)
|
|
62
64
|
},
|
|
63
65
|
_getOrderColumnsFn: memo(
|
|
64
66
|
() => [
|
|
@@ -100,7 +102,7 @@ export const Ordering: TableFeature = {
|
|
|
100
102
|
return orderColumns(orderedColumns, grouping, groupedColumnMode)
|
|
101
103
|
},
|
|
102
104
|
{
|
|
103
|
-
key: process.env.NODE_ENV === '
|
|
105
|
+
key: process.env.NODE_ENV === 'development' && 'getOrderColumnsFn',
|
|
104
106
|
// debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
105
107
|
}
|
|
106
108
|
),
|
|
@@ -39,11 +39,11 @@ export type PaginationDefaultOptions = {
|
|
|
39
39
|
export type PaginationInstance<TGenerics extends TableGenerics> = {
|
|
40
40
|
_autoResetPageIndex: () => void
|
|
41
41
|
setPagination: (updater: Updater<PaginationState>) => void
|
|
42
|
-
resetPagination: () => void
|
|
42
|
+
resetPagination: (defaultState?: boolean) => void
|
|
43
43
|
setPageIndex: (updater: Updater<number>) => void
|
|
44
|
-
resetPageIndex: () => void
|
|
44
|
+
resetPageIndex: (defaultState?: boolean) => void
|
|
45
45
|
setPageSize: (updater: Updater<number>) => void
|
|
46
|
-
resetPageSize: () => void
|
|
46
|
+
resetPageSize: (defaultState?: boolean) => void
|
|
47
47
|
setPageCount: (updater: Updater<number>) => void
|
|
48
48
|
getPageOptions: () => number[]
|
|
49
49
|
getCanPreviousPage: () => boolean
|
|
@@ -58,14 +58,22 @@ export type PaginationInstance<TGenerics extends TableGenerics> = {
|
|
|
58
58
|
|
|
59
59
|
//
|
|
60
60
|
|
|
61
|
+
const defaultPageCount = -1
|
|
62
|
+
const defaultPageIndex = 0
|
|
63
|
+
const defaultPageSize = 10
|
|
64
|
+
|
|
65
|
+
const getDefaultPaginationState = (): PaginationState => ({
|
|
66
|
+
pageCount: defaultPageCount,
|
|
67
|
+
pageIndex: defaultPageIndex,
|
|
68
|
+
pageSize: defaultPageSize,
|
|
69
|
+
})
|
|
70
|
+
|
|
61
71
|
export const Pagination: TableFeature = {
|
|
62
72
|
getInitialState: (state): PaginationTableState => {
|
|
63
73
|
return {
|
|
64
74
|
...state,
|
|
65
75
|
pagination: {
|
|
66
|
-
|
|
67
|
-
pageIndex: 0,
|
|
68
|
-
pageSize: 10,
|
|
76
|
+
...getDefaultPaginationState(),
|
|
69
77
|
...state?.pagination,
|
|
70
78
|
},
|
|
71
79
|
}
|
|
@@ -112,13 +120,11 @@ export const Pagination: TableFeature = {
|
|
|
112
120
|
|
|
113
121
|
return instance.options.onPaginationChange?.(safeUpdater)
|
|
114
122
|
},
|
|
115
|
-
resetPagination:
|
|
123
|
+
resetPagination: defaultState => {
|
|
116
124
|
instance.setPagination(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
pageCount: -1,
|
|
121
|
-
}
|
|
125
|
+
defaultState
|
|
126
|
+
? getDefaultPaginationState()
|
|
127
|
+
: instance.initialState.pagination ?? getDefaultPaginationState()
|
|
122
128
|
)
|
|
123
129
|
},
|
|
124
130
|
setPageIndex: updater => {
|
|
@@ -138,11 +144,19 @@ export const Pagination: TableFeature = {
|
|
|
138
144
|
}
|
|
139
145
|
})
|
|
140
146
|
},
|
|
141
|
-
resetPageIndex:
|
|
142
|
-
instance.setPageIndex(
|
|
147
|
+
resetPageIndex: defaultState => {
|
|
148
|
+
instance.setPageIndex(
|
|
149
|
+
defaultState
|
|
150
|
+
? defaultPageIndex
|
|
151
|
+
: instance.initialState?.pagination?.pageIndex ?? defaultPageIndex
|
|
152
|
+
)
|
|
143
153
|
},
|
|
144
|
-
resetPageSize:
|
|
145
|
-
instance.setPageSize(
|
|
154
|
+
resetPageSize: defaultState => {
|
|
155
|
+
instance.setPageSize(
|
|
156
|
+
defaultState
|
|
157
|
+
? defaultPageSize
|
|
158
|
+
: instance.initialState?.pagination?.pageSize ?? defaultPageSize
|
|
159
|
+
)
|
|
146
160
|
},
|
|
147
161
|
setPageSize: updater => {
|
|
148
162
|
instance.setPagination(old => {
|
|
@@ -184,7 +198,7 @@ export const Pagination: TableFeature = {
|
|
|
184
198
|
return pageOptions
|
|
185
199
|
},
|
|
186
200
|
{
|
|
187
|
-
key: process.env.NODE_ENV === '
|
|
201
|
+
key: process.env.NODE_ENV === 'development' && 'getPageOptions',
|
|
188
202
|
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
189
203
|
}
|
|
190
204
|
),
|