@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.67

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 (84) hide show
  1. package/build/cjs/core.js +0 -2
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +65 -140
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +5 -5
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +49 -87
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +89 -145
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +30 -58
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -40
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +1 -1
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +1 -1
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +70 -95
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +60 -112
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +33 -83
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +16 -39
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  30. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  31. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  32. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  33. package/build/cjs/utils/getExpandedRowModel.js +2 -2
  34. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  35. package/build/cjs/utils/getFilteredRowModelSync.js +64 -69
  36. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -1
  37. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  38. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  39. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  40. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  41. package/build/cjs/utils/getSortedRowModelSync.js +3 -3
  42. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  43. package/build/esm/index.js +546 -924
  44. package/build/esm/index.js.map +1 -1
  45. package/build/stats-html.html +1 -1
  46. package/build/stats-react.json +354 -354
  47. package/build/types/features/ColumnSizing.d.ts +2 -13
  48. package/build/types/features/Expanding.d.ts +1 -6
  49. package/build/types/features/Filters.d.ts +12 -14
  50. package/build/types/features/Grouping.d.ts +0 -7
  51. package/build/types/features/Pinning.d.ts +0 -4
  52. package/build/types/features/RowSelection.d.ts +1 -7
  53. package/build/types/features/Sorting.d.ts +3 -14
  54. package/build/types/features/Visibility.d.ts +0 -4
  55. package/build/types/types.d.ts +0 -2
  56. package/build/umd/index.development.js +534 -912
  57. package/build/umd/index.development.js.map +1 -1
  58. package/build/umd/index.production.js +1 -1
  59. package/build/umd/index.production.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/core.ts +0 -2
  62. package/src/features/Cells.ts +1 -1
  63. package/src/features/ColumnSizing.ts +67 -125
  64. package/src/features/Columns.ts +6 -5
  65. package/src/features/Expanding.ts +58 -105
  66. package/src/features/Filters.ts +122 -172
  67. package/src/features/Grouping.ts +36 -60
  68. package/src/features/Headers.ts +18 -40
  69. package/src/features/Ordering.ts +1 -1
  70. package/src/features/Pagination.ts +1 -1
  71. package/src/features/Pinning.ts +66 -89
  72. package/src/features/RowSelection.ts +63 -115
  73. package/src/features/Sorting.ts +36 -94
  74. package/src/features/Visibility.ts +19 -49
  75. package/src/types.ts +0 -2
  76. package/src/utils/getCoreRowModelAsync.ts +1 -1
  77. package/src/utils/getCoreRowModelSync.ts +1 -1
  78. package/src/utils/getExpandedRowModel.ts +2 -2
  79. package/src/utils/getFilteredRowModelAsync.ts +118 -10
  80. package/src/utils/getFilteredRowModelSync.ts +95 -104
  81. package/src/utils/getGroupedRowModel.ts +1 -1
  82. package/src/utils/getPaginationRowModel.ts +1 -1
  83. package/src/utils/getSortedRowModelAsync.ts +1 -1
  84. package/src/utils/getSortedRowModelSync.ts +4 -4
