@tanstack/table-core 8.0.0-alpha.64 → 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 -47
- 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 +29 -35
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +126 -218
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +59 -86
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +78 -125
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +143 -218
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +70 -116
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +125 -205
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +31 -43
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +64 -72
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +96 -177
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +134 -205
- 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 +62 -131
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +53 -120
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +52 -133
- 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 +56 -41
- 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 +18 -22
- 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 -211
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1970 -2956
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +390 -482
- package/build/types/core.d.ts +3 -5
- package/build/types/features/Cells.d.ts +1 -1
- package/build/types/features/ColumnSizing.d.ts +2 -13
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Expanding.d.ts +1 -6
- package/build/types/features/Filters.d.ts +42 -30
- package/build/types/features/Grouping.d.ts +4 -10
- package/build/types/features/Pinning.d.ts +0 -4
- package/build/types/features/RowSelection.d.ts +1 -7
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/features/Sorting.d.ts +3 -14
- package/build/types/features/Visibility.d.ts +0 -4
- package/build/types/filterFns.d.ts +10 -52
- package/build/types/index.d.ts +6 -5
- package/build/types/types.d.ts +5 -17
- package/build/types/utils/filterRowsUtils.d.ts +3 -2
- 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 +2 -18
- package/build/umd/index.development.js +1948 -2935
- 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 +2 -1
- package/src/core.ts +197 -46
- package/src/features/Cells.ts +10 -12
- package/src/features/ColumnSizing.ts +72 -129
- package/src/features/Columns.ts +16 -15
- package/src/features/Expanding.ts +58 -105
- package/src/features/Filters.ts +223 -226
- package/src/features/Grouping.ts +51 -79
- package/src/features/Headers.ts +18 -40
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +1 -1
- package/src/features/Pinning.ts +73 -92
- package/src/features/RowSelection.ts +71 -120
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +39 -99
- package/src/features/Visibility.ts +21 -50
- package/src/filterFns.ts +74 -147
- package/src/index.ts +12 -5
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +5 -18
- package/src/utils/filterRowsUtils.ts +59 -56
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
- package/src/utils/getExpandedRowModel.ts +2 -2
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +150 -0
- package/src/utils/getGroupedRowModel.ts +53 -62
- package/src/utils/getPaginationRowModel.ts +1 -1
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
- package/src/utils.ts +29 -239
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
- package/build/cjs/utils/getColumnFilteredRowModelSync.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/getGlobalFilteredRowModelSync.js +0 -91
- package/build/cjs/utils/getGlobalFilteredRowModelSync.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/getColumnFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
- package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getGlobalFilteredRowModelSync.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/getColumnFilteredRowModelAsync.ts +0 -118
- package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
- package/src/utils/getCoreRowModelAsync.ts +0 -104
- package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
- package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
- package/src/utils/getSortedRowModelAsync.ts +0 -200
|
@@ -12,71 +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
|
-
|
|
38
|
-
|
|
37
|
+
toggleVisibility: value => {
|
|
38
|
+
if (column.getCanHide()) {
|
|
39
|
+
instance.setColumnVisibility(old => ({ ...old,
|
|
40
|
+
[column.id]: value != null ? value : !column.getIsVisible()
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
39
43
|
},
|
|
40
|
-
getIsVisible:
|
|
41
|
-
|
|
44
|
+
getIsVisible: () => {
|
|
45
|
+
var _instance$getState$co, _instance$getState$co2;
|
|
46
|
+
|
|
47
|
+
return (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[column.id]) != null ? _instance$getState$co : true;
|
|
42
48
|
},
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
getCanHide: () => {
|
|
50
|
+
var _column$enableHiding, _instance$options$ena;
|
|
51
|
+
|
|
52
|
+
return ((_column$enableHiding = column.enableHiding) != null ? _column$enableHiding : true) && ((_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : true);
|
|
45
53
|
},
|
|
46
|
-
getToggleVisibilityHandler:
|
|
47
|
-
return
|
|
54
|
+
getToggleVisibilityHandler: () => {
|
|
55
|
+
return e => {
|
|
48
56
|
column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
|
|
49
57
|
};
|
|
50
58
|
}
|
|
51
59
|
};
|
|
52
60
|
},
|
|
53
|
-
createRow:
|
|
61
|
+
createRow: (row, instance) => {
|
|
54
62
|
return {
|
|
55
|
-
_getAllVisibleCells: utils.memo(
|
|
56
|
-
return
|
|
57
|
-
return cell.column.getIsVisible();
|
|
58
|
-
}).map(function (d) {
|
|
59
|
-
return d.id;
|
|
60
|
-
}).join('_')];
|
|
61
|
-
}, function (_) {
|
|
62
|
-
return row.getAllCells().filter(function (cell) {
|
|
63
|
-
return cell.column.getIsVisible();
|
|
64
|
-
});
|
|
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());
|
|
65
65
|
}, {
|
|
66
|
-
key: 'row._getAllVisibleCells',
|
|
67
|
-
debug:
|
|
66
|
+
key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
|
|
67
|
+
debug: () => {
|
|
68
68
|
var _instance$options$deb;
|
|
69
69
|
|
|
70
70
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
71
71
|
}
|
|
72
72
|
}),
|
|
73
|
-
getVisibleCells: utils.memo(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return [].concat(left, center, right);
|
|
77
|
-
}, {
|
|
78
|
-
key: 'row.getVisibleCells',
|
|
79
|
-
debug: function debug() {
|
|
73
|
+
getVisibleCells: utils.memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], {
|
|
74
|
+
key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
|
|
75
|
+
debug: () => {
|
|
80
76
|
var _instance$options$deb2;
|
|
81
77
|
|
|
82
78
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
@@ -84,21 +80,13 @@ var Visibility = {
|
|
|
84
80
|
})
|
|
85
81
|
};
|
|
86
82
|
},
|
|
87
|
-
createInstance:
|
|
88
|
-
|
|
89
|
-
return utils.memo(
|
|
90
|
-
return
|
|
91
|
-
return d.getIsVisible();
|
|
92
|
-
}).map(function (d) {
|
|
93
|
-
return d.id;
|
|
94
|
-
}).join('_')];
|
|
95
|
-
}, function (columns) {
|
|
96
|
-
return columns.filter(function (d) {
|
|
97
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
98
|
-
});
|
|
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());
|
|
99
87
|
}, {
|
|
100
|
-
key
|
|
101
|
-
debug:
|
|
88
|
+
key,
|
|
89
|
+
debug: () => {
|
|
102
90
|
var _instance$options$deb3;
|
|
103
91
|
|
|
104
92
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
|
|
@@ -107,79 +95,24 @@ var Visibility = {
|
|
|
107
95
|
};
|
|
108
96
|
|
|
109
97
|
return {
|
|
110
|
-
getVisibleFlatColumns: makeVisibleColumnsMethod('getVisibleFlatColumns',
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return instance.getLeftLeafColumns();
|
|
118
|
-
}),
|
|
119
|
-
getRightVisibleLeafColumns: makeVisibleColumnsMethod('getRightVisibleLeafColumns', function () {
|
|
120
|
-
return instance.getRightLeafColumns();
|
|
121
|
-
}),
|
|
122
|
-
getCenterVisibleLeafColumns: makeVisibleColumnsMethod('getCenterVisibleLeafColumns', function () {
|
|
123
|
-
return instance.getCenterLeafColumns();
|
|
124
|
-
}),
|
|
125
|
-
setColumnVisibility: function setColumnVisibility(updater) {
|
|
126
|
-
return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater);
|
|
127
|
-
},
|
|
128
|
-
toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
|
|
129
|
-
if (!columnId) return;
|
|
130
|
-
|
|
131
|
-
if (instance.getColumnCanHide(columnId)) {
|
|
132
|
-
instance.setColumnVisibility(function (old) {
|
|
133
|
-
var _extends2;
|
|
134
|
-
|
|
135
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
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 => {
|
|
140
105
|
var _value;
|
|
141
106
|
|
|
142
107
|
value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
|
|
143
|
-
instance.setColumnVisibility(instance.getAllLeafColumns().reduce(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
|
|
147
|
-
}, {}));
|
|
148
|
-
},
|
|
149
|
-
getColumnIsVisible: function getColumnIsVisible(columnId) {
|
|
150
|
-
var _ref, _instance$getState$co, _instance$getState$co2;
|
|
151
|
-
|
|
152
|
-
var column = instance.getColumn(columnId);
|
|
153
|
-
|
|
154
|
-
if (!column) {
|
|
155
|
-
throw new Error();
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
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;
|
|
159
|
-
},
|
|
160
|
-
getColumnCanHide: function getColumnCanHide(columnId) {
|
|
161
|
-
var _ref2, _ref3, _instance$options$ena;
|
|
162
|
-
|
|
163
|
-
var column = instance.getColumn(columnId);
|
|
164
|
-
|
|
165
|
-
if (!column) {
|
|
166
|
-
throw new Error();
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
|
|
170
|
-
},
|
|
171
|
-
getIsAllColumnsVisible: function getIsAllColumnsVisible() {
|
|
172
|
-
return !instance.getAllLeafColumns().some(function (column) {
|
|
173
|
-
return !(column.getIsVisible != null && column.getIsVisible());
|
|
174
|
-
});
|
|
175
|
-
},
|
|
176
|
-
getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
|
|
177
|
-
return instance.getAllLeafColumns().some(function (column) {
|
|
178
|
-
return column.getIsVisible == null ? void 0 : column.getIsVisible();
|
|
179
|
-
});
|
|
108
|
+
instance.setColumnVisibility(instance.getAllLeafColumns().reduce((obj, column) => ({ ...obj,
|
|
109
|
+
[column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
|
|
110
|
+
}), {}));
|
|
180
111
|
},
|
|
181
|
-
|
|
182
|
-
|
|
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 => {
|
|
183
116
|
var _target;
|
|
184
117
|
|
|
185
118
|
instance.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Updater,\n Row,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } 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<TGenerics extends TableGenerics> = {\n getVisibleFlatColumns: () => Column<TGenerics>[]\n getVisibleLeafColumns: () => Column<TGenerics>[]\n getLeftVisibleLeafColumns: () => Column<TGenerics>[]\n getRightVisibleLeafColumns: () => Column<TGenerics>[]\n getCenterVisibleLeafColumns: () => Column<TGenerics>[]\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 getToggleAllColumnsVisibilityHandler: () =>\n | undefined\n | ((event: unknown) => void)\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultCanHide?: boolean\n defaultIsVisible?: boolean\n}\n\nexport type VisibilityRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n },\n\n getDefaultColumn: () => {\n return {\n defaultIsVisible: true,\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\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 getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key: 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityInstance<TGenerics> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TGenerics>[]\n ): (() => Column<TGenerics>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => instance.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => instance.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => instance.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => instance.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => instance.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(updater),\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 getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n instance.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","_extends","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","getCanHide","getColumnCanHide","id","getIsVisible","getColumnIsVisible","toggleVisibility","value","toggleColumnVisibility","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","filter","cell","map","d","join","_","key","debug","options","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createInstance","makeVisibleColumnsMethod","getColumns","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","setColumnVisibility","updater","columnId","old","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","getColumn","Error","getState","enableHiding","defaultCanHide","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":";;;;;;;;;;;;;;;;;AA+DA;AAEO,IAAMA,UAAwB,GAAG;AACtCC,EAAAA,eAAe,EAAE,SAACC,eAAAA,CAAAA,KAAD,EAAiC;AAChD,IAAA,OAAAC,oCAAA,CAAA;AACEC,MAAAA,gBAAgB,EAAE,EAAA;AADpB,KAAA,EAEKF,KAFL,CAAA,CAAA;AAID,GANqC;AAQtCG,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEY;AAC7B,IAAO,OAAA;AACLC,MAAAA,wBAAwB,EAAEC,sBAAgB,CAAC,kBAAD,EAAqBF,QAArB,CAAA;AADrC,KAAP,CAAA;AAGD,GAdqC;AAgBtCG,EAAAA,gBAAgB,EAAE,SAAM,gBAAA,GAAA;AACtB,IAAO,OAAA;AACLC,MAAAA,gBAAgB,EAAE,IAAA;AADb,KAAP,CAAA;AAGD,GApBqC;AAsBtCC,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZN,QAFY,EAGS;AACrB,IAAO,OAAA;AACLO,MAAAA,UAAU,EAAE,SAAA,UAAA,GAAA;AAAA,QAAA,OAAMP,QAAQ,CAACQ,gBAAT,CAA0BF,MAAM,CAACG,EAAjC,CAAN,CAAA;AAAA,OADP;AAELC,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMV,QAAQ,CAACW,kBAAT,CAA4BL,MAAM,CAACG,EAAnC,CAAN,CAAA;AAAA,OAFT;AAGLG,MAAAA,gBAAgB,EAAE,SAAA,gBAAA,CAAAC,KAAK,EAAA;AAAA,QACrBb,OAAAA,QAAQ,CAACc,sBAAT,CAAgCR,MAAM,CAACG,EAAvC,EAA2CI,KAA3C,CADqB,CAAA;AAAA,OAHlB;AAKLE,MAAAA,0BAA0B,EAAE,SAAM,0BAAA,GAAA;AAChC,QAAO,OAAA,UAACC,CAAD,EAAgB;AACrBV,UAAAA,MAAM,CAACM,gBAAP,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAN,MAAM,CAACM,gBAAP,CACII,CAAD,CAAkBC,MAAnB,CAA+CC,OADjD,CAAA,CAAA;AAGD,SAJD,CAAA;AAKD,OAAA;AAXI,KAAP,CAAA;AAaD,GAvCqC;AAyCtCC,EAAAA,SAAS,EAAE,SAAA,SAAA,CACTC,GADS,EAETpB,QAFS,EAGoB;AAC7B,IAAO,OAAA;AACLqB,MAAAA,mBAAmB,EAAEC,UAAI,CACvB,YAAA;AAAA,QAAM,OAAA,CACJF,GAAG,CACAG,WADH,GAEGC,MAFH,CAEU,UAAAC,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACnB,MAAL,CAAYI,YAAZ,EAAJ,CAAA;AAAA,SAFd,CAGGgB,CAAAA,GAHH,CAGO,UAAAC,CAAC,EAAA;AAAA,UAAIA,OAAAA,CAAC,CAAClB,EAAN,CAAA;AAAA,SAHR,CAIGmB,CAAAA,IAJH,CAIQ,GAJR,CADI,CAAN,CAAA;AAAA,OADuB,EAQvB,UAAAC,CAAC,EAAI;AACH,QAAA,OAAOT,GAAG,CAACG,WAAJ,GAAkBC,MAAlB,CAAyB,UAAAC,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACnB,MAAL,CAAYI,YAAZ,EAAJ,CAAA;AAAA,SAA7B,CAAP,CAAA;AACD,OAVsB,EAWvB;AACEoB,QAAAA,GAAG,EAAE,yBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;AAAA,UAAM/B,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACgC,OAAT,CAAiBC,QAAvB,oCAAmCjC,QAAQ,CAACgC,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAXuB,CADpB;AAiBLC,MAAAA,eAAe,EAAEb,UAAI,CACnB,YAAA;AAAA,QAAA,OAAM,CACJF,GAAG,CAACgB,mBAAJ,EADI,EAEJhB,GAAG,CAACiB,qBAAJ,EAFI,EAGJjB,GAAG,CAACkB,oBAAJ,EAHI,CAAN,CAAA;AAAA,OADmB,EAMnB,UAACC,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAA;AAAA,QAAA,OAAA,EAAA,CAAA,MAAA,CAA6BF,IAA7B,EAAsCC,MAAtC,EAAiDC,KAAjD,CAAA,CAAA;AAAA,OANmB,EAOnB;AACEX,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM/B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACgC,OAAT,CAAiBC,QAAvB,qCAAmCjC,QAAQ,CAACgC,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAPmB,CAAA;AAjBhB,KAAP,CAAA;AA8BD,GA3EqC;AA6EtCQ,EAAAA,cAAc,EAAE,SACd1C,cAAAA,CAAAA,QADc,EAEoB;AAClC,IAAM2C,IAAAA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAC/Bb,GAD+B,EAE/Bc,UAF+B,EAGC;AAChC,MAAA,OAAOtB,UAAI,CACT,YAAA;AAAA,QAAM,OAAA,CACJsB,UAAU,EADN,EAEJA,UAAU,EACPpB,CAAAA,MADH,CACU,UAAAG,CAAC,EAAA;AAAA,UAAIA,OAAAA,CAAC,CAACjB,YAAF,EAAJ,CAAA;AAAA,SADX,CAEGgB,CAAAA,GAFH,CAEO,UAAAC,CAAC,EAAA;AAAA,UAAIA,OAAAA,CAAC,CAAClB,EAAN,CAAA;AAAA,SAFR,CAGGmB,CAAAA,IAHH,CAGQ,GAHR,CAFI,CAAN,CAAA;AAAA,OADS,EAQT,UAAAiB,OAAO,EAAI;AACT,QAAA,OAAOA,OAAO,CAACrB,MAAR,CAAe,UAAAG,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAACjB,YAAN,oBAAIiB,CAAC,CAACjB,YAAF,EAAJ,CAAA;AAAA,SAAhB,CAAP,CAAA;AACD,OAVQ,EAWT;AACEoB,QAAAA,GAAG,EAAHA,GADF;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACL/B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACgC,OAAT,CAAiBC,QADZ,qCACwBjC,QAAQ,CAACgC,OAAT,CAAiBc,YADzC,CAAA;AAAA,SAAA;AAFT,OAXS,CAAX,CAAA;AAiBD,KArBD,CAAA;;AAuBA,IAAO,OAAA;AACLC,MAAAA,qBAAqB,EAAEJ,wBAAwB,CAC7C,uBAD6C,EAE7C,YAAA;AAAA,QAAM3C,OAAAA,QAAQ,CAACgD,iBAAT,EAAN,CAAA;AAAA,OAF6C,CAD1C;AAKLC,MAAAA,qBAAqB,EAAEN,wBAAwB,CAC7C,uBAD6C,EAE7C,YAAA;AAAA,QAAM3C,OAAAA,QAAQ,CAACkD,iBAAT,EAAN,CAAA;AAAA,OAF6C,CAL1C;AASLC,MAAAA,yBAAyB,EAAER,wBAAwB,CACjD,2BADiD,EAEjD,YAAA;AAAA,QAAM3C,OAAAA,QAAQ,CAACoD,kBAAT,EAAN,CAAA;AAAA,OAFiD,CAT9C;AAaLC,MAAAA,0BAA0B,EAAEV,wBAAwB,CAClD,4BADkD,EAElD,YAAA;AAAA,QAAM3C,OAAAA,QAAQ,CAACsD,mBAAT,EAAN,CAAA;AAAA,OAFkD,CAb/C;AAiBLC,MAAAA,2BAA2B,EAAEZ,wBAAwB,CACnD,6BADmD,EAEnD,YAAA;AAAA,QAAM3C,OAAAA,QAAQ,CAACwD,oBAAT,EAAN,CAAA;AAAA,OAFmD,CAjBhD;AAsBLC,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OAC1B1D,QAAQ,CAACgC,OAAT,CAAiB/B,wBADS,IAAA,IAAA,GAAA,KAAA,CAAA,GAC1BD,QAAQ,CAACgC,OAAT,CAAiB/B,wBAAjB,CAA4CyD,OAA5C,CAD0B,CAAA;AAAA,OAtBvB;AAyBL5C,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,CAAC6C,QAAD,EAAW9C,KAAX,EAAqB;AAC3C,QAAI,IAAA,CAAC8C,QAAL,EAAe,OAAA;;AAEf,QAAA,IAAI3D,QAAQ,CAACQ,gBAAT,CAA0BmD,QAA1B,CAAJ,EAAyC;AACvC3D,UAAAA,QAAQ,CAACyD,mBAAT,CAA6B,UAAAG,GAAG,EAAA;AAAA,YAAA,IAAA,SAAA,CAAA;;AAAA,YAAA,OAAA/D,oCAAA,CAAA,EAAA,EAC3B+D,GAD2B,GAAA,SAAA,GAAA,EAAA,EAAA,SAAA,CAE7BD,QAF6B,CAAA,GAElB9C,KAFkB,IAElBA,IAAAA,GAAAA,KAFkB,GAET,CAACb,QAAQ,CAACW,kBAAT,CAA4BgD,QAA5B,CAFQ,EAAA,SAAA,EAAA,CAAA;AAAA,WAAhC,CAAA,CAAA;AAID,SAAA;AACF,OAlCI;AAoCLE,MAAAA,uBAAuB,EAAE,SAAAhD,uBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,MAAA,CAAA;;AAChCA,QAAAA,KAAK,aAAGA,KAAH,KAAA,IAAA,GAAA,MAAA,GAAY,CAACb,QAAQ,CAAC8D,sBAAT,EAAlB,CAAA;AAEA9D,QAAAA,QAAQ,CAACyD,mBAAT,CACEzD,QAAQ,CAACkD,iBAAT,EAAA,CAA6Ba,MAA7B,CACE,UAACC,GAAD,EAAM1D,MAAN,EAAA;AAAA,UAAA,IAAA,SAAA,CAAA;;AAAA,UACK0D,OAAAA,oCAAAA,CAAAA,EAAAA,EAAAA,GADL,6BAEG1D,MAAM,CAACG,EAFV,CAEe,GAAA,CAACI,KAAD,GAAS,EAACP,MAAM,CAACC,UAAR,YAACD,MAAM,CAACC,UAAP,EAAD,CAAT,GAAkCM,KAFjD,EAAA,SAAA,EAAA,CAAA;AAAA,SADF,EAKE,EALF,CADF,CAAA,CAAA;AASD,OAhDI;AAkDLF,MAAAA,kBAAkB,EAAE,SAAAgD,kBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,IAAA,EAAA,qBAAA,EAAA,sBAAA,CAAA;;AAC9B,QAAA,IAAMrD,MAAM,GAAGN,QAAQ,CAACiE,SAAT,CAAmBN,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACrD,MAAL,EAAa;AACX,UAAM,MAAA,IAAI4D,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,IAAA,GAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GACElE,QAAQ,CAACmE,QAAT,EAAA,CAAoBrE,gBADtB,KACE,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAuC6D,QAAvC,CADF,KAEErD,IAAAA,GAAAA,qBAAAA,GAAAA,MAAM,CAACF,gBAFT,mBAGE,IAHF,CAAA;AAKD,OA9DI;AAgELI,MAAAA,gBAAgB,EAAE,SAAAmD,gBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA;;AAC5B,QAAA,IAAMrD,MAAM,GAAGN,QAAQ,CAACiE,SAAT,CAAmBN,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACrD,MAAL,EAAa;AACX,UAAM,MAAA,IAAI4D,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,KAAA,GAAA,CAAA,KAAA,GAAA,CAAA,qBAAA,GACElE,QAAQ,CAACgC,OAAT,CAAiBoC,YADnB,KAEE9D,IAAAA,GAAAA,qBAAAA,GAAAA,MAAM,CAAC8D,YAFT,KAGE9D,IAAAA,GAAAA,KAAAA,GAAAA,MAAM,CAAC+D,cAHT,oBAIE,IAJF,CAAA;AAMD,OA7EI;AA+ELP,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,GAAA;AAAA,QACtB,OAAA,CAAC9D,QAAQ,CAACkD,iBAAT,GAA6BoB,IAA7B,CAAkC,UAAAhE,MAAM,EAAA;AAAA,UAAI,OAAA,EAACA,MAAM,CAACI,YAAR,YAACJ,MAAM,CAACI,YAAP,EAAD,CAAJ,CAAA;AAAA,SAAxC,CADqB,CAAA;AAAA,OA/EnB;AAkFL6D,MAAAA,uBAAuB,EAAE,SAAA,uBAAA,GAAA;AAAA,QAAA,OACvBvE,QAAQ,CAACkD,iBAAT,GAA6BoB,IAA7B,CAAkC,UAAAhE,MAAM,EAAA;AAAA,UAAA,OAAIA,MAAM,CAACI,YAAX,oBAAIJ,MAAM,CAACI,YAAP,EAAJ,CAAA;AAAA,SAAxC,CADuB,CAAA;AAAA,OAlFpB;AAqFL8D,MAAAA,oCAAoC,EAAE,SAAM,oCAAA,GAAA;AAC1C,QAAO,OAAA,UAACxD,CAAD,EAAgB;AAAA,UAAA,IAAA,OAAA,CAAA;;AACrBhB,UAAAA,QAAQ,CAAC6D,uBAAT,CAAA,CAAA,OAAA,GACI7C,CAAD,CAAkBC,MADrB,KACE,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAgDC,OADlD,CAAA,CAAA;AAGD,SAJD,CAAA;AAKD,OAAA;AA3FI,KAAP,CAAA;AA6FD,GAAA;AApMqC;;;;"}
|
|
1
|
+
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Updater,\n Row,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } 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<TGenerics extends TableGenerics> = {\n getVisibleFlatColumns: () => Column<TGenerics>[]\n getVisibleLeafColumns: () => Column<TGenerics>[]\n getLeftVisibleLeafColumns: () => Column<TGenerics>[]\n getRightVisibleLeafColumns: () => Column<TGenerics>[]\n getCenterVisibleLeafColumns: () => Column<TGenerics>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () =>\n | undefined\n | ((event: unknown) => void)\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultIsVisible?: boolean\n}\n\nexport type VisibilityRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n },\n\n getDefaultColumn: () => {\n return {\n defaultIsVisible: true,\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n instance.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return instance.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.enableHiding ?? true) &&\n (instance.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityInstance<TGenerics> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TGenerics>[]\n ): (() => Column<TGenerics>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => instance.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => instance.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => instance.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => instance.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => instance.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(updater),\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 getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n instance.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","getState","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","filter","cell","map","d","join","_","key","process","env","NODE_ENV","debug","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createInstance","makeVisibleColumnsMethod","getColumns","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":"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"}
|
package/build/cjs/filterFns.js
CHANGED
|
@@ -12,174 +12,93 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
equalsString: equalsString,
|
|
19
|
-
equalsStringSensitive: equalsStringSensitive,
|
|
20
|
-
arrIncludes: arrIncludes,
|
|
21
|
-
arrIncludesAll: arrIncludesAll,
|
|
22
|
-
arrIncludesSome: arrIncludesSome,
|
|
23
|
-
equals: equals,
|
|
24
|
-
weakEquals: weakEquals,
|
|
25
|
-
betweenNumberRange: betweenNumberRange
|
|
15
|
+
const includesString = (row, columnId, filterValue) => {
|
|
16
|
+
const search = filterValue.toLowerCase();
|
|
17
|
+
return row.getValue(columnId).toLowerCase().includes(search);
|
|
26
18
|
};
|
|
27
19
|
|
|
28
|
-
|
|
29
|
-
var search = String(filterValue).toLowerCase();
|
|
30
|
-
rows = rows.filter(function (row) {
|
|
31
|
-
return columnIds.some(function (id) {
|
|
32
|
-
return String(row.values[id]).toLowerCase().includes(search);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
return rows;
|
|
36
|
-
}
|
|
20
|
+
includesString.autoRemove = val => testFalsey(val);
|
|
37
21
|
|
|
38
|
-
|
|
39
|
-
return
|
|
22
|
+
const includesStringSensitive = (row, columnId, filterValue) => {
|
|
23
|
+
return row.getValue(columnId).includes(filterValue);
|
|
40
24
|
};
|
|
41
25
|
|
|
42
|
-
|
|
43
|
-
var search = String(filterValue);
|
|
44
|
-
rows = rows.filter(function (row) {
|
|
45
|
-
return columnIds.some(function (id) {
|
|
46
|
-
return String(row.values[id]).includes(search);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
return rows;
|
|
50
|
-
}
|
|
26
|
+
includesStringSensitive.autoRemove = val => testFalsey(val);
|
|
51
27
|
|
|
52
|
-
|
|
53
|
-
return
|
|
28
|
+
const equalsString = (row, columnId, filterValue) => {
|
|
29
|
+
return row.getValue(columnId).toLowerCase() === filterValue.toLowerCase();
|
|
54
30
|
};
|
|
55
31
|
|
|
56
|
-
|
|
57
|
-
var search = String(filterValue).toLowerCase();
|
|
58
|
-
return rows.filter(function (row) {
|
|
59
|
-
return columnIds.some(function (id) {
|
|
60
|
-
var rowValue = row.values[id];
|
|
61
|
-
return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
}
|
|
32
|
+
equalsString.autoRemove = val => testFalsey(val);
|
|
65
33
|
|
|
66
|
-
|
|
67
|
-
return
|
|
34
|
+
const arrIncludes = (row, columnId, filterValue) => {
|
|
35
|
+
return row.getValue(columnId).includes(filterValue);
|
|
68
36
|
};
|
|
69
37
|
|
|
70
|
-
|
|
71
|
-
var search = String(filterValue);
|
|
72
|
-
return rows.filter(function (row) {
|
|
73
|
-
return columnIds.some(function (id) {
|
|
74
|
-
var rowValue = row.values[id];
|
|
75
|
-
return rowValue !== undefined ? String(rowValue) === search : true;
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
}
|
|
38
|
+
arrIncludes.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
79
39
|
|
|
80
|
-
|
|
81
|
-
return
|
|
40
|
+
const arrIncludesAll = (row, columnId, filterValue) => {
|
|
41
|
+
return !filterValue.some(val => !row.getValue(columnId).includes(val));
|
|
82
42
|
};
|
|
83
43
|
|
|
84
|
-
|
|
85
|
-
return rows.filter(function (row) {
|
|
86
|
-
return columnIds.some(function (id) {
|
|
87
|
-
var rowValue = row.values[id];
|
|
88
|
-
return rowValue.includes(filterValue);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
arrIncludes.autoRemove = function (val) {
|
|
94
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
function arrIncludesAll(rows, columnIds, filterValue) {
|
|
98
|
-
return rows.filter(function (row) {
|
|
99
|
-
return columnIds.some(function (id) {
|
|
100
|
-
var rowValue = row.values[id];
|
|
101
|
-
return rowValue && rowValue.length && filterValue.every(function (val) {
|
|
102
|
-
return rowValue.includes(val);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
}
|
|
44
|
+
arrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
107
45
|
|
|
108
|
-
|
|
109
|
-
return
|
|
46
|
+
const arrIncludesSome = (row, columnId, filterValue) => {
|
|
47
|
+
return filterValue.some(val => row.getValue(columnId).includes(val));
|
|
110
48
|
};
|
|
111
49
|
|
|
112
|
-
|
|
113
|
-
return rows.filter(function (row) {
|
|
114
|
-
return columnIds.some(function (id) {
|
|
115
|
-
var rowValue = row.values[id];
|
|
116
|
-
return rowValue && rowValue.length && filterValue.some(function (val) {
|
|
117
|
-
return rowValue.includes(val);
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
}
|
|
50
|
+
arrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
122
51
|
|
|
123
|
-
|
|
124
|
-
return
|
|
52
|
+
const equals = (row, columnId, filterValue) => {
|
|
53
|
+
return row.getValue(columnId) === filterValue;
|
|
125
54
|
};
|
|
126
55
|
|
|
127
|
-
|
|
128
|
-
return rows.filter(function (row) {
|
|
129
|
-
return columnIds.some(function (id) {
|
|
130
|
-
var rowValue = row.values[id];
|
|
131
|
-
return rowValue === filterValue;
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
}
|
|
56
|
+
equals.autoRemove = val => testFalsey(val);
|
|
135
57
|
|
|
136
|
-
|
|
137
|
-
return
|
|
58
|
+
const weakEquals = (row, columnId, filterValue) => {
|
|
59
|
+
return row.getValue(columnId) == filterValue;
|
|
138
60
|
};
|
|
139
61
|
|
|
140
|
-
|
|
141
|
-
return rows.filter(function (row) {
|
|
142
|
-
return columnIds.some(function (id) {
|
|
143
|
-
var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
|
|
62
|
+
weakEquals.autoRemove = val => testFalsey(val);
|
|
144
63
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
weakEquals.autoRemove = function (val) {
|
|
151
|
-
return testFalsey(val);
|
|
64
|
+
const inNumberRange = (row, columnId, filterValue) => {
|
|
65
|
+
let [min, max] = filterValue;
|
|
66
|
+
const rowValue = row.getValue(columnId);
|
|
67
|
+
return rowValue >= min && rowValue <= max;
|
|
152
68
|
};
|
|
153
69
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
|
|
161
|
-
var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
162
|
-
var max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
70
|
+
inNumberRange.resolveFilterValue = val => {
|
|
71
|
+
let [unsafeMin, unsafeMax] = val;
|
|
72
|
+
let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
|
|
73
|
+
let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
|
|
74
|
+
let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
75
|
+
let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
163
76
|
|
|
164
77
|
if (min > max) {
|
|
165
|
-
|
|
78
|
+
const temp = min;
|
|
166
79
|
min = max;
|
|
167
80
|
max = temp;
|
|
168
81
|
}
|
|
169
82
|
|
|
170
|
-
return
|
|
171
|
-
|
|
172
|
-
var rowValue = row.values[id];
|
|
173
|
-
return rowValue >= min && rowValue <= max;
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
}
|
|
83
|
+
return [min, max];
|
|
84
|
+
};
|
|
177
85
|
|
|
178
|
-
|
|
179
|
-
return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
|
|
180
|
-
}; // Utils
|
|
86
|
+
inNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]); // Export
|
|
181
87
|
|
|
182
88
|
|
|
89
|
+
const filterFns = {
|
|
90
|
+
includesString,
|
|
91
|
+
includesStringSensitive,
|
|
92
|
+
equalsString,
|
|
93
|
+
arrIncludes,
|
|
94
|
+
arrIncludesAll,
|
|
95
|
+
arrIncludesSome,
|
|
96
|
+
equals,
|
|
97
|
+
weakEquals,
|
|
98
|
+
inNumberRange
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// Utils
|
|
183
102
|
function testFalsey(val) {
|
|
184
103
|
return val === undefined || val === null || val === '';
|
|
185
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { TableGenerics, Row } from './types'\n\nexport const filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n equalsStringSensitive,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n betweenNumberRange,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\nfunction includesString<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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 arrIncludesSome<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\narrIncludesSome.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nfunction equals<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\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":["filterFns","includesString","includesStringSensitive","equalsString","equalsStringSensitive","arrIncludes","arrIncludesAll","arrIncludesSome","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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"}
|
|
1
|
+
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { FilterFn } from './features/Filters'\n\nconst includesString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n const search = filterValue.toLowerCase()\n return row.getValue(columnId).toLowerCase().includes(search)\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nconst includesStringSensitive: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId).includes(filterValue)\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nconst equalsString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId).toLowerCase() === filterValue.toLowerCase()\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nconst arrIncludes: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId).includes(filterValue)\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesAll: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return !filterValue.some(val => !row.getValue(columnId).includes(val))\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesSome: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return filterValue.some(val => row.getValue(columnId).includes(val))\n}\n\narrIncludesSome.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst equals: FilterFn<any> = (row, columnId: string, filterValue: unknown) => {\n return row.getValue(columnId) === filterValue\n}\n\nequals.autoRemove = (val: any) => testFalsey(val)\n\nconst weakEquals: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId) == filterValue\n}\n\nweakEquals.autoRemove = (val: any) => testFalsey(val)\n\nconst inNumberRange: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: [number, number]\n) => {\n let [min, max] = filterValue\n\n const rowValue = row.getValue(columnId)\n return rowValue >= min && rowValue <= max\n}\n\ninNumberRange.resolveFilterValue = (val: [any, any]) => {\n let [unsafeMin, unsafeMax] = val\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 [min, max] as const\n}\n\ninNumberRange.autoRemove = (val: any) =>\n testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))\n\n// Export\n\nexport const filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\n// Utils\n\nfunction testFalsey(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":["includesString","row","columnId","filterValue","search","toLowerCase","getValue","includes","autoRemove","val","testFalsey","includesStringSensitive","equalsString","arrIncludes","length","arrIncludesAll","some","arrIncludesSome","equals","weakEquals","inNumberRange","min","max","rowValue","resolveFilterValue","unsafeMin","unsafeMax","parsedMin","parseFloat","parsedMax","Number","isNaN","Infinity","temp","filterFns","undefined"],"mappings":"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"}
|
package/build/cjs/index.js
CHANGED
|
@@ -26,11 +26,12 @@ var RowSelection = require('./features/RowSelection.js');
|
|
|
26
26
|
var Sorting = require('./features/Sorting.js');
|
|
27
27
|
var Visibility = require('./features/Visibility.js');
|
|
28
28
|
var utils = require('./utils.js');
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
29
|
+
var getCoreRowModel = require('./utils/getCoreRowModel.js');
|
|
30
|
+
var getFilteredRowModel = require('./utils/getFilteredRowModel.js');
|
|
31
|
+
var getFacetedRowModel = require('./utils/getFacetedRowModel.js');
|
|
32
|
+
var getFacetedUniqueValues = require('./utils/getFacetedUniqueValues.js');
|
|
33
|
+
var getFacetedMinMaxValues = require('./utils/getFacetedMinMaxValues.js');
|
|
34
|
+
var getSortedRowModel = require('./utils/getSortedRowModel.js');
|
|
34
35
|
var getGroupedRowModel = require('./utils/getGroupedRowModel.js');
|
|
35
36
|
var getExpandedRowModel = require('./utils/getExpandedRowModel.js');
|
|
36
37
|
var getPaginationRowModel = require('./utils/getPaginationRowModel.js');
|
|
@@ -59,18 +60,17 @@ exports.Sorting = Sorting.Sorting;
|
|
|
59
60
|
exports.Visibility = Visibility.Visibility;
|
|
60
61
|
exports.flattenBy = utils.flattenBy;
|
|
61
62
|
exports.functionalUpdate = utils.functionalUpdate;
|
|
62
|
-
exports.getBatchGroups = utils.getBatchGroups;
|
|
63
|
-
exports.incrementalMemo = utils.incrementalMemo;
|
|
64
63
|
exports.isFunction = utils.isFunction;
|
|
65
64
|
exports.makeStateUpdater = utils.makeStateUpdater;
|
|
66
65
|
exports.memo = utils.memo;
|
|
67
66
|
exports.noop = utils.noop;
|
|
68
|
-
exports.
|
|
69
|
-
exports.
|
|
70
|
-
exports.
|
|
71
|
-
exports.
|
|
72
|
-
exports.
|
|
73
|
-
exports.
|
|
67
|
+
exports.getCoreRowModel = getCoreRowModel.getCoreRowModel;
|
|
68
|
+
exports.getFilteredRowModel = getFilteredRowModel.getFilteredRowModel;
|
|
69
|
+
exports.getFacetedRowModel = getFacetedRowModel.getFacetedRowModel;
|
|
70
|
+
exports.getFacetedUniqueValues = getFacetedUniqueValues.getFacetedUniqueValues;
|
|
71
|
+
exports.getFacetedMinMaxValues = getFacetedMinMaxValues.getFacetedMinMaxValues;
|
|
72
|
+
exports.getSortedRowModel = getSortedRowModel.getSortedRowModel;
|
|
73
|
+
exports.getGroupedRowModel = getGroupedRowModel.getGroupedRowModel;
|
|
74
74
|
exports.expandRows = getExpandedRowModel.expandRows;
|
|
75
75
|
exports.getExpandedRowModel = getExpandedRowModel.getExpandedRowModel;
|
|
76
76
|
exports.getPaginationRowModel = getPaginationRowModel.getPaginationRowModel;
|