@tanstack/table-core 8.0.0-alpha.67 → 8.0.0-alpha.68
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/aggregationFns.js +25 -37
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/core.js +167 -46
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +24 -40
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +28 -34
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +90 -107
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +52 -79
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +48 -57
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +96 -191
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +52 -70
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +109 -165
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +30 -42
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +63 -71
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +65 -121
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +92 -111
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +32 -22
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +49 -68
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +43 -87
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +48 -72
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +13 -13
- package/build/cjs/sortingFns.js +21 -21
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +49 -55
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +98 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +17 -21
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +130 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +126 -136
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +39 -39
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +112 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +36 -207
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1729 -2313
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +421 -481
- package/build/types/core.d.ts +3 -5
- package/build/types/features/Cells.d.ts +1 -1
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Filters.d.ts +10 -5
- package/build/types/features/Grouping.d.ts +4 -3
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/index.d.ts +6 -4
- package/build/types/types.d.ts +3 -13
- package/build/types/utils/filterRowsUtils.d.ts +3 -3
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
- package/build/types/utils/getGroupedRowModel.d.ts +1 -1
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +1 -17
- package/build/umd/index.development.js +1730 -2316
- 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/core.ts +197 -45
- package/src/features/Cells.ts +7 -11
- package/src/features/ColumnSizing.ts +6 -5
- package/src/features/Columns.ts +4 -8
- package/src/features/Filters.ts +95 -156
- package/src/features/Grouping.ts +16 -20
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +2 -2
- package/src/filterFns.ts +9 -9
- package/src/index.ts +12 -4
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +3 -16
- package/src/utils/filterRowsUtils.ts +47 -68
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +2 -8
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/{getFilteredRowModelSync.ts → getFilteredRowModel.ts} +29 -20
- package/src/utils/getGroupedRowModel.ts +52 -61
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +3 -3
- package/src/utils.ts +28 -236
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
- package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelSync.js +0 -102
- package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +0 -125
- package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
- package/build/cjs/utils/getSortedRowModelSync.js +0 -118
- package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
- package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
- package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
- package/src/utils/getCoreRowModelAsync.ts +0 -104
- package/src/utils/getFilteredRowModelAsync.ts +0 -157
- package/src/utils/getSortedRowModelAsync.ts +0 -200
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rows.js","sources":["../../../src/features/Rows.ts"],"sourcesContent":["import {\n TableGenerics,\n TableInstance,\n Row,\n RowModel,\n RowValues,\n} from '../types'\nimport { flattenBy } from '../utils'\n\nexport type CoreRow<TGenerics extends TableGenerics> = {\n id: string\n index: number\n original?: TGenerics['Row']\n depth: number\n
|
|
1
|
+
{"version":3,"file":"Rows.js","sources":["../../../src/features/Rows.ts"],"sourcesContent":["import {\n TableGenerics,\n TableInstance,\n Row,\n RowModel,\n RowValues,\n} from '../types'\nimport { flattenBy } from '../utils'\n\nexport type CoreRow<TGenerics extends TableGenerics> = {\n id: string\n index: number\n original?: TGenerics['Row']\n depth: number\n valuesCache: Record<string, any>\n getValue: (columnId: string) => any\n subRows: Row<TGenerics>[]\n getLeafRows: () => Row<TGenerics>[]\n originalSubRows?: TGenerics['Row'][]\n}\n\nexport type RowsOptions<TGenerics extends TableGenerics> = {\n getCoreRowModel: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getSubRows?: (\n originalRow: TGenerics['Row'],\n index: number\n ) => undefined | TGenerics['Row'][]\n getRowId?: (\n originalRow: TGenerics['Row'],\n index: number,\n parent?: Row<TGenerics>\n ) => string\n}\n\nexport type RowsInstance<TGenerics extends TableGenerics> = {\n getRowId: (\n _: TGenerics['Row'],\n index: number,\n parent?: Row<TGenerics>\n ) => string\n createRow: (\n id: string,\n original: TGenerics['Row'] | undefined,\n rowIndex: number,\n depth: number,\n subRows?: Row<TGenerics>[]\n ) => Row<TGenerics>\n getCoreRowModel: () => RowModel<TGenerics>\n _getCoreRowModel?: () => RowModel<TGenerics>\n getRowModel: () => RowModel<TGenerics>\n getRow: (id: string) => Row<TGenerics>\n}\n\n//\n\nexport const Rows = {\n // createRow: <TGenerics extends TableGenerics>(\n // row: Row<TGenerics>,\n // instance: TableInstance<TGenerics>\n // ): CellsRow<TGenerics> => {\n // return {}\n // },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): RowsInstance<TGenerics> => {\n return {\n getRowId: (\n row: TGenerics['Row'],\n index: number,\n parent?: Row<TGenerics>\n ) =>\n instance.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n createRow: (id, original, rowIndex, depth, subRows) => {\n let row: CoreRow<TGenerics> = {\n id,\n index: rowIndex,\n original,\n depth,\n valuesCache: {},\n getValue: columnId => {\n if (row.valuesCache.hasOwnProperty(columnId)) {\n return row.valuesCache[columnId]\n }\n const column = instance.getColumn(columnId)\n if (!column.accessorFn) {\n throw new Error()\n }\n row.valuesCache[columnId] = column.accessorFn(\n row.original,\n rowIndex\n )\n return row.valuesCache[columnId]\n },\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n }\n\n for (let i = 0; i < instance._features.length; i++) {\n const feature = instance._features[i]\n Object.assign(row, feature?.createRow?.(row, instance))\n }\n\n return row as Row<TGenerics>\n },\n\n getCoreRowModel: () => {\n if (!instance._getCoreRowModel) {\n instance._getCoreRowModel = instance.options.getCoreRowModel(instance)\n }\n\n return instance._getCoreRowModel()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return instance.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = instance.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n }\n },\n}\n"],"names":["Rows","createInstance","instance","getRowId","row","index","parent","options","id","join","createRow","original","rowIndex","depth","subRows","valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","Error","getLeafRows","flattenBy","d","i","_features","length","feature","Object","assign","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV"],"mappings":"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"}
|
|
@@ -12,39 +12,38 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
15
|
var sortingFns = require('../sortingFns.js');
|
|
17
16
|
var utils = require('../utils.js');
|
|
18
17
|
|
|
19
18
|
//
|
|
20
|
-
|
|
21
|
-
getInitialState:
|
|
22
|
-
return
|
|
23
|
-
sorting: []
|
|
24
|
-
|
|
19
|
+
const Sorting = {
|
|
20
|
+
getInitialState: state => {
|
|
21
|
+
return {
|
|
22
|
+
sorting: [],
|
|
23
|
+
...state
|
|
24
|
+
};
|
|
25
25
|
},
|
|
26
|
-
getDefaultColumn:
|
|
26
|
+
getDefaultColumn: () => {
|
|
27
27
|
return {
|
|
28
28
|
sortingFn: 'auto'
|
|
29
29
|
};
|
|
30
30
|
},
|
|
31
|
-
getDefaultOptions:
|
|
31
|
+
getDefaultOptions: instance => {
|
|
32
32
|
return {
|
|
33
33
|
onSortingChange: utils.makeStateUpdater('sorting', instance),
|
|
34
|
-
isMultiSortEvent:
|
|
34
|
+
isMultiSortEvent: e => {
|
|
35
35
|
return e.shiftKey;
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
},
|
|
39
|
-
createColumn:
|
|
39
|
+
createColumn: (column, instance) => {
|
|
40
40
|
return {
|
|
41
|
-
getAutoSortingFn:
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
getAutoSortingFn: () => {
|
|
42
|
+
const firstRows = instance.getFilteredRowModel().flatRows.slice(100);
|
|
43
|
+
let isString = false;
|
|
44
44
|
|
|
45
|
-
for (
|
|
46
|
-
|
|
47
|
-
var value = row == null ? void 0 : row.values[column.id];
|
|
45
|
+
for (const row of firstRows) {
|
|
46
|
+
const value = row == null ? void 0 : row.getValue(column.id);
|
|
48
47
|
|
|
49
48
|
if (Object.prototype.toString.call(value) === '[object Date]') {
|
|
50
49
|
return sortingFns.sortingFns.datetime;
|
|
@@ -65,9 +64,9 @@ var Sorting = {
|
|
|
65
64
|
|
|
66
65
|
return sortingFns.sortingFns.basic;
|
|
67
66
|
},
|
|
68
|
-
getAutoSortDir:
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
getAutoSortDir: () => {
|
|
68
|
+
const firstRow = instance.getFilteredRowModel().flatRows[0];
|
|
69
|
+
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
71
70
|
|
|
72
71
|
if (typeof value === 'string') {
|
|
73
72
|
return 'asc';
|
|
@@ -75,10 +74,10 @@ var Sorting = {
|
|
|
75
74
|
|
|
76
75
|
return 'desc';
|
|
77
76
|
},
|
|
78
|
-
getSortingFn:
|
|
77
|
+
getSortingFn: () => {
|
|
79
78
|
var _ref;
|
|
80
79
|
|
|
81
|
-
|
|
80
|
+
const userSortingFn = instance.options.sortingFns;
|
|
82
81
|
|
|
83
82
|
if (!column) {
|
|
84
83
|
throw new Error();
|
|
@@ -86,7 +85,7 @@ var Sorting = {
|
|
|
86
85
|
|
|
87
86
|
return utils.isFunction(column.sortingFn) ? column.sortingFn : column.sortingFn === 'auto' ? column.getAutoSortingFn() : (_ref = userSortingFn == null ? void 0 : userSortingFn[column.sortingFn]) != null ? _ref : sortingFns.sortingFns[column.sortingFn];
|
|
88
87
|
},
|
|
89
|
-
toggleSorting:
|
|
88
|
+
toggleSorting: (desc, multi) => {
|
|
90
89
|
// if (column.columns.length) {
|
|
91
90
|
// column.columns.forEach((c, i) => {
|
|
92
91
|
// if (c.id) {
|
|
@@ -95,20 +94,16 @@ var Sorting = {
|
|
|
95
94
|
// })
|
|
96
95
|
// return
|
|
97
96
|
// }
|
|
98
|
-
instance.setSorting(
|
|
97
|
+
instance.setSorting(old => {
|
|
99
98
|
var _ref2, _column$sortDescFirst, _instance$options$ena, _instance$options$ena2;
|
|
100
99
|
|
|
101
100
|
// Find any existing sorting for this column
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return d.id === column.id;
|
|
107
|
-
});
|
|
108
|
-
var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
109
|
-
var newSorting = []; // What should we do with this sort action?
|
|
101
|
+
const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
102
|
+
const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);
|
|
103
|
+
const hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
104
|
+
let newSorting = []; // What should we do with this sort action?
|
|
110
105
|
|
|
111
|
-
|
|
106
|
+
let sortAction;
|
|
112
107
|
|
|
113
108
|
if (column.getCanMultiSort() && multi) {
|
|
114
109
|
if (existingSorting) {
|
|
@@ -127,7 +122,7 @@ var Sorting = {
|
|
|
127
122
|
}
|
|
128
123
|
}
|
|
129
124
|
|
|
130
|
-
|
|
125
|
+
const sortDescFirst = (_ref2 = (_column$sortDescFirst = column.sortDescFirst) != null ? _column$sortDescFirst : instance.options.sortDescFirst) != null ? _ref2 : column.getAutoSortDir() === 'desc'; // Handle toggle states that will remove the sorting
|
|
131
126
|
|
|
132
127
|
if (sortAction === 'toggle' && ( // Must be toggling
|
|
133
128
|
(_instance$options$ena = instance.options.enableSortingRemoval) != null ? _instance$options$ena : true) && // If enableSortRemove, enable in general
|
|
@@ -146,73 +141,63 @@ var Sorting = {
|
|
|
146
141
|
} else if (sortAction === 'add' && old != null && old.length) {
|
|
147
142
|
var _instance$options$max;
|
|
148
143
|
|
|
149
|
-
newSorting = [
|
|
144
|
+
newSorting = [...old, {
|
|
150
145
|
id: column.id,
|
|
151
146
|
desc: hasDescDefined ? desc : !!sortDescFirst
|
|
152
|
-
}]
|
|
147
|
+
}]; // Take latest n columns
|
|
153
148
|
|
|
154
149
|
newSorting.splice(0, newSorting.length - ((_instance$options$max = instance.options.maxMultiSortColCount) != null ? _instance$options$max : Number.MAX_SAFE_INTEGER));
|
|
155
150
|
} else if (sortAction === 'toggle' && old != null && old.length) {
|
|
156
151
|
// This flips (or sets) the
|
|
157
|
-
newSorting = old.map(
|
|
152
|
+
newSorting = old.map(d => {
|
|
158
153
|
if (d.id === column.id) {
|
|
159
|
-
return
|
|
154
|
+
return { ...d,
|
|
160
155
|
desc: hasDescDefined ? desc : !(existingSorting != null && existingSorting.desc)
|
|
161
|
-
}
|
|
156
|
+
};
|
|
162
157
|
}
|
|
163
158
|
|
|
164
159
|
return d;
|
|
165
160
|
});
|
|
166
161
|
} else if (sortAction === 'remove' && old != null && old.length) {
|
|
167
|
-
newSorting = old.filter(
|
|
168
|
-
return d.id !== column.id;
|
|
169
|
-
});
|
|
162
|
+
newSorting = old.filter(d => d.id !== column.id);
|
|
170
163
|
}
|
|
171
164
|
|
|
172
165
|
return newSorting;
|
|
173
166
|
});
|
|
174
167
|
},
|
|
175
|
-
getCanSort:
|
|
168
|
+
getCanSort: () => {
|
|
176
169
|
var _column$enableSorting, _instance$options$ena3;
|
|
177
170
|
|
|
178
171
|
return ((_column$enableSorting = column.enableSorting) != null ? _column$enableSorting : true) && ((_instance$options$ena3 = instance.options.enableSorting) != null ? _instance$options$ena3 : true) && !!column.accessorFn;
|
|
179
172
|
},
|
|
180
|
-
getCanMultiSort:
|
|
173
|
+
getCanMultiSort: () => {
|
|
181
174
|
var _ref3, _column$enableMultiSo;
|
|
182
175
|
|
|
183
176
|
return (_ref3 = (_column$enableMultiSo = column.enableMultiSort) != null ? _column$enableMultiSo : instance.options.enableMultiSort) != null ? _ref3 : !!column.accessorFn;
|
|
184
177
|
},
|
|
185
|
-
getIsSorted:
|
|
178
|
+
getIsSorted: () => {
|
|
186
179
|
var _instance$getState$so;
|
|
187
180
|
|
|
188
|
-
|
|
189
|
-
return d.id === column.id;
|
|
190
|
-
});
|
|
181
|
+
const columnSort = (_instance$getState$so = instance.getState().sorting) == null ? void 0 : _instance$getState$so.find(d => d.id === column.id);
|
|
191
182
|
return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';
|
|
192
183
|
},
|
|
193
|
-
getSortIndex:
|
|
184
|
+
getSortIndex: () => {
|
|
194
185
|
var _instance$getState$so2, _instance$getState$so3;
|
|
195
186
|
|
|
196
|
-
return (_instance$getState$so2 = (_instance$getState$so3 = instance.getState().sorting) == null ? void 0 : _instance$getState$so3.findIndex(
|
|
197
|
-
return d.id === column.id;
|
|
198
|
-
})) != null ? _instance$getState$so2 : -1;
|
|
187
|
+
return (_instance$getState$so2 = (_instance$getState$so3 = instance.getState().sorting) == null ? void 0 : _instance$getState$so3.findIndex(d => d.id === column.id)) != null ? _instance$getState$so2 : -1;
|
|
199
188
|
},
|
|
200
|
-
resetSorting:
|
|
189
|
+
resetSorting: columnId => {
|
|
201
190
|
if (columnId) {
|
|
202
|
-
instance.setSorting(
|
|
203
|
-
return old != null && old.length ? old.filter(function (d) {
|
|
204
|
-
return d.id !== columnId;
|
|
205
|
-
}) : [];
|
|
206
|
-
});
|
|
191
|
+
instance.setSorting(old => old != null && old.length ? old.filter(d => d.id !== columnId) : []);
|
|
207
192
|
} else {
|
|
208
193
|
var _instance$initialStat, _instance$initialStat2;
|
|
209
194
|
|
|
210
195
|
instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
|
|
211
196
|
}
|
|
212
197
|
},
|
|
213
|
-
getToggleSortingHandler:
|
|
214
|
-
|
|
215
|
-
return
|
|
198
|
+
getToggleSortingHandler: () => {
|
|
199
|
+
const canSort = column.getCanSort();
|
|
200
|
+
return e => {
|
|
216
201
|
if (!canSort) return;
|
|
217
202
|
e.persist == null ? void 0 : e.persist();
|
|
218
203
|
column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
|
|
@@ -220,15 +205,11 @@ var Sorting = {
|
|
|
220
205
|
}
|
|
221
206
|
};
|
|
222
207
|
},
|
|
223
|
-
createInstance:
|
|
208
|
+
createInstance: instance => {
|
|
224
209
|
return {
|
|
225
|
-
setSorting:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
229
|
-
return instance.getFilteredRowModel();
|
|
230
|
-
},
|
|
231
|
-
getSortedRowModel: function getSortedRowModel() {
|
|
210
|
+
setSorting: updater => instance.options.onSortingChange == null ? void 0 : instance.options.onSortingChange(updater),
|
|
211
|
+
getPreSortedRowModel: () => instance.getFilteredRowModel(),
|
|
212
|
+
getSortedRowModel: () => {
|
|
232
213
|
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
233
214
|
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
234
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sorting.js","sources":["../../../src/features/Sorting.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n BuiltInSortingFn,\n reSplitAlphaNumeric,\n sortingFns,\n} from '../sortingFns'\n\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\n\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type ColumnSort = {\n id: string\n desc: boolean\n}\n\nexport type SortingState = ColumnSort[]\n\nexport type SortingFn<TGenerics extends TableGenerics> = {\n (rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number\n}\n\nexport type CustomSortingFns<TGenerics extends TableGenerics> = Record<\n string,\n SortingFn<TGenerics>\n>\n\nexport type SortingTableState = {\n sorting: SortingState\n}\n\nexport type SortingFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInSortingFn\n | keyof TGenerics['SortingFns']\n | SortingFn<TGenerics>\n\nexport type SortingColumnDef<TGenerics extends TableGenerics> = {\n sortingFn?: SortingFnOption<Overwrite<TGenerics, { Value: any }>>\n sortDescFirst?: boolean\n enableSorting?: boolean\n enableMultiSort?: boolean\n invertSorting?: boolean\n sortUndefined?: false | -1 | 1\n}\n\nexport type SortingColumn<TGenerics extends TableGenerics> = {\n getAutoSortingFn: () => SortingFn<TGenerics>\n getAutoSortDir: () => SortDirection\n getSortingFn: () => SortingFn<TGenerics>\n getCanSort: () => boolean\n getCanMultiSort: () => boolean\n getSortIndex: () => number\n getIsSorted: () => false | SortDirection\n resetSorting: () => void\n toggleSorting: (desc?: boolean, isMulti?: boolean) => void\n getToggleSortingHandler: () => undefined | ((event: unknown) => void)\n}\n\nexport type SortingOptions<TGenerics extends TableGenerics> = {\n manualSorting?: boolean\n sortingFns?: TGenerics['SortingFns']\n onSortingChange?: OnChangeFn<SortingState>\n enableSorting?: boolean\n enableSortingRemoval?: boolean\n enableMultiRemove?: boolean\n enableMultiSort?: boolean\n sortDescFirst?: boolean\n getSortedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n maxMultiSortColCount?: number\n isMultiSortEvent?: (e: unknown) => boolean\n}\n\nexport type SortingInstance<TGenerics extends TableGenerics> = {\n setSorting: (updater: Updater<SortingState>) => void\n getPreSortedRowModel: () => RowModel<TGenerics>\n getSortedRowModel: () => RowModel<TGenerics>\n _getSortedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Sorting: TableFeature = {\n getInitialState: (state): SortingTableState => {\n return {\n sorting: [],\n ...state,\n }\n },\n\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): SortingColumnDef<TGenerics> => {\n return {\n sortingFn: 'auto',\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): SortingOptions<TGenerics> => {\n return {\n onSortingChange: makeStateUpdater('sorting', instance),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): SortingColumn<TGenerics> => {\n return {\n getAutoSortingFn: () => {\n const firstRows = instance.getFilteredRowModel().flatRows.slice(100)\n\n let isString = false\n\n for (const row of firstRows) {\n const value = row?.values[column.id]\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortingFns.datetime\n }\n\n if (typeof value === 'string') {\n isString = true\n\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortingFns.alphanumeric\n }\n }\n }\n\n if (isString) {\n return sortingFns.text\n }\n\n return sortingFns.basic\n },\n getAutoSortDir: () => {\n const firstRow = instance.getFilteredRowModel().flatRows[0]\n\n const value = firstRow?.values[column.id]\n\n if (typeof value === 'string') {\n return 'asc'\n }\n\n return 'desc'\n },\n getSortingFn: () => {\n const userSortingFn = instance.options.sortingFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.sortingFn)\n ? column.sortingFn\n : column.sortingFn === 'auto'\n ? column.getAutoSortingFn()\n : (userSortingFn as Record<string, any>)?.[\n column.sortingFn as string\n ] ??\n (sortingFns[\n column.sortingFn as BuiltInSortingFn\n ] as SortingFn<TGenerics>)\n },\n toggleSorting: (desc, multi) => {\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // instance.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n instance.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old?.find(d => d.id === column.id)\n const existingIndex = old?.findIndex(d => d.id === column.id)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSorting: SortingState = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (old?.length && existingIndex !== old.length - 1) {\n sortAction = 'replace'\n } else if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n const sortDescFirst =\n column.sortDescFirst ??\n instance.options.sortDescFirst ??\n column.getAutoSortDir() === 'desc'\n\n // Handle toggle states that will remove the sorting\n if (\n sortAction === 'toggle' && // Must be toggling\n (instance.options.enableSortingRemoval ?? true) && // If enableSortRemove, enable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? instance.options.enableMultiRemove ?? true : true) && // If multi, don't allow if enableMultiRemove\n (existingSorting?.desc // Finally, detect if it should indeed be removed\n ? !sortDescFirst\n : sortDescFirst)\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSorting = [\n {\n id: column.id,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n } else if (sortAction === 'add' && old?.length) {\n newSorting = [\n ...old,\n {\n id: column.id,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n // Take latest n columns\n newSorting.splice(\n 0,\n newSorting.length -\n (instance.options.maxMultiSortColCount ??\n Number.MAX_SAFE_INTEGER)\n )\n } else if (sortAction === 'toggle' && old?.length) {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: hasDescDefined ? desc! : !existingSorting?.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove' && old?.length) {\n newSorting = old.filter(d => d.id !== column.id)\n }\n\n return newSorting\n })\n },\n\n getCanSort: () => {\n return (\n (column.enableSorting ?? true) &&\n (instance.options.enableSorting ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanMultiSort: () => {\n return (\n column.enableMultiSort ??\n instance.options.enableMultiSort ??\n !!column.accessorFn\n )\n },\n\n getIsSorted: () => {\n const columnSort = instance\n .getState()\n .sorting?.find(d => d.id === column.id)\n\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'\n },\n\n getSortIndex: () =>\n instance.getState().sorting?.findIndex(d => d.id === column.id) ?? -1,\n\n resetSorting: (columnId?: string) => {\n if (columnId) {\n instance.setSorting(old =>\n old?.length ? old.filter(d => d.id !== columnId) : []\n )\n } else {\n instance.setSorting(instance.initialState?.sorting ?? [])\n }\n },\n\n getToggleSortingHandler: () => {\n const canSort = column.getCanSort()\n\n return (e: unknown) => {\n if (!canSort) return\n ;(e as any).persist?.()\n column.toggleSorting?.(\n undefined,\n column.getCanMultiSort()\n ? instance.options.isMultiSortEvent?.(e)\n : false\n )\n }\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): SortingInstance<TGenerics> => {\n let registered = false\n\n return {\n setSorting: updater => instance.options.onSortingChange?.(updater),\n\n getPreSortedRowModel: () => instance.getFilteredRowModel(),\n getSortedRowModel: () => {\n if (\n !instance._getSortedRowModel &&\n instance.options.getSortedRowModel\n ) {\n instance._getSortedRowModel =\n instance.options.getSortedRowModel(instance)\n }\n\n if (instance.options.manualSorting || !instance._getSortedRowModel) {\n return instance.getPreSortedRowModel()\n }\n\n return instance._getSortedRowModel()\n },\n }\n },\n}\n"],"names":["Sorting","getInitialState","state","_extends","sorting","getDefaultColumn","sortingFn","getDefaultOptions","instance","onSortingChange","makeStateUpdater","isMultiSortEvent","e","shiftKey","createColumn","column","getAutoSortingFn","firstRows","getFilteredRowModel","flatRows","slice","isString","_createForOfIteratorHelperLoose","row","value","values","id","Object","prototype","toString","call","sortingFns","datetime","split","reSplitAlphaNumeric","length","alphanumeric","text","basic","getAutoSortDir","firstRow","getSortingFn","userSortingFn","options","Error","isFunction","toggleSorting","desc","multi","setSorting","old","existingSorting","find","d","existingIndex","findIndex","hasDescDefined","newSorting","sortAction","getCanMultiSort","sortDescFirst","enableSortingRemoval","enableMultiRemove","splice","maxMultiSortColCount","Number","MAX_SAFE_INTEGER","map","filter","getCanSort","enableSorting","accessorFn","enableMultiSort","getIsSorted","columnSort","getState","getSortIndex","resetSorting","columnId","initialState","getToggleSortingHandler","canSort","persist","undefined","createInstance","updater","getPreSortedRowModel","getSortedRowModel","_getSortedRowModel","manualSorting"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sorting.js","sources":["../../../src/features/Sorting.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n BuiltInSortingFn,\n reSplitAlphaNumeric,\n sortingFns,\n} from '../sortingFns'\n\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\n\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type ColumnSort = {\n id: string\n desc: boolean\n}\n\nexport type SortingState = ColumnSort[]\n\nexport type SortingFn<TGenerics extends TableGenerics> = {\n (rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number\n}\n\nexport type CustomSortingFns<TGenerics extends TableGenerics> = Record<\n string,\n SortingFn<TGenerics>\n>\n\nexport type SortingTableState = {\n sorting: SortingState\n}\n\nexport type SortingFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInSortingFn\n | keyof TGenerics['SortingFns']\n | SortingFn<TGenerics>\n\nexport type SortingColumnDef<TGenerics extends TableGenerics> = {\n sortingFn?: SortingFnOption<Overwrite<TGenerics, { Value: any }>>\n sortDescFirst?: boolean\n enableSorting?: boolean\n enableMultiSort?: boolean\n invertSorting?: boolean\n sortUndefined?: false | -1 | 1\n}\n\nexport type SortingColumn<TGenerics extends TableGenerics> = {\n getAutoSortingFn: () => SortingFn<TGenerics>\n getAutoSortDir: () => SortDirection\n getSortingFn: () => SortingFn<TGenerics>\n getCanSort: () => boolean\n getCanMultiSort: () => boolean\n getSortIndex: () => number\n getIsSorted: () => false | SortDirection\n resetSorting: () => void\n toggleSorting: (desc?: boolean, isMulti?: boolean) => void\n getToggleSortingHandler: () => undefined | ((event: unknown) => void)\n}\n\nexport type SortingOptions<TGenerics extends TableGenerics> = {\n manualSorting?: boolean\n sortingFns?: TGenerics['SortingFns']\n onSortingChange?: OnChangeFn<SortingState>\n enableSorting?: boolean\n enableSortingRemoval?: boolean\n enableMultiRemove?: boolean\n enableMultiSort?: boolean\n sortDescFirst?: boolean\n getSortedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n maxMultiSortColCount?: number\n isMultiSortEvent?: (e: unknown) => boolean\n}\n\nexport type SortingInstance<TGenerics extends TableGenerics> = {\n setSorting: (updater: Updater<SortingState>) => void\n getPreSortedRowModel: () => RowModel<TGenerics>\n getSortedRowModel: () => RowModel<TGenerics>\n _getSortedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Sorting: TableFeature = {\n getInitialState: (state): SortingTableState => {\n return {\n sorting: [],\n ...state,\n }\n },\n\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): SortingColumnDef<TGenerics> => {\n return {\n sortingFn: 'auto',\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): SortingOptions<TGenerics> => {\n return {\n onSortingChange: makeStateUpdater('sorting', instance),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): SortingColumn<TGenerics> => {\n return {\n getAutoSortingFn: () => {\n const firstRows = instance.getFilteredRowModel().flatRows.slice(100)\n\n let isString = false\n\n for (const row of firstRows) {\n const value = row?.getValue(column.id)\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortingFns.datetime\n }\n\n if (typeof value === 'string') {\n isString = true\n\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortingFns.alphanumeric\n }\n }\n }\n\n if (isString) {\n return sortingFns.text\n }\n\n return sortingFns.basic\n },\n getAutoSortDir: () => {\n const firstRow = instance.getFilteredRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'string') {\n return 'asc'\n }\n\n return 'desc'\n },\n getSortingFn: () => {\n const userSortingFn = instance.options.sortingFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.sortingFn)\n ? column.sortingFn\n : column.sortingFn === 'auto'\n ? column.getAutoSortingFn()\n : (userSortingFn as Record<string, any>)?.[\n column.sortingFn as string\n ] ??\n (sortingFns[\n column.sortingFn as BuiltInSortingFn\n ] as SortingFn<TGenerics>)\n },\n toggleSorting: (desc, multi) => {\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // instance.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n instance.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old?.find(d => d.id === column.id)\n const existingIndex = old?.findIndex(d => d.id === column.id)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSorting: SortingState = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (old?.length && existingIndex !== old.length - 1) {\n sortAction = 'replace'\n } else if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n const sortDescFirst =\n column.sortDescFirst ??\n instance.options.sortDescFirst ??\n column.getAutoSortDir() === 'desc'\n\n // Handle toggle states that will remove the sorting\n if (\n sortAction === 'toggle' && // Must be toggling\n (instance.options.enableSortingRemoval ?? true) && // If enableSortRemove, enable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? instance.options.enableMultiRemove ?? true : true) && // If multi, don't allow if enableMultiRemove\n (existingSorting?.desc // Finally, detect if it should indeed be removed\n ? !sortDescFirst\n : sortDescFirst)\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSorting = [\n {\n id: column.id,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n } else if (sortAction === 'add' && old?.length) {\n newSorting = [\n ...old,\n {\n id: column.id,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n // Take latest n columns\n newSorting.splice(\n 0,\n newSorting.length -\n (instance.options.maxMultiSortColCount ??\n Number.MAX_SAFE_INTEGER)\n )\n } else if (sortAction === 'toggle' && old?.length) {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: hasDescDefined ? desc! : !existingSorting?.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove' && old?.length) {\n newSorting = old.filter(d => d.id !== column.id)\n }\n\n return newSorting\n })\n },\n\n getCanSort: () => {\n return (\n (column.enableSorting ?? true) &&\n (instance.options.enableSorting ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanMultiSort: () => {\n return (\n column.enableMultiSort ??\n instance.options.enableMultiSort ??\n !!column.accessorFn\n )\n },\n\n getIsSorted: () => {\n const columnSort = instance\n .getState()\n .sorting?.find(d => d.id === column.id)\n\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'\n },\n\n getSortIndex: () =>\n instance.getState().sorting?.findIndex(d => d.id === column.id) ?? -1,\n\n resetSorting: (columnId?: string) => {\n if (columnId) {\n instance.setSorting(old =>\n old?.length ? old.filter(d => d.id !== columnId) : []\n )\n } else {\n instance.setSorting(instance.initialState?.sorting ?? [])\n }\n },\n\n getToggleSortingHandler: () => {\n const canSort = column.getCanSort()\n\n return (e: unknown) => {\n if (!canSort) return\n ;(e as any).persist?.()\n column.toggleSorting?.(\n undefined,\n column.getCanMultiSort()\n ? instance.options.isMultiSortEvent?.(e)\n : false\n )\n }\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): SortingInstance<TGenerics> => {\n let registered = false\n\n return {\n setSorting: updater => instance.options.onSortingChange?.(updater),\n\n getPreSortedRowModel: () => instance.getFilteredRowModel(),\n getSortedRowModel: () => {\n if (\n !instance._getSortedRowModel &&\n instance.options.getSortedRowModel\n ) {\n instance._getSortedRowModel =\n instance.options.getSortedRowModel(instance)\n }\n\n if (instance.options.manualSorting || !instance._getSortedRowModel) {\n return instance.getPreSortedRowModel()\n }\n\n return instance._getSortedRowModel()\n },\n }\n },\n}\n"],"names":["Sorting","getInitialState","state","sorting","getDefaultColumn","sortingFn","getDefaultOptions","instance","onSortingChange","makeStateUpdater","isMultiSortEvent","e","shiftKey","createColumn","column","getAutoSortingFn","firstRows","getFilteredRowModel","flatRows","slice","isString","row","value","getValue","id","Object","prototype","toString","call","sortingFns","datetime","split","reSplitAlphaNumeric","length","alphanumeric","text","basic","getAutoSortDir","firstRow","getSortingFn","userSortingFn","options","Error","isFunction","toggleSorting","desc","multi","setSorting","old","existingSorting","find","d","existingIndex","findIndex","hasDescDefined","newSorting","sortAction","getCanMultiSort","sortDescFirst","enableSortingRemoval","enableMultiRemove","splice","maxMultiSortColCount","Number","MAX_SAFE_INTEGER","map","filter","getCanSort","enableSorting","accessorFn","enableMultiSort","getIsSorted","columnSort","getState","getSortIndex","resetSorting","columnId","initialState","getToggleSortingHandler","canSort","persist","undefined","createInstance","updater","getPreSortedRowModel","getSortedRowModel","_getSortedRowModel","manualSorting"],"mappings":"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"}
|
|
@@ -12,81 +12,67 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
15
|
var utils = require('../utils.js');
|
|
17
16
|
|
|
18
17
|
//
|
|
19
|
-
|
|
20
|
-
getInitialState:
|
|
21
|
-
return
|
|
22
|
-
columnVisibility: {}
|
|
23
|
-
|
|
18
|
+
const Visibility = {
|
|
19
|
+
getInitialState: state => {
|
|
20
|
+
return {
|
|
21
|
+
columnVisibility: {},
|
|
22
|
+
...state
|
|
23
|
+
};
|
|
24
24
|
},
|
|
25
|
-
getDefaultOptions:
|
|
25
|
+
getDefaultOptions: instance => {
|
|
26
26
|
return {
|
|
27
27
|
onColumnVisibilityChange: utils.makeStateUpdater('columnVisibility', instance)
|
|
28
28
|
};
|
|
29
29
|
},
|
|
30
|
-
getDefaultColumn:
|
|
30
|
+
getDefaultColumn: () => {
|
|
31
31
|
return {
|
|
32
32
|
defaultIsVisible: true
|
|
33
33
|
};
|
|
34
34
|
},
|
|
35
|
-
createColumn:
|
|
35
|
+
createColumn: (column, instance) => {
|
|
36
36
|
return {
|
|
37
|
-
toggleVisibility:
|
|
37
|
+
toggleVisibility: value => {
|
|
38
38
|
if (column.getCanHide()) {
|
|
39
|
-
instance.setColumnVisibility(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[column.id] = value != null ? value : !column.getIsVisible(), _extends2));
|
|
43
|
-
});
|
|
39
|
+
instance.setColumnVisibility(old => ({ ...old,
|
|
40
|
+
[column.id]: value != null ? value : !column.getIsVisible()
|
|
41
|
+
}));
|
|
44
42
|
}
|
|
45
43
|
},
|
|
46
|
-
getIsVisible:
|
|
44
|
+
getIsVisible: () => {
|
|
47
45
|
var _instance$getState$co, _instance$getState$co2;
|
|
48
46
|
|
|
49
47
|
return (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[column.id]) != null ? _instance$getState$co : true;
|
|
50
48
|
},
|
|
51
|
-
getCanHide:
|
|
49
|
+
getCanHide: () => {
|
|
52
50
|
var _column$enableHiding, _instance$options$ena;
|
|
53
51
|
|
|
54
52
|
return ((_column$enableHiding = column.enableHiding) != null ? _column$enableHiding : true) && ((_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : true);
|
|
55
53
|
},
|
|
56
|
-
getToggleVisibilityHandler:
|
|
57
|
-
return
|
|
54
|
+
getToggleVisibilityHandler: () => {
|
|
55
|
+
return e => {
|
|
58
56
|
column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
|
|
59
57
|
};
|
|
60
58
|
}
|
|
61
59
|
};
|
|
62
60
|
},
|
|
63
|
-
createRow:
|
|
61
|
+
createRow: (row, instance) => {
|
|
64
62
|
return {
|
|
65
|
-
_getAllVisibleCells: utils.memo(
|
|
66
|
-
return
|
|
67
|
-
return cell.column.getIsVisible();
|
|
68
|
-
}).map(function (d) {
|
|
69
|
-
return d.id;
|
|
70
|
-
}).join('_')];
|
|
71
|
-
}, function (_) {
|
|
72
|
-
return row.getAllCells().filter(function (cell) {
|
|
73
|
-
return cell.column.getIsVisible();
|
|
74
|
-
});
|
|
63
|
+
_getAllVisibleCells: utils.memo(() => [row.getAllCells().filter(cell => cell.column.getIsVisible()).map(d => d.id).join('_')], _ => {
|
|
64
|
+
return row.getAllCells().filter(cell => cell.column.getIsVisible());
|
|
75
65
|
}, {
|
|
76
66
|
key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
|
|
77
|
-
debug:
|
|
67
|
+
debug: () => {
|
|
78
68
|
var _instance$options$deb;
|
|
79
69
|
|
|
80
70
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
81
71
|
}
|
|
82
72
|
}),
|
|
83
|
-
getVisibleCells: utils.memo(
|
|
84
|
-
return [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()];
|
|
85
|
-
}, function (left, center, right) {
|
|
86
|
-
return [].concat(left, center, right);
|
|
87
|
-
}, {
|
|
73
|
+
getVisibleCells: utils.memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], {
|
|
88
74
|
key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
|
|
89
|
-
debug:
|
|
75
|
+
debug: () => {
|
|
90
76
|
var _instance$options$deb2;
|
|
91
77
|
|
|
92
78
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
@@ -94,21 +80,13 @@ var Visibility = {
|
|
|
94
80
|
})
|
|
95
81
|
};
|
|
96
82
|
},
|
|
97
|
-
createInstance:
|
|
98
|
-
|
|
99
|
-
return utils.memo(
|
|
100
|
-
return
|
|
101
|
-
return d.getIsVisible();
|
|
102
|
-
}).map(function (d) {
|
|
103
|
-
return d.id;
|
|
104
|
-
}).join('_')];
|
|
105
|
-
}, function (columns) {
|
|
106
|
-
return columns.filter(function (d) {
|
|
107
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
108
|
-
});
|
|
83
|
+
createInstance: instance => {
|
|
84
|
+
const makeVisibleColumnsMethod = (key, getColumns) => {
|
|
85
|
+
return utils.memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {
|
|
86
|
+
return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());
|
|
109
87
|
}, {
|
|
110
|
-
key
|
|
111
|
-
debug:
|
|
88
|
+
key,
|
|
89
|
+
debug: () => {
|
|
112
90
|
var _instance$options$deb3;
|
|
113
91
|
|
|
114
92
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
|
|
@@ -117,46 +95,24 @@ var Visibility = {
|
|
|
117
95
|
};
|
|
118
96
|
|
|
119
97
|
return {
|
|
120
|
-
getVisibleFlatColumns: makeVisibleColumnsMethod('getVisibleFlatColumns',
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return instance.getLeftLeafColumns();
|
|
128
|
-
}),
|
|
129
|
-
getRightVisibleLeafColumns: makeVisibleColumnsMethod('getRightVisibleLeafColumns', function () {
|
|
130
|
-
return instance.getRightLeafColumns();
|
|
131
|
-
}),
|
|
132
|
-
getCenterVisibleLeafColumns: makeVisibleColumnsMethod('getCenterVisibleLeafColumns', function () {
|
|
133
|
-
return instance.getCenterLeafColumns();
|
|
134
|
-
}),
|
|
135
|
-
setColumnVisibility: function setColumnVisibility(updater) {
|
|
136
|
-
return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater);
|
|
137
|
-
},
|
|
138
|
-
toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
|
|
98
|
+
getVisibleFlatColumns: makeVisibleColumnsMethod('getVisibleFlatColumns', () => instance.getAllFlatColumns()),
|
|
99
|
+
getVisibleLeafColumns: makeVisibleColumnsMethod('getVisibleLeafColumns', () => instance.getAllLeafColumns()),
|
|
100
|
+
getLeftVisibleLeafColumns: makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => instance.getLeftLeafColumns()),
|
|
101
|
+
getRightVisibleLeafColumns: makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => instance.getRightLeafColumns()),
|
|
102
|
+
getCenterVisibleLeafColumns: makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => instance.getCenterLeafColumns()),
|
|
103
|
+
setColumnVisibility: updater => instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater),
|
|
104
|
+
toggleAllColumnsVisible: value => {
|
|
139
105
|
var _value;
|
|
140
106
|
|
|
141
107
|
value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
|
|
142
|
-
instance.setColumnVisibility(instance.getAllLeafColumns().reduce(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
|
|
146
|
-
}, {}));
|
|
147
|
-
},
|
|
148
|
-
getIsAllColumnsVisible: function getIsAllColumnsVisible() {
|
|
149
|
-
return !instance.getAllLeafColumns().some(function (column) {
|
|
150
|
-
return !(column.getIsVisible != null && column.getIsVisible());
|
|
151
|
-
});
|
|
152
|
-
},
|
|
153
|
-
getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
|
|
154
|
-
return instance.getAllLeafColumns().some(function (column) {
|
|
155
|
-
return column.getIsVisible == null ? void 0 : column.getIsVisible();
|
|
156
|
-
});
|
|
108
|
+
instance.setColumnVisibility(instance.getAllLeafColumns().reduce((obj, column) => ({ ...obj,
|
|
109
|
+
[column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
|
|
110
|
+
}), {}));
|
|
157
111
|
},
|
|
158
|
-
|
|
159
|
-
|
|
112
|
+
getIsAllColumnsVisible: () => !instance.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible())),
|
|
113
|
+
getIsSomeColumnsVisible: () => instance.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible()),
|
|
114
|
+
getToggleAllColumnsVisibilityHandler: () => {
|
|
115
|
+
return e => {
|
|
160
116
|
var _target;
|
|
161
117
|
|
|
162
118
|
instance.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
|