@tanstack/table-core 8.0.0-alpha.69 → 8.0.0-alpha.72
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/features/ColumnSizing.js +4 -4
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +10 -2
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +2 -2
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Pagination.js +14 -6
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +1 -3
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +10 -4
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +1 -3
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +1 -3
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/esm/index.js +43 -27
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +310 -310
- package/build/types/features/Filters.d.ts +5 -5
- package/build/types/features/Pagination.d.ts +1 -1
- package/build/types/utils/getFacetedMinMaxValues.d.ts +1 -1
- package/build/umd/index.development.js +43 -27
- 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/features/ColumnSizing.ts +4 -4
- package/src/features/Expanding.ts +10 -2
- package/src/features/Filters.ts +7 -7
- package/src/features/Pagination.ts +14 -7
- package/src/utils/getCoreRowModel.ts +1 -3
- package/src/utils/getFacetedMinMaxValues.ts +8 -5
- package/src/utils/getFilteredRowModel.ts +1 -3
- package/src/utils/getSortedRowModel.ts +1 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/table-core",
|
|
3
3
|
"author": "Tanner Linsley",
|
|
4
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.72",
|
|
5
5
|
"description": "Hooks for building lightweight, fast and extendable datagrids for React",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/tanstack/react-table#readme",
|
|
@@ -370,19 +370,19 @@ export const ColumnSizing: TableFeature = {
|
|
|
370
370
|
},
|
|
371
371
|
getTotalSize: () =>
|
|
372
372
|
instance.getHeaderGroups()[0]?.headers.reduce((sum, header) => {
|
|
373
|
-
return sum + header.
|
|
373
|
+
return sum + header.getSize()
|
|
374
374
|
}, 0) ?? 0,
|
|
375
375
|
getLeftTotalSize: () =>
|
|
376
376
|
instance.getLeftHeaderGroups()[0]?.headers.reduce((sum, header) => {
|
|
377
|
-
return sum + header.
|
|
377
|
+
return sum + header.getSize()
|
|
378
378
|
}, 0) ?? 0,
|
|
379
379
|
getCenterTotalSize: () =>
|
|
380
380
|
instance.getCenterHeaderGroups()[0]?.headers.reduce((sum, header) => {
|
|
381
|
-
return sum + header.
|
|
381
|
+
return sum + header.getSize()
|
|
382
382
|
}, 0) ?? 0,
|
|
383
383
|
getRightTotalSize: () =>
|
|
384
384
|
instance.getRightHeaderGroups()[0]?.headers.reduce((sum, header) => {
|
|
385
|
-
return sum + header.
|
|
385
|
+
return sum + header.getSize()
|
|
386
386
|
}, 0) ?? 0,
|
|
387
387
|
}
|
|
388
388
|
},
|
|
@@ -77,11 +77,14 @@ export const Expanding: TableFeature = {
|
|
|
77
77
|
instance: TableInstance<TGenerics>
|
|
78
78
|
): ExpandedInstance<TGenerics> => {
|
|
79
79
|
let registered = false
|
|
80
|
+
let queued = false
|
|
80
81
|
|
|
81
82
|
return {
|
|
82
83
|
_autoResetExpanded: () => {
|
|
83
84
|
if (!registered) {
|
|
84
|
-
|
|
85
|
+
instance.queue(() => {
|
|
86
|
+
registered = true
|
|
87
|
+
})
|
|
85
88
|
return
|
|
86
89
|
}
|
|
87
90
|
|
|
@@ -93,7 +96,12 @@ export const Expanding: TableFeature = {
|
|
|
93
96
|
instance.options.autoResetAll === true ||
|
|
94
97
|
instance.options.autoResetExpanded
|
|
95
98
|
) {
|
|
96
|
-
|
|
99
|
+
if (queued) return
|
|
100
|
+
queued = true
|
|
101
|
+
instance.queue(() => {
|
|
102
|
+
instance.resetExpanded()
|
|
103
|
+
queued = false
|
|
104
|
+
})
|
|
97
105
|
}
|
|
98
106
|
},
|
|
99
107
|
setExpanded: updater => instance.options.onExpandedChange?.(updater),
|
package/src/features/Filters.ts
CHANGED
|
@@ -85,8 +85,8 @@ export type FiltersColumn<TGenerics extends TableGenerics> = {
|
|
|
85
85
|
getFilterIndex: () => number
|
|
86
86
|
getFacetedUniqueValues: () => Map<any, number>
|
|
87
87
|
_getFacetedUniqueValues?: () => Map<any, number>
|
|
88
|
-
getFacetedMinMaxValues: () => [
|
|
89
|
-
_getFacetedMinMaxValues?: () => [
|
|
88
|
+
getFacetedMinMaxValues: () => undefined | [number, number]
|
|
89
|
+
_getFacetedMinMaxValues?: () => undefined | [number, number]
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
export type FiltersRow<TGenerics extends TableGenerics> = {
|
|
@@ -125,7 +125,7 @@ export type FiltersOptions<TGenerics extends TableGenerics> = {
|
|
|
125
125
|
getFacetedMinMaxValues?: (
|
|
126
126
|
instance: TableInstance<TGenerics>,
|
|
127
127
|
columnId: string
|
|
128
|
-
) => () => [number, number]
|
|
128
|
+
) => () => undefined | [number, number]
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
export type FiltersInstance<TGenerics extends TableGenerics> = {
|
|
@@ -147,8 +147,8 @@ export type FiltersInstance<TGenerics extends TableGenerics> = {
|
|
|
147
147
|
_getGlobalFacetedRowModel?: () => RowModel<TGenerics>
|
|
148
148
|
getGlobalFacetedUniqueValues: () => Map<any, number>
|
|
149
149
|
_getGlobalFacetedUniqueValues?: () => Map<any, number>
|
|
150
|
-
getGlobalFacetedMinMaxValues: () => [number, number]
|
|
151
|
-
_getGlobalFacetedMinMaxValues?: () => [number, number]
|
|
150
|
+
getGlobalFacetedMinMaxValues: () => undefined | [number, number]
|
|
151
|
+
_getGlobalFacetedMinMaxValues?: () => undefined | [number, number]
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
//
|
|
@@ -328,7 +328,7 @@ export const Filters: TableFeature = {
|
|
|
328
328
|
instance.options.getFacetedMinMaxValues(instance, column.id),
|
|
329
329
|
getFacetedMinMaxValues: () => {
|
|
330
330
|
if (!column._getFacetedMinMaxValues) {
|
|
331
|
-
return
|
|
331
|
+
return undefined
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
return column._getFacetedMinMaxValues()
|
|
@@ -456,7 +456,7 @@ export const Filters: TableFeature = {
|
|
|
456
456
|
instance.options.getFacetedMinMaxValues(instance, '__global__'),
|
|
457
457
|
getGlobalFacetedMinMaxValues: () => {
|
|
458
458
|
if (!instance._getGlobalFacetedMinMaxValues) {
|
|
459
|
-
return
|
|
459
|
+
return
|
|
460
460
|
}
|
|
461
461
|
|
|
462
462
|
return instance._getGlobalFacetedMinMaxValues()
|
|
@@ -11,7 +11,7 @@ import { functionalUpdate, makeStateUpdater, memo } from '../utils'
|
|
|
11
11
|
export type PaginationState = {
|
|
12
12
|
pageIndex: number
|
|
13
13
|
pageSize: number
|
|
14
|
-
pageCount
|
|
14
|
+
pageCount?: number
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export type PaginationTableState = {
|
|
@@ -58,12 +58,10 @@ export type PaginationInstance<TGenerics extends TableGenerics> = {
|
|
|
58
58
|
|
|
59
59
|
//
|
|
60
60
|
|
|
61
|
-
const defaultPageCount = -1
|
|
62
61
|
const defaultPageIndex = 0
|
|
63
62
|
const defaultPageSize = 10
|
|
64
63
|
|
|
65
64
|
const getDefaultPaginationState = (): PaginationState => ({
|
|
66
|
-
pageCount: defaultPageCount,
|
|
67
65
|
pageIndex: defaultPageIndex,
|
|
68
66
|
pageSize: defaultPageSize,
|
|
69
67
|
})
|
|
@@ -92,11 +90,14 @@ export const Pagination: TableFeature = {
|
|
|
92
90
|
instance: TableInstance<TGenerics>
|
|
93
91
|
): PaginationInstance<TGenerics> => {
|
|
94
92
|
let registered = false
|
|
93
|
+
let queued = false
|
|
95
94
|
|
|
96
95
|
return {
|
|
97
96
|
_autoResetPageIndex: () => {
|
|
98
97
|
if (!registered) {
|
|
99
|
-
|
|
98
|
+
instance.queue(() => {
|
|
99
|
+
registered = true
|
|
100
|
+
})
|
|
100
101
|
return
|
|
101
102
|
}
|
|
102
103
|
|
|
@@ -108,7 +109,12 @@ export const Pagination: TableFeature = {
|
|
|
108
109
|
instance.options.autoResetAll === true ||
|
|
109
110
|
instance.options.autoResetPageIndex
|
|
110
111
|
) {
|
|
111
|
-
|
|
112
|
+
if (queued) return
|
|
113
|
+
queued = true
|
|
114
|
+
instance.queue(() => {
|
|
115
|
+
instance.resetPageIndex()
|
|
116
|
+
queued = false
|
|
117
|
+
})
|
|
112
118
|
}
|
|
113
119
|
},
|
|
114
120
|
setPagination: updater => {
|
|
@@ -173,7 +179,7 @@ export const Pagination: TableFeature = {
|
|
|
173
179
|
},
|
|
174
180
|
setPageCount: updater =>
|
|
175
181
|
instance.setPagination(old => {
|
|
176
|
-
let newPageCount = functionalUpdate(updater, old.pageCount)
|
|
182
|
+
let newPageCount = functionalUpdate(updater, old.pageCount ?? -1)
|
|
177
183
|
|
|
178
184
|
if (typeof newPageCount === 'number') {
|
|
179
185
|
newPageCount = Math.max(-1, newPageCount)
|
|
@@ -253,7 +259,8 @@ export const Pagination: TableFeature = {
|
|
|
253
259
|
|
|
254
260
|
getPageCount: () => {
|
|
255
261
|
const { pageCount } = instance.getState().pagination
|
|
256
|
-
|
|
262
|
+
|
|
263
|
+
if (typeof pageCount !== 'undefined') {
|
|
257
264
|
return pageCount
|
|
258
265
|
}
|
|
259
266
|
|
|
@@ -91,9 +91,7 @@ export function getCoreRowModel<TGenerics extends TableGenerics>(): (
|
|
|
91
91
|
key: process.env.NODE_ENV === 'development' && 'getRowModel',
|
|
92
92
|
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
93
93
|
onChange: () => {
|
|
94
|
-
instance.
|
|
95
|
-
instance._autoResetPageIndex()
|
|
96
|
-
})
|
|
94
|
+
instance._autoResetPageIndex()
|
|
97
95
|
},
|
|
98
96
|
}
|
|
99
97
|
)
|
|
@@ -4,15 +4,18 @@ import { memo } from '../utils'
|
|
|
4
4
|
export function getFacetedMinMaxValues<TGenerics extends TableGenerics>(): (
|
|
5
5
|
instance: TableInstance<TGenerics>,
|
|
6
6
|
columnId: string
|
|
7
|
-
) => () => [number, number] {
|
|
7
|
+
) => () => undefined | [number, number] {
|
|
8
8
|
return (instance, columnId) =>
|
|
9
9
|
memo(
|
|
10
10
|
() => [instance.getColumn(columnId).getFacetedRowModel()],
|
|
11
11
|
facetedRowModel => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const firstValue = facetedRowModel.flatRows[0]?.getValue(columnId)
|
|
13
|
+
|
|
14
|
+
if (typeof firstValue === 'undefined') {
|
|
15
|
+
return undefined
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
let facetedMinMaxValues: [any, any] = [firstValue, firstValue]
|
|
16
19
|
|
|
17
20
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
18
21
|
const value = facetedRowModel.flatRows[i]?.getValue(columnId)
|
|
@@ -141,9 +141,7 @@ export function getFilteredRowModel<TGenerics extends TableGenerics>(): (
|
|
|
141
141
|
key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',
|
|
142
142
|
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
143
143
|
onChange: () => {
|
|
144
|
-
instance.
|
|
145
|
-
instance._autoResetPageIndex()
|
|
146
|
-
})
|
|
144
|
+
instance._autoResetPageIndex()
|
|
147
145
|
},
|
|
148
146
|
}
|
|
149
147
|
)
|
|
@@ -109,9 +109,7 @@ export function getSortedRowModel<TGenerics extends TableGenerics>(): (
|
|
|
109
109
|
key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',
|
|
110
110
|
debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
111
111
|
onChange: () => {
|
|
112
|
-
instance.
|
|
113
|
-
instance._autoResetPageIndex()
|
|
114
|
-
})
|
|
112
|
+
instance._autoResetPageIndex()
|
|
115
113
|
},
|
|
116
114
|
}
|
|
117
115
|
)
|