@@ -32,10 +32,7 @@ export type VisibilityInstance<TGenerics extends TableGenerics> = {
32
32
  getRightVisibleLeafColumns: () => Column<TGenerics>[]
33
33
  getCenterVisibleLeafColumns: () => Column<TGenerics>[]
34
34
  setColumnVisibility: (updater: Updater<VisibilityState>) => void
35
- toggleColumnVisibility: (columnId: string, value?: boolean) => void
36
35
  toggleAllColumnsVisible: (value?: boolean) => void
37
- getColumnIsVisible: (columId: string) => boolean
38
- getColumnCanHide: (columnId: string) => boolean
39
36
  getIsAllColumnsVisible: () => boolean
40
37
  getIsSomeColumnsVisible: () => boolean
41
38
  getToggleAllColumnsVisibilityHandler: () =>
@@ -45,7 +42,6 @@ export type VisibilityInstance<TGenerics extends TableGenerics> = {
45
42
 
46
43
  export type VisibilityColumnDef = {
47
44
  enableHiding?: boolean
48
- defaultCanHide?: boolean
49
45
  defaultIsVisible?: boolean
50
46
  }
51
47
 
@@ -90,10 +86,24 @@ export const Visibility: TableFeature = {
90
86
  instance: TableInstance<TGenerics>
91
87
  ): VisibilityColumn => {
92
88
  return {
93
- getCanHide: () => instance.getColumnCanHide(column.id),
94
- getIsVisible: () => instance.getColumnIsVisible(column.id),
95
- toggleVisibility: value =>
96
- instance.toggleColumnVisibility(column.id, value),
89
+ toggleVisibility: value => {
90
+ if (column.getCanHide()) {
91
+ instance.setColumnVisibility(old => ({
92
+ ...old,
93
+ [column.id]: value ?? !column.getIsVisible(),
94
+ }))
95
+ }
96
+ },
97
+ getIsVisible: () => {
98
+ return instance.getState().columnVisibility?.[column.id] ?? true
99
+ },
100
+
101
+ getCanHide: () => {
102
+ return (
103
+ (column.enableHiding ?? true) &&
104
+ (instance.options.enableHiding ?? true)
105
+ )
106
+ },
97
107
  getToggleVisibilityHandler: () => {
98
108
  return (e: unknown) => {
99
109
  column.toggleVisibility?.(
@@ -134,7 +144,7 @@ export const Visibility: TableFeature = {
134
144
  ],
135
145
  (left, center, right) => [...left, ...center, ...right],
136
146
  {
137
- key: process.env.NODE_ENV === 'production' && 'row.getVisibleCells',
147
+ key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
138
148
  debug: () => instance.options.debugAll ?? instance.options.debugRows,
139
149
  }
140
150
  ),
@@ -192,17 +202,6 @@ export const Visibility: TableFeature = {
192
202
  setColumnVisibility: updater =>
193
203
  instance.options.onColumnVisibilityChange?.(updater),
194
204
 
195
- toggleColumnVisibility: (columnId, value) => {
196
- if (!columnId) return
197
-
198
- if (instance.getColumnCanHide(columnId)) {
199
- instance.setColumnVisibility(old => ({
200
- ...old,
201
- [columnId]: value ?? !instance.getColumnIsVisible(columnId),
202
- }))
203
- }
204
- },
205
-
206
205
  toggleAllColumnsVisible: value => {
207
206
  value = value ?? !instance.getIsAllColumnsVisible()
208
207
 
@@ -217,35 +216,6 @@ export const Visibility: TableFeature = {
217
216
  )
218
217
  },
219
218
 
220
- getColumnIsVisible: columnId => {
221
- const column = instance.getColumn(columnId)
222
-
223
- if (!column) {
224
- throw new Error()
225
- }
226
-
227
- return (
228
- instance.getState().columnVisibility?.[columnId] ??
229
- column.defaultIsVisible ??
230
- true
231
- )
232
- },
233
-
234
- getColumnCanHide: columnId => {
235
- const column = instance.getColumn(columnId)
236
-
237
- if (!column) {
238
- throw new Error()
239
- }
240
-
241
- return (
242
- instance.options.enableHiding ??
243
- column.enableHiding ??
244
- column.defaultCanHide ??
245
- true
246
- )
247
- },
248
-
249
219
  getIsAllColumnsVisible: () =>
250
220
  !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),
251
221
 
package/src/types.ts CHANGED
@@ -228,8 +228,6 @@ export type CoreHeader<TGenerics extends TableGenerics> = {
228
228
  index: number
229
229
  depth: number
230
230
  column: Column<TGenerics>
231
- getStart: () => number
232
- getSize: () => number
233
231
  headerGroup: HeaderGroup<TGenerics>
234
232
  subHeaders: Header<TGenerics>[]
235
233
  colSpan?: number
@@ -88,7 +88,7 @@ export function getCoreRowModelAsync<TGenerics extends TableGenerics>(opts?: {
88
88
  accessRows(data)
89
89
  },
90
90
  {
91
- key: process.env.NODE_ENV === 'production' && 'getRowModel',
91
+ key: process.env.NODE_ENV === 'development' && 'getRowModel',
92
92
  initialSync: opts?.initialSync,
93
93
  onProgress: progress => {
94
94
  instance.setState(old => ({ ...old, coreProgress: progress }))
@@ -94,7 +94,7 @@ export function getCoreRowModelSync<TGenerics extends TableGenerics>(): (
94
94
  return { rows, flatRows, rowsById }
95
95
  },
96
96
  {
97
- key: process.env.NODE_ENV === 'production' && 'getRowModel',
97
+ key: process.env.NODE_ENV === 'development' && 'getRowModel',
98
98
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
99
99
  onChange: () => {
100
100
  instance.queue(() => {
@@ -24,7 +24,7 @@ export function getExpandedRowModel<TGenerics extends TableGenerics>(): (
24
24
  return expandRows(rowModel, instance)
25
25
  },
26
26
  {
27
- key: process.env.NODE_ENV === 'production' && 'getExpandedRowModel',
27
+ key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
28
28
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
29
29
  }
30
30
  )
@@ -42,7 +42,7 @@ export function expandRows<TGenerics extends TableGenerics>(
42
42
  if (
43
43
  instance.options.expandSubRows &&
44
44
  row.subRows?.length &&
45
- instance.getIsRowExpanded(row.id)
45
+ row.getIsExpanded()
46
46
  ) {
47
47
  row.subRows.forEach(handleRow)
48
48
  }
@@ -1,5 +1,7 @@
1
+ import { ResolvedColumnFilter } from '../features/Filters'
1
2
  import { TableInstance, RowModel, TableGenerics, Row } from '../types'
2
3
  import { incrementalMemo } from '../utils'
4
+ import { filterRows } from './filterRowsUtils'
3
5
 
4
6
  export function getFilteredRowModelAsync<
5
7
  TGenerics extends TableGenerics
@@ -9,24 +11,130 @@ export function getFilteredRowModelAsync<
9
11
  return instance =>
10
12
  incrementalMemo(
11
13
  () => [
12
- instance.getState().columnFilters,
13
14
  instance.getPreFilteredRowModel(),
15
+ instance.getState().columnFilters,
16
+ instance.getState().globalFilter,
14
17
  ],
15
- (_sorting, rowModel): RowModel<TGenerics> => {
18
+ (rowModel): RowModel<TGenerics> => {
16
19
  return {
17
20
  rows: rowModel.rows.slice(),
18
21
  flatRows: [],
19
22
  rowsById: rowModel.rowsById,
20
23
  }
21
24
  },
22
- (columnFilters, rowModel) => rowModelRef => scheduleTask => {
23
- // TODO: Figure out how to do scheduled filtering
24
- // The trick will be batching those tasks in a way
25
- // that makes them fast. JS work loops don't tend to do well with
26
- // a high number of tasks that do one thing. Instead, shoot for each
27
- // task to have a few thousand opts (or whatever amount is generally
28
- // fast for most devices).
29
- throw new Error('')
25
+ (rowModel, columnFilters, globalFilter) => rowModelRef => scheduleTask => {
26
+ if (
27
+ !rowModel.rows.length ||
28
+ (!columnFilters?.length && !globalFilter)
29
+ ) {
30
+ rowModelRef.current = rowModel
31
+ return
32
+ }
33
+
34
+ const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []
35
+ const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []
36
+
37
+ ;(columnFilters ?? []).forEach(d => {
38
+ const column = instance.getColumn(d.id)
39
+
40
+ if (!column) {
41
+ if (process.env.NODE_ENV !== 'production') {
42
+ console.warn(
43
+ `Table: Could not find a column to filter with columnId: ${d.id}`
44
+ )
45
+ }
46
+ }
47
+
48
+ const filterFn = column.getFilterFn()!
49
+
50
+ if (!filterFn) {
51
+ if (process.env.NODE_ENV !== 'production') {
52
+ console.warn(
53
+ `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`
54
+ )
55
+ }
56
+ return
57
+ }
58
+
59
+ resolvedColumnFilters.push({
60
+ id: d.id,
61
+ filterFn,
62
+ resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,
63
+ })
64
+ })
65
+
66
+ const filterableIds = columnFilters.map(d => d.id)
67
+
68
+ const globalFilterFn = instance.getGlobalFilterFn()
69
+
70
+ const globallyFilterableColumns = instance
71
+ .getAllLeafColumns()
72
+ .filter(column => column.getCanGlobalFilter())
73
+
74
+ if (
75
+ globalFilter &&
76
+ globalFilterFn &&
77
+ globallyFilterableColumns.length
78
+ ) {
79
+ filterableIds.push('__global__')
80
+
81
+ globallyFilterableColumns.forEach(column => {
82
+ resolvedGlobalFilters.push({
83
+ id: column.id,
84
+ filterFn: globalFilterFn,
85
+ resolvedValue:
86
+ globalFilterFn.resolveFilterValue?.(globalFilter) ??
87
+ globalFilter,
88
+ })
89
+ })
90
+ }
91
+
92
+ // Flag the prefiltered row model with each filter state
93
+ for (let j = 0; j < rowModel.flatRows.length; j++) {
94
+ const row = rowModel.flatRows[j]
95
+
96
+ row.columnFilterMap = {}
97
+
98
+ if (resolvedColumnFilters.length) {
99
+ for (let i = 0; i < resolvedColumnFilters.length; i++) {
100
+ const columnFilter = resolvedColumnFilters[i]
101
+
102
+ // Tag the row with the column filter state
103
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(
104
+ row,
105
+ columnFilter.id,
106
+ columnFilter.resolvedValue
107
+ )
108
+ }
109
+ }
110
+
111
+ if (resolvedGlobalFilters.length) {
112
+ let hit = false
113
+
114
+ for (let i = 0; i < resolvedGlobalFilters.length; i++) {
115
+ const globalFilter = resolvedGlobalFilters[i]
116
+ // Tag the row with the first truthy global filter state
117
+ if (
118
+ globalFilter.filterFn(
119
+ row,
120
+ globalFilter.id,
121
+ globalFilter.resolvedValue
122
+ )
123
+ ) {
124
+ hit = true
125
+ row.columnFilterMap.__global__ = true
126
+ break
127
+ }
128
+ }
129
+
130
+ if (row.columnFilterMap.__global__ !== true) {
131
+ row.columnFilterMap.__global__ = false
132
+ }
133
+ }
134
+ }
135
+
136
+ // Filter final rows using all of the active filters
137
+ return filterRows(rowModel.rows, filterableIds, instance)
30
138
  },
31
139
  {
32
140
  key:
@@ -1,14 +1,12 @@
1
- import { ColumnFilter, FilterFn } from '../features/Filters'
1
+ import {
2
+ ColumnFilter,
3
+ FilterFn,
4
+ ResolvedColumnFilter,
5
+ } from '../features/Filters'
2
6
  import { TableInstance, RowModel, TableGenerics, Row } from '../types'
3
7
  import { memo } from '../utils'
4
8
  import { filterRows } from './filterRowsUtils'
5
9
 
6
- type ResolvedColumnFilter<TGenerics extends TableGenerics> = {
7
- id: string
8
- filterFn: FilterFn<TGenerics>
9
- resolvedFilterValue: unknown
10
- }
11
-
12
10
  export function getFilteredRowModelSync<TGenerics extends TableGenerics>(): (
13
11
  instance: TableInstance<TGenerics>
14
12
  ) => () => RowModel<TGenerics> {
@@ -20,125 +18,118 @@ export function getFilteredRowModelSync<TGenerics extends TableGenerics>(): (
20
18
  instance.getState().globalFilter,
21
19
  ],
22
20
  (rowModel, columnFilters, globalFilter) => {
23
- const columnFilteredRowModel: RowModel<TGenerics> = (() => {
24
- if (
25
- !rowModel.rows.length ||
26
- (!columnFilters?.length && !globalFilter)
27
- ) {
28
- return rowModel
29
- }
30
-
31
- const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []
32
- const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []
33
-
34
- ;(columnFilters ?? []).forEach(d => {
35
- const column = instance.getColumn(d.id)
36
-
37
- if (!column) {
38
- if (process.env.NODE_ENV !== 'production') {
39
- console.warn(
40
- `Table: Could not find a column to filter with columnId: ${d.id}`
41
- )
42
- }
21
+ if (
22
+ !rowModel.rows.length ||
23
+ (!columnFilters?.length && !globalFilter)
24
+ ) {
25
+ return rowModel
26
+ }
27
+
28
+ const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []
29
+ const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []
30
+
31
+ ;(columnFilters ?? []).forEach(d => {
32
+ const column = instance.getColumn(d.id)
33
+
34
+ if (!column) {
35
+ if (process.env.NODE_ENV !== 'production') {
36
+ console.warn(
37
+ `Table: Could not find a column to filter with columnId: ${d.id}`
38
+ )
43
39
  }
40
+ }
44
41
 
45
- const filterFn = instance.getColumnFilterFn(column.id)!
42
+ const filterFn = column.getFilterFn()
46
43
 
47
- if (!filterFn) {
48
- if (process.env.NODE_ENV !== 'production') {
49
- console.warn(
50
- `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`
51
- )
52
- }
53
- return
44
+ if (!filterFn) {
45
+ if (process.env.NODE_ENV !== 'production') {
46
+ console.warn(
47
+ `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`
48
+ )
54
49
  }
50
+ return
51
+ }
55
52
 
56
- resolvedColumnFilters.push({
57
- id: d.id,
58
- filterFn,
59
- resolvedFilterValue:
60
- filterFn.resolveFilterValue?.(d.value) ?? d.value,
53
+ resolvedColumnFilters.push({
54
+ id: d.id,
55
+ filterFn,
56
+ resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,
57
+ })
58
+ })
59
+
60
+ const filterableIds = columnFilters.map(d => d.id)
61
+
62
+ const globalFilterFn = instance.getGlobalFilterFn()
63
+
64
+ const globallyFilterableColumns = instance
65
+ .getAllLeafColumns()
66
+ .filter(column => column.getCanGlobalFilter())
67
+
68
+ if (
69
+ globalFilter &&
70
+ globalFilterFn &&
71
+ globallyFilterableColumns.length
72
+ ) {
73
+ filterableIds.push('__global__')
74
+
75
+ globallyFilterableColumns.forEach(column => {
76
+ resolvedGlobalFilters.push({
77
+ id: column.id,
78
+ filterFn: globalFilterFn,
79
+ resolvedValue:
80
+ globalFilterFn.resolveFilterValue?.(globalFilter) ??
81
+ globalFilter,
61
82
  })
62
83
  })
84
+ }
63
85
 
64
- const filterableIds = columnFilters.map(d => d.id)
65
-
66
- const globalFilterFn = instance.getGlobalFilterFn()
67
-
68
- const globallyFilterableColumns = instance
69
- .getAllLeafColumns()
70
- .filter(column => column.getCanGlobalFilter())
71
-
72
- if (
73
- globalFilter &&
74
- globalFilterFn &&
75
- globallyFilterableColumns.length
76
- ) {
77
- filterableIds.push('__global__')
78
-
79
- globallyFilterableColumns.forEach(column => {
80
- resolvedGlobalFilters.push({
81
- id: column.id,
82
- filterFn: globalFilterFn,
83
- resolvedFilterValue:
84
- globalFilterFn.resolveFilterValue?.(globalFilter) ??
85
- globalFilter,
86
- })
87
- })
88
- }
86
+ // Flag the prefiltered row model with each filter state
87
+ for (let j = 0; j < rowModel.flatRows.length; j++) {
88
+ const row = rowModel.flatRows[j]
89
89
 
90
- // Flag the prefiltered row model with each filter state
91
- for (let j = 0; j < rowModel.flatRows.length; j++) {
92
- const row = rowModel.flatRows[j]
90
+ row.columnFilterMap = {}
93
91
 
94
- row.columnFilterMap = {}
92
+ if (resolvedColumnFilters.length) {
93
+ for (let i = 0; i < resolvedColumnFilters.length; i++) {
94
+ const columnFilter = resolvedColumnFilters[i]
95
95
 
96
- if (resolvedColumnFilters.length) {
97
- for (let i = 0; i < resolvedColumnFilters.length; i++) {
98
- const columnFilter = resolvedColumnFilters[i]
96
+ // Tag the row with the column filter state
97
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(
98
+ row,
99
+ columnFilter.id,
100
+ columnFilter.resolvedValue
101
+ )
102
+ }
103
+ }
99
104
 
100
- // Tag the row with the column filter state
101
- row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(
105
+ if (resolvedGlobalFilters.length) {
106
+ for (let i = 0; i < resolvedGlobalFilters.length; i++) {
107
+ const globalFilter = resolvedGlobalFilters[i]
108
+ // Tag the row with the first truthy global filter state
109
+ if (
110
+ globalFilter.filterFn(
102
111
  row,
103
- columnFilter.id,
104
- columnFilter.resolvedFilterValue
112
+ globalFilter.id,
113
+ globalFilter.resolvedValue
105
114
  )
115
+ ) {
116
+ row.columnFilterMap.__global__ = true
117
+ break
106
118
  }
107
119
  }
108
120
 
109
- if (resolvedGlobalFilters.length) {
110
- let hit = false
111
-
112
- for (let i = 0; i < resolvedGlobalFilters.length; i++) {
113
- const globalFilter = resolvedGlobalFilters[i]
114
- // Tag the row with the first truthy global filter state
115
- if (
116
- globalFilter.filterFn(
117
- row,
118
- globalFilter.id,
119
- globalFilter.resolvedFilterValue
120
- )
121
- ) {
122
- hit = true
123
- row.columnFilterMap.__global__ = true
124
- break
125
- }
126
- }
127
-
128
- if (row.columnFilterMap.__global__ !== true) {
129
- row.columnFilterMap.__global__ = false
130
- }
121
+ if (row.columnFilterMap.__global__ !== true) {
122
+ row.columnFilterMap.__global__ = false
131
123
  }
132
124
  }
125
+ }
133
126
 
134
- // Filter final rows using all of the active filters
135
- return filterRows(rowModel.rows, filterableIds, instance)
136
- })()
137
-
138
- return columnFilteredRowModel
127
+ // Filter final rows using all of the active filters
128
+ return filterRows(rowModel.rows, filterableIds, instance)
139
129
  },
140
130
  {
141
- key: process.env.NODE_ENV === 'production' && 'getFilteredRowModelSync',
131
+ key:
132
+ process.env.NODE_ENV === 'development' && 'getFilteredRowModelSync',
142
133
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
143
134
  onChange: () => {
144
135
  instance.queue(() => {
@@ -161,7 +161,7 @@ export function getGroupedRowModelSync<TGenerics extends TableGenerics>(): (
161
161
  }
162
162
  },
163
163
  {
164
- key: process.env.NODE_ENV === 'production' && 'getGroupedRowModel',
164
+ key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',
165
165
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
166
166
  onChange: () => {
167
167
  instance.queue(() => {
@@ -41,7 +41,7 @@ export function getPaginationRowModel<TGenerics extends TableGenerics>(opts?: {
41
41
  }
42
42
  },
43
43
  {
44
- key: process.env.NODE_ENV === 'production' && 'getPaginationRowModel',
44
+ key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',
45
45
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
46
46
  }
47
47
  )
@@ -75,7 +75,7 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(opts?: {
75
75
  // sortData(rowModelRef.current.rows)
76
76
  },
77
77
  {
78
- key: process.env.NODE_ENV === 'production' && 'getSortedRowModel',
78
+ key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',
79
79
  initialSync: opts?.initialSync,
80
80
  onProgress: progress => {
81
81
  instance.setState(old => ({ ...old, sortingProgress: progress }))
@@ -19,7 +19,7 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
19
19
 
20
20
  // Filter out sortings that correspond to non existing columns
21
21
  const availableSorting = sortingState.filter(sort =>
22
- instance.getColumnCanSort(sort.id)
22
+ instance.getColumn(sort.id).getCanSort()
23
23
  )
24
24
 
25
25
  const columnInfoById: Record<
@@ -32,12 +32,12 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
32
32
  > = {}
33
33
 
34
34
  availableSorting.forEach(sortEntry => {
35
- const column = instance.getColumn(sortEntry.id)!
35
+ const column = instance.getColumn(sortEntry.id)
36
36
 
37
37
  columnInfoById[sortEntry.id] = {
38
38
  sortUndefined: column.sortUndefined,
39
39
  invertSorting: column.invertSorting,
40
- sortingFn: instance.getColumnSortingFn(sortEntry.id)!,
40
+ sortingFn: column.getSortingFn(),
41
41
  }
42
42
  })
43
43
 
@@ -106,7 +106,7 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
106
106
  }
107
107
  },
108
108
  {
109
- key: process.env.NODE_ENV === 'production' && 'getSortedRowModel',
109
+ key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',
110
110
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
111
111
  onChange: () => {
112
112
  instance.queue(() => {