@tanstack/table-core 8.0.0-beta.5 → 8.0.0-beta.8

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/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-beta.5",
4
+ "version": "8.0.0-beta.8",
5
5
  "description": "Headless UI for building powerful tables & datagrids for TS/JS.",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/table#readme",
@@ -63,7 +63,6 @@ export const Expanding: TableFeature = {
63
63
  ): ExpandedOptions<TGenerics> => {
64
64
  return {
65
65
  onExpandedChange: makeStateUpdater('expanded', instance),
66
- autoResetExpanded: true,
67
66
  paginateExpandedRows: true,
68
67
  }
69
68
  },
@@ -83,13 +82,10 @@ export const Expanding: TableFeature = {
83
82
  return
84
83
  }
85
84
 
86
- if (instance.options.autoResetAll === false) {
87
- return
88
- }
89
-
90
85
  if (
91
- instance.options.autoResetAll === true ||
92
- instance.options.autoResetExpanded
86
+ instance.options.autoResetAll ??
87
+ instance.options.autoResetExpanded ??
88
+ !instance.options.manualExpanding
93
89
  ) {
94
90
  if (queued) return
95
91
  queued = true
@@ -160,7 +156,7 @@ export const Expanding: TableFeature = {
160
156
 
161
157
  return maxDepth
162
158
  },
163
- getPreExpandedRowModel: () => instance.getGroupedRowModel(),
159
+ getPreExpandedRowModel: () => instance.getSortedRowModel(),
164
160
  getExpandedRowModel: () => {
165
161
  if (
166
162
  !instance._getExpandedRowModel &&
@@ -214,7 +214,7 @@ export const Grouping: TableFeature = {
214
214
  )
215
215
  },
216
216
 
217
- getPreGroupedRowModel: () => instance.getSortedRowModel(),
217
+ getPreGroupedRowModel: () => instance.getFilteredRowModel(),
218
218
  getGroupedRowModel: () => {
219
219
  if (
220
220
  !instance._getGroupedRowModel &&
@@ -258,7 +258,7 @@ export const Grouping: TableFeature = {
258
258
  getIsAggregated: () =>
259
259
  !cell.getIsGrouped() &&
260
260
  !cell.getIsPlaceholder() &&
261
- row.subRows?.length > 1,
261
+ !!row.subRows?.length,
262
262
  renderAggregatedCell: () => {
263
263
  if (process.env.NODE_ENV === 'development') {
264
264
  if (!column.columnDef.aggregatedCell) {
@@ -11,7 +11,6 @@ import { functionalUpdate, makeStateUpdater, memo } from '../utils'
11
11
  export type PaginationState = {
12
12
  pageIndex: number
13
13
  pageSize: number
14
- pageCount?: number
15
14
  }
16
15
 
17
16
  export type PaginationTableState = {
@@ -23,6 +22,7 @@ export type PaginationInitialTableState = {
23
22
  }
24
23
 
25
24
  export type PaginationOptions<TGenerics extends TableGenerics> = {
25
+ pageCount?: number
26
26
  manualPagination?: boolean
27
27
  onPaginationChange?: OnChangeFn<PaginationState>
28
28
  autoResetPageIndex?: boolean
@@ -131,8 +131,8 @@ export const Pagination: TableFeature = {
131
131
  let pageIndex = functionalUpdate(updater, old.pageIndex)
132
132
 
133
133
  const maxPageIndex =
134
- typeof old.pageCount !== 'undefined'
135
- ? old.pageCount - 1
134
+ typeof instance.options.pageCount !== 'undefined'
135
+ ? instance.options.pageCount - 1
136
136
  : Number.MAX_SAFE_INTEGER
137
137
 
138
138
  pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)
@@ -172,7 +172,10 @@ export const Pagination: TableFeature = {
172
172
  },
173
173
  setPageCount: updater =>
174
174
  instance.setPagination(old => {
175
- let newPageCount = functionalUpdate(updater, old.pageCount ?? -1)
175
+ let newPageCount = functionalUpdate(
176
+ updater,
177
+ instance.options.pageCount ?? -1
178
+ )
176
179
 
177
180
  if (typeof newPageCount === 'number') {
178
181
  newPageCount = Math.max(-1, newPageCount)
@@ -185,11 +188,8 @@ export const Pagination: TableFeature = {
185
188
  }),
186
189
 
187
190
  getPageOptions: memo(
188
- () => [
189
- instance.getState().pagination.pageSize,
190
- instance.getState().pagination.pageCount,
191
- ],
192
- (pageSize, pageCount) => {
191
+ () => [instance.getPageCount()],
192
+ pageCount => {
193
193
  let pageOptions: number[] = []
194
194
  if (pageCount && pageCount > 0) {
195
195
  pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)
@@ -251,15 +251,12 @@ export const Pagination: TableFeature = {
251
251
  },
252
252
 
253
253
  getPageCount: () => {
254
- const { pageCount } = instance.getState().pagination
255
-
256
- if (typeof pageCount !== 'undefined') {
257
- return pageCount
258
- }
259
-
260
- return Math.ceil(
261
- instance.getPrePaginationRowModel().rows.length /
262
- instance.getState().pagination.pageSize
254
+ return (
255
+ instance.options.pageCount ??
256
+ Math.ceil(
257
+ instance.getPrePaginationRowModel().rows.length /
258
+ instance.getState().pagination.pageSize
259
+ )
263
260
  )
264
261
  },
265
262
  }
@@ -245,7 +245,7 @@ export const RowSelection: TableFeature = {
245
245
  ),
246
246
 
247
247
  getGroupedSelectedRowModel: memo(
248
- () => [instance.getState().rowSelection, instance.getGroupedRowModel()],
248
+ () => [instance.getState().rowSelection, instance.getSortedRowModel()],
249
249
  (rowSelection, rowModel) => {
250
250
  if (!Object.keys(rowSelection).length) {
251
251
  return {
@@ -345,8 +345,6 @@ export const Sorting: TableFeature = {
345
345
  createInstance: <TGenerics extends TableGenerics>(
346
346
  instance: TableInstance<TGenerics>
347
347
  ): SortingInstance<TGenerics> => {
348
- let registered = false
349
-
350
348
  return {
351
349
  setSorting: updater => instance.options.onSortingChange?.(updater),
352
350
  resetSorting: defaultState => {
@@ -354,7 +352,7 @@ export const Sorting: TableFeature = {
354
352
  defaultState ? [] : instance.initialState?.sorting ?? []
355
353
  )
356
354
  },
357
- getPreSortedRowModel: () => instance.getFilteredRowModel(),
355
+ getPreSortedRowModel: () => instance.getGroupedRowModel(),
358
356
  getSortedRowModel: () => {
359
357
  if (
360
358
  !instance._getSortedRowModel &&