@tanstack/react-table 8.0.0-alpha.2 → 8.0.0-alpha.22
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/_virtual/_rollupPluginBabelHelpers.js +0 -78
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/index.js +96 -12
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.js +40 -3663
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +28 -676
- package/build/types/index.d.ts +13 -7
- package/build/umd/index.development.js +50 -3665
- 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 +4 -1
- package/src/index.tsx +104 -7
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -519
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/createTable.js +0 -103
- package/build/cjs/createTable.js.map +0 -1
- package/build/cjs/features/ColumnSizing.js +0 -331
- package/build/cjs/features/ColumnSizing.js.map +0 -1
- package/build/cjs/features/Expanding.js +0 -234
- package/build/cjs/features/Expanding.js.map +0 -1
- package/build/cjs/features/Filters.js +0 -396
- package/build/cjs/features/Filters.js.map +0 -1
- package/build/cjs/features/Grouping.js +0 -228
- package/build/cjs/features/Grouping.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -486
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/features/Ordering.js +0 -83
- package/build/cjs/features/Ordering.js.map +0 -1
- package/build/cjs/features/Pinning.js +0 -163
- package/build/cjs/features/Pinning.js.map +0 -1
- package/build/cjs/features/Sorting.js +0 -269
- package/build/cjs/features/Sorting.js.map +0 -1
- package/build/cjs/features/Visibility.js +0 -160
- package/build/cjs/features/Visibility.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -121
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -130
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -100
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -154
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -93
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/cjs/utils.js +0 -143
- package/build/cjs/utils.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -126
- package/build/types/createTable.d.ts +0 -35
- package/build/types/features/ColumnSizing.d.ts +0 -73
- package/build/types/features/Expanding.d.ts +0 -52
- package/build/types/features/Filters.d.ts +0 -93
- package/build/types/features/Grouping.d.ts +0 -82
- package/build/types/features/Headers.d.ts +0 -41
- package/build/types/features/Ordering.d.ts +0 -19
- package/build/types/features/Pinning.d.ts +0 -39
- package/build/types/features/Sorting.d.ts +0 -75
- package/build/types/features/Visibility.d.ts +0 -47
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -17
- package/build/types/types.d.ts +0 -124
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/build/types/utils.d.ts +0 -24
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -1232
- package/src/createTable.tsx +0 -181
- package/src/features/ColumnSizing.ts +0 -482
- package/src/features/Expanding.ts +0 -388
- package/src/features/Filters.ts +0 -707
- package/src/features/Grouping.ts +0 -451
- package/src/features/Headers.ts +0 -944
- package/src/features/Ordering.ts +0 -134
- package/src/features/Pinning.ts +0 -213
- package/src/features/Sorting.ts +0 -487
- package/src/features/Visibility.ts +0 -281
- package/src/features/withPagination.oldts +0 -208
- package/src/features/withRowSelection.oldts +0 -467
- package/src/filterTypes.ts +0 -251
- package/src/sortTypes.ts +0 -159
- package/src/types.ts +0 -314
- package/src/utils/columnFilterRowsFn.ts +0 -162
- package/src/utils/expandRowsFn.ts +0 -53
- package/src/utils/globalFilterRowsFn.ts +0 -129
- package/src/utils/groupRowsFn.ts +0 -196
- package/src/utils/sortRowsFn.ts +0 -115
- package/src/utils.tsx +0 -249
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var utils = require('../utils.js');
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
function getInitialState() {
|
|
20
|
-
return {
|
|
21
|
-
columnVisibility: {}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function getDefaultOptions(instance) {
|
|
25
|
-
return {
|
|
26
|
-
onColumnVisibilityChange: utils.makeStateUpdater('columnVisibility', instance)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function getDefaultColumn() {
|
|
30
|
-
return {
|
|
31
|
-
defaultIsVisible: true
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function createColumn(column, instance) {
|
|
35
|
-
return {
|
|
36
|
-
getCanHide: function getCanHide() {
|
|
37
|
-
return instance.getColumnCanHide(column.id);
|
|
38
|
-
},
|
|
39
|
-
getIsVisible: function getIsVisible() {
|
|
40
|
-
return instance.getColumnIsVisible(column.id);
|
|
41
|
-
},
|
|
42
|
-
toggleVisibility: function toggleVisibility(value) {
|
|
43
|
-
return instance.toggleColumnVisibility(column.id, value);
|
|
44
|
-
},
|
|
45
|
-
getToggleVisibilityProps: function getToggleVisibilityProps(userProps) {
|
|
46
|
-
var props = {
|
|
47
|
-
type: 'checkbox',
|
|
48
|
-
checked: column.getIsVisible == null ? void 0 : column.getIsVisible(),
|
|
49
|
-
title: 'Toggle Column Visibility',
|
|
50
|
-
onChange: function onChange(e) {
|
|
51
|
-
column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
return utils.propGetter(props, userProps);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function getInstance(instance) {
|
|
59
|
-
return {
|
|
60
|
-
getVisibleFlatColumns: utils.memo(function () {
|
|
61
|
-
return [instance.getAllFlatColumns(), instance.getAllFlatColumns().filter(function (d) {
|
|
62
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
63
|
-
}).map(function (d) {
|
|
64
|
-
return d.id;
|
|
65
|
-
}).join('_')];
|
|
66
|
-
}, function (allFlatColumns) {
|
|
67
|
-
return allFlatColumns.filter(function (d) {
|
|
68
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
69
|
-
});
|
|
70
|
-
}, 'getVisibleFlatColumns', instance.options.debug),
|
|
71
|
-
getVisibleLeafColumns: utils.memo(function () {
|
|
72
|
-
return [instance.getAllLeafColumns(), instance.getAllLeafColumns().filter(function (d) {
|
|
73
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
74
|
-
}).map(function (d) {
|
|
75
|
-
return d.id;
|
|
76
|
-
}).join('_')];
|
|
77
|
-
}, function (allFlatColumns) {
|
|
78
|
-
return allFlatColumns.filter(function (d) {
|
|
79
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
80
|
-
});
|
|
81
|
-
}, 'getVisibleLeafColumns', instance.options.debug),
|
|
82
|
-
setColumnVisibility: function setColumnVisibility(updater) {
|
|
83
|
-
return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater, utils.functionalUpdate(updater, instance.getState().columnVisibility));
|
|
84
|
-
},
|
|
85
|
-
toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
|
|
86
|
-
if (!columnId) return;
|
|
87
|
-
|
|
88
|
-
if (instance.getColumnCanHide(columnId)) {
|
|
89
|
-
instance.setColumnVisibility(function (old) {
|
|
90
|
-
var _extends2;
|
|
91
|
-
|
|
92
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
|
|
97
|
-
var _value;
|
|
98
|
-
|
|
99
|
-
value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
|
|
100
|
-
instance.setColumnVisibility(instance.getAllLeafColumns().reduce(function (obj, column) {
|
|
101
|
-
var _extends3;
|
|
102
|
-
|
|
103
|
-
return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
|
|
104
|
-
}, {}));
|
|
105
|
-
},
|
|
106
|
-
getColumnIsVisible: function getColumnIsVisible(columnId) {
|
|
107
|
-
var _ref, _instance$getState$co, _instance$getState$co2;
|
|
108
|
-
|
|
109
|
-
var column = instance.getColumn(columnId);
|
|
110
|
-
|
|
111
|
-
if (!column) {
|
|
112
|
-
throw new Error();
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return (_ref = (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[columnId]) != null ? _instance$getState$co : column.defaultIsVisible) != null ? _ref : true;
|
|
116
|
-
},
|
|
117
|
-
getColumnCanHide: function getColumnCanHide(columnId) {
|
|
118
|
-
var _ref2, _ref3, _instance$options$ena;
|
|
119
|
-
|
|
120
|
-
var column = instance.getColumn(columnId);
|
|
121
|
-
|
|
122
|
-
if (!column) {
|
|
123
|
-
throw new Error();
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
|
|
127
|
-
},
|
|
128
|
-
getIsAllColumnsVisible: function getIsAllColumnsVisible() {
|
|
129
|
-
return !instance.getAllLeafColumns().some(function (column) {
|
|
130
|
-
return !(column.getIsVisible != null && column.getIsVisible());
|
|
131
|
-
});
|
|
132
|
-
},
|
|
133
|
-
getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
|
|
134
|
-
return instance.getAllLeafColumns().some(function (column) {
|
|
135
|
-
return column.getIsVisible == null ? void 0 : column.getIsVisible();
|
|
136
|
-
});
|
|
137
|
-
},
|
|
138
|
-
getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
|
|
139
|
-
var props = {
|
|
140
|
-
onChange: function onChange(e) {
|
|
141
|
-
var _e$target;
|
|
142
|
-
|
|
143
|
-
instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
|
|
144
|
-
},
|
|
145
|
-
type: 'checkbox',
|
|
146
|
-
title: 'Toggle visibility for all columns',
|
|
147
|
-
checked: instance.getIsAllColumnsVisible(),
|
|
148
|
-
indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
|
|
149
|
-
};
|
|
150
|
-
return utils.propGetter(props, userProps);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
exports.createColumn = createColumn;
|
|
156
|
-
exports.getDefaultColumn = getDefaultColumn;
|
|
157
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
158
|
-
exports.getInitialState = getInitialState;
|
|
159
|
-
exports.getInstance = getInstance;
|
|
160
|
-
//# sourceMappingURL=Visibility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n getVisibleFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getVisibleLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleColumnVisibility: (columnId: string, value?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getColumnIsVisible: (columId: string) => boolean\n getColumnCanHide: (columnId: string) => boolean\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityProps: <\n TGetter extends Getter<ToggleAllColumnsVisibilityProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleAllColumnsVisibilityProps, TGetter>\n}\n\ntype ToggleVisibilityProps = {}\ntype ToggleAllColumnsVisibilityProps = {}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultCanHide?: boolean\n}\n\nexport type VisibilityRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n getVisibleCells: () => Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityProps: <TGetter extends Getter<ToggleVisibilityProps>>(\n userProps?: TGetter\n ) => PropGetterValue<ToggleVisibilityProps, TGetter>\n}\n\n//\n\nexport function getInitialState(): VisibilityTableState {\n return {\n columnVisibility: {},\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): VisibilityDefaultOptions {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n}\n\nexport function getDefaultColumn() {\n return {\n defaultIsVisible: true,\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): VisibilityColumn {\n return {\n getCanHide: () => instance.getColumnCanHide(column.id),\n getIsVisible: () => instance.getColumnIsVisible(column.id),\n toggleVisibility: value =>\n instance.toggleColumnVisibility(column.id, value),\n getToggleVisibilityProps: userProps => {\n const props: ToggleVisibilityProps = {\n type: 'checkbox',\n checked: column.getIsVisible?.(),\n title: 'Toggle Column Visibility',\n onChange: (e: MouseEvent | TouchEvent) => {\n column.toggleVisibility?.((e.target as HTMLInputElement).checked)\n },\n }\n\n return propGetter(props, userProps)\n },\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): VisibilityInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n getVisibleFlatColumns: memo(\n () => [\n instance.getAllFlatColumns(),\n instance\n .getAllFlatColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n 'getVisibleFlatColumns',\n instance.options.debug\n ),\n\n getVisibleLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance\n .getAllLeafColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n 'getVisibleLeafColumns',\n instance.options.debug\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnVisibility)\n ),\n\n toggleColumnVisibility: (columnId, value) => {\n if (!columnId) return\n\n if (instance.getColumnCanHide(columnId)) {\n instance.setColumnVisibility(old => ({\n ...old,\n [columnId]: value ?? !instance.getColumnIsVisible(columnId),\n }))\n }\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !instance.getIsAllColumnsVisible()\n\n instance.setColumnVisibility(\n instance.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getColumnIsVisible: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnVisibility?.[columnId] ??\n column.defaultIsVisible ??\n true\n )\n },\n\n getColumnCanHide: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.options.enableHiding ??\n column.enableHiding ??\n column.defaultCanHide ??\n true\n )\n },\n\n getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityProps: userProps => {\n const props: ToggleAllColumnsVisibilityProps = {\n onChange: (e: MouseEvent) => {\n instance.toggleAllColumnsVisible(\n (e.target as HTMLInputElement)?.checked\n )\n },\n type: 'checkbox',\n title: 'Toggle visibility for all columns',\n checked: instance.getIsAllColumnsVisible(),\n indeterminate:\n !instance.getIsAllColumnsVisible() &&\n instance.getIsSomeColumnsVisible()\n ? 'indeterminate'\n : undefined,\n }\n\n return propGetter(props, userProps)\n },\n }\n}\n"],"names":["getInitialState","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","getCanHide","getColumnCanHide","id","getIsVisible","getColumnIsVisible","toggleVisibility","value","toggleColumnVisibility","getToggleVisibilityProps","userProps","props","type","checked","title","onChange","e","target","propGetter","getInstance","getVisibleFlatColumns","memo","getAllFlatColumns","filter","d","map","join","allFlatColumns","options","debug","getVisibleLeafColumns","getAllLeafColumns","setColumnVisibility","updater","functionalUpdate","getState","columnId","old","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","getColumn","Error","enableHiding","defaultCanHide","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityProps","indeterminate","undefined"],"mappings":"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"}
|
package/build/cjs/filterTypes.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var filterTypes = {
|
|
16
|
-
includesString: includesString,
|
|
17
|
-
includesStringSensitive: includesStringSensitive,
|
|
18
|
-
equalsString: equalsString,
|
|
19
|
-
equalsStringSensitive: equalsStringSensitive,
|
|
20
|
-
arrIncludes: arrIncludes,
|
|
21
|
-
arrIncludesAll: arrIncludesAll,
|
|
22
|
-
equals: equals,
|
|
23
|
-
weakEquals: weakEquals,
|
|
24
|
-
betweenNumberRange: betweenNumberRange
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
function includesString(rows, columnIds, filterValue) {
|
|
28
|
-
var search = String(filterValue).toLowerCase();
|
|
29
|
-
rows = rows.filter(function (row) {
|
|
30
|
-
return columnIds.some(function (id) {
|
|
31
|
-
return String(row.values[id]).toLowerCase().includes(search);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
return rows;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
includesString.autoRemove = function (val) {
|
|
38
|
-
return testFalsey(val);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
function includesStringSensitive(rows, columnIds, filterValue) {
|
|
42
|
-
var search = String(filterValue);
|
|
43
|
-
rows = rows.filter(function (row) {
|
|
44
|
-
return columnIds.some(function (id) {
|
|
45
|
-
return String(row.values[id]).includes(search);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
return rows;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
includesStringSensitive.autoRemove = function (val) {
|
|
52
|
-
return testFalsey(val);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
function equalsString(rows, columnIds, filterValue) {
|
|
56
|
-
var search = String(filterValue).toLowerCase();
|
|
57
|
-
return rows.filter(function (row) {
|
|
58
|
-
return columnIds.some(function (id) {
|
|
59
|
-
var rowValue = row.values[id];
|
|
60
|
-
return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
equalsString.autoRemove = function (val) {
|
|
66
|
-
return testFalsey(val);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
function equalsStringSensitive(rows, columnIds, filterValue) {
|
|
70
|
-
var search = String(filterValue);
|
|
71
|
-
return rows.filter(function (row) {
|
|
72
|
-
return columnIds.some(function (id) {
|
|
73
|
-
var rowValue = row.values[id];
|
|
74
|
-
return rowValue !== undefined ? String(rowValue) === search : true;
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
equalsStringSensitive.autoRemove = function (val) {
|
|
80
|
-
return testFalsey(val);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
function arrIncludes(rows, columnIds, filterValue) {
|
|
84
|
-
return rows.filter(function (row) {
|
|
85
|
-
return columnIds.some(function (id) {
|
|
86
|
-
var rowValue = row.values[id];
|
|
87
|
-
return rowValue.includes(filterValue);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
arrIncludes.autoRemove = function (val) {
|
|
93
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
function arrIncludesAll(rows, columnIds, filterValue) {
|
|
97
|
-
return rows.filter(function (row) {
|
|
98
|
-
return columnIds.some(function (id) {
|
|
99
|
-
var rowValue = row.values[id];
|
|
100
|
-
return rowValue && rowValue.length && filterValue.every(function (val) {
|
|
101
|
-
return rowValue.includes(val);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
arrIncludesAll.autoRemove = function (val) {
|
|
108
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
function equals(rows, columnIds, filterValue) {
|
|
112
|
-
return rows.filter(function (row) {
|
|
113
|
-
return columnIds.some(function (id) {
|
|
114
|
-
var rowValue = row.values[id];
|
|
115
|
-
return rowValue === filterValue;
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
equals.autoRemove = function (val) {
|
|
121
|
-
return testFalsey(val);
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
function weakEquals(rows, columnIds, filterValue) {
|
|
125
|
-
return rows.filter(function (row) {
|
|
126
|
-
return columnIds.some(function (id) {
|
|
127
|
-
var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
|
|
128
|
-
|
|
129
|
-
return rowValue == filterValue;
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
weakEquals.autoRemove = function (val) {
|
|
135
|
-
return testFalsey(val);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
function betweenNumberRange(rows, columnIds, filterValue) {
|
|
139
|
-
var _ref = filterValue || [],
|
|
140
|
-
unsafeMin = _ref[0],
|
|
141
|
-
unsafeMax = _ref[1];
|
|
142
|
-
|
|
143
|
-
var parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
|
|
144
|
-
var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
|
|
145
|
-
var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
146
|
-
var max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
147
|
-
|
|
148
|
-
if (min > max) {
|
|
149
|
-
var temp = min;
|
|
150
|
-
min = max;
|
|
151
|
-
max = temp;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return rows.filter(function (row) {
|
|
155
|
-
return columnIds.some(function (id) {
|
|
156
|
-
var rowValue = row.values[id];
|
|
157
|
-
return rowValue >= min && rowValue <= max;
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
betweenNumberRange.autoRemove = function (val) {
|
|
163
|
-
return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
|
|
164
|
-
}; // Utils
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
function testFalsey(val) {
|
|
168
|
-
return val === undefined || val === null || val === '';
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
exports.filterTypes = filterTypes;
|
|
172
|
-
//# sourceMappingURL=filterTypes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterTypes.js","sources":["../../src/filterTypes.ts"],"sourcesContent":["import { AccessorFn, Row } from './types'\n\nexport const filterTypes = {\n includesString,\n includesStringSensitive,\n equalsString,\n equalsStringSensitive,\n arrIncludes,\n arrIncludesAll,\n equals,\n weakEquals,\n betweenNumberRange,\n}\n\nexport type BuiltInFilterType = keyof typeof filterTypes\n\nfunction includesString<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue).toLowerCase()\n\n rows = rows.filter(row => {\n return columnIds.some(id => {\n return String(row.values[id]).toLowerCase().includes(search)\n })\n })\n return rows\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nfunction includesStringSensitive<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue)\n\n rows = rows.filter(row => {\n return columnIds.some(id => {\n return String(row.values[id]).includes(search)\n })\n })\n return rows\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nfunction equalsString<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue).toLowerCase()\n\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === search\n : true\n })\n })\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nfunction equalsStringSensitive<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue)\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined ? String(rowValue) === search : true\n })\n })\n}\n\nequalsStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nfunction arrIncludes<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nfunction arrIncludesAll<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown[]\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nfunction equals<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nequals.autoRemove = (val: any) => testFalsey(val)\n\nfunction weakEquals<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nweakEquals.autoRemove = (val: any) => testFalsey(val)\n\nfunction betweenNumberRange<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: [unknown, unknown]\n) {\n let [unsafeMin, unsafeMax] = filterValue || []\n\n let parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin as string) : unsafeMin\n let parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax as string) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetweenNumberRange.autoRemove = (val: any) =>\n testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))\n\n// Utils\n\nfunction testFalsey(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":["filterTypes","includesString","includesStringSensitive","equalsString","equalsStringSensitive","arrIncludes","arrIncludesAll","equals","weakEquals","betweenNumberRange","rows","columnIds","filterValue","search","String","toLowerCase","filter","row","some","id","values","includes","autoRemove","val","testFalsey","rowValue","undefined","length","every","unsafeMin","unsafeMax","parsedMin","parseFloat","parsedMax","min","Number","isNaN","Infinity","max","temp"],"mappings":"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"}
|
package/build/cjs/sortTypes.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var reSplitAlphaNumeric = /([0-9]+)/gm;
|
|
16
|
-
var sortTypes = {
|
|
17
|
-
alphanumeric: alphanumeric,
|
|
18
|
-
alphanumericCaseSensitive: alphanumericCaseSensitive,
|
|
19
|
-
text: text,
|
|
20
|
-
textCaseSensitive: textCaseSensitive,
|
|
21
|
-
datetime: datetime,
|
|
22
|
-
basic: basic
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
function alphanumeric(rowA, rowB, columnId) {
|
|
26
|
-
return compareAlphanumeric(toString(rowA.values[columnId]).toLowerCase(), toString(rowB.values[columnId]).toLowerCase());
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function alphanumericCaseSensitive(rowA, rowB, columnId) {
|
|
30
|
-
return compareAlphanumeric(toString(rowA.values[columnId]), toString(rowB.values[columnId]));
|
|
31
|
-
} // Mixed sorting is slow, but very inclusive of many edge cases.
|
|
32
|
-
// It handles numbers, mixed alphanumeric combinations, and even
|
|
33
|
-
// null, undefined, and Infinity
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function compareAlphanumeric(aStr, bStr) {
|
|
37
|
-
// Split on number groups, but keep the delimiter
|
|
38
|
-
// Then remove falsey split values
|
|
39
|
-
var a = aStr.split(reSplitAlphaNumeric).filter(Boolean);
|
|
40
|
-
var b = bStr.split(reSplitAlphaNumeric).filter(Boolean); // While
|
|
41
|
-
|
|
42
|
-
while (a.length && b.length) {
|
|
43
|
-
var aa = a.shift();
|
|
44
|
-
var bb = b.shift();
|
|
45
|
-
var an = parseInt(aa, 10);
|
|
46
|
-
var bn = parseInt(bb, 10);
|
|
47
|
-
var combo = [an, bn].sort(); // Both are string
|
|
48
|
-
|
|
49
|
-
if (isNaN(combo[0])) {
|
|
50
|
-
if (aa > bb) {
|
|
51
|
-
return 1;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (bb > aa) {
|
|
55
|
-
return -1;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
continue;
|
|
59
|
-
} // One is a string, one is a number
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (isNaN(combo[1])) {
|
|
63
|
-
return isNaN(an) ? -1 : 1;
|
|
64
|
-
} // Both are numbers
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (an > bn) {
|
|
68
|
-
return 1;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (bn > an) {
|
|
72
|
-
return -1;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return a.length - b.length;
|
|
77
|
-
} // The text filter is more basic (less numeric support)
|
|
78
|
-
// but is much faster
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
function text(rowA, rowB, columnId) {
|
|
82
|
-
return compareBasic(toString(rowA.values[columnId]).toLowerCase(), toString(rowB.values[columnId]).toLowerCase());
|
|
83
|
-
} // The text filter is more basic (less numeric support)
|
|
84
|
-
// but is much faster
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
function textCaseSensitive(rowA, rowB, columnId) {
|
|
88
|
-
return compareBasic(toString(rowA.values[columnId]), toString(rowB.values[columnId]));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function datetime(rowA, rowB, columnId) {
|
|
92
|
-
return compareBasic(rowA.values[columnId].getTime(), rowB.values[columnId].getTime());
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function basic(rowA, rowB, columnId) {
|
|
96
|
-
return compareBasic(rowA.values[columnId], rowB.values[columnId]);
|
|
97
|
-
} // Utils
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
function compareBasic(a, b) {
|
|
101
|
-
return a === b ? 0 : a > b ? 1 : -1;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function toString(a) {
|
|
105
|
-
if (typeof a === 'number') {
|
|
106
|
-
if (isNaN(a) || a === Infinity || a === -Infinity) {
|
|
107
|
-
return '';
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return String(a);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
if (typeof a === 'string') {
|
|
114
|
-
return a;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return '';
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
exports.sortTypes = sortTypes;
|
|
121
|
-
//# sourceMappingURL=sortTypes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sortTypes.js","sources":["../../src/sortTypes.ts"],"sourcesContent":["import { Row } from './types'\n\nconst reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortTypes = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortType = keyof typeof sortTypes\n\nfunction alphanumeric<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.values[columnId]).toLowerCase(),\n toString(rowB.values[columnId]).toLowerCase()\n )\n}\n\nfunction alphanumericCaseSensitive<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.values[columnId]),\n toString(rowB.values[columnId])\n )\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction text<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.values[columnId]).toLowerCase(),\n toString(rowB.values[columnId]).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction textCaseSensitive<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.values[columnId]),\n toString(rowB.values[columnId])\n )\n}\n\nfunction datetime<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n (rowA.values[columnId] as Date).getTime(),\n (rowB.values[columnId] as Date).getTime()\n )\n}\n\nfunction basic<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(rowA.values[columnId], rowB.values[columnId])\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n"],"names":["reSplitAlphaNumeric","sortTypes","alphanumeric","alphanumericCaseSensitive","text","textCaseSensitive","datetime","basic","rowA","rowB","columnId","compareAlphanumeric","toString","values","toLowerCase","aStr","bStr","a","split","filter","Boolean","b","length","aa","shift","bb","an","parseInt","bn","combo","sort","isNaN","compareBasic","getTime","Infinity","String"],"mappings":"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"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var columnFilterRowsFn = function columnFilterRowsFn(instance, columnFilters, rowModel) {
|
|
16
|
-
var newFilteredFlatRows = [];
|
|
17
|
-
var newFilteredRowsById = {};
|
|
18
|
-
var filterFromChildrenUp = instance.options.filterFromChildrenUp;
|
|
19
|
-
|
|
20
|
-
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
21
|
-
columnFilters.forEach(function (_ref) {
|
|
22
|
-
var columnId = _ref.id,
|
|
23
|
-
filterValue = _ref.value;
|
|
24
|
-
// Find the columnFilters column
|
|
25
|
-
var column = instance.getColumn(columnId);
|
|
26
|
-
|
|
27
|
-
if (!column) {
|
|
28
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
29
|
-
console.warn("React-Table: Could not find a column with id: " + columnId);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
throw new Error();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (depth === 0) {
|
|
36
|
-
var preFilteredRows = [].concat(rowsToFilter);
|
|
37
|
-
|
|
38
|
-
column.getPreFilteredRows = function () {
|
|
39
|
-
return preFilteredRows;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var filterFn = instance.getColumnFilterFn(column.id);
|
|
44
|
-
|
|
45
|
-
if (!filterFn) {
|
|
46
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
47
|
-
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return;
|
|
51
|
-
} // Pass the rows, id, filterValue and column to the filterFn
|
|
52
|
-
// to get the filtered rows back
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
56
|
-
});
|
|
57
|
-
return rowsToFilter;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
if (filterFromChildrenUp) {
|
|
61
|
-
var _recurseFilterRows = function _recurseFilterRows(rowsToFilter, depth) {
|
|
62
|
-
if (depth === void 0) {
|
|
63
|
-
depth = 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Filter from children up
|
|
67
|
-
rowsToFilter = rowsToFilter.filter(function (row) {
|
|
68
|
-
var _row$subRows;
|
|
69
|
-
|
|
70
|
-
if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
row.subRows = _recurseFilterRows(row.subRows, depth + 1);
|
|
75
|
-
return row.subRows.length;
|
|
76
|
-
});
|
|
77
|
-
rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
|
|
78
|
-
|
|
79
|
-
rowsToFilter.forEach(function (row) {
|
|
80
|
-
newFilteredFlatRows.push(row);
|
|
81
|
-
newFilteredRowsById[row.id] = row;
|
|
82
|
-
});
|
|
83
|
-
return rowsToFilter;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
return {
|
|
87
|
-
rows: _recurseFilterRows(rowModel.rows),
|
|
88
|
-
flatRows: newFilteredFlatRows,
|
|
89
|
-
rowsById: newFilteredRowsById
|
|
90
|
-
};
|
|
91
|
-
} // Filters top level and nested rows
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
95
|
-
if (depth === void 0) {
|
|
96
|
-
depth = 0;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Filter from parents downward
|
|
100
|
-
rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
|
|
101
|
-
// We technically could do this recursively in the above loop,
|
|
102
|
-
// but that would severely hinder the API for the user, since they
|
|
103
|
-
// would be required to do that recursion in some scenarios
|
|
104
|
-
|
|
105
|
-
rowsToFilter.forEach(function (row) {
|
|
106
|
-
newFilteredFlatRows.push(row);
|
|
107
|
-
newFilteredRowsById[row.id] = row;
|
|
108
|
-
|
|
109
|
-
if (!filterFromChildrenUp) {
|
|
110
|
-
var _row$subRows2;
|
|
111
|
-
|
|
112
|
-
if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
row.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
return rowsToFilter;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
return {
|
|
123
|
-
rows: recurseFilterRows(rowModel.rows),
|
|
124
|
-
flatRows: newFilteredFlatRows,
|
|
125
|
-
rowsById: newFilteredRowsById
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
exports.columnFilterRowsFn = columnFilterRowsFn;
|
|
130
|
-
//# sourceMappingURL=columnFilterRowsFn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnFilterRowsFn.js","sources":["../../../src/utils/columnFilterRowsFn.ts"],"sourcesContent":["import { ReactTable, Row, RowModel } from '../types'\nimport { ColumnFiltersState } from '../features/Filters'\nimport { Options } from '..'\n\nexport const columnFilterRowsFn: Options<\n any,\n any,\n {},\n {},\n {}\n>['columnFilterRowsFn'] = <\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnFilters: ColumnFiltersState,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> => {\n const newFilteredFlatRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const newFilteredRowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n > = {}\n\n const filterFromChildrenUp = instance.options.filterFromChildrenUp\n\n const filterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth: number\n ) => {\n columnFilters.forEach(({ id: columnId, value: filterValue }) => {\n // Find the columnFilters column\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n if (depth === 0) {\n const preFilteredRows = [...rowsToFilter]\n column.getPreFilteredRows = () => preFilteredRows\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterType' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n // Pass the rows, id, filterValue and column to the filterFn\n // to get the filtered rows back\n rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue)\n })\n\n return rowsToFilter\n }\n\n if (filterFromChildrenUp) {\n const recurseFilterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth = 0\n ) => {\n // Filter from children up\n rowsToFilter = rowsToFilter.filter(row => {\n if (!row.subRows?.length) {\n return true\n }\n\n row.subRows = recurseFilterRows(row.subRows, depth + 1)\n\n return row.subRows.length\n })\n\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n rowsToFilter.forEach(row => {\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n })\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowModel.rows),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n }\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth = 0\n ) => {\n // Filter from parents downward\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n rowsToFilter.forEach(row => {\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n\n if (!filterFromChildrenUp) {\n if (!row.subRows?.length) {\n return\n }\n\n row.subRows = recurseFilterRows(row.subRows, depth + 1)\n }\n })\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowModel.rows),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["columnFilterRowsFn","instance","columnFilters","rowModel","newFilteredFlatRows","newFilteredRowsById","filterFromChildrenUp","options","filterRows","rowsToFilter","depth","forEach","columnId","id","filterValue","value","column","getColumn","process","env","NODE_ENV","console","warn","Error","preFilteredRows","getPreFilteredRows","filterFn","getColumnFilterFn","recurseFilterRows","filter","row","subRows","length","push","rows","flatRows","rowsById"],"mappings":"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"}
|