@tanstack/table-core 8.19.2 → 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 +94 -0
- package/dist/cjs/aggregationFns.cjs.map +1 -0
- package/dist/cjs/aggregationFns.d.cts +14 -0
- package/dist/cjs/columnHelper.cjs +19 -0
- package/dist/cjs/columnHelper.cjs.map +1 -0
- package/dist/cjs/columnHelper.d.cts +9 -0
- package/dist/cjs/core/cell.cjs +38 -0
- package/dist/cjs/core/cell.cjs.map +1 -0
- package/dist/cjs/core/cell.d.cts +50 -0
- package/dist/cjs/core/column.cjs +81 -0
- package/dist/cjs/core/column.cjs.map +1 -0
- package/dist/cjs/core/column.d.cts +56 -0
- package/dist/cjs/core/headers.cjs +310 -0
- package/dist/cjs/core/headers.cjs.map +1 -0
- package/dist/cjs/core/headers.d.cts +195 -0
- package/dist/cjs/core/row.cjs +92 -0
- package/dist/cjs/core/row.cjs.map +1 -0
- package/dist/cjs/core/row.d.cts +92 -0
- package/dist/cjs/core/table.cjs +232 -0
- package/dist/cjs/core/table.cjs.map +1 -0
- package/dist/cjs/core/table.d.cts +229 -0
- package/dist/cjs/features/ColumnFaceting.cjs +29 -0
- package/dist/cjs/features/ColumnFaceting.cjs.map +1 -0
- package/dist/cjs/features/ColumnFaceting.d.cts +35 -0
- package/dist/cjs/features/ColumnFiltering.cjs +137 -0
- package/dist/cjs/features/ColumnFiltering.cjs.map +1 -0
- package/dist/cjs/features/ColumnFiltering.d.cts +195 -0
- package/dist/cjs/features/ColumnGrouping.cjs +133 -0
- package/dist/cjs/features/ColumnGrouping.cjs.map +1 -0
- package/dist/cjs/features/ColumnGrouping.d.cts +202 -0
- package/dist/cjs/features/ColumnOrdering.cjs +76 -0
- package/dist/cjs/features/ColumnOrdering.cjs.map +1 -0
- package/dist/cjs/features/ColumnOrdering.d.cts +54 -0
- package/dist/cjs/features/ColumnPinning.cjs +145 -0
- package/dist/cjs/features/ColumnPinning.cjs.map +1 -0
- package/dist/cjs/features/ColumnPinning.d.cts +127 -0
- package/dist/cjs/features/ColumnSizing.cjs +307 -0
- package/dist/cjs/features/ColumnSizing.cjs.map +1 -0
- package/dist/cjs/features/ColumnSizing.d.cts +194 -0
- package/dist/cjs/features/ColumnVisibility.cjs +144 -0
- package/dist/cjs/features/ColumnVisibility.cjs.map +1 -0
- package/dist/cjs/features/ColumnVisibility.d.cts +130 -0
- package/dist/cjs/features/GlobalFaceting.cjs +29 -0
- package/dist/cjs/features/GlobalFaceting.cjs.map +1 -0
- package/dist/cjs/features/GlobalFaceting.d.cts +27 -0
- package/dist/cjs/features/GlobalFiltering.cjs +50 -0
- package/dist/cjs/features/GlobalFiltering.cjs.map +1 -0
- package/dist/cjs/features/GlobalFiltering.d.cts +80 -0
- package/dist/cjs/features/RowExpanding.cjs +152 -0
- package/dist/cjs/features/RowExpanding.cjs.map +1 -0
- package/dist/cjs/features/RowExpanding.d.cts +155 -0
- package/dist/cjs/features/RowPagination.cjs +161 -0
- package/dist/cjs/features/RowPagination.cjs.map +1 -0
- package/dist/cjs/features/RowPagination.d.cts +166 -0
- package/dist/cjs/features/RowPinning.cjs +132 -0
- package/dist/cjs/features/RowPinning.cjs.map +1 -0
- package/dist/cjs/features/RowPinning.d.cts +99 -0
- package/dist/cjs/features/RowSelection.cjs +296 -0
- package/dist/cjs/features/RowSelection.cjs.map +1 -0
- package/dist/cjs/features/RowSelection.d.cts +177 -0
- package/dist/cjs/features/RowSorting.cjs +200 -0
- package/dist/cjs/features/RowSorting.cjs.map +1 -0
- package/dist/cjs/features/RowSorting.d.cts +238 -0
- package/dist/cjs/filterFns.cjs +88 -0
- package/dist/cjs/filterFns.cjs.map +1 -0
- package/dist/cjs/filterFns.d.cts +14 -0
- package/{build/lib/index.js → dist/cjs/index.cjs} +41 -53
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +34 -0
- package/{build/lib/sortingFns.js → dist/cjs/sortingFns.cjs} +23 -52
- package/dist/cjs/sortingFns.cjs.map +1 -0
- package/dist/cjs/sortingFns.d.cts +12 -0
- package/dist/cjs/types.d.cts +120 -0
- package/{build/lib/utils/filterRowsUtils.js → dist/cjs/utils/filterRowsUtils.cjs} +34 -46
- package/dist/cjs/utils/filterRowsUtils.cjs.map +1 -0
- package/dist/cjs/utils/filterRowsUtils.d.cts +3 -0
- package/dist/cjs/utils/getCoreRowModel.cjs +54 -0
- package/dist/cjs/utils/getCoreRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getCoreRowModel.d.cts +3 -0
- package/dist/cjs/utils/getExpandedRowModel.cjs +41 -0
- package/dist/cjs/utils/getExpandedRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getExpandedRowModel.d.cts +8 -0
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs +35 -0
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +1 -0
- package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +3 -0
- package/dist/cjs/utils/getFacetedRowModel.cjs +35 -0
- package/dist/cjs/utils/getFacetedRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getFacetedRowModel.d.cts +3 -0
- package/dist/cjs/utils/getFacetedUniqueValues.cjs +37 -0
- package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +1 -0
- package/dist/cjs/utils/getFacetedUniqueValues.d.cts +3 -0
- package/dist/cjs/utils/getFilteredRowModel.cjs +116 -0
- package/dist/cjs/utils/getFilteredRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getFilteredRowModel.d.cts +3 -0
- package/dist/cjs/utils/getGroupedRowModel.cjs +118 -0
- package/dist/cjs/utils/getGroupedRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getGroupedRowModel.d.cts +3 -0
- package/dist/cjs/utils/getPaginationRowModel.cjs +49 -0
- package/dist/cjs/utils/getPaginationRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getPaginationRowModel.d.cts +5 -0
- package/dist/cjs/utils/getSortedRowModel.cjs +88 -0
- package/dist/cjs/utils/getSortedRowModel.cjs.map +1 -0
- package/dist/cjs/utils/getSortedRowModel.d.cts +3 -0
- package/{build/lib/utils.js → dist/cjs/utils.cjs} +26 -39
- package/dist/cjs/utils.cjs.map +1 -0
- package/dist/cjs/utils.d.cts +39 -0
- package/{build/lib → dist/esm}/aggregationFns.d.ts +2 -1
- package/dist/esm/aggregationFns.js +94 -0
- package/dist/esm/aggregationFns.js.map +1 -0
- package/{build/lib → dist/esm}/columnHelper.d.ts +3 -2
- package/dist/esm/columnHelper.js +19 -0
- package/{build/lib → dist/esm}/columnHelper.js.map +1 -1
- package/{build/lib → dist/esm}/core/cell.d.ts +2 -1
- package/dist/esm/core/cell.js +38 -0
- package/dist/esm/core/cell.js.map +1 -0
- package/{build/lib → dist/esm}/core/column.d.ts +2 -1
- package/dist/esm/core/column.js +81 -0
- package/dist/esm/core/column.js.map +1 -0
- package/{build/lib → dist/esm}/core/headers.d.ts +1 -0
- package/dist/esm/core/headers.js +310 -0
- package/dist/esm/core/headers.js.map +1 -0
- package/{build/lib → dist/esm}/core/row.d.ts +2 -1
- package/dist/esm/core/row.js +92 -0
- package/dist/esm/core/row.js.map +1 -0
- package/{build/lib → dist/esm}/core/table.d.ts +10 -1
- package/dist/esm/core/table.js +232 -0
- package/dist/esm/core/table.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnFaceting.d.ts +1 -0
- package/{build/lib → dist/esm}/features/ColumnFaceting.js +6 -19
- package/{build/lib → dist/esm}/features/ColumnFaceting.js.map +1 -1
- package/{build/lib → dist/esm}/features/ColumnFiltering.d.ts +1 -0
- package/dist/esm/features/ColumnFiltering.js +137 -0
- package/dist/esm/features/ColumnFiltering.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnGrouping.d.ts +1 -0
- package/dist/esm/features/ColumnGrouping.js +133 -0
- package/dist/esm/features/ColumnGrouping.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnOrdering.d.ts +1 -0
- package/dist/esm/features/ColumnOrdering.js +76 -0
- package/dist/esm/features/ColumnOrdering.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnPinning.d.ts +1 -0
- package/dist/esm/features/ColumnPinning.js +145 -0
- package/dist/esm/features/ColumnPinning.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnSizing.d.ts +2 -1
- package/dist/esm/features/ColumnSizing.js +307 -0
- package/dist/esm/features/ColumnSizing.js.map +1 -0
- package/{build/lib → dist/esm}/features/ColumnVisibility.d.ts +1 -0
- package/dist/esm/features/ColumnVisibility.js +144 -0
- package/dist/esm/features/ColumnVisibility.js.map +1 -0
- package/{build/lib → dist/esm}/features/GlobalFaceting.d.ts +1 -0
- package/{build/lib → dist/esm}/features/GlobalFaceting.js +8 -21
- package/dist/esm/features/GlobalFaceting.js.map +1 -0
- package/{build/lib → dist/esm}/features/GlobalFiltering.d.ts +1 -0
- package/dist/esm/features/GlobalFiltering.js +50 -0
- package/dist/esm/features/GlobalFiltering.js.map +1 -0
- package/{build/lib → dist/esm}/features/RowExpanding.d.ts +1 -0
- package/{build/lib → dist/esm}/features/RowExpanding.js +37 -58
- package/dist/esm/features/RowExpanding.js.map +1 -0
- package/{build/lib → dist/esm}/features/RowPagination.d.ts +1 -0
- package/dist/esm/features/RowPagination.js +161 -0
- package/dist/esm/features/RowPagination.js.map +1 -0
- package/{build/lib → dist/esm}/features/RowPinning.d.ts +1 -0
- package/dist/esm/features/RowPinning.js +132 -0
- package/dist/esm/features/RowPinning.js.map +1 -0
- package/{build/lib → dist/esm}/features/RowSelection.d.ts +1 -0
- package/dist/esm/features/RowSelection.js +296 -0
- package/dist/esm/features/RowSelection.js.map +1 -0
- package/{build/lib → dist/esm}/features/RowSorting.d.ts +1 -0
- package/dist/esm/features/RowSorting.js +200 -0
- package/dist/esm/features/RowSorting.js.map +1 -0
- package/{build/lib → dist/esm}/filterFns.d.ts +2 -1
- package/dist/esm/filterFns.js +88 -0
- package/dist/esm/filterFns.js.map +1 -0
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.js +88 -0
- package/dist/esm/index.js.map +1 -0
- package/{build/lib → dist/esm}/sortingFns.d.ts +2 -1
- package/dist/esm/sortingFns.js +91 -0
- package/dist/esm/sortingFns.js.map +1 -0
- package/{build/lib → dist/esm}/types.d.ts +29 -28
- package/{build/lib → dist/esm}/utils/filterRowsUtils.d.ts +1 -0
- package/dist/esm/utils/filterRowsUtils.js +99 -0
- package/dist/esm/utils/filterRowsUtils.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getCoreRowModel.d.ts +1 -0
- package/dist/esm/utils/getCoreRowModel.js +54 -0
- package/dist/esm/utils/getCoreRowModel.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getExpandedRowModel.d.ts +1 -0
- package/dist/esm/utils/getExpandedRowModel.js +41 -0
- package/dist/esm/utils/getExpandedRowModel.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getFacetedMinMaxValues.d.ts +1 -0
- package/dist/esm/utils/getFacetedMinMaxValues.js +35 -0
- package/dist/esm/utils/getFacetedMinMaxValues.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getFacetedRowModel.d.ts +1 -0
- package/dist/esm/utils/getFacetedRowModel.js +35 -0
- package/{build/lib → dist/esm}/utils/getFacetedRowModel.js.map +1 -1
- package/{build/lib → dist/esm}/utils/getFacetedUniqueValues.d.ts +1 -0
- package/dist/esm/utils/getFacetedUniqueValues.js +37 -0
- package/dist/esm/utils/getFacetedUniqueValues.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getFilteredRowModel.d.ts +1 -0
- package/dist/esm/utils/getFilteredRowModel.js +116 -0
- package/{build/lib → dist/esm}/utils/getFilteredRowModel.js.map +1 -1
- package/{build/lib → dist/esm}/utils/getGroupedRowModel.d.ts +1 -0
- package/dist/esm/utils/getGroupedRowModel.js +118 -0
- package/dist/esm/utils/getGroupedRowModel.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getPaginationRowModel.d.ts +1 -0
- package/dist/esm/utils/getPaginationRowModel.js +49 -0
- package/dist/esm/utils/getPaginationRowModel.js.map +1 -0
- package/{build/lib → dist/esm}/utils/getSortedRowModel.d.ts +1 -0
- package/dist/esm/utils/getSortedRowModel.js +88 -0
- package/{build/lib → dist/esm}/utils/getSortedRowModel.js.map +1 -1
- package/{build/lib → dist/esm}/utils.d.ts +2 -1
- package/dist/esm/utils.js +98 -0
- package/{build/lib → dist/esm}/utils.js.map +1 -1
- package/package.json +14 -10
- 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 +4 -4
- package/src/features/RowSelection.ts +4 -4
- package/src/features/RowSorting.ts +5 -5
- 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/build/lib/aggregationFns.js +0 -108
- package/build/lib/aggregationFns.js.map +0 -1
- package/build/lib/columnHelper.js +0 -71
- package/build/lib/core/cell.js +0 -42
- package/build/lib/core/cell.js.map +0 -1
- package/build/lib/core/column.js +0 -80
- package/build/lib/core/column.js.map +0 -1
- package/build/lib/core/headers.js +0 -270
- package/build/lib/core/headers.js.map +0 -1
- package/build/lib/core/row.js +0 -89
- package/build/lib/core/row.js.map +0 -1
- package/build/lib/core/table.js +0 -212
- package/build/lib/core/table.js.map +0 -1
- package/build/lib/features/ColumnFiltering.js +0 -151
- package/build/lib/features/ColumnFiltering.js.map +0 -1
- package/build/lib/features/ColumnGrouping.js +0 -142
- package/build/lib/features/ColumnGrouping.js.map +0 -1
- package/build/lib/features/ColumnOrdering.js +0 -84
- package/build/lib/features/ColumnOrdering.js.map +0 -1
- package/build/lib/features/ColumnPinning.js +0 -130
- package/build/lib/features/ColumnPinning.js.map +0 -1
- package/build/lib/features/ColumnSizing.js +0 -270
- package/build/lib/features/ColumnSizing.js.map +0 -1
- package/build/lib/features/ColumnVisibility.js +0 -99
- package/build/lib/features/ColumnVisibility.js.map +0 -1
- package/build/lib/features/GlobalFaceting.js.map +0 -1
- package/build/lib/features/GlobalFiltering.js +0 -63
- package/build/lib/features/GlobalFiltering.js.map +0 -1
- package/build/lib/features/RowExpanding.js.map +0 -1
- package/build/lib/features/RowPagination.js +0 -169
- package/build/lib/features/RowPagination.js.map +0 -1
- package/build/lib/features/RowPinning.js +0 -145
- package/build/lib/features/RowPinning.js.map +0 -1
- package/build/lib/features/RowSelection.js +0 -391
- package/build/lib/features/RowSelection.js.map +0 -1
- package/build/lib/features/RowSorting.js +0 -226
- package/build/lib/features/RowSorting.js.map +0 -1
- package/build/lib/filterFns.js +0 -96
- package/build/lib/filterFns.js.map +0 -1
- package/build/lib/index.d.ts +0 -34
- package/build/lib/index.esm.js +0 -3522
- package/build/lib/index.esm.js.map +0 -1
- package/build/lib/index.js.map +0 -1
- package/build/lib/index.mjs +0 -3522
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/sortingFns.js.map +0 -1
- package/build/lib/utils/filterRowsUtils.js.map +0 -1
- package/build/lib/utils/getCoreRowModel.js +0 -65
- package/build/lib/utils/getCoreRowModel.js.map +0 -1
- package/build/lib/utils/getExpandedRowModel.js +0 -46
- package/build/lib/utils/getExpandedRowModel.js.map +0 -1
- package/build/lib/utils/getFacetedMinMaxValues.js +0 -43
- package/build/lib/utils/getFacetedMinMaxValues.js.map +0 -1
- package/build/lib/utils/getFacetedRowModel.js +0 -36
- package/build/lib/utils/getFacetedUniqueValues.js +0 -39
- package/build/lib/utils/getFacetedUniqueValues.js.map +0 -1
- package/build/lib/utils/getFilteredRowModel.js +0 -111
- package/build/lib/utils/getGroupedRowModel.js +0 -150
- package/build/lib/utils/getGroupedRowModel.js.map +0 -1
- package/build/lib/utils/getPaginationRowModel.js +0 -60
- package/build/lib/utils/getPaginationRowModel.js.map +0 -1
- package/build/lib/utils/getSortedRowModel.js +0 -102
- package/build/umd/index.development.js +0 -3578
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -12
- package/build/umd/index.production.js.map +0 -1
|
@@ -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/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,
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* table-core
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var utils = require('./utils.js');
|
|
14
|
-
|
|
15
|
-
const sum = (columnId, _leafRows, childRows) => {
|
|
16
|
-
// It's faster to just add the aggregations together instead of
|
|
17
|
-
// process leaf nodes individually
|
|
18
|
-
return childRows.reduce((sum, next) => {
|
|
19
|
-
const nextValue = next.getValue(columnId);
|
|
20
|
-
return sum + (typeof nextValue === 'number' ? nextValue : 0);
|
|
21
|
-
}, 0);
|
|
22
|
-
};
|
|
23
|
-
const min = (columnId, _leafRows, childRows) => {
|
|
24
|
-
let min;
|
|
25
|
-
childRows.forEach(row => {
|
|
26
|
-
const value = row.getValue(columnId);
|
|
27
|
-
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
28
|
-
min = value;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
return min;
|
|
32
|
-
};
|
|
33
|
-
const max = (columnId, _leafRows, childRows) => {
|
|
34
|
-
let max;
|
|
35
|
-
childRows.forEach(row => {
|
|
36
|
-
const value = row.getValue(columnId);
|
|
37
|
-
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
38
|
-
max = value;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return max;
|
|
42
|
-
};
|
|
43
|
-
const extent = (columnId, _leafRows, childRows) => {
|
|
44
|
-
let min;
|
|
45
|
-
let max;
|
|
46
|
-
childRows.forEach(row => {
|
|
47
|
-
const value = row.getValue(columnId);
|
|
48
|
-
if (value != null) {
|
|
49
|
-
if (min === undefined) {
|
|
50
|
-
if (value >= value) min = max = value;
|
|
51
|
-
} else {
|
|
52
|
-
if (min > value) min = value;
|
|
53
|
-
if (max < value) max = value;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
return [min, max];
|
|
58
|
-
};
|
|
59
|
-
const mean = (columnId, leafRows) => {
|
|
60
|
-
let count = 0;
|
|
61
|
-
let sum = 0;
|
|
62
|
-
leafRows.forEach(row => {
|
|
63
|
-
let value = row.getValue(columnId);
|
|
64
|
-
if (value != null && (value = +value) >= value) {
|
|
65
|
-
++count, sum += value;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
if (count) return sum / count;
|
|
69
|
-
return;
|
|
70
|
-
};
|
|
71
|
-
const median = (columnId, leafRows) => {
|
|
72
|
-
if (!leafRows.length) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const values = leafRows.map(row => row.getValue(columnId));
|
|
76
|
-
if (!utils.isNumberArray(values)) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (values.length === 1) {
|
|
80
|
-
return values[0];
|
|
81
|
-
}
|
|
82
|
-
const mid = Math.floor(values.length / 2);
|
|
83
|
-
const nums = values.sort((a, b) => a - b);
|
|
84
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
85
|
-
};
|
|
86
|
-
const unique = (columnId, leafRows) => {
|
|
87
|
-
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
|
|
88
|
-
};
|
|
89
|
-
const uniqueCount = (columnId, leafRows) => {
|
|
90
|
-
return new Set(leafRows.map(d => d.getValue(columnId))).size;
|
|
91
|
-
};
|
|
92
|
-
const count = (_columnId, leafRows) => {
|
|
93
|
-
return leafRows.length;
|
|
94
|
-
};
|
|
95
|
-
const aggregationFns = {
|
|
96
|
-
sum,
|
|
97
|
-
min,
|
|
98
|
-
max,
|
|
99
|
-
extent,
|
|
100
|
-
mean,
|
|
101
|
-
median,
|
|
102
|
-
unique,
|
|
103
|
-
uniqueCount,
|
|
104
|
-
count
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
exports.aggregationFns = aggregationFns;
|
|
108
|
-
//# sourceMappingURL=aggregationFns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/ColumnGrouping'\nimport { isNumberArray } from './utils'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n const values = leafRows.map(row => row.getValue(columnId))\n if (!isNumberArray(values)) {\n return\n }\n if (values.length === 1) {\n return values[0]\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = values.sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","columnId","_leafRows","childRows","reduce","next","nextValue","getValue","min","forEach","row","value","undefined","max","extent","mean","leafRows","count","median","length","values","map","isNumberArray","mid","Math","floor","nums","sort","a","b","unique","Array","from","Set","d","uniqueCount","size","_columnId","aggregationFns"],"mappings":";;;;;;;;;;;;;;AAGA,MAAMA,GAAuB,GAAGA,CAACC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,KAAK;AAClE;AACA;EACA,OAAOA,SAAS,CAACC,MAAM,CAAC,CAACJ,GAAG,EAAEK,IAAI,KAAK;AACrC,IAAA,MAAMC,SAAS,GAAGD,IAAI,CAACE,QAAQ,CAACN,QAAQ,CAAC,CAAA;IACzC,OAAOD,GAAG,IAAI,OAAOM,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,CAAC,CAAC,CAAA;GAC7D,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAED,MAAME,GAAuB,GAAGA,CAACP,QAAQ,EAAEC,SAAS,EAAEC,SAAS,KAAK;AAClE,EAAA,IAAIK,GAAuB,CAAA;AAE3BL,EAAAA,SAAS,CAACM,OAAO,CAACC,GAAG,IAAI;AACvB,IAAA,MAAMC,KAAK,GAAGD,GAAG,CAACH,QAAQ,CAASN,QAAQ,CAAC,CAAA;AAE5C,IAAA,IACEU,KAAK,IAAI,IAAI,KACZH,GAAG,GAAIG,KAAK,IAAKH,GAAG,KAAKI,SAAS,IAAID,KAAK,IAAIA,KAAM,CAAC,EACvD;AACAH,MAAAA,GAAG,GAAGG,KAAK,CAAA;AACb,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOH,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAMK,GAAuB,GAAGA,CAACZ,QAAQ,EAAEC,SAAS,EAAEC,SAAS,KAAK;AAClE,EAAA,IAAIU,GAAuB,CAAA;AAE3BV,EAAAA,SAAS,CAACM,OAAO,CAACC,GAAG,IAAI;AACvB,IAAA,MAAMC,KAAK,GAAGD,GAAG,CAACH,QAAQ,CAASN,QAAQ,CAAC,CAAA;AAC5C,IAAA,IACEU,KAAK,IAAI,IAAI,KACZE,GAAG,GAAIF,KAAK,IAAKE,GAAG,KAAKD,SAAS,IAAID,KAAK,IAAIA,KAAM,CAAC,EACvD;AACAE,MAAAA,GAAG,GAAGF,KAAK,CAAA;AACb,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOE,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAMC,MAA0B,GAAGA,CAACb,QAAQ,EAAEC,SAAS,EAAEC,SAAS,KAAK;AACrE,EAAA,IAAIK,GAAuB,CAAA;AAC3B,EAAA,IAAIK,GAAuB,CAAA;AAE3BV,EAAAA,SAAS,CAACM,OAAO,CAACC,GAAG,IAAI;AACvB,IAAA,MAAMC,KAAK,GAAGD,GAAG,CAACH,QAAQ,CAASN,QAAQ,CAAC,CAAA;IAC5C,IAAIU,KAAK,IAAI,IAAI,EAAE;MACjB,IAAIH,GAAG,KAAKI,SAAS,EAAE;QACrB,IAAID,KAAK,IAAIA,KAAK,EAAEH,GAAG,GAAGK,GAAG,GAAGF,KAAK,CAAA;AACvC,OAAC,MAAM;AACL,QAAA,IAAIH,GAAG,GAAGG,KAAK,EAAEH,GAAG,GAAGG,KAAK,CAAA;AAC5B,QAAA,IAAIE,GAAG,GAAIF,KAAK,EAAEE,GAAG,GAAGF,KAAK,CAAA;AAC/B,OAAA;AACF,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAO,CAACH,GAAG,EAAEK,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,MAAME,IAAwB,GAAGA,CAACd,QAAQ,EAAEe,QAAQ,KAAK;EACvD,IAAIC,KAAK,GAAG,CAAC,CAAA;EACb,IAAIjB,GAAG,GAAG,CAAC,CAAA;AAEXgB,EAAAA,QAAQ,CAACP,OAAO,CAACC,GAAG,IAAI;AACtB,IAAA,IAAIC,KAAK,GAAGD,GAAG,CAACH,QAAQ,CAASN,QAAQ,CAAC,CAAA;IAC1C,IAAIU,KAAK,IAAI,IAAI,IAAI,CAACA,KAAK,GAAG,CAACA,KAAK,KAAKA,KAAK,EAAE;AAC9C,MAAA,EAAEM,KAAK,EAAGjB,GAAG,IAAIW,KAAM,CAAA;AACzB,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIM,KAAK,EAAE,OAAOjB,GAAG,GAAGiB,KAAK,CAAA;AAE7B,EAAA,OAAA;AACF,CAAC,CAAA;AAED,MAAMC,MAA0B,GAAGA,CAACjB,QAAQ,EAAEe,QAAQ,KAAK;AACzD,EAAA,IAAI,CAACA,QAAQ,CAACG,MAAM,EAAE;AACpB,IAAA,OAAA;AACF,GAAA;AAEA,EAAA,MAAMC,MAAM,GAAGJ,QAAQ,CAACK,GAAG,CAACX,GAAG,IAAIA,GAAG,CAACH,QAAQ,CAACN,QAAQ,CAAC,CAAC,CAAA;AAC1D,EAAA,IAAI,CAACqB,mBAAa,CAACF,MAAM,CAAC,EAAE;AAC1B,IAAA,OAAA;AACF,GAAA;AACA,EAAA,IAAIA,MAAM,CAACD,MAAM,KAAK,CAAC,EAAE;IACvB,OAAOC,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,GAAA;EAEA,MAAMG,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACL,MAAM,CAACD,MAAM,GAAG,CAAC,CAAC,CAAA;AACzC,EAAA,MAAMO,IAAI,GAAGN,MAAM,CAACO,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,CAAA;EACzC,OAAOT,MAAM,CAACD,MAAM,GAAG,CAAC,KAAK,CAAC,GAAGO,IAAI,CAACH,GAAG,CAAC,GAAG,CAACG,IAAI,CAACH,GAAG,GAAG,CAAC,CAAC,GAAIG,IAAI,CAACH,GAAG,CAAE,IAAI,CAAC,CAAA;AAChF,CAAC,CAAA;AAED,MAAMO,MAA0B,GAAGA,CAAC7B,QAAQ,EAAEe,QAAQ,KAAK;EACzD,OAAOe,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACjB,QAAQ,CAACK,GAAG,CAACa,CAAC,IAAIA,CAAC,CAAC3B,QAAQ,CAACN,QAAQ,CAAC,CAAC,CAAC,CAACmB,MAAM,EAAE,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,MAAMe,WAA+B,GAAGA,CAAClC,QAAQ,EAAEe,QAAQ,KAAK;AAC9D,EAAA,OAAO,IAAIiB,GAAG,CAACjB,QAAQ,CAACK,GAAG,CAACa,CAAC,IAAIA,CAAC,CAAC3B,QAAQ,CAACN,QAAQ,CAAC,CAAC,CAAC,CAACmC,IAAI,CAAA;AAC9D,CAAC,CAAA;AAED,MAAMnB,KAAyB,GAAGA,CAACoB,SAAS,EAAErB,QAAQ,KAAK;EACzD,OAAOA,QAAQ,CAACG,MAAM,CAAA;AACxB,CAAC,CAAA;AAEM,MAAMmB,cAAc,GAAG;EAC5BtC,GAAG;EACHQ,GAAG;EACHK,GAAG;EACHC,MAAM;EACNC,IAAI;EACJG,MAAM;EACNY,MAAM;EACNK,WAAW;AACXlB,EAAAA,KAAAA;AACF;;;;"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* table-core
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
// type Person = {
|
|
14
|
-
// firstName: string
|
|
15
|
-
// lastName: string
|
|
16
|
-
// age: number
|
|
17
|
-
// visits: number
|
|
18
|
-
// status: string
|
|
19
|
-
// progress: number
|
|
20
|
-
// createdAt: Date
|
|
21
|
-
// nested: {
|
|
22
|
-
// foo: [
|
|
23
|
-
// {
|
|
24
|
-
// bar: 'bar'
|
|
25
|
-
// }
|
|
26
|
-
// ]
|
|
27
|
-
// bar: { subBar: boolean }[]
|
|
28
|
-
// baz: {
|
|
29
|
-
// foo: 'foo'
|
|
30
|
-
// bar: {
|
|
31
|
-
// baz: 'baz'
|
|
32
|
-
// }
|
|
33
|
-
// }
|
|
34
|
-
// }
|
|
35
|
-
// }
|
|
36
|
-
|
|
37
|
-
// const test: DeepKeys<Person> = 'nested.foo.0.bar'
|
|
38
|
-
// const test2: DeepKeys<Person> = 'nested.bar'
|
|
39
|
-
|
|
40
|
-
// const helper = createColumnHelper<Person>()
|
|
41
|
-
|
|
42
|
-
// helper.accessor('nested.foo', {
|
|
43
|
-
// cell: info => info.getValue(),
|
|
44
|
-
// })
|
|
45
|
-
|
|
46
|
-
// helper.accessor('nested.foo.0.bar', {
|
|
47
|
-
// cell: info => info.getValue(),
|
|
48
|
-
// })
|
|
49
|
-
|
|
50
|
-
// helper.accessor('nested.bar', {
|
|
51
|
-
// cell: info => info.getValue(),
|
|
52
|
-
// })
|
|
53
|
-
|
|
54
|
-
function createColumnHelper() {
|
|
55
|
-
return {
|
|
56
|
-
accessor: (accessor, column) => {
|
|
57
|
-
return typeof accessor === 'function' ? {
|
|
58
|
-
...column,
|
|
59
|
-
accessorFn: accessor
|
|
60
|
-
} : {
|
|
61
|
-
...column,
|
|
62
|
-
accessorKey: accessor
|
|
63
|
-
};
|
|
64
|
-
},
|
|
65
|
-
display: column => column,
|
|
66
|
-
group: column => column
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
exports.createColumnHelper = createColumnHelper;
|
|
71
|
-
//# sourceMappingURL=columnHelper.js.map
|
package/build/lib/core/cell.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* table-core
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var utils = require('../utils.js');
|
|
14
|
-
|
|
15
|
-
function createCell(table, row, column, columnId) {
|
|
16
|
-
const getRenderValue = () => {
|
|
17
|
-
var _cell$getValue;
|
|
18
|
-
return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;
|
|
19
|
-
};
|
|
20
|
-
const cell = {
|
|
21
|
-
id: `${row.id}_${column.id}`,
|
|
22
|
-
row,
|
|
23
|
-
column,
|
|
24
|
-
getValue: () => row.getValue(columnId),
|
|
25
|
-
renderValue: getRenderValue,
|
|
26
|
-
getContext: utils.memo(() => [table, column, row, cell], (table, column, row, cell) => ({
|
|
27
|
-
table,
|
|
28
|
-
column,
|
|
29
|
-
row,
|
|
30
|
-
cell: cell,
|
|
31
|
-
getValue: cell.getValue,
|
|
32
|
-
renderValue: cell.renderValue
|
|
33
|
-
}), utils.getMemoOptions(table.options, 'debugCells', 'cell.getContext'))
|
|
34
|
-
};
|
|
35
|
-
table._features.forEach(feature => {
|
|
36
|
-
feature.createCell == null || feature.createCell(cell, column, row, table);
|
|
37
|
-
}, {});
|
|
38
|
-
return cell;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
exports.createCell = createCell;
|
|
42
|
-
//# sourceMappingURL=cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, getMemoOptions, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n cell: Cell<TData, TValue>\n column: Column<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n row: Row<TData>\n table: Table<TData>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n /**\n * The associated Column object for the cell.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#column)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n column: Column<TData, TValue>\n /**\n * Returns the rendering context (or props) for cell-based components like cells and aggregated cells. Use these props with your framework's `flexRender` utility to render these using the template of your choice:\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getcontext)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n getContext: () => CellContext<TData, TValue>\n /**\n * Returns the value for the cell, accessed via the associated column's accessor key or accessor function.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#getvalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n getValue: CellContext<TData, TValue>['getValue']\n /**\n * The unique ID for the cell across the entire table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n id: string\n /**\n * Renders the value for a cell the same as `getValue`, but will return the `renderFallbackValue` if no value is found.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#rendervalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n renderValue: CellContext<TData, TValue>['renderValue']\n /**\n * The associated Row object for the cell.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/cell#row)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/cells)\n */\n row: Row<TData>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n getMemoOptions(table.options, 'debugCells', 'cell.getContext')\n ),\n }\n\n table._features.forEach(feature => {\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","getMemoOptions","_features","forEach","feature"],"mappings":";;;;;;;;;;;;;;AAmDO,SAASA,UAAUA,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EACK;EACrB,MAAMC,cAAc,GAAGA,MAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,OAAA,CAAAA,cAAA,GACrBC,IAAI,CAACC,QAAQ,EAAE,KAAAF,IAAAA,GAAAA,cAAA,GAAIL,KAAK,CAACQ,OAAO,CAACC,mBAAmB,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAE,GAAGT,GAAG,CAACS,EAAE,CAAIR,CAAAA,EAAAA,MAAM,CAACQ,EAAE,CAAE,CAAA;IAC5BT,GAAG;IACHC,MAAM;IACNK,QAAQ,EAAEA,MAAMN,GAAG,CAACM,QAAQ,CAACJ,QAAQ,CAAC;AACtCQ,IAAAA,WAAW,EAAEP,cAAc;IAC3BQ,UAAU,EAAEC,UAAI,CACd,MAAM,CAACb,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,CAAC,EAChC,CAACN,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,MAAM;MAC7BN,KAAK;MACLE,MAAM;MACND,GAAG;AACHK,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;KACnB,CAAC,EACFG,oBAAc,CAACd,KAAK,CAACQ,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAC/D,CAAA;GACD,CAAA;AAEDR,EAAAA,KAAK,CAACe,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;AACjCA,IAAAA,OAAO,CAAClB,UAAU,IAAlBkB,IAAAA,IAAAA,OAAO,CAAClB,UAAU,CAChBO,IAAI,EACJJ,MAAM,EACND,GAAG,EACHD,KACF,CAAC,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOM,IAAI,CAAA;AACb;;;;"}
|
package/build/lib/core/column.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* table-core
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var utils = require('../utils.js');
|
|
14
|
-
|
|
15
|
-
function createColumn(table, columnDef, depth, parent) {
|
|
16
|
-
var _ref, _resolvedColumnDef$id;
|
|
17
|
-
const defaultColumn = table._getDefaultColumnDef();
|
|
18
|
-
const resolvedColumnDef = {
|
|
19
|
-
...defaultColumn,
|
|
20
|
-
...columnDef
|
|
21
|
-
};
|
|
22
|
-
const accessorKey = resolvedColumnDef.accessorKey;
|
|
23
|
-
let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : accessorKey ? accessorKey.replace('.', '_') : undefined) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined;
|
|
24
|
-
let accessorFn;
|
|
25
|
-
if (resolvedColumnDef.accessorFn) {
|
|
26
|
-
accessorFn = resolvedColumnDef.accessorFn;
|
|
27
|
-
} else if (accessorKey) {
|
|
28
|
-
// Support deep accessor keys
|
|
29
|
-
if (accessorKey.includes('.')) {
|
|
30
|
-
accessorFn = originalRow => {
|
|
31
|
-
let result = originalRow;
|
|
32
|
-
for (const key of accessorKey.split('.')) {
|
|
33
|
-
var _result;
|
|
34
|
-
result = (_result = result) == null ? void 0 : _result[key];
|
|
35
|
-
if (process.env.NODE_ENV !== 'production' && result === undefined) {
|
|
36
|
-
console.warn(`"${key}" in deeply nested key "${accessorKey}" returned undefined.`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
} else {
|
|
42
|
-
accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (!id) {
|
|
46
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
47
|
-
throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);
|
|
48
|
-
}
|
|
49
|
-
throw new Error();
|
|
50
|
-
}
|
|
51
|
-
let column = {
|
|
52
|
-
id: `${String(id)}`,
|
|
53
|
-
accessorFn,
|
|
54
|
-
parent: parent,
|
|
55
|
-
depth,
|
|
56
|
-
columnDef: resolvedColumnDef,
|
|
57
|
-
columns: [],
|
|
58
|
-
getFlatColumns: utils.memo(() => [true], () => {
|
|
59
|
-
var _column$columns;
|
|
60
|
-
return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
|
|
61
|
-
}, utils.getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')),
|
|
62
|
-
getLeafColumns: utils.memo(() => [table._getOrderColumnsFn()], orderColumns => {
|
|
63
|
-
var _column$columns2;
|
|
64
|
-
if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
|
|
65
|
-
let leafColumns = column.columns.flatMap(column => column.getLeafColumns());
|
|
66
|
-
return orderColumns(leafColumns);
|
|
67
|
-
}
|
|
68
|
-
return [column];
|
|
69
|
-
}, utils.getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns'))
|
|
70
|
-
};
|
|
71
|
-
for (const feature of table._features) {
|
|
72
|
-
feature.createColumn == null || feature.createColumn(column, table);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Yes, we have to convert table to unknown, because we know more than the compiler here.
|
|
76
|
-
return column;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
exports.createColumn = createColumn;
|
|
80
|
-
//# sourceMappingURL=column.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n /**\n * The resolved accessor function to use when extracting the value for the column from each row. Will only be defined if the column def has a valid accessor key or function defined.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#accessorfn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n accessorFn?: AccessorFn<TData, TValue>\n /**\n * The original column def used to create the column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columndef)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columnDef: ColumnDef<TData, TValue>\n /**\n * The child column (if the column is a group column). Will be an empty array if the column is not a group column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columns: Column<TData, TValue>[]\n /**\n * The depth of the column (if grouped) relative to the root column def array.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n depth: number\n /**\n * Returns the flattened array of this column and all child/grand-child columns for this column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getFlatColumns: () => Column<TData, TValue>[]\n /**\n * Returns an array of all leaf-node columns for this column. If a column has no children, it is considered the only leaf-node column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getLeafColumns: () => Column<TData, TValue>[]\n /**\n * The resolved unique identifier for the column resolved in this priority:\n - A manual `id` property from the column def\n - The accessor key from the column def\n - The header string from the column def\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n id: string\n /**\n * The parent column for this column. Will be undefined if this is a root column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#parent)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n parent?: Column<TData, TValue>\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns')\n ),\n }\n\n for (const feature of table._features) {\n feature.createColumn?.(column as Column<TData, TValue>, table)\n }\n\n // Yes, we have to convert table to unknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","_ref","_resolvedColumnDef$id","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","_result","process","env","NODE_ENV","console","warn","Error","column","String","columns","getFlatColumns","memo","_column$columns","flatMap","d","getMemoOptions","options","getLeafColumns","_getOrderColumnsFn","orderColumns","_column$columns2","length","leafColumns","feature","_features"],"mappings":"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"}
|