@tanstack/table-core 8.0.0-alpha.70 → 8.0.0-alpha.71

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.
Files changed (35) hide show
  1. package/build/cjs/features/ColumnSizing.js +4 -4
  2. package/build/cjs/features/ColumnSizing.js.map +1 -1
  3. package/build/cjs/features/Expanding.js +10 -2
  4. package/build/cjs/features/Expanding.js.map +1 -1
  5. package/build/cjs/features/Filters.js +2 -2
  6. package/build/cjs/features/Filters.js.map +1 -1
  7. package/build/cjs/features/Pagination.js +10 -2
  8. package/build/cjs/features/Pagination.js.map +1 -1
  9. package/build/cjs/utils/getCoreRowModel.js +1 -3
  10. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  11. package/build/cjs/utils/getFacetedMinMaxValues.js +10 -4
  12. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
  13. package/build/cjs/utils/getFilteredRowModel.js +1 -3
  14. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  15. package/build/cjs/utils/getSortedRowModel.js +1 -3
  16. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  17. package/build/esm/index.js +39 -23
  18. package/build/esm/index.js.map +1 -1
  19. package/build/stats-html.html +1 -1
  20. package/build/stats-react.json +310 -310
  21. package/build/types/features/Filters.d.ts +5 -5
  22. package/build/types/utils/getFacetedMinMaxValues.d.ts +1 -1
  23. package/build/umd/index.development.js +39 -23
  24. package/build/umd/index.development.js.map +1 -1
  25. package/build/umd/index.production.js +1 -1
  26. package/build/umd/index.production.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/features/ColumnSizing.ts +4 -4
  29. package/src/features/Expanding.ts +10 -2
  30. package/src/features/Filters.ts +7 -7
  31. package/src/features/Pagination.ts +10 -2
  32. package/src/utils/getCoreRowModel.ts +1 -3
  33. package/src/utils/getFacetedMinMaxValues.ts +8 -5
  34. package/src/utils/getFilteredRowModel.ts +1 -3
  35. 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.70",
4
+ "version": "8.0.0-alpha.71",
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.column.getSize()
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.column.getSize()
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.column.getSize()
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.column.getSize()
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
- registered = true
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
- instance.resetExpanded()
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),
@@ -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: () => [any, any]
89
- _getFacetedMinMaxValues?: () => [any, any]
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 [NaN, NaN]
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 [NaN, NaN]
459
+ return
460
460
  }
461
461
 
462
462
  return instance._getGlobalFacetedMinMaxValues()
@@ -90,11 +90,14 @@ export const Pagination: TableFeature = {
90
90
  instance: TableInstance<TGenerics>
91
91
  ): PaginationInstance<TGenerics> => {
92
92
  let registered = false
93
+ let queued = false
93
94
 
94
95
  return {
95
96
  _autoResetPageIndex: () => {
96
97
  if (!registered) {
97
- registered = true
98
+ instance.queue(() => {
99
+ registered = true
100
+ })
98
101
  return
99
102
  }
100
103
 
@@ -106,7 +109,12 @@ export const Pagination: TableFeature = {
106
109
  instance.options.autoResetAll === true ||
107
110
  instance.options.autoResetPageIndex
108
111
  ) {
109
- instance.resetPageIndex()
112
+ if (queued) return
113
+ queued = true
114
+ instance.queue(() => {
115
+ instance.resetPageIndex()
116
+ queued = false
117
+ })
110
118
  }
111
119
  },
112
120
  setPagination: updater => {
@@ -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.queue(() => {
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
- let facetedMinMaxValues: [any, any] = [
13
- facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,
14
- facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,
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.queue(() => {
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.queue(() => {
113
- instance._autoResetPageIndex()
114
- })
112
+ instance._autoResetPageIndex()
115
113
  },
116
114
  }
117
115
  )