@tanstack/table-core 8.0.0-alpha.22 → 8.0.0-alpha.25
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/aggregationTypes.js +21 -19
- package/build/cjs/aggregationTypes.js.map +1 -1
- package/build/cjs/core.js +17 -29
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +2 -2
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +23 -8
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +1 -8
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +3 -3
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterTypes.js.map +1 -1
- package/build/cjs/sortTypes.js.map +1 -1
- package/build/cjs/utils/columnFilterRowsFn.js +20 -78
- package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +100 -0
- package/build/cjs/utils/filterRowsUtils.js.map +1 -0
- package/build/cjs/utils/globalFilterRowsFn.js +10 -62
- package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/groupRowsFn.js +15 -15
- package/build/cjs/utils/groupRowsFn.js.map +1 -1
- package/build/cjs/utils/sortRowsFn.js +1 -1
- package/build/cjs/utils/sortRowsFn.js.map +1 -1
- package/build/esm/index.js +2587 -2620
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +368 -335
- package/build/types/aggregationTypes.d.ts +9 -9
- package/build/types/core.d.ts +8 -13
- package/build/types/createTable.d.ts +4 -4
- package/build/types/features/ColumnSizing.d.ts +13 -8
- package/build/types/features/Expanding.d.ts +6 -6
- package/build/types/features/Filters.d.ts +15 -15
- package/build/types/features/Grouping.d.ts +16 -16
- package/build/types/features/Headers.d.ts +6 -6
- package/build/types/features/Ordering.d.ts +4 -4
- package/build/types/features/Pagination.d.ts +5 -5
- package/build/types/features/Pinning.d.ts +5 -5
- package/build/types/features/RowSelection.d.ts +8 -8
- package/build/types/features/Sorting.d.ts +12 -12
- package/build/types/features/Visibility.d.ts +6 -6
- package/build/types/filterTypes.d.ts +10 -10
- package/build/types/sortTypes.d.ts +7 -7
- package/build/types/types.d.ts +22 -13
- package/build/types/utils/filterRowsUtils.d.ts +3 -0
- package/build/types/utils/sortRowsQuicksortFn.d.ts +11 -0
- package/build/umd/index.development.js +2587 -2620
- 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/aggregationTypes.ts +23 -19
- package/src/core.tsx +29 -55
- package/src/createTable.tsx +17 -11
- package/src/features/ColumnSizing.ts +31 -7
- package/src/features/Expanding.ts +7 -15
- package/src/features/Filters.ts +15 -15
- package/src/features/Grouping.ts +19 -19
- package/src/features/Headers.ts +5 -5
- package/src/features/Ordering.ts +3 -3
- package/src/features/Pagination.ts +4 -4
- package/src/features/Pinning.ts +4 -4
- package/src/features/RowSelection.ts +9 -11
- package/src/features/Sorting.ts +11 -11
- package/src/features/Visibility.ts +5 -5
- package/src/filterTypes.ts +9 -9
- package/src/sortTypes.ts +6 -6
- package/src/types.ts +34 -25
- package/src/utils/columnFilterRowsFn.ts +12 -73
- package/src/utils/filterRowsUtils.ts +107 -0
- package/src/utils/globalFilterRowsFn.ts +10 -66
- package/src/utils/groupRowsFn.ts +15 -17
- package/src/utils/sortRowsFn.ts +6 -8
- package/src/utils/sortRowsQuicksortFn.ts +174 -0
package/src/features/Filters.ts
CHANGED
|
@@ -24,17 +24,17 @@ export type ColumnFilter = {
|
|
|
24
24
|
|
|
25
25
|
export type ColumnFiltersState = ColumnFilter[]
|
|
26
26
|
|
|
27
|
-
export type FilterFn<TGenerics extends
|
|
27
|
+
export type FilterFn<TGenerics extends AnyGenerics> = {
|
|
28
28
|
(rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any
|
|
29
29
|
autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export type ColumnFilterAutoRemoveTestFn<TGenerics extends
|
|
32
|
+
export type ColumnFilterAutoRemoveTestFn<TGenerics extends AnyGenerics> = (
|
|
33
33
|
value: unknown,
|
|
34
34
|
column?: Column<TGenerics>
|
|
35
35
|
) => boolean
|
|
36
36
|
|
|
37
|
-
export type CustomFilterTypes<TGenerics extends
|
|
37
|
+
export type CustomFilterTypes<TGenerics extends AnyGenerics> = Record<
|
|
38
38
|
string,
|
|
39
39
|
FilterFn<TGenerics>
|
|
40
40
|
>
|
|
@@ -44,13 +44,13 @@ export type FiltersTableState = {
|
|
|
44
44
|
globalFilter: any
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export type FilterType<TGenerics extends
|
|
47
|
+
export type FilterType<TGenerics extends AnyGenerics> =
|
|
48
48
|
| 'auto'
|
|
49
49
|
| BuiltInFilterType
|
|
50
50
|
| TGenerics['FilterFns']
|
|
51
51
|
| FilterFn<TGenerics>
|
|
52
52
|
|
|
53
|
-
export type FiltersColumnDef<TGenerics extends
|
|
53
|
+
export type FiltersColumnDef<TGenerics extends AnyGenerics> = {
|
|
54
54
|
filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>
|
|
55
55
|
enableAllFilters?: boolean
|
|
56
56
|
enableColumnFilter?: boolean
|
|
@@ -60,7 +60,7 @@ export type FiltersColumnDef<TGenerics extends PartialGenerics> = {
|
|
|
60
60
|
defaultCanGlobalFilter?: boolean
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export type FiltersColumn<TGenerics extends
|
|
63
|
+
export type FiltersColumn<TGenerics extends AnyGenerics> = {
|
|
64
64
|
filterType: FilterType<Overwrite<TGenerics, { Value: any }>>
|
|
65
65
|
getCanColumnFilter: () => boolean
|
|
66
66
|
getCanGlobalFilter: () => boolean
|
|
@@ -73,8 +73,8 @@ export type FiltersColumn<TGenerics extends PartialGenerics> = {
|
|
|
73
73
|
getPreFilteredMinMaxValues: () => [any, any]
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
export type FiltersOptions<TGenerics extends
|
|
77
|
-
|
|
76
|
+
export type FiltersOptions<TGenerics extends AnyGenerics> = {
|
|
77
|
+
filterFromLeafRows?: boolean
|
|
78
78
|
filterTypes?: TGenerics['FilterFns']
|
|
79
79
|
enableFilters?: boolean
|
|
80
80
|
// Column
|
|
@@ -98,7 +98,7 @@ export type FiltersOptions<TGenerics extends PartialGenerics> = {
|
|
|
98
98
|
getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
export type FiltersInstance<TGenerics extends
|
|
101
|
+
export type FiltersInstance<TGenerics extends AnyGenerics> = {
|
|
102
102
|
_notifyFiltersReset: () => void
|
|
103
103
|
getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
|
|
104
104
|
|
|
@@ -135,7 +135,7 @@ export type FiltersInstance<TGenerics extends PartialGenerics> = {
|
|
|
135
135
|
|
|
136
136
|
export const Filters = {
|
|
137
137
|
getDefaultColumn: <
|
|
138
|
-
TGenerics extends
|
|
138
|
+
TGenerics extends AnyGenerics
|
|
139
139
|
>(): FiltersColumnDef<TGenerics> => {
|
|
140
140
|
return {
|
|
141
141
|
filterType: 'auto',
|
|
@@ -149,14 +149,14 @@ export const Filters = {
|
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
151
|
|
|
152
|
-
getDefaultOptions: <TGenerics extends
|
|
152
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
153
153
|
instance: TableInstance<TGenerics>
|
|
154
154
|
): FiltersOptions<TGenerics> => {
|
|
155
155
|
return {
|
|
156
156
|
onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
|
|
157
157
|
onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
|
|
158
158
|
autoResetColumnFilters: true,
|
|
159
|
-
|
|
159
|
+
filterFromLeafRows: true,
|
|
160
160
|
autoResetGlobalFilter: true,
|
|
161
161
|
globalFilterType: 'auto',
|
|
162
162
|
getColumnCanGlobalFilterFn: column => {
|
|
@@ -169,7 +169,7 @@ export const Filters = {
|
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
171
|
|
|
172
|
-
createColumn: <TGenerics extends
|
|
172
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
173
173
|
column: Column<TGenerics>,
|
|
174
174
|
instance: TableInstance<TGenerics>
|
|
175
175
|
): FiltersColumn<TGenerics> => {
|
|
@@ -228,7 +228,7 @@ export const Filters = {
|
|
|
228
228
|
}
|
|
229
229
|
},
|
|
230
230
|
|
|
231
|
-
getInstance: <TGenerics extends
|
|
231
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
232
232
|
instance: TableInstance<TGenerics>
|
|
233
233
|
): FiltersInstance<TGenerics> => {
|
|
234
234
|
let registered = false
|
|
@@ -553,7 +553,7 @@ export const Filters = {
|
|
|
553
553
|
},
|
|
554
554
|
}
|
|
555
555
|
|
|
556
|
-
export function shouldAutoRemoveFilter<TGenerics extends
|
|
556
|
+
export function shouldAutoRemoveFilter<TGenerics extends AnyGenerics>(
|
|
557
557
|
filterFn?: FilterFn<TGenerics>,
|
|
558
558
|
value?: any,
|
|
559
559
|
column?: Column<TGenerics>
|
package/src/features/Grouping.ts
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
TableInstance,
|
|
10
10
|
Row,
|
|
11
11
|
Updater,
|
|
12
|
-
AnyGenerics,
|
|
13
12
|
PartialGenerics,
|
|
14
13
|
Renderable,
|
|
15
14
|
UseRenderer,
|
|
15
|
+
AnyGenerics,
|
|
16
16
|
} from '../types'
|
|
17
17
|
import {
|
|
18
18
|
functionalUpdate,
|
|
@@ -25,17 +25,17 @@ import {
|
|
|
25
25
|
|
|
26
26
|
export type GroupingState = string[]
|
|
27
27
|
|
|
28
|
-
export type AggregationFn<TGenerics extends
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
export type AggregationFn<TGenerics extends AnyGenerics> = (
|
|
29
|
+
getLeafValues: () => TGenerics['Row'][],
|
|
30
|
+
getChildValues: () => TGenerics['Row'][]
|
|
31
31
|
) => any
|
|
32
32
|
|
|
33
|
-
export type CustomAggregationTypes<TGenerics extends
|
|
33
|
+
export type CustomAggregationTypes<TGenerics extends AnyGenerics> = Record<
|
|
34
34
|
string,
|
|
35
35
|
AggregationFn<TGenerics>
|
|
36
36
|
>
|
|
37
37
|
|
|
38
|
-
export type AggregationType<TGenerics extends
|
|
38
|
+
export type AggregationType<TGenerics extends AnyGenerics> =
|
|
39
39
|
| 'auto'
|
|
40
40
|
| BuiltInAggregationType
|
|
41
41
|
| keyof TGenerics['AggregationFns']
|
|
@@ -45,7 +45,7 @@ export type GroupingTableState = {
|
|
|
45
45
|
grouping: GroupingState
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
export type GroupingColumnDef<TGenerics extends
|
|
48
|
+
export type GroupingColumnDef<TGenerics extends AnyGenerics> = {
|
|
49
49
|
aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>
|
|
50
50
|
aggregateValue?: (columnValue: unknown) => any
|
|
51
51
|
aggregatedCell?: Renderable<
|
|
@@ -62,7 +62,7 @@ export type GroupingColumnDef<TGenerics extends PartialGenerics> = {
|
|
|
62
62
|
defaultCanGroup?: boolean
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
export type GroupingColumn<TGenerics extends
|
|
65
|
+
export type GroupingColumn<TGenerics extends AnyGenerics> = {
|
|
66
66
|
aggregationType?: AggregationType<Overwrite<TGenerics, { Value: any }>>
|
|
67
67
|
getCanGroup: () => boolean
|
|
68
68
|
getIsGrouped: () => boolean
|
|
@@ -79,7 +79,7 @@ export type GroupingRow = {
|
|
|
79
79
|
getIsGrouped: () => boolean
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
export type GroupingCell<TGenerics extends
|
|
82
|
+
export type GroupingCell<TGenerics extends AnyGenerics> = {
|
|
83
83
|
getIsGrouped: () => boolean
|
|
84
84
|
getIsPlaceholder: () => boolean
|
|
85
85
|
getIsAggregated: () => boolean
|
|
@@ -93,7 +93,7 @@ export type ColumnDefaultOptions = {
|
|
|
93
93
|
enableGrouping: boolean
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
export type GroupingOptions<TGenerics extends
|
|
96
|
+
export type GroupingOptions<TGenerics extends AnyGenerics> = {
|
|
97
97
|
aggregationTypes?: TGenerics['AggregationFns']
|
|
98
98
|
onGroupingChange?: OnChangeFn<GroupingState>
|
|
99
99
|
autoResetGrouping?: boolean
|
|
@@ -114,7 +114,7 @@ export type ToggleGroupingProps = {
|
|
|
114
114
|
onClick?: (event: MouseEvent | TouchEvent) => void
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
export type GroupingInstance<TGenerics extends
|
|
117
|
+
export type GroupingInstance<TGenerics extends AnyGenerics> = {
|
|
118
118
|
_notifyGroupingReset: () => void
|
|
119
119
|
getColumnAutoAggregationFn: (
|
|
120
120
|
columnId: string
|
|
@@ -141,7 +141,7 @@ export type GroupingInstance<TGenerics extends PartialGenerics> = {
|
|
|
141
141
|
|
|
142
142
|
export const Grouping = {
|
|
143
143
|
getDefaultColumn: <
|
|
144
|
-
TGenerics extends
|
|
144
|
+
TGenerics extends AnyGenerics
|
|
145
145
|
>(): GroupingColumnDef<TGenerics> => {
|
|
146
146
|
return {
|
|
147
147
|
aggregationType: 'auto',
|
|
@@ -154,7 +154,7 @@ export const Grouping = {
|
|
|
154
154
|
}
|
|
155
155
|
},
|
|
156
156
|
|
|
157
|
-
getDefaultOptions: <TGenerics extends
|
|
157
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
158
158
|
instance: TableInstance<TGenerics>
|
|
159
159
|
): GroupingOptions<TGenerics> => {
|
|
160
160
|
return {
|
|
@@ -164,7 +164,7 @@ export const Grouping = {
|
|
|
164
164
|
}
|
|
165
165
|
},
|
|
166
166
|
|
|
167
|
-
createColumn: <TGenerics extends
|
|
167
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
168
168
|
column: Column<TGenerics>,
|
|
169
169
|
instance: TableInstance<TGenerics>
|
|
170
170
|
): GroupingColumn<TGenerics> => {
|
|
@@ -179,7 +179,7 @@ export const Grouping = {
|
|
|
179
179
|
}
|
|
180
180
|
},
|
|
181
181
|
|
|
182
|
-
getInstance: <TGenerics extends
|
|
182
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
183
183
|
instance: TableInstance<TGenerics>
|
|
184
184
|
): GroupingInstance<TGenerics> => {
|
|
185
185
|
let registered = false
|
|
@@ -228,7 +228,7 @@ export const Grouping = {
|
|
|
228
228
|
return isFunction(column.aggregationType)
|
|
229
229
|
? column.aggregationType
|
|
230
230
|
: column.aggregationType === 'auto'
|
|
231
|
-
? instance.
|
|
231
|
+
? instance.getColumnAutoAggregationFn(columnId)
|
|
232
232
|
: (userAggregationTypes as Record<string, any>)?.[
|
|
233
233
|
column.aggregationType as string
|
|
234
234
|
] ??
|
|
@@ -322,7 +322,7 @@ export const Grouping = {
|
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
324
|
|
|
325
|
-
createRow: <TGenerics extends
|
|
325
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
326
326
|
row: Row<TGenerics>,
|
|
327
327
|
instance: TableInstance<TGenerics>
|
|
328
328
|
): GroupingRow => {
|
|
@@ -331,7 +331,7 @@ export const Grouping = {
|
|
|
331
331
|
}
|
|
332
332
|
},
|
|
333
333
|
|
|
334
|
-
createCell: <TGenerics extends
|
|
334
|
+
createCell: <TGenerics extends AnyGenerics>(
|
|
335
335
|
cell: Cell<TGenerics>,
|
|
336
336
|
column: Column<TGenerics>,
|
|
337
337
|
row: Row<TGenerics>,
|
|
@@ -361,7 +361,7 @@ export const Grouping = {
|
|
|
361
361
|
}
|
|
362
362
|
},
|
|
363
363
|
|
|
364
|
-
orderColumns: <TGenerics extends
|
|
364
|
+
orderColumns: <TGenerics extends AnyGenerics>(
|
|
365
365
|
leafColumns: Column<TGenerics>[],
|
|
366
366
|
grouping: string[],
|
|
367
367
|
groupedColumnMode?: GroupingColumnMode
|
package/src/features/Headers.ts
CHANGED
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import { propGetter, memo } from '../utils'
|
|
19
19
|
import { ColumnSizing } from './ColumnSizing'
|
|
20
20
|
|
|
21
|
-
export type HeadersRow<TGenerics extends
|
|
21
|
+
export type HeadersRow<TGenerics extends AnyGenerics> = {
|
|
22
22
|
_getAllVisibleCells: () => Cell<TGenerics>[]
|
|
23
23
|
getVisibleCells: () => Cell<TGenerics>[]
|
|
24
24
|
getLeftVisibleCells: () => Cell<TGenerics>[]
|
|
@@ -26,7 +26,7 @@ export type HeadersRow<TGenerics extends PartialGenerics> = {
|
|
|
26
26
|
getRightVisibleCells: () => Cell<TGenerics>[]
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type HeadersInstance<TGenerics extends
|
|
29
|
+
export type HeadersInstance<TGenerics extends AnyGenerics> = {
|
|
30
30
|
createHeader: (
|
|
31
31
|
column: Column<TGenerics>,
|
|
32
32
|
options: {
|
|
@@ -80,7 +80,7 @@ export type HeadersInstance<TGenerics extends PartialGenerics> = {
|
|
|
80
80
|
//
|
|
81
81
|
|
|
82
82
|
export const Headers = {
|
|
83
|
-
createRow: <TGenerics extends
|
|
83
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
84
84
|
row: Row<TGenerics>,
|
|
85
85
|
instance: TableInstance<TGenerics>
|
|
86
86
|
): HeadersRow<TGenerics> => {
|
|
@@ -167,7 +167,7 @@ export const Headers = {
|
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
169
|
|
|
170
|
-
getInstance: <TGenerics extends
|
|
170
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
171
171
|
instance: TableInstance<TGenerics>
|
|
172
172
|
): HeadersInstance<TGenerics> => {
|
|
173
173
|
return {
|
|
@@ -607,7 +607,7 @@ export const Headers = {
|
|
|
607
607
|
},
|
|
608
608
|
}
|
|
609
609
|
|
|
610
|
-
export function buildHeaderGroups<TGenerics extends
|
|
610
|
+
export function buildHeaderGroups<TGenerics extends AnyGenerics>(
|
|
611
611
|
allColumns: Column<TGenerics>[],
|
|
612
612
|
columnsToGroup: Column<TGenerics>[],
|
|
613
613
|
instance: TableInstance<TGenerics>,
|
package/src/features/Ordering.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type ColumnOrderDefaultOptions = {
|
|
|
25
25
|
onColumnOrderChange: OnChangeFn<ColumnOrderState>
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type ColumnOrderInstance<TGenerics extends
|
|
28
|
+
export type ColumnOrderInstance<TGenerics extends AnyGenerics> = {
|
|
29
29
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void
|
|
30
30
|
resetColumnOrder: () => void
|
|
31
31
|
getOrderColumnsFn: () => (columns: Column<TGenerics>[]) => Column<TGenerics>[]
|
|
@@ -40,7 +40,7 @@ export const Ordering = {
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
|
|
43
|
-
getDefaultOptions: <TGenerics extends
|
|
43
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
44
44
|
instance: TableInstance<TGenerics>
|
|
45
45
|
): ColumnOrderDefaultOptions => {
|
|
46
46
|
return {
|
|
@@ -48,7 +48,7 @@ export const Ordering = {
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
|
|
51
|
-
getInstance: <TGenerics extends
|
|
51
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
52
52
|
instance: TableInstance<TGenerics>
|
|
53
53
|
): ColumnOrderInstance<TGenerics> => {
|
|
54
54
|
return {
|
|
@@ -18,7 +18,7 @@ export type PaginationTableState = {
|
|
|
18
18
|
pagination: PaginationState
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export type PaginationOptions<TGenerics extends
|
|
21
|
+
export type PaginationOptions<TGenerics extends AnyGenerics> = {
|
|
22
22
|
onPaginationChange?: OnChangeFn<PaginationState>
|
|
23
23
|
autoResetPageIndex?: boolean
|
|
24
24
|
paginateRowsFn?: (
|
|
@@ -32,7 +32,7 @@ export type PaginationDefaultOptions = {
|
|
|
32
32
|
autoResetPageIndex: boolean
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export type PaginationInstance<TGenerics extends
|
|
35
|
+
export type PaginationInstance<TGenerics extends AnyGenerics> = {
|
|
36
36
|
_notifyPageIndexReset: () => void
|
|
37
37
|
setPagination: (updater: Updater<PaginationState>) => void
|
|
38
38
|
resetPagination: () => void
|
|
@@ -64,7 +64,7 @@ export const Pagination = {
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
|
|
67
|
-
getDefaultOptions: <TGenerics extends
|
|
67
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
68
68
|
instance: TableInstance<TGenerics>
|
|
69
69
|
): PaginationDefaultOptions => {
|
|
70
70
|
return {
|
|
@@ -73,7 +73,7 @@ export const Pagination = {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
|
|
76
|
-
getInstance: <TGenerics extends
|
|
76
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
77
77
|
instance: TableInstance<TGenerics>
|
|
78
78
|
): PaginationInstance<TGenerics> => {
|
|
79
79
|
let registered = false
|
package/src/features/Pinning.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type ColumnPinningColumn = {
|
|
|
40
40
|
pin: (position: ColumnPinningPosition) => void
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export type ColumnPinningInstance<TGenerics extends
|
|
43
|
+
export type ColumnPinningInstance<TGenerics extends AnyGenerics> = {
|
|
44
44
|
setColumnPinning: (updater: Updater<ColumnPinningState>) => void
|
|
45
45
|
resetColumnPinning: () => void
|
|
46
46
|
pinColumn: (columnId: string, position: ColumnPinningPosition) => void
|
|
@@ -62,7 +62,7 @@ export const Pinning = {
|
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
|
|
65
|
-
getDefaultOptions: <TGenerics extends
|
|
65
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
66
66
|
instance: TableInstance<TGenerics>
|
|
67
67
|
): ColumnPinningDefaultOptions => {
|
|
68
68
|
return {
|
|
@@ -70,7 +70,7 @@ export const Pinning = {
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
|
|
73
|
-
createColumn: <TGenerics extends
|
|
73
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
74
74
|
column: Column<TGenerics>,
|
|
75
75
|
instance: TableInstance<TGenerics>
|
|
76
76
|
): ColumnPinningColumn => {
|
|
@@ -82,7 +82,7 @@ export const Pinning = {
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
|
|
85
|
-
getInstance: <TGenerics extends
|
|
85
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
86
86
|
instance: TableInstance<TGenerics>
|
|
87
87
|
): ColumnPinningInstance<TGenerics> => {
|
|
88
88
|
return {
|
|
@@ -17,7 +17,7 @@ export type RowSelectionTableState = {
|
|
|
17
17
|
rowSelection: RowSelectionState
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export type RowSelectionOptions<TGenerics extends
|
|
20
|
+
export type RowSelectionOptions<TGenerics extends AnyGenerics> = {
|
|
21
21
|
onRowSelectionChange?: OnChangeFn<RowSelectionState>
|
|
22
22
|
autoResetRowSelection?: boolean
|
|
23
23
|
enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)
|
|
@@ -60,7 +60,7 @@ export type RowSelectionRow = {
|
|
|
60
60
|
) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export type RowSelectionInstance<TGenerics extends
|
|
63
|
+
export type RowSelectionInstance<TGenerics extends AnyGenerics> = {
|
|
64
64
|
_notifyRowSelectionReset: () => void
|
|
65
65
|
getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(
|
|
66
66
|
rowId: string,
|
|
@@ -106,7 +106,7 @@ export const RowSelection = {
|
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
|
|
109
|
-
getDefaultOptions: <TGenerics extends
|
|
109
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
110
110
|
instance: TableInstance<TGenerics>
|
|
111
111
|
): RowSelectionOptions<TGenerics> => {
|
|
112
112
|
return {
|
|
@@ -121,7 +121,7 @@ export const RowSelection = {
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
|
|
124
|
-
getInstance: <TGenerics extends
|
|
124
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
125
125
|
instance: TableInstance<TGenerics>
|
|
126
126
|
): RowSelectionInstance<TGenerics> => {
|
|
127
127
|
let registered = false
|
|
@@ -160,9 +160,7 @@ export const RowSelection = {
|
|
|
160
160
|
? value
|
|
161
161
|
: !instance.getIsAllRowsSelected()
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
// Leave all the other rows that are selected alone.
|
|
165
|
-
const rowSelection = Object.assign({}, old)
|
|
163
|
+
const rowSelection = { ...old }
|
|
166
164
|
|
|
167
165
|
const preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows
|
|
168
166
|
|
|
@@ -537,7 +535,7 @@ export const RowSelection = {
|
|
|
537
535
|
}
|
|
538
536
|
},
|
|
539
537
|
|
|
540
|
-
createRow: <TGenerics extends
|
|
538
|
+
createRow: <TGenerics extends AnyGenerics>(
|
|
541
539
|
row: Row<TGenerics>,
|
|
542
540
|
instance: TableInstance<TGenerics>
|
|
543
541
|
): RowSelectionRow => {
|
|
@@ -553,7 +551,7 @@ export const RowSelection = {
|
|
|
553
551
|
},
|
|
554
552
|
}
|
|
555
553
|
|
|
556
|
-
const mutateRowIsSelected = <TGenerics extends
|
|
554
|
+
const mutateRowIsSelected = <TGenerics extends AnyGenerics>(
|
|
557
555
|
selectedRowIds: Record<string, boolean>,
|
|
558
556
|
id: string,
|
|
559
557
|
value: boolean,
|
|
@@ -581,7 +579,7 @@ const mutateRowIsSelected = <TGenerics extends PartialGenerics>(
|
|
|
581
579
|
}
|
|
582
580
|
}
|
|
583
581
|
|
|
584
|
-
export function selectRowsFn<TGenerics extends
|
|
582
|
+
export function selectRowsFn<TGenerics extends AnyGenerics>(
|
|
585
583
|
instance: TableInstance<TGenerics>,
|
|
586
584
|
rowModel: RowModel<TGenerics>
|
|
587
585
|
): RowModel<TGenerics> {
|
|
@@ -622,7 +620,7 @@ export function selectRowsFn<TGenerics extends PartialGenerics>(
|
|
|
622
620
|
}
|
|
623
621
|
}
|
|
624
622
|
|
|
625
|
-
export function isRowSelected<TGenerics extends
|
|
623
|
+
export function isRowSelected<TGenerics extends AnyGenerics>(
|
|
626
624
|
row: Row<TGenerics>,
|
|
627
625
|
selection: Record<string, boolean>,
|
|
628
626
|
instance: TableInstance<TGenerics>
|
package/src/features/Sorting.ts
CHANGED
|
@@ -33,11 +33,11 @@ export type ColumnSort = {
|
|
|
33
33
|
|
|
34
34
|
export type SortingState = ColumnSort[]
|
|
35
35
|
|
|
36
|
-
export type SortingFn<TGenerics extends
|
|
36
|
+
export type SortingFn<TGenerics extends AnyGenerics> = {
|
|
37
37
|
(rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export type CustomSortingTypes<TGenerics extends
|
|
40
|
+
export type CustomSortingTypes<TGenerics extends AnyGenerics> = Record<
|
|
41
41
|
string,
|
|
42
42
|
SortingFn<TGenerics>
|
|
43
43
|
>
|
|
@@ -46,13 +46,13 @@ export type SortingTableState = {
|
|
|
46
46
|
sorting: SortingState
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export type SortType<TGenerics extends
|
|
49
|
+
export type SortType<TGenerics extends AnyGenerics> =
|
|
50
50
|
| 'auto'
|
|
51
51
|
| BuiltInSortType
|
|
52
52
|
| keyof TGenerics['SortingFns']
|
|
53
53
|
| SortingFn<TGenerics>
|
|
54
54
|
|
|
55
|
-
export type SortingColumnDef<TGenerics extends
|
|
55
|
+
export type SortingColumnDef<TGenerics extends AnyGenerics> = {
|
|
56
56
|
sortType?: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
57
57
|
sortDescFirst?: boolean
|
|
58
58
|
enableSorting?: boolean
|
|
@@ -62,7 +62,7 @@ export type SortingColumnDef<TGenerics extends PartialGenerics> = {
|
|
|
62
62
|
sortUndefined?: false | -1 | 1
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
export type SortingColumn<TGenerics extends
|
|
65
|
+
export type SortingColumn<TGenerics extends AnyGenerics> = {
|
|
66
66
|
sortType: SortType<Overwrite<TGenerics, { Value: any }>>
|
|
67
67
|
getCanSort: () => boolean
|
|
68
68
|
getCanMultiSort: () => boolean
|
|
@@ -75,7 +75,7 @@ export type SortingColumn<TGenerics extends PartialGenerics> = {
|
|
|
75
75
|
) => undefined | PropGetterValue<ToggleSortingProps, TGetter>
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export type SortingOptions<TGenerics extends
|
|
78
|
+
export type SortingOptions<TGenerics extends AnyGenerics> = {
|
|
79
79
|
sortTypes?: TGenerics['SortingFns']
|
|
80
80
|
onSortingChange?: OnChangeFn<SortingState>
|
|
81
81
|
autoResetSorting?: boolean
|
|
@@ -97,7 +97,7 @@ export type ToggleSortingProps = {
|
|
|
97
97
|
onClick?: (event: MouseEvent | TouchEvent) => void
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
export type SortingInstance<TGenerics extends
|
|
100
|
+
export type SortingInstance<TGenerics extends AnyGenerics> = {
|
|
101
101
|
_notifySortingReset: () => void
|
|
102
102
|
getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined
|
|
103
103
|
getColumnAutoSortDir: (columnId: string) => SortDirection
|
|
@@ -127,7 +127,7 @@ export type SortingInstance<TGenerics extends PartialGenerics> = {
|
|
|
127
127
|
|
|
128
128
|
export const Sorting = {
|
|
129
129
|
getDefaultColumn: <
|
|
130
|
-
TGenerics extends
|
|
130
|
+
TGenerics extends AnyGenerics
|
|
131
131
|
>(): SortingColumnDef<TGenerics> => {
|
|
132
132
|
return {
|
|
133
133
|
sortType: 'auto',
|
|
@@ -140,7 +140,7 @@ export const Sorting = {
|
|
|
140
140
|
}
|
|
141
141
|
},
|
|
142
142
|
|
|
143
|
-
getDefaultOptions: <TGenerics extends
|
|
143
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
144
144
|
instance: TableInstance<TGenerics>
|
|
145
145
|
): SortingOptions<TGenerics> => {
|
|
146
146
|
return {
|
|
@@ -152,7 +152,7 @@ export const Sorting = {
|
|
|
152
152
|
}
|
|
153
153
|
},
|
|
154
154
|
|
|
155
|
-
createColumn: <TGenerics extends
|
|
155
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
156
156
|
column: Column<TGenerics>,
|
|
157
157
|
instance: TableInstance<TGenerics>
|
|
158
158
|
): SortingColumn<TGenerics> => {
|
|
@@ -170,7 +170,7 @@ export const Sorting = {
|
|
|
170
170
|
}
|
|
171
171
|
},
|
|
172
172
|
|
|
173
|
-
getInstance: <TGenerics extends
|
|
173
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
174
174
|
instance: TableInstance<TGenerics>
|
|
175
175
|
): SortingInstance<TGenerics> => {
|
|
176
176
|
let registered = false
|
|
@@ -26,7 +26,7 @@ export type VisibilityTableState = {
|
|
|
26
26
|
columnVisibility: VisibilityState
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type VisibilityInstance<TGenerics extends
|
|
29
|
+
export type VisibilityInstance<TGenerics extends AnyGenerics> = {
|
|
30
30
|
getVisibleFlatColumns: () => Column<TGenerics>[]
|
|
31
31
|
getVisibleLeafColumns: () => Column<TGenerics>[]
|
|
32
32
|
setColumnVisibility: (updater: Updater<VisibilityState>) => void
|
|
@@ -52,7 +52,7 @@ export type VisibilityColumnDef = {
|
|
|
52
52
|
defaultIsVisible?: boolean
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export type VisibilityRow<TGenerics extends
|
|
55
|
+
export type VisibilityRow<TGenerics extends AnyGenerics> = {
|
|
56
56
|
getVisibleCells: () => Cell<TGenerics>[]
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -74,7 +74,7 @@ export const Visibility = {
|
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
|
|
77
|
-
getDefaultOptions: <TGenerics extends
|
|
77
|
+
getDefaultOptions: <TGenerics extends AnyGenerics>(
|
|
78
78
|
instance: TableInstance<TGenerics>
|
|
79
79
|
): VisibilityDefaultOptions => {
|
|
80
80
|
return {
|
|
@@ -88,7 +88,7 @@ export const Visibility = {
|
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
|
|
91
|
-
createColumn: <TGenerics extends
|
|
91
|
+
createColumn: <TGenerics extends AnyGenerics>(
|
|
92
92
|
column: Column<TGenerics>,
|
|
93
93
|
instance: TableInstance<TGenerics>
|
|
94
94
|
): VisibilityColumn => {
|
|
@@ -112,7 +112,7 @@ export const Visibility = {
|
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
114
|
|
|
115
|
-
getInstance: <TGenerics extends
|
|
115
|
+
getInstance: <TGenerics extends AnyGenerics>(
|
|
116
116
|
instance: TableInstance<TGenerics>
|
|
117
117
|
): VisibilityInstance<TGenerics> => {
|
|
118
118
|
return {
|