@tanstack/table-core 9.0.0-alpha.0 → 9.0.0-alpha.10
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/dist/cjs/aggregationFns.cjs +4 -8
- package/dist/cjs/aggregationFns.cjs.map +1 -1
- package/dist/cjs/core/cell.cjs +3 -3
- package/dist/cjs/core/cell.cjs.map +1 -1
- package/dist/cjs/core/cell.d.cts +1 -1
- package/dist/cjs/core/column.cjs +3 -3
- package/dist/cjs/core/column.cjs.map +1 -1
- package/dist/cjs/core/column.d.cts +1 -1
- package/dist/cjs/core/headers.cjs +5 -5
- package/dist/cjs/core/headers.cjs.map +1 -1
- package/dist/cjs/core/row.cjs +5 -6
- package/dist/cjs/core/row.cjs.map +1 -1
- package/dist/cjs/core/row.d.cts +1 -1
- package/dist/cjs/core/table.cjs +11 -7
- package/dist/cjs/core/table.cjs.map +1 -1
- package/dist/cjs/core/table.d.cts +9 -1
- package/dist/cjs/features/ColumnFaceting.cjs +1 -1
- package/dist/cjs/features/ColumnFaceting.cjs.map +1 -1
- package/dist/cjs/features/ColumnFiltering.cjs +6 -6
- package/dist/cjs/features/ColumnFiltering.cjs.map +1 -1
- package/dist/cjs/features/ColumnGrouping.cjs +8 -9
- package/dist/cjs/features/ColumnGrouping.cjs.map +1 -1
- package/dist/cjs/features/ColumnOrdering.cjs +4 -4
- package/dist/cjs/features/ColumnOrdering.cjs.map +1 -1
- package/dist/cjs/features/ColumnPinning.cjs +5 -5
- package/dist/cjs/features/ColumnPinning.cjs.map +1 -1
- package/dist/cjs/features/ColumnSizing.cjs +7 -8
- package/dist/cjs/features/ColumnSizing.cjs.map +1 -1
- package/dist/cjs/features/ColumnVisibility.cjs +5 -5
- package/dist/cjs/features/ColumnVisibility.cjs.map +1 -1
- package/dist/cjs/features/GlobalFaceting.cjs +1 -1
- package/dist/cjs/features/GlobalFaceting.cjs.map +1 -1
- package/dist/cjs/features/GlobalFiltering.cjs +4 -4
- package/dist/cjs/features/GlobalFiltering.cjs.map +1 -1
- package/dist/cjs/features/RowExpanding.cjs +6 -8
- package/dist/cjs/features/RowExpanding.cjs.map +1 -1
- package/dist/cjs/features/RowPagination.cjs +4 -5
- package/dist/cjs/features/RowPagination.cjs.map +1 -1
- package/dist/cjs/features/RowPinning.cjs +31 -32
- package/dist/cjs/features/RowPinning.cjs.map +1 -1
- package/dist/cjs/features/RowPinning.d.cts +1 -1
- package/dist/cjs/features/RowSelection.cjs +6 -8
- package/dist/cjs/features/RowSelection.cjs.map +1 -1
- package/dist/cjs/features/RowSorting.cjs +6 -7
- package/dist/cjs/features/RowSorting.cjs.map +1 -1
- package/dist/cjs/filterFns.cjs.map +1 -1
- package/dist/cjs/index.cjs +5 -4
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/types.d.cts +8 -8
- package/dist/cjs/utils/filterRowsUtils.cjs +2 -2
- package/dist/cjs/utils/filterRowsUtils.cjs.map +1 -1
- package/dist/cjs/utils/getCoreRowModel.cjs +1 -1
- package/dist/cjs/utils/getCoreRowModel.cjs.map +1 -1
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs +1 -2
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +1 -1
- package/dist/cjs/utils/getFacetedUniqueValues.cjs +1 -2
- package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +1 -1
- package/dist/cjs/utils/getGroupedRowModel.cjs +1 -1
- package/dist/cjs/utils/getGroupedRowModel.cjs.map +1 -1
- package/dist/cjs/utils/getSortedRowModel.cjs +3 -6
- package/dist/cjs/utils/getSortedRowModel.cjs.map +1 -1
- package/dist/cjs/utils.cjs +2 -4
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/esm/aggregationFns.js +4 -8
- package/dist/esm/aggregationFns.js.map +1 -1
- package/dist/esm/core/cell.d.ts +1 -1
- package/dist/esm/core/cell.js +3 -3
- package/dist/esm/core/cell.js.map +1 -1
- package/dist/esm/core/column.d.ts +1 -1
- package/dist/esm/core/column.js +3 -3
- package/dist/esm/core/column.js.map +1 -1
- package/dist/esm/core/headers.js +5 -5
- package/dist/esm/core/headers.js.map +1 -1
- package/dist/esm/core/row.d.ts +1 -1
- package/dist/esm/core/row.js +6 -7
- package/dist/esm/core/row.js.map +1 -1
- package/dist/esm/core/table.d.ts +9 -1
- package/dist/esm/core/table.js +12 -8
- package/dist/esm/core/table.js.map +1 -1
- package/dist/esm/features/ColumnFaceting.js +1 -1
- package/dist/esm/features/ColumnFaceting.js.map +1 -1
- package/dist/esm/features/ColumnFiltering.js +6 -6
- package/dist/esm/features/ColumnFiltering.js.map +1 -1
- package/dist/esm/features/ColumnGrouping.js +8 -9
- package/dist/esm/features/ColumnGrouping.js.map +1 -1
- package/dist/esm/features/ColumnOrdering.js +4 -4
- package/dist/esm/features/ColumnOrdering.js.map +1 -1
- package/dist/esm/features/ColumnPinning.js +5 -5
- package/dist/esm/features/ColumnPinning.js.map +1 -1
- package/dist/esm/features/ColumnSizing.js +7 -8
- package/dist/esm/features/ColumnSizing.js.map +1 -1
- package/dist/esm/features/ColumnVisibility.js +5 -5
- package/dist/esm/features/ColumnVisibility.js.map +1 -1
- package/dist/esm/features/GlobalFaceting.js +1 -1
- package/dist/esm/features/GlobalFaceting.js.map +1 -1
- package/dist/esm/features/GlobalFiltering.js +4 -4
- package/dist/esm/features/GlobalFiltering.js.map +1 -1
- package/dist/esm/features/RowExpanding.js +6 -8
- package/dist/esm/features/RowExpanding.js.map +1 -1
- package/dist/esm/features/RowPagination.js +4 -5
- package/dist/esm/features/RowPagination.js.map +1 -1
- package/dist/esm/features/RowPinning.d.ts +1 -1
- package/dist/esm/features/RowPinning.js +31 -32
- package/dist/esm/features/RowPinning.js.map +1 -1
- package/dist/esm/features/RowSelection.js +6 -8
- package/dist/esm/features/RowSelection.js.map +1 -1
- package/dist/esm/features/RowSorting.js +6 -7
- package/dist/esm/features/RowSorting.js.map +1 -1
- package/dist/esm/filterFns.js.map +1 -1
- package/dist/esm/index.js +10 -9
- package/dist/esm/types.d.ts +8 -8
- package/dist/esm/utils/filterRowsUtils.js +3 -3
- package/dist/esm/utils/filterRowsUtils.js.map +1 -1
- package/dist/esm/utils/getCoreRowModel.js +2 -2
- package/dist/esm/utils/getCoreRowModel.js.map +1 -1
- package/dist/esm/utils/getFacetedMinMaxValues.js +1 -2
- package/dist/esm/utils/getFacetedMinMaxValues.js.map +1 -1
- package/dist/esm/utils/getFacetedUniqueValues.js +1 -2
- package/dist/esm/utils/getFacetedUniqueValues.js.map +1 -1
- package/dist/esm/utils/getGroupedRowModel.js +2 -2
- package/dist/esm/utils/getGroupedRowModel.js.map +1 -1
- package/dist/esm/utils/getSortedRowModel.js +3 -6
- package/dist/esm/utils/getSortedRowModel.js.map +1 -1
- package/dist/esm/utils.js +2 -4
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/core/cell.ts +2 -2
- package/src/core/column.ts +2 -2
- package/src/core/headers.ts +5 -5
- package/src/core/row.ts +4 -4
- package/src/core/table.ts +43 -7
- package/src/features/ColumnFaceting.ts +1 -1
- package/src/features/ColumnFiltering.ts +6 -6
- package/src/features/ColumnGrouping.ts +7 -7
- package/src/features/ColumnOrdering.ts +4 -4
- package/src/features/ColumnPinning.ts +5 -5
- package/src/features/ColumnSizing.ts +6 -6
- package/src/features/ColumnVisibility.ts +5 -5
- package/src/features/GlobalFaceting.ts +1 -1
- package/src/features/GlobalFiltering.ts +4 -4
- package/src/features/RowExpanding.ts +4 -4
- package/src/features/RowPagination.ts +3 -3
- package/src/features/RowPinning.ts +39 -35
- package/src/features/RowSelection.ts +4 -4
- package/src/features/RowSorting.ts +5 -5
- package/src/filterFns.ts +2 -2
- package/src/types.ts +8 -8
- package/src/utils/filterRowsUtils.ts +3 -3
- package/src/utils/getCoreRowModel.ts +2 -2
- package/src/utils/getGroupedRowModel.ts +2 -2
- package/src/utils/getSortedRowModel.ts +2 -2
- package/src/utils.ts +6 -5
|
@@ -240,7 +240,7 @@ export interface GroupingInstance<TData extends RowData> {
|
|
|
240
240
|
//
|
|
241
241
|
|
|
242
242
|
export const ColumnGrouping: TableFeature = {
|
|
243
|
-
|
|
243
|
+
_getDefaultColumnDef: <TData extends RowData>(): GroupingColumnDef<
|
|
244
244
|
TData,
|
|
245
245
|
unknown
|
|
246
246
|
> => {
|
|
@@ -250,14 +250,14 @@ export const ColumnGrouping: TableFeature = {
|
|
|
250
250
|
}
|
|
251
251
|
},
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
_getInitialState: (state): GroupingTableState => {
|
|
254
254
|
return {
|
|
255
255
|
grouping: [],
|
|
256
256
|
...state,
|
|
257
257
|
}
|
|
258
258
|
},
|
|
259
259
|
|
|
260
|
-
|
|
260
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
261
261
|
table: Table<TData>
|
|
262
262
|
): GroupingOptions => {
|
|
263
263
|
return {
|
|
@@ -266,7 +266,7 @@ export const ColumnGrouping: TableFeature = {
|
|
|
266
266
|
}
|
|
267
267
|
},
|
|
268
268
|
|
|
269
|
-
|
|
269
|
+
_createColumn: <TData extends RowData, TValue>(
|
|
270
270
|
column: Column<TData, TValue>,
|
|
271
271
|
table: Table<TData>
|
|
272
272
|
): void => {
|
|
@@ -334,7 +334,7 @@ export const ColumnGrouping: TableFeature = {
|
|
|
334
334
|
}
|
|
335
335
|
},
|
|
336
336
|
|
|
337
|
-
|
|
337
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
338
338
|
table.setGrouping = updater => table.options.onGroupingChange?.(updater)
|
|
339
339
|
|
|
340
340
|
table.resetGrouping = defaultState => {
|
|
@@ -355,7 +355,7 @@ export const ColumnGrouping: TableFeature = {
|
|
|
355
355
|
}
|
|
356
356
|
},
|
|
357
357
|
|
|
358
|
-
|
|
358
|
+
_createRow: <TData extends RowData>(
|
|
359
359
|
row: Row<TData>,
|
|
360
360
|
table: Table<TData>
|
|
361
361
|
): void => {
|
|
@@ -380,7 +380,7 @@ export const ColumnGrouping: TableFeature = {
|
|
|
380
380
|
row._groupingValuesCache = {}
|
|
381
381
|
},
|
|
382
382
|
|
|
383
|
-
|
|
383
|
+
_createCell: <TData extends RowData, TValue>(
|
|
384
384
|
cell: Cell<TData, TValue>,
|
|
385
385
|
column: Column<TData, TValue>,
|
|
386
386
|
row: Row<TData>,
|
|
@@ -73,14 +73,14 @@ export interface ColumnOrderInstance<TData extends RowData> {
|
|
|
73
73
|
//
|
|
74
74
|
|
|
75
75
|
export const ColumnOrdering: TableFeature = {
|
|
76
|
-
|
|
76
|
+
_getInitialState: (state): ColumnOrderTableState => {
|
|
77
77
|
return {
|
|
78
78
|
columnOrder: [],
|
|
79
79
|
...state,
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
84
84
|
table: Table<TData>
|
|
85
85
|
): ColumnOrderDefaultOptions => {
|
|
86
86
|
return {
|
|
@@ -88,7 +88,7 @@ export const ColumnOrdering: TableFeature = {
|
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
_createColumn: <TData extends RowData>(
|
|
92
92
|
column: Column<TData, unknown>,
|
|
93
93
|
table: Table<TData>
|
|
94
94
|
): void => {
|
|
@@ -107,7 +107,7 @@ export const ColumnOrdering: TableFeature = {
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
111
111
|
table.setColumnOrder = updater =>
|
|
112
112
|
table.options.onColumnOrderChange?.(updater)
|
|
113
113
|
table.resetColumnOrder = defaultState => {
|
|
@@ -151,14 +151,14 @@ const getDefaultColumnPinningState = (): ColumnPinningState => ({
|
|
|
151
151
|
})
|
|
152
152
|
|
|
153
153
|
export const ColumnPinning: TableFeature = {
|
|
154
|
-
|
|
154
|
+
_getInitialState: (state): ColumnPinningTableState => {
|
|
155
155
|
return {
|
|
156
156
|
columnPinning: getDefaultColumnPinningState(),
|
|
157
157
|
...state,
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
162
162
|
table: Table<TData>
|
|
163
163
|
): ColumnPinningDefaultOptions => {
|
|
164
164
|
return {
|
|
@@ -166,7 +166,7 @@ export const ColumnPinning: TableFeature = {
|
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
_createColumn: <TData extends RowData, TValue>(
|
|
170
170
|
column: Column<TData, TValue>,
|
|
171
171
|
table: Table<TData>
|
|
172
172
|
): void => {
|
|
@@ -236,7 +236,7 @@ export const ColumnPinning: TableFeature = {
|
|
|
236
236
|
}
|
|
237
237
|
},
|
|
238
238
|
|
|
239
|
-
|
|
239
|
+
_createRow: <TData extends RowData>(
|
|
240
240
|
row: Row<TData>,
|
|
241
241
|
table: Table<TData>
|
|
242
242
|
): void => {
|
|
@@ -279,7 +279,7 @@ export const ColumnPinning: TableFeature = {
|
|
|
279
279
|
)
|
|
280
280
|
},
|
|
281
281
|
|
|
282
|
-
|
|
282
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
283
283
|
table.setColumnPinning = updater =>
|
|
284
284
|
table.options.onColumnPinningChange?.(updater)
|
|
285
285
|
|
|
@@ -232,10 +232,10 @@ const getDefaultColumnSizingInfoState = (): ColumnSizingInfoState => ({
|
|
|
232
232
|
})
|
|
233
233
|
|
|
234
234
|
export const ColumnSizing: TableFeature = {
|
|
235
|
-
|
|
235
|
+
_getDefaultColumnDef: (): ColumnSizingColumnDef => {
|
|
236
236
|
return defaultColumnSizing
|
|
237
237
|
},
|
|
238
|
-
|
|
238
|
+
_getInitialState: (state): ColumnSizingTableState => {
|
|
239
239
|
return {
|
|
240
240
|
columnSizing: {},
|
|
241
241
|
columnSizingInfo: getDefaultColumnSizingInfoState(),
|
|
@@ -243,7 +243,7 @@ export const ColumnSizing: TableFeature = {
|
|
|
243
243
|
}
|
|
244
244
|
},
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
247
247
|
table: Table<TData>
|
|
248
248
|
): ColumnSizingDefaultOptions => {
|
|
249
249
|
return {
|
|
@@ -254,7 +254,7 @@ export const ColumnSizing: TableFeature = {
|
|
|
254
254
|
}
|
|
255
255
|
},
|
|
256
256
|
|
|
257
|
-
|
|
257
|
+
_createColumn: <TData extends RowData, TValue>(
|
|
258
258
|
column: Column<TData, TValue>,
|
|
259
259
|
table: Table<TData>
|
|
260
260
|
): void => {
|
|
@@ -312,7 +312,7 @@ export const ColumnSizing: TableFeature = {
|
|
|
312
312
|
}
|
|
313
313
|
},
|
|
314
314
|
|
|
315
|
-
|
|
315
|
+
_createHeader: <TData extends RowData, TValue>(
|
|
316
316
|
header: Header<TData, TValue>,
|
|
317
317
|
table: Table<TData>
|
|
318
318
|
): void => {
|
|
@@ -513,7 +513,7 @@ export const ColumnSizing: TableFeature = {
|
|
|
513
513
|
}
|
|
514
514
|
},
|
|
515
515
|
|
|
516
|
-
|
|
516
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
517
517
|
table.setColumnSizing = updater =>
|
|
518
518
|
table.options.onColumnSizingChange?.(updater)
|
|
519
519
|
table.setColumnSizingInfo = updater =>
|
|
@@ -150,14 +150,14 @@ export interface VisibilityColumn {
|
|
|
150
150
|
//
|
|
151
151
|
|
|
152
152
|
export const ColumnVisibility: TableFeature = {
|
|
153
|
-
|
|
153
|
+
_getInitialState: (state): VisibilityTableState => {
|
|
154
154
|
return {
|
|
155
155
|
columnVisibility: {},
|
|
156
156
|
...state,
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
161
161
|
table: Table<TData>
|
|
162
162
|
): VisibilityDefaultOptions => {
|
|
163
163
|
return {
|
|
@@ -165,7 +165,7 @@ export const ColumnVisibility: TableFeature = {
|
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
167
|
|
|
168
|
-
|
|
168
|
+
_createColumn: <TData extends RowData, TValue>(
|
|
169
169
|
column: Column<TData, TValue>,
|
|
170
170
|
table: Table<TData>
|
|
171
171
|
): void => {
|
|
@@ -201,7 +201,7 @@ export const ColumnVisibility: TableFeature = {
|
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
203
|
|
|
204
|
-
|
|
204
|
+
_createRow: <TData extends RowData>(
|
|
205
205
|
row: Row<TData>,
|
|
206
206
|
table: Table<TData>
|
|
207
207
|
): void => {
|
|
@@ -223,7 +223,7 @@ export const ColumnVisibility: TableFeature = {
|
|
|
223
223
|
)
|
|
224
224
|
},
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
227
227
|
const makeVisibleColumnsMethod = (
|
|
228
228
|
key: string,
|
|
229
229
|
getColumns: () => Column<TData, unknown>[]
|
|
@@ -28,7 +28,7 @@ export interface GlobalFacetingInstance<TData extends RowData> {
|
|
|
28
28
|
//
|
|
29
29
|
|
|
30
30
|
export const GlobalFaceting: TableFeature = {
|
|
31
|
-
|
|
31
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
32
32
|
table._getGlobalFacetedRowModel =
|
|
33
33
|
table.options.getFacetedRowModel &&
|
|
34
34
|
table.options.getFacetedRowModel(table, '__global__')
|
|
@@ -94,14 +94,14 @@ export interface GlobalFilterInstance<TData extends RowData> {
|
|
|
94
94
|
//
|
|
95
95
|
|
|
96
96
|
export const GlobalFiltering: TableFeature = {
|
|
97
|
-
|
|
97
|
+
_getInitialState: (state): GlobalFilterTableState => {
|
|
98
98
|
return {
|
|
99
99
|
globalFilter: undefined,
|
|
100
100
|
...state,
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
105
105
|
table: Table<TData>
|
|
106
106
|
): GlobalFilterOptions<TData> => {
|
|
107
107
|
return {
|
|
@@ -118,7 +118,7 @@ export const GlobalFiltering: TableFeature = {
|
|
|
118
118
|
} as GlobalFilterOptions<TData>
|
|
119
119
|
},
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
_createColumn: <TData extends RowData>(
|
|
122
122
|
column: Column<TData, unknown>,
|
|
123
123
|
table: Table<TData>
|
|
124
124
|
): void => {
|
|
@@ -133,7 +133,7 @@ export const GlobalFiltering: TableFeature = {
|
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
137
137
|
table.getGlobalAutoFilterFn = () => {
|
|
138
138
|
return filterFns.includesString
|
|
139
139
|
}
|
|
@@ -167,14 +167,14 @@ export interface ExpandedInstance<TData extends RowData> {
|
|
|
167
167
|
//
|
|
168
168
|
|
|
169
169
|
export const RowExpanding: TableFeature = {
|
|
170
|
-
|
|
170
|
+
_getInitialState: (state): ExpandedTableState => {
|
|
171
171
|
return {
|
|
172
172
|
expanded: {},
|
|
173
173
|
...state,
|
|
174
174
|
}
|
|
175
175
|
},
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
178
178
|
table: Table<TData>
|
|
179
179
|
): ExpandedOptions<TData> => {
|
|
180
180
|
return {
|
|
@@ -183,7 +183,7 @@ export const RowExpanding: TableFeature = {
|
|
|
183
183
|
}
|
|
184
184
|
},
|
|
185
185
|
|
|
186
|
-
|
|
186
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
187
187
|
let registered = false
|
|
188
188
|
let queued = false
|
|
189
189
|
|
|
@@ -283,7 +283,7 @@ export const RowExpanding: TableFeature = {
|
|
|
283
283
|
}
|
|
284
284
|
},
|
|
285
285
|
|
|
286
|
-
|
|
286
|
+
_createRow: <TData extends RowData>(
|
|
287
287
|
row: Row<TData>,
|
|
288
288
|
table: Table<TData>
|
|
289
289
|
): void => {
|
|
@@ -193,7 +193,7 @@ const getDefaultPaginationState = (): PaginationState => ({
|
|
|
193
193
|
})
|
|
194
194
|
|
|
195
195
|
export const RowPagination: TableFeature = {
|
|
196
|
-
|
|
196
|
+
_getInitialState: (state): PaginationTableState => {
|
|
197
197
|
return {
|
|
198
198
|
...state,
|
|
199
199
|
pagination: {
|
|
@@ -203,7 +203,7 @@ export const RowPagination: TableFeature = {
|
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
207
207
|
table: Table<TData>
|
|
208
208
|
): PaginationDefaultOptions => {
|
|
209
209
|
return {
|
|
@@ -211,7 +211,7 @@ export const RowPagination: TableFeature = {
|
|
|
211
211
|
}
|
|
212
212
|
},
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
215
215
|
let registered = false
|
|
216
216
|
let queued = false
|
|
217
217
|
|
|
@@ -76,7 +76,11 @@ export interface RowPinningRow {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
export interface RowPinningInstance<TData extends RowData> {
|
|
79
|
-
_getPinnedRows: (
|
|
79
|
+
_getPinnedRows: (
|
|
80
|
+
visiblePinnedRows: Array<Row<TData>>,
|
|
81
|
+
pinnedRowIds: Array<string> | undefined,
|
|
82
|
+
position: 'top' | 'bottom'
|
|
83
|
+
) => Row<TData>[]
|
|
80
84
|
/**
|
|
81
85
|
* Returns all bottom pinned rows.
|
|
82
86
|
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/row-pinning#getbottomrows)
|
|
@@ -123,14 +127,14 @@ const getDefaultRowPinningState = (): RowPinningState => ({
|
|
|
123
127
|
})
|
|
124
128
|
|
|
125
129
|
export const RowPinning: TableFeature = {
|
|
126
|
-
|
|
130
|
+
_getInitialState: (state): RowPinningTableState => {
|
|
127
131
|
return {
|
|
128
132
|
rowPinning: getDefaultRowPinningState(),
|
|
129
133
|
...state,
|
|
130
134
|
}
|
|
131
135
|
},
|
|
132
136
|
|
|
133
|
-
|
|
137
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
134
138
|
table: Table<TData>
|
|
135
139
|
): RowPinningDefaultOptions => {
|
|
136
140
|
return {
|
|
@@ -138,7 +142,7 @@ export const RowPinning: TableFeature = {
|
|
|
138
142
|
}
|
|
139
143
|
},
|
|
140
144
|
|
|
141
|
-
|
|
145
|
+
_createRow: <TData extends RowData>(
|
|
142
146
|
row: Row<TData>,
|
|
143
147
|
table: Table<TData>
|
|
144
148
|
): void => {
|
|
@@ -199,15 +203,15 @@ export const RowPinning: TableFeature = {
|
|
|
199
203
|
const position = row.getIsPinned()
|
|
200
204
|
if (!position) return -1
|
|
201
205
|
|
|
202
|
-
const visiblePinnedRowIds =
|
|
203
|
-
.
|
|
204
|
-
|
|
206
|
+
const visiblePinnedRowIds = (
|
|
207
|
+
position === 'top' ? table.getTopRows() : table.getBottomRows()
|
|
208
|
+
)?.map(({ id }) => id)
|
|
205
209
|
|
|
206
210
|
return visiblePinnedRowIds?.indexOf(row.id) ?? -1
|
|
207
211
|
}
|
|
208
212
|
},
|
|
209
213
|
|
|
210
|
-
|
|
214
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
211
215
|
table.setRowPinning = updater => table.options.onRowPinningChange?.(updater)
|
|
212
216
|
|
|
213
217
|
table.resetRowPinning = defaultState =>
|
|
@@ -226,36 +230,36 @@ export const RowPinning: TableFeature = {
|
|
|
226
230
|
return Boolean(pinningState[position]?.length)
|
|
227
231
|
}
|
|
228
232
|
|
|
229
|
-
table._getPinnedRows =
|
|
230
|
-
|
|
231
|
-
table.
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
return row.getIsAllParentsExpanded() ? row : null
|
|
243
|
-
})
|
|
244
|
-
: //else get only visible rows that are pinned
|
|
245
|
-
(pinnedRowIds ?? []).map(
|
|
246
|
-
rowId => visibleRows.find(row => row.id === rowId)!
|
|
247
|
-
)
|
|
233
|
+
table._getPinnedRows = (visibleRows, pinnedRowIds, position) => {
|
|
234
|
+
const rows =
|
|
235
|
+
table.options.keepPinnedRows ?? true
|
|
236
|
+
? //get all rows that are pinned even if they would not be otherwise visible
|
|
237
|
+
//account for expanded parent rows, but not pagination or filtering
|
|
238
|
+
(pinnedRowIds ?? []).map(rowId => {
|
|
239
|
+
const row = table.getRow(rowId, true)
|
|
240
|
+
return row.getIsAllParentsExpanded() ? row : null
|
|
241
|
+
})
|
|
242
|
+
: //else get only visible rows that are pinned
|
|
243
|
+
(pinnedRowIds ?? []).map(
|
|
244
|
+
rowId => visibleRows.find(row => row.id === rowId)!
|
|
245
|
+
)
|
|
248
246
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
.map(d => ({ ...d, position })) as Row<TData>[]
|
|
252
|
-
},
|
|
253
|
-
getMemoOptions(table.options, 'debugRows', '_getPinnedRows')
|
|
254
|
-
)
|
|
247
|
+
return rows.filter(Boolean).map(d => ({ ...d, position })) as Row<TData>[]
|
|
248
|
+
}
|
|
255
249
|
|
|
256
|
-
table.getTopRows = (
|
|
250
|
+
table.getTopRows = memo(
|
|
251
|
+
() => [table.getRowModel().rows, table.getState().rowPinning.top],
|
|
252
|
+
(allRows, topPinnedRowIds) =>
|
|
253
|
+
table._getPinnedRows(allRows, topPinnedRowIds, 'top'),
|
|
254
|
+
getMemoOptions(table.options, 'debugRows', 'getTopRows')
|
|
255
|
+
)
|
|
257
256
|
|
|
258
|
-
table.getBottomRows = (
|
|
257
|
+
table.getBottomRows = memo(
|
|
258
|
+
() => [table.getRowModel().rows, table.getState().rowPinning.bottom],
|
|
259
|
+
(allRows, bottomPinnedRowIds) =>
|
|
260
|
+
table._getPinnedRows(allRows, bottomPinnedRowIds, 'bottom'),
|
|
261
|
+
getMemoOptions(table.options, 'debugRows', 'getBottomRows')
|
|
262
|
+
)
|
|
259
263
|
|
|
260
264
|
table.getCenterRows = memo(
|
|
261
265
|
() => [
|
|
@@ -197,14 +197,14 @@ export interface RowSelectionInstance<TData extends RowData> {
|
|
|
197
197
|
//
|
|
198
198
|
|
|
199
199
|
export const RowSelection: TableFeature = {
|
|
200
|
-
|
|
200
|
+
_getInitialState: (state): RowSelectionTableState => {
|
|
201
201
|
return {
|
|
202
202
|
rowSelection: {},
|
|
203
203
|
...state,
|
|
204
204
|
}
|
|
205
205
|
},
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
208
208
|
table: Table<TData>
|
|
209
209
|
): RowSelectionOptions<TData> => {
|
|
210
210
|
return {
|
|
@@ -218,7 +218,7 @@ export const RowSelection: TableFeature = {
|
|
|
218
218
|
}
|
|
219
219
|
},
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
222
222
|
table.setRowSelection = updater =>
|
|
223
223
|
table.options.onRowSelectionChange?.(updater)
|
|
224
224
|
table.resetRowSelection = defaultState =>
|
|
@@ -466,7 +466,7 @@ export const RowSelection: TableFeature = {
|
|
|
466
466
|
}
|
|
467
467
|
},
|
|
468
468
|
|
|
469
|
-
|
|
469
|
+
_createRow: <TData extends RowData>(
|
|
470
470
|
row: Row<TData>,
|
|
471
471
|
table: Table<TData>
|
|
472
472
|
): void => {
|
|
@@ -276,21 +276,21 @@ export interface SortingInstance<TData extends RowData> {
|
|
|
276
276
|
//
|
|
277
277
|
|
|
278
278
|
export const RowSorting: TableFeature = {
|
|
279
|
-
|
|
279
|
+
_getInitialState: (state): SortingTableState => {
|
|
280
280
|
return {
|
|
281
281
|
sorting: [],
|
|
282
282
|
...state,
|
|
283
283
|
}
|
|
284
284
|
},
|
|
285
285
|
|
|
286
|
-
|
|
286
|
+
_getDefaultColumnDef: <TData extends RowData>(): SortingColumnDef<TData> => {
|
|
287
287
|
return {
|
|
288
288
|
sortingFn: 'auto',
|
|
289
289
|
sortUndefined: 1,
|
|
290
290
|
}
|
|
291
291
|
},
|
|
292
292
|
|
|
293
|
-
|
|
293
|
+
_getDefaultOptions: <TData extends RowData>(
|
|
294
294
|
table: Table<TData>
|
|
295
295
|
): SortingOptions<TData> => {
|
|
296
296
|
return {
|
|
@@ -301,7 +301,7 @@ export const RowSorting: TableFeature = {
|
|
|
301
301
|
}
|
|
302
302
|
},
|
|
303
303
|
|
|
304
|
-
|
|
304
|
+
_createColumn: <TData extends RowData, TValue>(
|
|
305
305
|
column: Column<TData, TValue>,
|
|
306
306
|
table: Table<TData>
|
|
307
307
|
): void => {
|
|
@@ -521,7 +521,7 @@ export const RowSorting: TableFeature = {
|
|
|
521
521
|
}
|
|
522
522
|
},
|
|
523
523
|
|
|
524
|
-
|
|
524
|
+
_createTable: <TData extends RowData>(table: Table<TData>): void => {
|
|
525
525
|
table.setSorting = updater => table.options.onSortingChange?.(updater)
|
|
526
526
|
table.resetSorting = defaultState => {
|
|
527
527
|
table.setSorting(defaultState ? [] : table.initialState?.sorting ?? [])
|
package/src/filterFns.ts
CHANGED
|
@@ -69,8 +69,8 @@ const arrIncludesSome: FilterFn<any> = (
|
|
|
69
69
|
columnId: string,
|
|
70
70
|
filterValue: unknown[]
|
|
71
71
|
) => {
|
|
72
|
-
return filterValue.some(
|
|
73
|
-
|
|
72
|
+
return filterValue.some(val =>
|
|
73
|
+
row.getValue<unknown[]>(columnId)?.includes(val)
|
|
74
74
|
)
|
|
75
75
|
}
|
|
76
76
|
|
package/src/types.ts
CHANGED
|
@@ -98,21 +98,21 @@ import { CellContext, CoreCell } from './core/cell'
|
|
|
98
98
|
import { CoreColumn } from './core/column'
|
|
99
99
|
|
|
100
100
|
export interface TableFeature<TData extends RowData = any> {
|
|
101
|
-
|
|
101
|
+
_createCell?: (
|
|
102
102
|
cell: Cell<TData, unknown>,
|
|
103
103
|
column: Column<TData>,
|
|
104
104
|
row: Row<TData>,
|
|
105
105
|
table: Table<TData>
|
|
106
106
|
) => void
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
107
|
+
_createColumn?: (column: Column<TData, unknown>, table: Table<TData>) => void
|
|
108
|
+
_createHeader?: (header: Header<TData, unknown>, table: Table<TData>) => void
|
|
109
|
+
_createRow?: (row: Row<TData>, table: Table<TData>) => void
|
|
110
|
+
_createTable?: (table: Table<TData>) => void
|
|
111
|
+
_getDefaultColumnDef?: () => Partial<ColumnDef<TData, unknown>>
|
|
112
|
+
_getDefaultOptions?: (
|
|
113
113
|
table: Table<TData>
|
|
114
114
|
) => Partial<TableOptionsResolved<TData>>
|
|
115
|
-
|
|
115
|
+
_getInitialState?: (initialState?: InitialTableState) => Partial<TableState>
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
export interface TableMeta<TData extends RowData> {}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _createRow } from '../core/row'
|
|
2
2
|
import { Row, RowModel, Table, RowData } from '../types'
|
|
3
3
|
|
|
4
4
|
export function filterRows<TData extends RowData>(
|
|
@@ -29,7 +29,7 @@ function filterRowModelFromLeafs<TData extends RowData>(
|
|
|
29
29
|
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
30
30
|
let row = rowsToFilter[i]!
|
|
31
31
|
|
|
32
|
-
const newRow =
|
|
32
|
+
const newRow = _createRow(
|
|
33
33
|
table,
|
|
34
34
|
row.id,
|
|
35
35
|
row.original,
|
|
@@ -100,7 +100,7 @@ function filterRowModelFromRoot<TData extends RowData>(
|
|
|
100
100
|
|
|
101
101
|
if (pass) {
|
|
102
102
|
if (row.subRows?.length && depth < maxDepth) {
|
|
103
|
-
const newRow =
|
|
103
|
+
const newRow = _createRow(
|
|
104
104
|
table,
|
|
105
105
|
row.id,
|
|
106
106
|
row.original,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _createRow } from '../core/row'
|
|
2
2
|
import { Table, Row, RowModel, RowData } from '../types'
|
|
3
3
|
import { getMemoOptions, memo } from '../utils'
|
|
4
4
|
|
|
@@ -37,7 +37,7 @@ export function getCoreRowModel<TData extends RowData>(): (
|
|
|
37
37
|
// }
|
|
38
38
|
|
|
39
39
|
// Make the row
|
|
40
|
-
const row =
|
|
40
|
+
const row = _createRow(
|
|
41
41
|
table,
|
|
42
42
|
table._getRowId(originalRows[i]!, i, parentRow),
|
|
43
43
|
originalRows[i]!,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _createRow } from '../core/row'
|
|
2
2
|
import { Table, Row, RowModel, RowData } from '../types'
|
|
3
3
|
import { flattenBy, getMemoOptions, memo } from '../utils'
|
|
4
4
|
|
|
@@ -67,7 +67,7 @@ export function getGroupedRowModel<TData extends RowData>(): (
|
|
|
67
67
|
? flattenBy(groupedRows, row => row.subRows)
|
|
68
68
|
: groupedRows
|
|
69
69
|
|
|
70
|
-
const row =
|
|
70
|
+
const row = _createRow(
|
|
71
71
|
table,
|
|
72
72
|
id,
|
|
73
73
|
leafRows[0]!.original,
|
|
@@ -18,8 +18,8 @@ export function getSortedRowModel<TData extends RowData>(): (
|
|
|
18
18
|
const sortedFlatRows: Row<TData>[] = []
|
|
19
19
|
|
|
20
20
|
// Filter out sortings that correspond to non existing columns
|
|
21
|
-
const availableSorting = sortingState.filter(
|
|
22
|
-
|
|
21
|
+
const availableSorting = sortingState.filter(sort =>
|
|
22
|
+
table.getColumn(sort.id)?.getCanSort()
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
const columnInfoById: Record<
|
package/src/utils.ts
CHANGED
|
@@ -65,11 +65,12 @@ type DeepKeysPrefix<
|
|
|
65
65
|
? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`
|
|
66
66
|
: never
|
|
67
67
|
|
|
68
|
-
export type DeepValue<T, TProp> =
|
|
69
|
-
|
|
70
|
-
?
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
export type DeepValue<T, TProp> =
|
|
69
|
+
T extends Record<string | number, any>
|
|
70
|
+
? TProp extends `${infer TBranch}.${infer TDeepProp}`
|
|
71
|
+
? DeepValue<T[TBranch], TDeepProp>
|
|
72
|
+
: T[TProp & string]
|
|
73
|
+
: never
|
|
73
74
|
|
|
74
75
|
export type NoInfer<T> = [T][T extends any ? 0 : never]
|
|
75
76
|
|