@tanstack/table-core 9.0.0-alpha.33 → 9.0.0-alpha.34
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/core/columns/coreColumnsFeature.cjs +18 -12
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +18 -12
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +11 -8
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +11 -8
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs +2 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js +2 -1
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +19 -10
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -3
- package/dist/core/table/constructTable.d.ts +1 -3
- package/dist/core/table/constructTable.js +21 -11
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +54 -10
- package/dist/core/table/coreTablesFeature.types.d.ts +54 -10
- package/dist/core/table/coreTablesFeature.utils.cjs +5 -1
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.js +5 -1
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +18 -12
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +18 -12
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +9 -6
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js +9 -6
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +4 -4
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +4 -4
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -6
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js +11 -6
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +6 -2
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.js +6 -2
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -11
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +17 -11
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +5 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +5 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +72 -45
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.js +72 -45
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +24 -13
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.js +24 -13
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -2
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.js +2 -2
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +16 -10
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +16 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +2 -2
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.js +2 -2
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +28 -16
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +28 -16
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -6
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js +10 -6
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +8 -5
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +8 -5
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +10 -6
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js +10 -6
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +6 -6
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +6 -6
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +12 -6
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +12 -6
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +8 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.js +8 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +12 -3
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +12 -3
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +14 -7
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.js +14 -7
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +6 -2
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js +6 -2
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +4 -4
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.js +4 -4
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/table-reactivity/tableReactivityFeature.cjs +23 -1
- package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -1
- package/dist/features/table-reactivity/tableReactivityFeature.js +23 -1
- package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -1
- package/dist/index.cjs +1 -261
- package/dist/index.d.cts +3 -23
- package/dist/index.d.ts +3 -23
- package/dist/index.js +2 -22
- package/dist/static-functions.cjs +261 -0
- package/dist/static-functions.d.cts +21 -0
- package/dist/static-functions.d.ts +21 -0
- package/dist/static-functions.js +22 -0
- package/dist/types/Table.d.cts +5 -3
- package/dist/types/Table.d.ts +5 -3
- package/dist/utils.cjs +2 -6
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +2 -6
- package/dist/utils.js.map +1 -1
- package/package.json +5 -1
- package/src/core/columns/coreColumnsFeature.ts +4 -4
- package/src/core/headers/coreHeadersFeature.ts +4 -4
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/table/constructTable.ts +31 -15
- package/src/core/table/coreTablesFeature.types.ts +69 -9
- package/src/core/table/coreTablesFeature.utils.ts +7 -1
- package/src/features/column-faceting/columnFacetingFeature.ts +4 -4
- package/src/features/column-faceting/createFacetedRowModel.ts +2 -2
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +6 -5
- package/src/features/column-filtering/createFilteredRowModel.ts +4 -3
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -2
- package/src/features/column-grouping/createGroupedRowModel.ts +2 -2
- package/src/features/column-ordering/columnOrderingFeature.ts +5 -5
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +3 -3
- package/src/features/column-pinning/columnPinningFeature.ts +22 -21
- package/src/features/column-pinning/columnPinningFeature.utils.ts +12 -12
- package/src/features/column-resizing/columnResizingFeature.utils.ts +3 -1
- package/src/features/column-sizing/columnSizingFeature.ts +2 -2
- package/src/features/column-sizing/columnSizingFeature.utils.ts +1 -1
- package/src/features/column-visibility/columnVisibilityFeature.ts +6 -6
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +1 -1
- package/src/features/row-expanding/createExpandedRowModel.ts +2 -2
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +5 -5
- package/src/features/row-pagination/createPaginatedRowModel.ts +3 -3
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +3 -3
- package/src/features/row-pinning/rowPinningFeature.ts +4 -4
- package/src/features/row-pinning/rowPinningFeature.utils.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +3 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +1 -1
- package/src/features/row-selection/rowSelectionFeature.utils.ts +10 -8
- package/src/features/row-sorting/createSortedRowModel.ts +5 -2
- package/src/features/row-sorting/rowSortingFeature.utils.ts +5 -4
- package/src/features/table-reactivity/tableReactivityFeature.ts +46 -1
- package/src/index.ts +0 -20
- package/src/static-functions.ts +31 -0
- package/src/types/Table.ts +10 -3
- package/src/utils.ts +3 -8
|
@@ -16,11 +16,11 @@ export function constructReactivityFeature<
|
|
|
16
16
|
}): TableFeature<TableReactivityFeatureConstructors<TFeatures, TData>> {
|
|
17
17
|
return {
|
|
18
18
|
constructTableAPIs: (table) => {
|
|
19
|
-
table.store = bindStore(table.store, bindings.stateNotifier)
|
|
20
19
|
table.optionsStore = bindStore(
|
|
21
20
|
table.optionsStore,
|
|
22
21
|
bindings.optionsNotifier,
|
|
23
22
|
)
|
|
23
|
+
table.atoms = bindAtoms(table.atoms, bindings.stateNotifier)
|
|
24
24
|
},
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -45,3 +45,48 @@ const bindStore = <T extends Store<any> | ReadonlyStore<any>>(
|
|
|
45
45
|
|
|
46
46
|
return store
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
// Wraps an atoms/baseAtoms map so that `.get()` on any individual atom
|
|
50
|
+
// calls the framework notifier first — matching how `bindStore` wraps
|
|
51
|
+
// `store.state`. The proxy also transparently forwards missing slices
|
|
52
|
+
// (atoms for features not registered on this table) as `undefined`.
|
|
53
|
+
const bindAtoms = <T extends object>(atoms: T, notifier?: () => unknown): T => {
|
|
54
|
+
if (!notifier) return atoms
|
|
55
|
+
// Cache wrapped atoms so referential identity is stable per slice.
|
|
56
|
+
const wrappedCache = new Map<PropertyKey, any>()
|
|
57
|
+
return new Proxy(atoms, {
|
|
58
|
+
get(target, prop, receiver) {
|
|
59
|
+
const atom = Reflect.get(target, prop, receiver) as unknown
|
|
60
|
+
if (!atom || typeof prop !== 'string' || !isAtomLike(atom)) {
|
|
61
|
+
return atom
|
|
62
|
+
}
|
|
63
|
+
if (wrappedCache.has(prop)) return wrappedCache.get(prop)
|
|
64
|
+
const originalGet = atom.get.bind(atom)
|
|
65
|
+
const wrapped = new Proxy(atom, {
|
|
66
|
+
get(atomTarget, atomProp, atomReceiver) {
|
|
67
|
+
if (atomProp === 'get') {
|
|
68
|
+
return () => {
|
|
69
|
+
notifier()
|
|
70
|
+
return originalGet()
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return Reflect.get(atomTarget, atomProp, atomReceiver)
|
|
74
|
+
},
|
|
75
|
+
})
|
|
76
|
+
wrappedCache.set(prop, wrapped)
|
|
77
|
+
return wrapped
|
|
78
|
+
},
|
|
79
|
+
})
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface AtomLike {
|
|
83
|
+
get: () => unknown
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function isAtomLike(value: unknown): value is AtomLike {
|
|
87
|
+
return (
|
|
88
|
+
typeof value === 'object' &&
|
|
89
|
+
value !== null &&
|
|
90
|
+
typeof (value as { get?: unknown }).get === 'function'
|
|
91
|
+
)
|
|
92
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -31,38 +31,32 @@ export * from './utils'
|
|
|
31
31
|
export * from './core/cells/constructCell'
|
|
32
32
|
export * from './core/cells/coreCellsFeature'
|
|
33
33
|
export * from './core/cells/coreCellsFeature.types'
|
|
34
|
-
export * from './core/cells/coreCellsFeature.utils'
|
|
35
34
|
|
|
36
35
|
// Columns
|
|
37
36
|
export * from './core/columns/constructColumn'
|
|
38
37
|
export * from './core/columns/coreColumnsFeature'
|
|
39
38
|
export * from './core/columns/coreColumnsFeature.types'
|
|
40
|
-
export * from './core/columns/coreColumnsFeature.utils'
|
|
41
39
|
|
|
42
40
|
// Headers
|
|
43
41
|
export * from './core/headers/buildHeaderGroups'
|
|
44
42
|
export * from './core/headers/constructHeader'
|
|
45
43
|
export * from './core/headers/coreHeadersFeature'
|
|
46
44
|
export * from './core/headers/coreHeadersFeature.types'
|
|
47
|
-
export * from './core/headers/coreHeadersFeature.utils'
|
|
48
45
|
|
|
49
46
|
// Rows
|
|
50
47
|
export * from './core/rows/constructRow'
|
|
51
48
|
export * from './core/rows/coreRowsFeature'
|
|
52
49
|
export * from './core/rows/coreRowsFeature.types'
|
|
53
|
-
export * from './core/rows/coreRowsFeature.utils'
|
|
54
50
|
|
|
55
51
|
// Row Models
|
|
56
52
|
export * from './core/row-models/coreRowModelsFeature'
|
|
57
53
|
export * from './core/row-models/coreRowModelsFeature.types'
|
|
58
|
-
export * from './core/row-models/coreRowModelsFeature.utils'
|
|
59
54
|
export * from './core/row-models/createCoreRowModel'
|
|
60
55
|
|
|
61
56
|
// Tables
|
|
62
57
|
export * from './core/table/constructTable'
|
|
63
58
|
export * from './core/table/coreTablesFeature'
|
|
64
59
|
export * from './core/table/coreTablesFeature.types'
|
|
65
|
-
export * from './core/table/coreTablesFeature.utils'
|
|
66
60
|
|
|
67
61
|
/**
|
|
68
62
|
* RowModelFns
|
|
@@ -84,7 +78,6 @@ export * from './features/table-reactivity/tableReactivityFeature'
|
|
|
84
78
|
// columnFacetingFeature
|
|
85
79
|
export * from './features/column-faceting/columnFacetingFeature'
|
|
86
80
|
export * from './features/column-faceting/columnFacetingFeature.types'
|
|
87
|
-
export * from './features/column-faceting/columnFacetingFeature.utils'
|
|
88
81
|
export * from './features/column-faceting/createFacetedMinMaxValues'
|
|
89
82
|
export * from './features/column-faceting/createFacetedRowModel'
|
|
90
83
|
export * from './features/column-faceting/createFacetedUniqueValues'
|
|
@@ -92,71 +85,58 @@ export * from './features/column-faceting/createFacetedUniqueValues'
|
|
|
92
85
|
// columnFilteringFeature
|
|
93
86
|
export * from './features/column-filtering/columnFilteringFeature'
|
|
94
87
|
export * from './features/column-filtering/columnFilteringFeature.types'
|
|
95
|
-
export * from './features/column-filtering/columnFilteringFeature.utils'
|
|
96
88
|
export * from './features/column-filtering/createFilteredRowModel'
|
|
97
89
|
|
|
98
90
|
// columnGroupingFeature
|
|
99
91
|
export * from './features/column-grouping/columnGroupingFeature'
|
|
100
92
|
export * from './features/column-grouping/columnGroupingFeature.types'
|
|
101
|
-
export * from './features/column-grouping/columnGroupingFeature.utils'
|
|
102
93
|
export * from './features/column-grouping/createGroupedRowModel'
|
|
103
94
|
|
|
104
95
|
// columnOrderingFeature
|
|
105
96
|
export * from './features/column-ordering/columnOrderingFeature'
|
|
106
97
|
export * from './features/column-ordering/columnOrderingFeature.types'
|
|
107
|
-
export * from './features/column-ordering/columnOrderingFeature.utils'
|
|
108
98
|
|
|
109
99
|
// columnPinningFeature
|
|
110
100
|
export * from './features/column-pinning/columnPinningFeature'
|
|
111
101
|
export * from './features/column-pinning/columnPinningFeature.types'
|
|
112
|
-
export * from './features/column-pinning/columnPinningFeature.utils'
|
|
113
102
|
|
|
114
103
|
// columnResizingFeature
|
|
115
104
|
export * from './features/column-resizing/columnResizingFeature'
|
|
116
105
|
export * from './features/column-resizing/columnResizingFeature.types'
|
|
117
|
-
export * from './features/column-resizing/columnResizingFeature.utils'
|
|
118
106
|
|
|
119
107
|
// columnSizingFeature
|
|
120
108
|
export * from './features/column-sizing/columnSizingFeature'
|
|
121
109
|
export * from './features/column-sizing/columnSizingFeature.types'
|
|
122
|
-
export * from './features/column-sizing/columnSizingFeature.utils'
|
|
123
110
|
|
|
124
111
|
// columnVisibilityFeature
|
|
125
112
|
export * from './features/column-visibility/columnVisibilityFeature'
|
|
126
113
|
export * from './features/column-visibility/columnVisibilityFeature.types'
|
|
127
|
-
export * from './features/column-visibility/columnVisibilityFeature.utils'
|
|
128
114
|
|
|
129
115
|
// globalFilteringFeature
|
|
130
116
|
export * from './features/global-filtering/globalFilteringFeature'
|
|
131
117
|
export * from './features/global-filtering/globalFilteringFeature.types'
|
|
132
|
-
export * from './features/global-filtering/globalFilteringFeature.utils'
|
|
133
118
|
|
|
134
119
|
// rowExpandingFeature
|
|
135
120
|
export * from './features/row-expanding/rowExpandingFeature'
|
|
136
121
|
export * from './features/row-expanding/rowExpandingFeature.types'
|
|
137
|
-
export * from './features/row-expanding/rowExpandingFeature.utils'
|
|
138
122
|
export * from './features/row-expanding/createExpandedRowModel'
|
|
139
123
|
|
|
140
124
|
// rowPaginationFeature
|
|
141
125
|
export * from './features/row-pagination/rowPaginationFeature'
|
|
142
126
|
export * from './features/row-pagination/rowPaginationFeature.types'
|
|
143
|
-
export * from './features/row-pagination/rowPaginationFeature.utils'
|
|
144
127
|
export * from './features/row-pagination/createPaginatedRowModel'
|
|
145
128
|
|
|
146
129
|
// rowPinningFeature
|
|
147
130
|
export * from './features/row-pinning/rowPinningFeature'
|
|
148
131
|
export * from './features/row-pinning/rowPinningFeature.types'
|
|
149
|
-
export * from './features/row-pinning/rowPinningFeature.utils'
|
|
150
132
|
|
|
151
133
|
// rowSelectionFeature
|
|
152
134
|
export * from './features/row-selection/rowSelectionFeature'
|
|
153
135
|
export * from './features/row-selection/rowSelectionFeature.types'
|
|
154
|
-
export * from './features/row-selection/rowSelectionFeature.utils'
|
|
155
136
|
|
|
156
137
|
// rowSortingFeature
|
|
157
138
|
export * from './features/row-sorting/rowSortingFeature'
|
|
158
139
|
export * from './features/row-sorting/rowSortingFeature.types'
|
|
159
|
-
export * from './features/row-sorting/rowSortingFeature.utils'
|
|
160
140
|
export * from './features/row-sorting/createSortedRowModel'
|
|
161
141
|
|
|
162
142
|
// force
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static utility functions sub-entry.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all standalone utility functions from each feature's `.utils.ts`
|
|
5
|
+
* module so consumers that want the functions (without constructing a table)
|
|
6
|
+
* can grab them from a single path.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// Core
|
|
10
|
+
export * from './core/cells/coreCellsFeature.utils'
|
|
11
|
+
export * from './core/columns/coreColumnsFeature.utils'
|
|
12
|
+
export * from './core/headers/coreHeadersFeature.utils'
|
|
13
|
+
export * from './core/rows/coreRowsFeature.utils'
|
|
14
|
+
export * from './core/row-models/coreRowModelsFeature.utils'
|
|
15
|
+
export * from './core/table/coreTablesFeature.utils'
|
|
16
|
+
|
|
17
|
+
// Features
|
|
18
|
+
export * from './features/column-faceting/columnFacetingFeature.utils'
|
|
19
|
+
export * from './features/column-filtering/columnFilteringFeature.utils'
|
|
20
|
+
export * from './features/column-grouping/columnGroupingFeature.utils'
|
|
21
|
+
export * from './features/column-ordering/columnOrderingFeature.utils'
|
|
22
|
+
export * from './features/column-pinning/columnPinningFeature.utils'
|
|
23
|
+
export * from './features/column-resizing/columnResizingFeature.utils'
|
|
24
|
+
export * from './features/column-sizing/columnSizingFeature.utils'
|
|
25
|
+
export * from './features/column-visibility/columnVisibilityFeature.utils'
|
|
26
|
+
export * from './features/global-filtering/globalFilteringFeature.utils'
|
|
27
|
+
export * from './features/row-expanding/rowExpandingFeature.utils'
|
|
28
|
+
export * from './features/row-pagination/rowPaginationFeature.utils'
|
|
29
|
+
export * from './features/row-pinning/rowPinningFeature.utils'
|
|
30
|
+
export * from './features/row-selection/rowSelectionFeature.utils'
|
|
31
|
+
export * from './features/row-sorting/rowSortingFeature.utils'
|
package/src/types/Table.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReadonlyStore
|
|
1
|
+
import type { ReadonlyStore } from '@tanstack/store'
|
|
2
2
|
import type { Table_ColumnFaceting } from '../features/column-faceting/columnFacetingFeature.types'
|
|
3
3
|
import type { Table_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
|
|
4
4
|
import type { Table_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
|
|
@@ -22,7 +22,12 @@ import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
|
|
|
22
22
|
import type { Table_Columns } from '../core/columns/coreColumnsFeature.types'
|
|
23
23
|
import type { Table_Headers } from '../core/headers/coreHeadersFeature.types'
|
|
24
24
|
import type { Table_Rows } from '../core/rows/coreRowsFeature.types'
|
|
25
|
-
import type {
|
|
25
|
+
import type {
|
|
26
|
+
Atoms_All,
|
|
27
|
+
BaseAtoms_All,
|
|
28
|
+
ExternalAtoms_All,
|
|
29
|
+
Table_Table,
|
|
30
|
+
} from '../core/table/coreTablesFeature.types'
|
|
26
31
|
import type { TableOptions_All } from './TableOptions'
|
|
27
32
|
|
|
28
33
|
/**
|
|
@@ -118,8 +123,10 @@ export type Table_Internal<
|
|
|
118
123
|
_rowModels?: CreateRowModels_All<TFeatures, TData>
|
|
119
124
|
state?: TableState_All
|
|
120
125
|
initialState?: TableState_All
|
|
126
|
+
atoms?: ExternalAtoms_All
|
|
121
127
|
}
|
|
122
128
|
initialState: TableState_All
|
|
123
|
-
|
|
129
|
+
baseAtoms: BaseAtoms_All
|
|
130
|
+
atoms: Atoms_All
|
|
124
131
|
store: ReadonlyStore<TableState_All>
|
|
125
132
|
}
|
package/src/utils.ts
CHANGED
|
@@ -16,14 +16,9 @@ export function makeStateUpdater<
|
|
|
16
16
|
K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>,
|
|
17
17
|
>(key: K, instance: Table<TFeatures, any>) {
|
|
18
18
|
return (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => {
|
|
19
|
-
instance.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
...old,
|
|
23
|
-
[key]: functionalUpdate(updater, (old as any)[key]),
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
)
|
|
19
|
+
const externalAtom = (instance.options as any).atoms?.[key]
|
|
20
|
+
const targetAtom = externalAtom ?? (instance.baseAtoms as any)[key]
|
|
21
|
+
targetAtom.set((old: any) => functionalUpdate(updater, old))
|
|
27
22
|
}
|
|
28
23
|
}
|
|
29
24
|
|