@cdx-ui/data-grid 0.3.11 → 0.3.12
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/README.md +3 -1
- package/coverage.svg +1 -1
- package/lib/commonjs/DataGrid.js +232 -62
- package/lib/commonjs/DataGrid.js.map +1 -1
- package/lib/commonjs/DataGridFilterPanel.js +420 -0
- package/lib/commonjs/DataGridFilterPanel.js.map +1 -0
- package/lib/commonjs/adapter/columnTypes.js +256 -0
- package/lib/commonjs/adapter/columnTypes.js.map +1 -0
- package/lib/commonjs/adapter/columns.js +132 -4
- package/lib/commonjs/adapter/columns.js.map +1 -1
- package/lib/commonjs/adapter/filterOperators.js +422 -0
- package/lib/commonjs/adapter/filterOperators.js.map +1 -0
- package/lib/commonjs/adapter/pinning.js +101 -0
- package/lib/commonjs/adapter/pinning.js.map +1 -0
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/numberCells.js +280 -0
- package/lib/commonjs/numberCells.js.map +1 -0
- package/lib/commonjs/styles.js +61 -1
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/types.js +29 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useDataGridTable.js +98 -13
- package/lib/commonjs/useDataGridTable.js.map +1 -1
- package/lib/module/DataGrid.js +237 -67
- package/lib/module/DataGrid.js.map +1 -1
- package/lib/module/DataGridFilterPanel.js +414 -0
- package/lib/module/DataGridFilterPanel.js.map +1 -0
- package/lib/module/adapter/columnTypes.js +240 -0
- package/lib/module/adapter/columnTypes.js.map +1 -0
- package/lib/module/adapter/columns.js +129 -4
- package/lib/module/adapter/columns.js.map +1 -1
- package/lib/module/adapter/filterOperators.js +406 -0
- package/lib/module/adapter/filterOperators.js.map +1 -0
- package/lib/module/adapter/pinning.js +90 -0
- package/lib/module/adapter/pinning.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/numberCells.js +275 -0
- package/lib/module/numberCells.js.map +1 -0
- package/lib/module/styles.js +60 -0
- package/lib/module/styles.js.map +1 -1
- package/lib/module/types.js +28 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDataGridTable.js +99 -14
- package/lib/module/useDataGridTable.js.map +1 -1
- package/lib/typescript/DataGrid.d.ts.map +1 -1
- package/lib/typescript/DataGridFilterPanel.d.ts +17 -0
- package/lib/typescript/DataGridFilterPanel.d.ts.map +1 -0
- package/lib/typescript/adapter/columnTypes.d.ts +32 -0
- package/lib/typescript/adapter/columnTypes.d.ts.map +1 -0
- package/lib/typescript/adapter/columns.d.ts +14 -5
- package/lib/typescript/adapter/columns.d.ts.map +1 -1
- package/lib/typescript/adapter/filterOperators.d.ts +43 -0
- package/lib/typescript/adapter/filterOperators.d.ts.map +1 -0
- package/lib/typescript/adapter/pinning.d.ts +25 -0
- package/lib/typescript/adapter/pinning.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/numberCells.d.ts +46 -0
- package/lib/typescript/numberCells.d.ts.map +1 -0
- package/lib/typescript/styles.d.ts +21 -0
- package/lib/typescript/styles.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +86 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useDataGridTable.d.ts +18 -4
- package/lib/typescript/useDataGridTable.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/DataGrid.tsx +377 -67
- package/src/DataGridFilterPanel.tsx +477 -0
- package/src/adapter/columnTypes.ts +327 -0
- package/src/adapter/columns.test.ts +75 -1
- package/src/adapter/columns.ts +178 -3
- package/src/adapter/filterOperators.test.ts +292 -0
- package/src/adapter/filterOperators.ts +524 -0
- package/src/adapter/pinning.ts +125 -0
- package/src/index.ts +15 -0
- package/src/numberCells.tsx +379 -0
- package/src/styles.ts +75 -0
- package/src/types.ts +114 -7
- package/src/useDataGridTable.test.ts +69 -0
- package/src/useDataGridTable.ts +127 -8
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.coerceFilterInput = coerceFilterInput;
|
|
7
|
+
exports.filterOperatorNeedsValue = filterOperatorNeedsValue;
|
|
8
|
+
exports.filterValueToInputText = filterValueToInputText;
|
|
9
|
+
exports.getDefaultFilterOperator = getDefaultFilterOperator;
|
|
10
|
+
exports.getFilterOperatorLabel = getFilterOperatorLabel;
|
|
11
|
+
exports.getGridFilterOperators = getGridFilterOperators;
|
|
12
|
+
exports.headerFilterValueFromText = headerFilterValueFromText;
|
|
13
|
+
exports.isActiveFilterItem = isActiveFilterItem;
|
|
14
|
+
exports.isBlankFilterValue = isBlankFilterValue;
|
|
15
|
+
exports.isFilterValueGroup = isFilterValueGroup;
|
|
16
|
+
exports.isOperatorFilterValue = isOperatorFilterValue;
|
|
17
|
+
exports.matchesOperatorFilter = matchesOperatorFilter;
|
|
18
|
+
exports.rowMatchesFilterItem = rowMatchesFilterItem;
|
|
19
|
+
var _columnTypes = require("./columnTypes");
|
|
20
|
+
const STRING_OPERATORS = ['contains', 'doesNotContain', 'equals', 'doesNotEqual', 'startsWith', 'endsWith', 'isEmpty', 'isNotEmpty', 'isAnyOf'];
|
|
21
|
+
const NUMBER_OPERATORS = ['=', '!=', '>', '>=', '<', '<=', 'isEmpty', 'isNotEmpty', 'isAnyOf'];
|
|
22
|
+
const DATE_OPERATORS = ['is', 'not', 'after', 'onOrAfter', 'before', 'onOrBefore', 'isEmpty', 'isNotEmpty'];
|
|
23
|
+
const BOOLEAN_OPERATORS = ['is'];
|
|
24
|
+
const SINGLE_SELECT_OPERATORS = ['is', 'not', 'isAnyOf'];
|
|
25
|
+
|
|
26
|
+
/** Operators a column of `type` accepts. An omitted `type` accepts the `string` operators. */
|
|
27
|
+
function getGridFilterOperators(type) {
|
|
28
|
+
switch (type) {
|
|
29
|
+
case 'number':
|
|
30
|
+
return NUMBER_OPERATORS;
|
|
31
|
+
case 'date':
|
|
32
|
+
case 'dateTime':
|
|
33
|
+
return DATE_OPERATORS;
|
|
34
|
+
case 'boolean':
|
|
35
|
+
return BOOLEAN_OPERATORS;
|
|
36
|
+
case 'singleSelect':
|
|
37
|
+
return SINGLE_SELECT_OPERATORS;
|
|
38
|
+
default:
|
|
39
|
+
return STRING_OPERATORS;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** The operator a filter UI preselects for a column of `type`. Matches MUI. */
|
|
44
|
+
function getDefaultFilterOperator(type) {
|
|
45
|
+
return getGridFilterOperators(type)[0];
|
|
46
|
+
}
|
|
47
|
+
const OPERATOR_LABELS = {
|
|
48
|
+
contains: 'contains',
|
|
49
|
+
doesNotContain: 'does not contain',
|
|
50
|
+
equals: 'equals',
|
|
51
|
+
doesNotEqual: 'does not equal',
|
|
52
|
+
startsWith: 'starts with',
|
|
53
|
+
endsWith: 'ends with',
|
|
54
|
+
isEmpty: 'is empty',
|
|
55
|
+
isNotEmpty: 'is not empty',
|
|
56
|
+
isAnyOf: 'is any of',
|
|
57
|
+
'=': '=',
|
|
58
|
+
'!=': '!=',
|
|
59
|
+
'>': '>',
|
|
60
|
+
'>=': '>=',
|
|
61
|
+
'<': '<',
|
|
62
|
+
'<=': '<=',
|
|
63
|
+
is: 'is',
|
|
64
|
+
not: 'is not',
|
|
65
|
+
after: 'is after',
|
|
66
|
+
onOrAfter: 'is on or after',
|
|
67
|
+
before: 'is before',
|
|
68
|
+
onOrBefore: 'is on or before'
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/** Short label for an operator, in the style of the MUI operator menu. */
|
|
72
|
+
function getFilterOperatorLabel(operator) {
|
|
73
|
+
return OPERATOR_LABELS[operator];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** `isEmpty` and `isNotEmpty` ignore the item's `value`. */
|
|
77
|
+
function filterOperatorNeedsValue(operator) {
|
|
78
|
+
return operator !== 'isEmpty' && operator !== 'isNotEmpty';
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** True when a value-taking operator has nothing to compare against, so it filters nothing. */
|
|
82
|
+
function isBlankFilterValue(value) {
|
|
83
|
+
if (value == null) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
if (typeof value === 'string') {
|
|
87
|
+
return value.trim().length === 0;
|
|
88
|
+
}
|
|
89
|
+
return Array.isArray(value) && value.length === 0;
|
|
90
|
+
}
|
|
91
|
+
const KNOWN_OPERATORS = new Set([...STRING_OPERATORS, ...NUMBER_OPERATORS, ...DATE_OPERATORS, ...BOOLEAN_OPERATORS, ...SINGLE_SELECT_OPERATORS]);
|
|
92
|
+
|
|
93
|
+
/** Several filter items on one column. Every item must match. */
|
|
94
|
+
|
|
95
|
+
function isFilterValueGroup(filterValue) {
|
|
96
|
+
return typeof filterValue === 'object' && filterValue !== null && 'items' in filterValue && Array.isArray(filterValue.items);
|
|
97
|
+
}
|
|
98
|
+
function isOperatorFilterValue(filterValue) {
|
|
99
|
+
return typeof filterValue === 'object' && filterValue !== null && 'operator' in filterValue && typeof filterValue.operator === 'string' && KNOWN_OPERATORS.has(filterValue.operator);
|
|
100
|
+
}
|
|
101
|
+
const DATE_ONLY_PATTERN = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
102
|
+
function parseDate(value) {
|
|
103
|
+
if (value instanceof Date) {
|
|
104
|
+
return Number.isFinite(value.getTime()) ? value : null;
|
|
105
|
+
}
|
|
106
|
+
if (typeof value === 'number') {
|
|
107
|
+
const date = new Date(value);
|
|
108
|
+
return Number.isFinite(date.getTime()) ? date : null;
|
|
109
|
+
}
|
|
110
|
+
if (typeof value !== 'string') {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const text = value.trim();
|
|
114
|
+
const dateOnly = DATE_ONLY_PATTERN.exec(text);
|
|
115
|
+
if (dateOnly) {
|
|
116
|
+
return new Date(Number(dateOnly[1]), Number(dateOnly[2]) - 1, Number(dateOnly[3]));
|
|
117
|
+
}
|
|
118
|
+
const date = new Date(text);
|
|
119
|
+
return Number.isFinite(date.getTime()) ? date : null;
|
|
120
|
+
}
|
|
121
|
+
function startOfDay(date) {
|
|
122
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
|
|
123
|
+
}
|
|
124
|
+
function parseNumber(value) {
|
|
125
|
+
if (typeof value === 'number') {
|
|
126
|
+
return Number.isFinite(value) ? value : null;
|
|
127
|
+
}
|
|
128
|
+
if (typeof value === 'string' && value.trim().length > 0) {
|
|
129
|
+
const parsed = Number(value);
|
|
130
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
function parseBoolean(value) {
|
|
135
|
+
if (typeof value === 'boolean') {
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
if (value === 'true') {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
if (value === 'false') {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
function isEmptyCell(value) {
|
|
147
|
+
if (value == null || value === '') {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return typeof value === 'number' && Number.isNaN(value);
|
|
151
|
+
}
|
|
152
|
+
function toList(value) {
|
|
153
|
+
return Array.isArray(value) ? value : [value];
|
|
154
|
+
}
|
|
155
|
+
function selectKey(value) {
|
|
156
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' ? String(value) : null;
|
|
157
|
+
}
|
|
158
|
+
function sameSelectValue(a, b) {
|
|
159
|
+
const keyA = selectKey(a);
|
|
160
|
+
return keyA !== null && keyA === selectKey(b);
|
|
161
|
+
}
|
|
162
|
+
function compareNumbers(operator, cell, operand) {
|
|
163
|
+
switch (operator) {
|
|
164
|
+
case '=':
|
|
165
|
+
return cell === operand;
|
|
166
|
+
case '!=':
|
|
167
|
+
return cell !== operand;
|
|
168
|
+
case '>':
|
|
169
|
+
return cell > operand;
|
|
170
|
+
case '>=':
|
|
171
|
+
return cell >= operand;
|
|
172
|
+
case '<':
|
|
173
|
+
return cell < operand;
|
|
174
|
+
case '<=':
|
|
175
|
+
return cell <= operand;
|
|
176
|
+
default:
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function matchNumber(operator, cell, operand) {
|
|
181
|
+
const cellNumber = typeof cell === 'number' && Number.isFinite(cell) ? cell : null;
|
|
182
|
+
if (operator === 'isAnyOf') {
|
|
183
|
+
const operands = toList(operand).map(parseNumber).filter(n => n !== null);
|
|
184
|
+
return cellNumber !== null && operands.includes(cellNumber);
|
|
185
|
+
}
|
|
186
|
+
const operandNumber = parseNumber(operand);
|
|
187
|
+
if (operandNumber === null) {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
if (cellNumber === null) {
|
|
191
|
+
return operator === '!=';
|
|
192
|
+
}
|
|
193
|
+
return compareNumbers(operator, cellNumber, operandNumber);
|
|
194
|
+
}
|
|
195
|
+
function matchDate(type, operator, cell, operand) {
|
|
196
|
+
const operandDate = parseDate(operand);
|
|
197
|
+
if (operandDate === null) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
const cellDate = cell instanceof Date && Number.isFinite(cell.getTime()) ? cell : null;
|
|
201
|
+
if (cellDate === null) {
|
|
202
|
+
return operator === 'not';
|
|
203
|
+
}
|
|
204
|
+
const normalize = date => type === 'date' ? startOfDay(date) : date.getTime();
|
|
205
|
+
const cellTime = normalize(cellDate);
|
|
206
|
+
const operandTime = normalize(operandDate);
|
|
207
|
+
switch (operator) {
|
|
208
|
+
case 'is':
|
|
209
|
+
return cellTime === operandTime;
|
|
210
|
+
case 'not':
|
|
211
|
+
return cellTime !== operandTime;
|
|
212
|
+
case 'after':
|
|
213
|
+
return cellTime > operandTime;
|
|
214
|
+
case 'onOrAfter':
|
|
215
|
+
return cellTime >= operandTime;
|
|
216
|
+
case 'before':
|
|
217
|
+
return cellTime < operandTime;
|
|
218
|
+
case 'onOrBefore':
|
|
219
|
+
return cellTime <= operandTime;
|
|
220
|
+
default:
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function matchText(operator, text, operand) {
|
|
225
|
+
if (operator === 'isAnyOf') {
|
|
226
|
+
const operands = toList(operand).filter(item => !isBlankFilterValue(item));
|
|
227
|
+
return operands.some(item => String(item) === text);
|
|
228
|
+
}
|
|
229
|
+
const needle = String(operand).trim().toLowerCase();
|
|
230
|
+
const haystack = text.toLowerCase();
|
|
231
|
+
switch (operator) {
|
|
232
|
+
case 'contains':
|
|
233
|
+
return haystack.includes(needle);
|
|
234
|
+
case 'doesNotContain':
|
|
235
|
+
return !haystack.includes(needle);
|
|
236
|
+
case 'equals':
|
|
237
|
+
return haystack === needle;
|
|
238
|
+
case 'doesNotEqual':
|
|
239
|
+
return haystack !== needle;
|
|
240
|
+
case 'startsWith':
|
|
241
|
+
return haystack.startsWith(needle);
|
|
242
|
+
case 'endsWith':
|
|
243
|
+
return haystack.endsWith(needle);
|
|
244
|
+
default:
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function matchSingleSelect(operator, cell, operand) {
|
|
249
|
+
if (operator === 'isAnyOf') {
|
|
250
|
+
return toList(operand).some(item => sameSelectValue(item, cell));
|
|
251
|
+
}
|
|
252
|
+
const operandValue = Array.isArray(operand) ? operand[0] : operand;
|
|
253
|
+
switch (operator) {
|
|
254
|
+
case 'is':
|
|
255
|
+
return sameSelectValue(operandValue, cell);
|
|
256
|
+
case 'not':
|
|
257
|
+
return !sameSelectValue(operandValue, cell);
|
|
258
|
+
default:
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
function matchBoolean(cell, operand) {
|
|
263
|
+
const operandBoolean = parseBoolean(operand);
|
|
264
|
+
if (operandBoolean === null) {
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
267
|
+
return cell === operandBoolean;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Evaluates one operator filter against a cell. Operators the column's type does not accept,
|
|
272
|
+
* and operators whose operand is blank, filter nothing, as in MUI.
|
|
273
|
+
*/
|
|
274
|
+
function matchesOperatorFilter(col, cell, row, {
|
|
275
|
+
operator,
|
|
276
|
+
value
|
|
277
|
+
}) {
|
|
278
|
+
if (!getGridFilterOperators(col.type).includes(operator)) {
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
if (operator === 'isEmpty') {
|
|
282
|
+
return isEmptyCell(cell);
|
|
283
|
+
}
|
|
284
|
+
if (operator === 'isNotEmpty') {
|
|
285
|
+
return !isEmptyCell(cell);
|
|
286
|
+
}
|
|
287
|
+
if (isBlankFilterValue(value)) {
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
switch (col.type) {
|
|
291
|
+
case 'number':
|
|
292
|
+
return matchNumber(operator, cell, value);
|
|
293
|
+
case 'date':
|
|
294
|
+
case 'dateTime':
|
|
295
|
+
return matchDate(col.type, operator, cell, value);
|
|
296
|
+
case 'boolean':
|
|
297
|
+
return matchBoolean(cell, value);
|
|
298
|
+
case 'singleSelect':
|
|
299
|
+
return matchSingleSelect(operator, cell, value);
|
|
300
|
+
default:
|
|
301
|
+
return matchText(operator, cell == null ? '' : (0, _columnTypes.getColumnFilterText)(col, cell, row), value);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/** False for items that filter nothing: a value-taking operator without a value, or blank text. */
|
|
306
|
+
function isActiveFilterItem(item) {
|
|
307
|
+
if (item.operator !== undefined) {
|
|
308
|
+
return !filterOperatorNeedsValue(item.operator) || !isBlankFilterValue(item.value);
|
|
309
|
+
}
|
|
310
|
+
return (0, _columnTypes.normalizeFilterQuery)(item.value).length > 0;
|
|
311
|
+
}
|
|
312
|
+
function rowMatchesFilterItem(col, row, item) {
|
|
313
|
+
const raw = row[col.field];
|
|
314
|
+
const cell = col.valueGetter ? col.valueGetter(raw, row, col) : raw;
|
|
315
|
+
if (item.operator !== undefined) {
|
|
316
|
+
return matchesOperatorFilter(col, cell, row, {
|
|
317
|
+
operator: item.operator,
|
|
318
|
+
value: item.value
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
const query = (0, _columnTypes.normalizeFilterQuery)(item.value);
|
|
322
|
+
if ((0, _columnTypes.usesDisplayFilter)(col)) {
|
|
323
|
+
return (0, _columnTypes.getColumnFilterText)(col, cell, row).toLowerCase().includes(query);
|
|
324
|
+
}
|
|
325
|
+
return (0, _columnTypes.untypedCellIncludesQuery)(cell, query);
|
|
326
|
+
}
|
|
327
|
+
function selectOptions(col) {
|
|
328
|
+
return typeof col.valueOptions === 'function' ? col.valueOptions({}) : col.valueOptions;
|
|
329
|
+
}
|
|
330
|
+
function coerceSelectToken(col, text) {
|
|
331
|
+
if (col.type !== 'singleSelect') {
|
|
332
|
+
return text;
|
|
333
|
+
}
|
|
334
|
+
const trimmed = text.trim();
|
|
335
|
+
const match = selectOptions(col).find(option => {
|
|
336
|
+
if (typeof option === 'object') {
|
|
337
|
+
return String(option.value) === trimmed || option.label.toLowerCase() === trimmed.toLowerCase();
|
|
338
|
+
}
|
|
339
|
+
return String(option).toLowerCase() === trimmed.toLowerCase();
|
|
340
|
+
});
|
|
341
|
+
if (!match) {
|
|
342
|
+
return text;
|
|
343
|
+
}
|
|
344
|
+
return typeof match === 'object' ? match.value : match;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Reads a header-filter field. `isAnyOf` splits on commas. Number pieces that round-trip
|
|
349
|
+
* become numbers. A `singleSelect` label (`Open`) becomes its stored value (`open`).
|
|
350
|
+
*/
|
|
351
|
+
function headerFilterValueFromText(col, operator, text) {
|
|
352
|
+
if (!filterOperatorNeedsValue(operator)) {
|
|
353
|
+
return undefined;
|
|
354
|
+
}
|
|
355
|
+
if (operator === 'isAnyOf') {
|
|
356
|
+
const parts = text.split(',').map(part => part.trim()).filter(part => part.length > 0);
|
|
357
|
+
if (col?.type === 'number') {
|
|
358
|
+
return parts.map(part => coerceFilterInput(col, '=', part));
|
|
359
|
+
}
|
|
360
|
+
if (col?.type === 'singleSelect') {
|
|
361
|
+
return parts.map(part => coerceSelectToken(col, part));
|
|
362
|
+
}
|
|
363
|
+
return parts;
|
|
364
|
+
}
|
|
365
|
+
if (col?.type === 'singleSelect') {
|
|
366
|
+
return coerceSelectToken(col, text);
|
|
367
|
+
}
|
|
368
|
+
return coerceFilterInput(col, operator, text);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Converts header-input text to the typed operand its column and operator expect. Text that
|
|
373
|
+
* would not survive a round trip back into the input (`'1.'`, `'1.50'`) stays text, so typing
|
|
374
|
+
* is never rewritten under the cursor.
|
|
375
|
+
*/
|
|
376
|
+
function coerceFilterInput(col, operator, text) {
|
|
377
|
+
if (operator === 'isAnyOf' || !filterOperatorNeedsValue(operator)) {
|
|
378
|
+
return text;
|
|
379
|
+
}
|
|
380
|
+
const trimmed = text.trim();
|
|
381
|
+
switch (col?.type) {
|
|
382
|
+
case 'number':
|
|
383
|
+
{
|
|
384
|
+
const parsed = parseNumber(trimmed);
|
|
385
|
+
return parsed !== null && String(parsed) === trimmed ? parsed : text;
|
|
386
|
+
}
|
|
387
|
+
case 'date':
|
|
388
|
+
{
|
|
389
|
+
return DATE_ONLY_PATTERN.test(trimmed) ? parseDate(trimmed) ?? text : text;
|
|
390
|
+
}
|
|
391
|
+
case 'boolean':
|
|
392
|
+
{
|
|
393
|
+
return parseBoolean(trimmed) ?? text;
|
|
394
|
+
}
|
|
395
|
+
default:
|
|
396
|
+
return text;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
function pad(value, length) {
|
|
400
|
+
return String(value).padStart(length, '0');
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/** The text a header filter input shows for an operand. */
|
|
404
|
+
function filterValueToInputText(value) {
|
|
405
|
+
if (value == null) {
|
|
406
|
+
return '';
|
|
407
|
+
}
|
|
408
|
+
if (typeof value === 'string') {
|
|
409
|
+
return value;
|
|
410
|
+
}
|
|
411
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
412
|
+
return String(value);
|
|
413
|
+
}
|
|
414
|
+
if (value instanceof Date) {
|
|
415
|
+
return Number.isFinite(value.getTime()) ? `${pad(value.getFullYear(), 4)}-${pad(value.getMonth() + 1, 2)}-${pad(value.getDate(), 2)}` : '';
|
|
416
|
+
}
|
|
417
|
+
if (Array.isArray(value)) {
|
|
418
|
+
return value.map(filterValueToInputText).join(', ');
|
|
419
|
+
}
|
|
420
|
+
return '';
|
|
421
|
+
}
|
|
422
|
+
//# sourceMappingURL=filterOperators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_columnTypes","require","STRING_OPERATORS","NUMBER_OPERATORS","DATE_OPERATORS","BOOLEAN_OPERATORS","SINGLE_SELECT_OPERATORS","getGridFilterOperators","type","getDefaultFilterOperator","OPERATOR_LABELS","contains","doesNotContain","equals","doesNotEqual","startsWith","endsWith","isEmpty","isNotEmpty","isAnyOf","is","not","after","onOrAfter","before","onOrBefore","getFilterOperatorLabel","operator","filterOperatorNeedsValue","isBlankFilterValue","value","trim","length","Array","isArray","KNOWN_OPERATORS","Set","isFilterValueGroup","filterValue","items","isOperatorFilterValue","has","DATE_ONLY_PATTERN","parseDate","Date","Number","isFinite","getTime","date","text","dateOnly","exec","startOfDay","getFullYear","getMonth","getDate","parseNumber","parsed","parseBoolean","isEmptyCell","isNaN","toList","selectKey","String","sameSelectValue","a","b","keyA","compareNumbers","cell","operand","matchNumber","cellNumber","operands","map","filter","n","includes","operandNumber","matchDate","operandDate","cellDate","normalize","cellTime","operandTime","matchText","item","some","needle","toLowerCase","haystack","matchSingleSelect","operandValue","matchBoolean","operandBoolean","matchesOperatorFilter","col","row","getColumnFilterText","isActiveFilterItem","undefined","normalizeFilterQuery","rowMatchesFilterItem","raw","field","valueGetter","query","usesDisplayFilter","untypedCellIncludesQuery","selectOptions","valueOptions","coerceSelectToken","trimmed","match","find","option","label","headerFilterValueFromText","parts","split","part","coerceFilterInput","test","pad","padStart","filterValueToInputText","join"],"sourceRoot":"../../../src","sources":["adapter/filterOperators.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SELECT_COLUMN_WIDTH = exports.DEFAULT_PINNED_COLUMN_WIDTH = void 0;
|
|
7
|
+
exports.buildPinnedOffsets = buildPinnedOffsets;
|
|
8
|
+
exports.isColumnPinningActive = isColumnPinningActive;
|
|
9
|
+
exports.pinnedCellStyle = pinnedCellStyle;
|
|
10
|
+
exports.pinnedColumnPixelWidth = pinnedColumnPixelWidth;
|
|
11
|
+
exports.pinnedEdgeGuidesImage = pinnedEdgeGuidesImage;
|
|
12
|
+
exports.pinnedFieldSet = pinnedFieldSet;
|
|
13
|
+
exports.warnPinnedFlexColumns = warnPinnedFlexColumns;
|
|
14
|
+
var _types = require("../types");
|
|
15
|
+
const DEFAULT_PINNED_COLUMN_WIDTH = exports.DEFAULT_PINNED_COLUMN_WIDTH = 100;
|
|
16
|
+
const SELECT_COLUMN_WIDTH = exports.SELECT_COLUMN_WIDTH = 56;
|
|
17
|
+
function isColumnPinningActive(state) {
|
|
18
|
+
return state.start.length > 0 || state.end.length > 0;
|
|
19
|
+
}
|
|
20
|
+
function pinnedFieldSet(state) {
|
|
21
|
+
return new Set([...state.start, ...state.end]);
|
|
22
|
+
}
|
|
23
|
+
function pinnedColumnPixelWidth(columnId, col) {
|
|
24
|
+
if (columnId === _types.SELECT_COLUMN_ID) {
|
|
25
|
+
return SELECT_COLUMN_WIDTH;
|
|
26
|
+
}
|
|
27
|
+
return Math.max(col?.width ?? DEFAULT_PINNED_COLUMN_WIDTH, col?.minWidth ?? 0);
|
|
28
|
+
}
|
|
29
|
+
function buildPinnedOffsets(state, colByField) {
|
|
30
|
+
const start = new Map();
|
|
31
|
+
let startOffset = 0;
|
|
32
|
+
for (const id of state.start) {
|
|
33
|
+
start.set(id, startOffset);
|
|
34
|
+
startOffset += pinnedColumnPixelWidth(id, colByField.get(id));
|
|
35
|
+
}
|
|
36
|
+
const end = new Map();
|
|
37
|
+
let endOffset = 0;
|
|
38
|
+
for (let index = state.end.length - 1; index >= 0; index -= 1) {
|
|
39
|
+
const id = state.end[index];
|
|
40
|
+
end.set(id, endOffset);
|
|
41
|
+
endOffset += pinnedColumnPixelWidth(id, colByField.get(id));
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
start,
|
|
45
|
+
end,
|
|
46
|
+
startTotal: startOffset,
|
|
47
|
+
endTotal: endOffset
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function pinnedCellStyle(edge, offset, isHeader) {
|
|
51
|
+
// Logical insets / sticky are valid on web; RN ViewStyle typing does not list them yet.
|
|
52
|
+
return {
|
|
53
|
+
position: 'sticky',
|
|
54
|
+
...(edge === 'start' ? {
|
|
55
|
+
insetInlineStart: offset
|
|
56
|
+
} : {
|
|
57
|
+
insetInlineEnd: offset
|
|
58
|
+
}),
|
|
59
|
+
zIndex: isHeader ? 30 : 10
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Draws the pinned edge dividers on the scroll container itself so they reach its bottom when the
|
|
65
|
+
* rows are shorter than the viewport. A non-local background does not scroll with the content,
|
|
66
|
+
* matching sticky pinned cells, and its positioning area excludes scrollbars.
|
|
67
|
+
*/
|
|
68
|
+
function pinnedEdgeGuidesImage(offsets, color, isRTL) {
|
|
69
|
+
const {
|
|
70
|
+
startTotal,
|
|
71
|
+
endTotal
|
|
72
|
+
} = offsets;
|
|
73
|
+
const stops = [];
|
|
74
|
+
if (startTotal > 0) {
|
|
75
|
+
const edge = `${startTotal.toString()}px`;
|
|
76
|
+
const inner = `${(startTotal - 1).toString()}px`;
|
|
77
|
+
stops.push(`transparent ${inner}`, `${color} ${inner}`, `${color} ${edge}`, `transparent ${edge}`);
|
|
78
|
+
}
|
|
79
|
+
if (endTotal > 0) {
|
|
80
|
+
const edge = `calc(100% - ${endTotal.toString()}px)`;
|
|
81
|
+
const inner = `calc(100% - ${(endTotal - 1).toString()}px)`;
|
|
82
|
+
stops.push(`transparent ${edge}`, `${color} ${edge}`, `${color} ${inner}`, `transparent ${inner}`);
|
|
83
|
+
}
|
|
84
|
+
if (stops.length === 0) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
return `linear-gradient(${isRTL ? 'to left' : 'to right'}, ${stops.join(', ')})`;
|
|
88
|
+
}
|
|
89
|
+
const warnedPinnedFlexFields = new Set();
|
|
90
|
+
function warnPinnedFlexColumns(columns, pinned) {
|
|
91
|
+
if (!__DEV__) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
for (const column of columns) {
|
|
95
|
+
if (pinned.has(column.field) && (column.flex ?? 0) > 0 && !warnedPinnedFlexFields.has(column.field)) {
|
|
96
|
+
warnedPinnedFlexFields.add(column.field);
|
|
97
|
+
console.warn(`[DataGrid] Pinned column "${column.field}" ignores flex and uses a fixed width.`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=pinning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","DEFAULT_PINNED_COLUMN_WIDTH","exports","SELECT_COLUMN_WIDTH","isColumnPinningActive","state","start","length","end","pinnedFieldSet","Set","pinnedColumnPixelWidth","columnId","col","SELECT_COLUMN_ID","Math","max","width","minWidth","buildPinnedOffsets","colByField","Map","startOffset","id","set","get","endOffset","index","startTotal","endTotal","pinnedCellStyle","edge","offset","isHeader","position","insetInlineStart","insetInlineEnd","zIndex","pinnedEdgeGuidesImage","offsets","color","isRTL","stops","toString","inner","push","undefined","join","warnedPinnedFlexFields","warnPinnedFlexColumns","columns","pinned","__DEV__","column","has","field","flex","add","console","warn"],"sourceRoot":"../../../src","sources":["adapter/pinning.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -9,5 +9,31 @@ Object.defineProperty(exports, "DataGrid", {
|
|
|
9
9
|
return _DataGrid.DataGrid;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "getDefaultFilterOperator", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _filterOperators.getDefaultFilterOperator;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "getGridFilterOperators", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _filterOperators.getGridFilterOperators;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "gridDeltaNumberColDef", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _numberCells.gridDeltaNumberColDef;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "gridPolarityNumberColDef", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _numberCells.gridPolarityNumberColDef;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
12
36
|
var _DataGrid = require("./DataGrid");
|
|
37
|
+
var _filterOperators = require("./adapter/filterOperators");
|
|
38
|
+
var _numberCells = require("./numberCells");
|
|
13
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DataGrid","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_DataGrid","require","_filterOperators","_numberCells"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA","ignoreList":[]}
|