@deephaven/iris-grid 0.15.2-beta.0 → 0.15.2-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/IrisGrid.d.ts +1 -1
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +3 -3
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridRenderer.js +3 -2
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +16 -13
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +284 -224
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/package.json +16 -16
|
@@ -27,33 +27,41 @@ var CONTEXT_MENU_DATE_FORMAT = 'yyyy-MM-dd HH:mm:ss.SSSSSSSSS';
|
|
|
27
27
|
|
|
28
28
|
class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
29
29
|
/**
|
|
30
|
-
* Get filter condition for quick filter with
|
|
31
|
-
* returns new filter if
|
|
32
|
-
* if filters are additive, returns filter conditions combined with 'and'.
|
|
30
|
+
* Get filter condition for quick filter and combines with a new filter using the operator specified,
|
|
31
|
+
* returns new filter if no operator supplied.
|
|
33
32
|
* @param columnFilter
|
|
34
33
|
* @param newColumnFilter
|
|
35
|
-
* @param
|
|
34
|
+
* @param operator
|
|
36
35
|
*/
|
|
37
|
-
static getQuickFilterCondition(columnFilter, newColumnFilter) {
|
|
38
|
-
|
|
36
|
+
static getQuickFilterCondition(columnFilter, newColumnFilter, operator) {
|
|
37
|
+
if (columnFilter && operator === '&&') {
|
|
38
|
+
return columnFilter.and(newColumnFilter);
|
|
39
|
+
}
|
|
39
40
|
|
|
40
|
-
if (
|
|
41
|
-
return newColumnFilter;
|
|
41
|
+
if (columnFilter && operator === '||') {
|
|
42
|
+
return columnFilter.or(newColumnFilter);
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
return
|
|
45
|
+
return newColumnFilter;
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
|
-
* combines filter text with
|
|
48
|
+
* combines filter text with operator if declared
|
|
48
49
|
* @param filterText
|
|
49
50
|
* @param newFilterText
|
|
50
|
-
* @param
|
|
51
|
+
* @param operator
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
static getQuickFilterText(filterText, newFilterText, operator) {
|
|
56
|
+
return operator && filterText ? "".concat(filterText, " ").concat(operator, " ").concat(newFilterText) : newFilterText;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Converts operator to text string,
|
|
51
60
|
*/
|
|
52
61
|
|
|
53
62
|
|
|
54
|
-
static
|
|
55
|
-
|
|
56
|
-
return additive && filterText ? "".concat(filterText, " && ").concat(newFilterText) : newFilterText;
|
|
63
|
+
static getOperatorAsText(operator) {
|
|
64
|
+
return operator === '&&' ? 'And' : 'Or';
|
|
57
65
|
}
|
|
58
66
|
/**
|
|
59
67
|
* Gets an equality filter for the provided numeric value
|
|
@@ -196,7 +204,7 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
196
204
|
action: () => {
|
|
197
205
|
this.irisGrid.clearAllFilters();
|
|
198
206
|
},
|
|
199
|
-
disabled: !(quickFilters.size > 0 || advancedFilters.size > 0 || searchFilter
|
|
207
|
+
disabled: !(quickFilters.size > 0 || advancedFilters.size > 0 || searchFilter != null)
|
|
200
208
|
});
|
|
201
209
|
actions.push({
|
|
202
210
|
title: 'Sort by',
|
|
@@ -319,131 +327,121 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
319
327
|
showTimeZone: settings === null || settings === void 0 ? void 0 : settings.showTimeZone,
|
|
320
328
|
showTSeparator: settings === null || settings === void 0 ? void 0 : settings.showTSeparator,
|
|
321
329
|
defaultDateTimeFormatString: CONTEXT_MENU_DATE_FORMAT
|
|
322
|
-
});
|
|
323
|
-
|
|
324
|
-
if (column != null && rowIndex != null) {
|
|
325
|
-
if (model.isFilterable(modelColumn)) {
|
|
326
|
-
// cell data area contextmenu options
|
|
327
|
-
var filterMenu = {
|
|
328
|
-
title: 'Filter By Value',
|
|
329
|
-
icon: vsRemove,
|
|
330
|
-
iconColor: filterIconColor,
|
|
331
|
-
group: IrisGridContextMenuHandler.GROUP_FILTER,
|
|
332
|
-
order: 10,
|
|
333
|
-
actions: []
|
|
334
|
-
};
|
|
335
|
-
var andFilterMenu = {
|
|
336
|
-
title: 'Add Filter By Value',
|
|
337
|
-
icon: vsRemove,
|
|
338
|
-
iconColor: filterIconColor,
|
|
339
|
-
group: IrisGridContextMenuHandler.GROUP_FILTER,
|
|
340
|
-
order: 20,
|
|
341
|
-
actions: [],
|
|
342
|
-
disabled: !quickFilters.get(modelColumn)
|
|
343
|
-
};
|
|
344
|
-
var gotoRow = {
|
|
345
|
-
title: 'Go to',
|
|
346
|
-
shortcut: SHORTCUTS.TABLE.GOTO_ROW,
|
|
347
|
-
group: IrisGridContextMenuHandler.GROUP_GOTO,
|
|
348
|
-
order: 10,
|
|
349
|
-
action: () => this.irisGrid.toggleGotoRow("".concat(rowIndex + 1))
|
|
350
|
-
};
|
|
351
|
-
|
|
352
|
-
if (value != null) {
|
|
353
|
-
// Chars get treated like numbers in terms of which filters are available
|
|
354
|
-
if (TableUtils.isNumberType(column.type) || TableUtils.isCharType(column.type)) {
|
|
355
|
-
assertNotNull(modelColumn); // We want to show the full unformatted value if it's a number, so user knows which value they are matching
|
|
356
|
-
// If it's a Char we just show the char
|
|
357
|
-
|
|
358
|
-
var numberValueText = TableUtils.isCharType(column.type) ? String.fromCharCode(value) : "".concat(value);
|
|
359
|
-
filterMenu.actions = this.numberFilterActions(column, numberValueText, value, quickFilters.get(modelColumn));
|
|
360
|
-
andFilterMenu.actions = this.numberFilterActions(column, numberValueText, value, quickFilters.get(modelColumn), true);
|
|
361
|
-
} else if (TableUtils.isBooleanType(column.type)) {
|
|
362
|
-
filterMenu.actions = this.booleanFilterActions(column, valueText);
|
|
363
|
-
andFilterMenu.actions = this.booleanFilterActions(column, valueText, quickFilters.get(modelColumn), true);
|
|
364
|
-
} else if (TableUtils.isDateType(column.type)) {
|
|
365
|
-
var dateValueText = dateFilterFormatter.format(value);
|
|
366
|
-
var previewValue = previewFilterFormatter.format(value);
|
|
367
|
-
filterMenu.actions = this.dateFilterActions(column, dateValueText, previewValue, value);
|
|
368
|
-
andFilterMenu.actions = this.dateFilterActions(column, dateValueText, previewValue, value, quickFilters.get(modelColumn), true);
|
|
369
|
-
} else {
|
|
370
|
-
filterMenu.actions = this.stringFilterActions(column, valueText, value);
|
|
371
|
-
andFilterMenu.actions = this.stringFilterActions(column, valueText, value, quickFilters.get(modelColumn), true);
|
|
372
|
-
}
|
|
373
|
-
} else {
|
|
374
|
-
filterMenu.actions = this.nullFilterActions(column);
|
|
375
|
-
andFilterMenu.actions = this.nullFilterActions(column, quickFilters.get(modelColumn), true);
|
|
376
|
-
}
|
|
330
|
+
});
|
|
331
|
+
if (column == null || rowIndex == null) return actions; // grid data area context menu options
|
|
377
332
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
333
|
+
if (model.isFilterable(modelColumn)) {
|
|
334
|
+
// cell data area contextmenu options
|
|
335
|
+
var filterMenu = {
|
|
336
|
+
title: 'Filter By Value',
|
|
337
|
+
icon: vsRemove,
|
|
338
|
+
iconColor: filterIconColor,
|
|
339
|
+
group: IrisGridContextMenuHandler.GROUP_FILTER,
|
|
340
|
+
order: 10,
|
|
341
|
+
actions: []
|
|
342
|
+
};
|
|
381
343
|
|
|
382
|
-
|
|
383
|
-
|
|
344
|
+
if (value == null) {
|
|
345
|
+
if (quickFilters.get(modelColumn)) {
|
|
346
|
+
filterMenu.actions.push({
|
|
347
|
+
title: 'And',
|
|
348
|
+
actions: this.nullFilterActions(column, quickFilters.get(modelColumn), '&&'),
|
|
349
|
+
order: 2,
|
|
350
|
+
group: ContextActions.groups.high
|
|
351
|
+
});
|
|
384
352
|
}
|
|
385
353
|
|
|
386
|
-
actions.push(
|
|
387
|
-
}
|
|
354
|
+
filterMenu.actions.push(...this.nullFilterActions(column));
|
|
355
|
+
} else if (TableUtils.isBooleanType(column.type)) {
|
|
356
|
+
// boolean should have OR condition, and handles it's own null menu options
|
|
357
|
+
if (quickFilters.get(modelColumn)) {
|
|
358
|
+
filterMenu.actions.push({
|
|
359
|
+
title: 'Or',
|
|
360
|
+
actions: this.booleanFilterActions(column, valueText, quickFilters.get(modelColumn), '||'),
|
|
361
|
+
order: 2,
|
|
362
|
+
group: ContextActions.groups.high
|
|
363
|
+
});
|
|
364
|
+
}
|
|
388
365
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
} // data area, including blank space context menu options
|
|
366
|
+
filterMenu.actions.push(...this.booleanFilterActions(column, valueText));
|
|
367
|
+
} else if (TableUtils.isNumberType(column.type) || TableUtils.isCharType(column.type)) {
|
|
368
|
+
// Chars get treated like numbers in terms of which filters are available
|
|
369
|
+
assertNotNull(modelColumn); // We want to show the full unformatted value if it's a number, so user knows which value they are matching
|
|
370
|
+
// If it's a Char we just show the char
|
|
371
|
+
|
|
372
|
+
var numberValueText = TableUtils.isCharType(column.type) ? String.fromCharCode(value) : "".concat(value);
|
|
373
|
+
|
|
374
|
+
if (quickFilters.get(modelColumn)) {
|
|
375
|
+
filterMenu.actions.push({
|
|
376
|
+
title: 'And',
|
|
377
|
+
actions: this.numberFilterActions(column, numberValueText, value, quickFilters.get(modelColumn), '&&'),
|
|
378
|
+
order: 2,
|
|
379
|
+
group: ContextActions.groups.high
|
|
380
|
+
});
|
|
381
|
+
}
|
|
408
382
|
|
|
383
|
+
filterMenu.actions.push(...this.numberFilterActions(column, numberValueText, value, quickFilters.get(modelColumn)));
|
|
384
|
+
} else if (TableUtils.isDateType(column.type)) {
|
|
385
|
+
var dateValueText = dateFilterFormatter.format(value);
|
|
386
|
+
var previewValue = previewFilterFormatter.format(value);
|
|
387
|
+
|
|
388
|
+
if (quickFilters.get(modelColumn)) {
|
|
389
|
+
filterMenu.actions.push({
|
|
390
|
+
title: 'And',
|
|
391
|
+
actions: this.dateFilterActions(column, dateValueText, previewValue, value, quickFilters.get(modelColumn), '&&'),
|
|
392
|
+
order: 2,
|
|
393
|
+
group: ContextActions.groups.high
|
|
394
|
+
});
|
|
395
|
+
}
|
|
409
396
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
397
|
+
filterMenu.actions.push(...this.dateFilterActions(column, dateValueText, previewValue, value, quickFilters.get(modelColumn)));
|
|
398
|
+
} else {
|
|
399
|
+
if (quickFilters.get(modelColumn)) {
|
|
400
|
+
filterMenu.actions.push({
|
|
401
|
+
title: 'And',
|
|
402
|
+
actions: this.stringFilterActions(column, valueText, value, quickFilters.get(modelColumn), '&&'),
|
|
403
|
+
order: 2,
|
|
404
|
+
group: ContextActions.groups.high
|
|
405
|
+
});
|
|
406
|
+
}
|
|
413
407
|
|
|
414
|
-
|
|
415
|
-
if (canCopy) {
|
|
416
|
-
actions.push({
|
|
417
|
-
title: 'Copy Selection',
|
|
418
|
-
shortcut: GLOBAL_SHORTCUTS.COPY,
|
|
419
|
-
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
420
|
-
order: 30,
|
|
421
|
-
action: () => {
|
|
422
|
-
irisGrid.copyRanges(selectedRanges);
|
|
423
|
-
}
|
|
424
|
-
});
|
|
425
|
-
actions.push({
|
|
426
|
-
title: 'Copy Selection w/ Headers',
|
|
427
|
-
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
428
|
-
order: 40,
|
|
429
|
-
action: () => {
|
|
430
|
-
irisGrid.copyRanges(selectedRanges, true);
|
|
431
|
-
}
|
|
432
|
-
});
|
|
408
|
+
filterMenu.actions.push(...this.stringFilterActions(column, valueText, value));
|
|
433
409
|
}
|
|
434
410
|
|
|
435
|
-
if (
|
|
436
|
-
actions.push(
|
|
437
|
-
title: 'Delete Selected Rows',
|
|
438
|
-
group: IrisGridContextMenuHandler.GROUP_EDIT,
|
|
439
|
-
order: 50,
|
|
440
|
-
action: () => {
|
|
441
|
-
this.irisGrid.deleteRanges(selectedRanges);
|
|
442
|
-
}
|
|
443
|
-
});
|
|
411
|
+
if (filterMenu.actions != null && filterMenu.actions.length > 0) {
|
|
412
|
+
actions.push(filterMenu);
|
|
444
413
|
}
|
|
445
414
|
}
|
|
446
415
|
|
|
416
|
+
var gotoRow = {
|
|
417
|
+
title: 'Go to',
|
|
418
|
+
iconColor: filterIconColor,
|
|
419
|
+
shortcut: SHORTCUTS.TABLE.GOTO_ROW,
|
|
420
|
+
group: IrisGridContextMenuHandler.GROUP_GOTO,
|
|
421
|
+
order: 10,
|
|
422
|
+
action: () => this.irisGrid.toggleGotoRow("".concat(rowIndex + 1))
|
|
423
|
+
};
|
|
424
|
+
actions.push(gotoRow);
|
|
425
|
+
|
|
426
|
+
if (canCopy) {
|
|
427
|
+
actions.push({
|
|
428
|
+
title: 'Copy Cell',
|
|
429
|
+
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
430
|
+
order: 10,
|
|
431
|
+
action: () => {
|
|
432
|
+
irisGrid.copyCell(columnIndex, rowIndex);
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
actions.push({
|
|
436
|
+
title: 'Copy Cell Unformatted',
|
|
437
|
+
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
438
|
+
order: 20,
|
|
439
|
+
action: () => {
|
|
440
|
+
irisGrid.copyCell(columnIndex, rowIndex, true);
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
|
|
447
445
|
return actions;
|
|
448
446
|
}
|
|
449
447
|
|
|
@@ -459,7 +457,8 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
459
457
|
var modelColumn = irisGrid.getModelColumn(columnIndex);
|
|
460
458
|
var modelRow = irisGrid.getModelRow(rowIndex);
|
|
461
459
|
var {
|
|
462
|
-
model
|
|
460
|
+
model,
|
|
461
|
+
canCopy
|
|
463
462
|
} = irisGrid.props;
|
|
464
463
|
var {
|
|
465
464
|
columns
|
|
@@ -468,7 +467,8 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
468
467
|
metrics,
|
|
469
468
|
isFilterBarShown,
|
|
470
469
|
quickFilters,
|
|
471
|
-
advancedFilters
|
|
470
|
+
advancedFilters,
|
|
471
|
+
selectedRanges
|
|
472
472
|
} = irisGrid.state;
|
|
473
473
|
assertNotNull(metrics);
|
|
474
474
|
var {
|
|
@@ -497,30 +497,63 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
497
497
|
modelColumn
|
|
498
498
|
}));
|
|
499
499
|
}
|
|
500
|
+
}
|
|
500
501
|
|
|
501
|
-
|
|
502
|
+
if (modelColumn != null && model.isFilterable(modelColumn)) {
|
|
503
|
+
// Clear column filter should still be available after last row
|
|
504
|
+
// And should be available in both header and body context menus
|
|
505
|
+
actions.push({
|
|
506
|
+
title: 'Clear Column Filter',
|
|
507
|
+
group: IrisGridContextMenuHandler.GROUP_FILTER,
|
|
508
|
+
order: 30,
|
|
509
|
+
action: () => {
|
|
510
|
+
this.irisGrid.removeColumnFilter(modelColumn);
|
|
511
|
+
},
|
|
512
|
+
disabled: !(quickFilters.has(modelColumn) || advancedFilters.has(modelColumn))
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
if (isFilterBarShown ? y <= gridY : y <= columnHeaderHeight) {
|
|
517
|
+
// grid header context menu options
|
|
518
|
+
if (modelColumn != null) {
|
|
519
|
+
actions.push(...this.getHeaderActions(modelColumn, gridPoint));
|
|
520
|
+
}
|
|
521
|
+
} else {
|
|
522
|
+
// grid body context menu options
|
|
523
|
+
if (modelColumn != null && modelRow != null) {
|
|
524
|
+
actions.push(...this.getCellActions(modelColumn, grid, gridPoint));
|
|
525
|
+
} // blank space context menu options
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
if (canCopy && selectedRanges.length > 0) {
|
|
502
529
|
actions.push({
|
|
503
|
-
title: '
|
|
504
|
-
|
|
530
|
+
title: 'Copy Selection',
|
|
531
|
+
shortcut: GLOBAL_SHORTCUTS.COPY,
|
|
532
|
+
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
505
533
|
order: 30,
|
|
506
534
|
action: () => {
|
|
507
|
-
|
|
508
|
-
}
|
|
509
|
-
|
|
535
|
+
irisGrid.copyRanges(selectedRanges);
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
actions.push({
|
|
539
|
+
title: 'Copy Selection w/ Headers',
|
|
540
|
+
group: IrisGridContextMenuHandler.GROUP_COPY,
|
|
541
|
+
order: 40,
|
|
542
|
+
action: () => {
|
|
543
|
+
irisGrid.copyRanges(selectedRanges, true);
|
|
544
|
+
}
|
|
510
545
|
});
|
|
511
546
|
}
|
|
512
|
-
}
|
|
513
547
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
actions.push(...this.getCellActions(modelColumn, grid, gridPoint));
|
|
548
|
+
if (isEditableGridModel(model) && model.isEditable && selectedRanges.length > 0) {
|
|
549
|
+
actions.push({
|
|
550
|
+
title: 'Delete Selected Rows',
|
|
551
|
+
group: IrisGridContextMenuHandler.GROUP_EDIT,
|
|
552
|
+
order: 50,
|
|
553
|
+
action: () => {
|
|
554
|
+
this.irisGrid.deleteRanges(selectedRanges);
|
|
555
|
+
}
|
|
556
|
+
});
|
|
524
557
|
}
|
|
525
558
|
}
|
|
526
559
|
|
|
@@ -634,8 +667,7 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
634
667
|
return actions;
|
|
635
668
|
}
|
|
636
669
|
|
|
637
|
-
stringFilterActions(column, valueText, value, quickFilter) {
|
|
638
|
-
var additive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
670
|
+
stringFilterActions(column, valueText, value, quickFilter, operator) {
|
|
639
671
|
var filterValue = dh.FilterValue.ofString(value);
|
|
640
672
|
var newQuickFilter = quickFilter;
|
|
641
673
|
|
|
@@ -659,62 +691,68 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
659
691
|
actions.push({
|
|
660
692
|
menuElement: /*#__PURE__*/React.createElement("div", {
|
|
661
693
|
className: "iris-grid-filter-menu-item-value"
|
|
662
|
-
}, "\"", valueText, "\""),
|
|
663
|
-
order: 1
|
|
694
|
+
}, operator ? IrisGridContextMenuHandler.getOperatorAsText(operator) : '', ' ', "\"", valueText, "\""),
|
|
695
|
+
order: 1,
|
|
696
|
+
group: ContextActions.groups.high
|
|
664
697
|
});
|
|
665
698
|
actions.push({
|
|
666
699
|
title: 'text is exactly',
|
|
667
700
|
description: "Show only rows where ".concat(column.name, " is ").concat(value, " (case sensitive)"),
|
|
668
701
|
action: () => {
|
|
669
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().eq(filterValue),
|
|
702
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().eq(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "=".concat(valueText), operator));
|
|
670
703
|
},
|
|
671
|
-
order: 10
|
|
704
|
+
order: 10,
|
|
705
|
+
group: ContextActions.groups.low
|
|
672
706
|
});
|
|
673
707
|
actions.push({
|
|
674
708
|
title: 'text is not exactly',
|
|
675
709
|
description: "Show only rows where ".concat(column.name, " is not ").concat(valueText, " (case sensitive)"),
|
|
676
710
|
action: () => {
|
|
677
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().notEq(filterValue),
|
|
711
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().notEq(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "!=".concat(valueText), operator));
|
|
678
712
|
},
|
|
679
|
-
order: 20
|
|
713
|
+
order: 20,
|
|
714
|
+
group: ContextActions.groups.low
|
|
680
715
|
});
|
|
681
716
|
actions.push({
|
|
682
717
|
title: "text contains",
|
|
683
718
|
description: "Show only rows where ".concat(column.name, " contains ").concat(valueText),
|
|
684
719
|
action: () => {
|
|
685
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().contains(filterValue),
|
|
720
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().contains(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "~".concat(valueText), operator));
|
|
686
721
|
},
|
|
687
|
-
order: 30
|
|
722
|
+
order: 30,
|
|
723
|
+
group: ContextActions.groups.low
|
|
688
724
|
});
|
|
689
725
|
actions.push({
|
|
690
726
|
title: 'text does not contain',
|
|
691
727
|
description: "Show only rows where ".concat(column.name, " does not contain ").concat(value),
|
|
692
728
|
action: () => {
|
|
693
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().contains(filterValue).not(),
|
|
729
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().contains(filterValue).not(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "!~".concat(valueText), operator));
|
|
694
730
|
},
|
|
695
|
-
order: 40
|
|
731
|
+
order: 40,
|
|
732
|
+
group: ContextActions.groups.low
|
|
696
733
|
});
|
|
697
734
|
actions.push({
|
|
698
735
|
title: 'text starts with',
|
|
699
736
|
description: "Show only rows where ".concat(column.name, " starts with ").concat(valueText),
|
|
700
737
|
action: () => {
|
|
701
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().invoke('startsWith', filterValue),
|
|
738
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().invoke('startsWith', filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "".concat(valueText, "*"), operator));
|
|
702
739
|
},
|
|
703
|
-
order: 50
|
|
740
|
+
order: 50,
|
|
741
|
+
group: ContextActions.groups.low
|
|
704
742
|
});
|
|
705
743
|
actions.push({
|
|
706
744
|
title: 'text ends with',
|
|
707
745
|
description: "Show only rows where ".concat(column.name, " ends with ").concat(valueText),
|
|
708
746
|
action: () => {
|
|
709
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().invoke('endsWith', filterValue),
|
|
747
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().invoke('endsWith', filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "*".concat(valueText), operator));
|
|
710
748
|
},
|
|
711
|
-
order: 60
|
|
749
|
+
order: 60,
|
|
750
|
+
group: ContextActions.groups.low
|
|
712
751
|
});
|
|
713
752
|
return actions;
|
|
714
753
|
}
|
|
715
754
|
|
|
716
|
-
numberFilterActions(column, valueText, value, quickFilter) {
|
|
717
|
-
var additive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
755
|
+
numberFilterActions(column, valueText, value, quickFilter, operator) {
|
|
718
756
|
var filterValue = IrisGridContextMenuHandler.getFilterValueForNumberOrChar(column.type, value);
|
|
719
757
|
var filter = null;
|
|
720
758
|
var filterText = null;
|
|
@@ -734,26 +772,29 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
734
772
|
actions.push({
|
|
735
773
|
menuElement: /*#__PURE__*/React.createElement("div", {
|
|
736
774
|
className: "iris-grid-filter-menu-item-value"
|
|
737
|
-
},
|
|
738
|
-
order: 1
|
|
775
|
+
}, operator ? IrisGridContextMenuHandler.getOperatorAsText(operator) : '', ' ', "\"", valueText, "\""),
|
|
776
|
+
order: 1,
|
|
777
|
+
group: ContextActions.groups.high
|
|
739
778
|
});
|
|
740
779
|
actions.push({
|
|
741
780
|
title: 'is equal to',
|
|
742
781
|
description: "Show only rows where ".concat(column.name, " is ").concat(valueText),
|
|
743
782
|
action: () => {
|
|
744
783
|
var valueFilter = IrisGridContextMenuHandler.getNumberValueEqualsFilter(column, value);
|
|
745
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, valueFilter,
|
|
784
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, valueFilter, operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "=".concat(valueText), operator));
|
|
746
785
|
},
|
|
747
|
-
order: 10
|
|
786
|
+
order: 10,
|
|
787
|
+
group: ContextActions.groups.low
|
|
748
788
|
});
|
|
749
789
|
actions.push({
|
|
750
790
|
title: 'is not equal to',
|
|
751
791
|
description: "Show only rows where ".concat(column.name, " is not ").concat(valueText),
|
|
752
792
|
action: () => {
|
|
753
793
|
var valueFilter = IrisGridContextMenuHandler.getNumberValueEqualsFilter(column, value).not();
|
|
754
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, valueFilter,
|
|
794
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, valueFilter, operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "!=".concat(valueText), operator));
|
|
755
795
|
},
|
|
756
|
-
order: 20
|
|
796
|
+
order: 20,
|
|
797
|
+
group: ContextActions.groups.low
|
|
757
798
|
}); // IDS-6092 Less/greater than filters don't make sense for Infinite/NaN
|
|
758
799
|
// TODO (DH-11799): These char filters should work in Bard, with the merge for DH-11040: https://gitlab.eng.illumon.com/illumon/iris/merge_requests/5801
|
|
759
800
|
// They do not work in Powell though, so disable them.
|
|
@@ -763,91 +804,101 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
763
804
|
title: 'greater than',
|
|
764
805
|
description: "Show only rows where ".concat(column.name, " is greater than ").concat(valueText),
|
|
765
806
|
action: () => {
|
|
766
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThan(filterValue),
|
|
807
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThan(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, ">".concat(valueText), operator));
|
|
767
808
|
},
|
|
768
|
-
order: 30
|
|
809
|
+
order: 30,
|
|
810
|
+
group: ContextActions.groups.low
|
|
769
811
|
});
|
|
770
812
|
actions.push({
|
|
771
813
|
title: 'greater than or equal to',
|
|
772
814
|
description: "Show only rows where ".concat(column.name, " is greater than or equal to ").concat(valueText),
|
|
773
815
|
action: () => {
|
|
774
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThanOrEqualTo(filterValue),
|
|
816
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThanOrEqualTo(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, ">=".concat(valueText), operator));
|
|
775
817
|
},
|
|
776
|
-
order: 40
|
|
818
|
+
order: 40,
|
|
819
|
+
group: ContextActions.groups.low
|
|
777
820
|
});
|
|
778
821
|
actions.push({
|
|
779
822
|
title: 'less than',
|
|
780
823
|
description: "Show only rows where ".concat(column.name, " is less than ").concat(valueText),
|
|
781
824
|
action: () => {
|
|
782
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThan(filterValue),
|
|
825
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThan(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "<".concat(valueText), operator));
|
|
783
826
|
},
|
|
784
|
-
order: 50
|
|
827
|
+
order: 50,
|
|
828
|
+
group: ContextActions.groups.low
|
|
785
829
|
});
|
|
786
830
|
actions.push({
|
|
787
831
|
title: 'less than or equal to',
|
|
788
832
|
description: "Show only rows where ".concat(column.name, " is less than or equal to ").concat(valueText),
|
|
789
833
|
action: () => {
|
|
790
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThanOrEqualTo(filterValue),
|
|
834
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThanOrEqualTo(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "<=".concat(valueText), operator));
|
|
791
835
|
},
|
|
792
|
-
order: 60
|
|
836
|
+
order: 60,
|
|
837
|
+
group: ContextActions.groups.low
|
|
793
838
|
});
|
|
794
839
|
}
|
|
795
840
|
|
|
796
841
|
return actions;
|
|
797
842
|
}
|
|
798
843
|
|
|
799
|
-
booleanFilterActions(column, valueText, quickFilter) {
|
|
800
|
-
var additive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
844
|
+
booleanFilterActions(column, valueText, quickFilter, operator) {
|
|
801
845
|
var actions = [];
|
|
802
|
-
|
|
803
|
-
if (quickFilter == null) {
|
|
804
|
-
return actions;
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
var {
|
|
808
|
-
filter,
|
|
809
|
-
text: filterText
|
|
810
|
-
} = quickFilter;
|
|
811
846
|
var {
|
|
812
847
|
model
|
|
813
848
|
} = this.irisGrid.props;
|
|
849
|
+
var {
|
|
850
|
+
filter,
|
|
851
|
+
text: filterText
|
|
852
|
+
} = quickFilter || {};
|
|
814
853
|
var columnIndex = model.getColumnIndexByName(column.name);
|
|
815
854
|
assertNotNull(columnIndex);
|
|
816
855
|
actions.push({
|
|
817
856
|
menuElement: /*#__PURE__*/React.createElement("div", {
|
|
818
857
|
className: "iris-grid-filter-menu-item-value"
|
|
819
|
-
},
|
|
820
|
-
order: 1
|
|
858
|
+
}, operator ? IrisGridContextMenuHandler.getOperatorAsText(operator) : '', ' ', "\"", valueText || 'null', "\""),
|
|
859
|
+
order: 1,
|
|
860
|
+
group: ContextActions.groups.high
|
|
821
861
|
});
|
|
822
862
|
actions.push({
|
|
823
863
|
title: 'true',
|
|
824
864
|
description: "Show only rows where ".concat(column.name, " is true"),
|
|
825
865
|
action: () => {
|
|
826
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isTrue(),
|
|
866
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isTrue(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, 'true', operator));
|
|
827
867
|
},
|
|
828
|
-
order: 10
|
|
868
|
+
order: 10,
|
|
869
|
+
group: ContextActions.groups.low
|
|
829
870
|
});
|
|
830
871
|
actions.push({
|
|
831
872
|
title: 'false',
|
|
832
873
|
description: "Show only rows where ".concat(column.name, " is false"),
|
|
833
874
|
action: () => {
|
|
834
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isFalse(),
|
|
875
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isFalse(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, 'false', operator));
|
|
835
876
|
},
|
|
836
|
-
order: 20
|
|
877
|
+
order: 20,
|
|
878
|
+
group: ContextActions.groups.low
|
|
837
879
|
});
|
|
838
880
|
actions.push({
|
|
839
|
-
title: 'null',
|
|
881
|
+
title: 'is null',
|
|
840
882
|
description: "Show only rows where ".concat(column.name, " is null"),
|
|
841
883
|
action: () => {
|
|
842
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull(),
|
|
884
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, 'null', operator));
|
|
843
885
|
},
|
|
844
|
-
order: 30
|
|
886
|
+
order: 30,
|
|
887
|
+
group: ContextActions.groups.low
|
|
888
|
+
});
|
|
889
|
+
actions.push({
|
|
890
|
+
title: 'is not null',
|
|
891
|
+
description: "Show only rows where ".concat(column.name, " is not null"),
|
|
892
|
+
action: () => {
|
|
893
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull().not(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, '!null', operator));
|
|
894
|
+
},
|
|
895
|
+
order: 40,
|
|
896
|
+
group: ContextActions.groups.low
|
|
845
897
|
});
|
|
846
898
|
return actions;
|
|
847
899
|
}
|
|
848
900
|
|
|
849
|
-
dateFilterActions(column, valueText, previewValue, value, quickFilter) {
|
|
850
|
-
var additive = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
901
|
+
dateFilterActions(column, valueText, previewValue, value, quickFilter, operator) {
|
|
851
902
|
var filterValue = dh.FilterValue.ofNumber(value);
|
|
852
903
|
var filter = null;
|
|
853
904
|
var filterText = null;
|
|
@@ -866,62 +917,68 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
866
917
|
actions.push({
|
|
867
918
|
menuElement: /*#__PURE__*/React.createElement("div", {
|
|
868
919
|
className: "iris-grid-filter-menu-item-value"
|
|
869
|
-
},
|
|
870
|
-
order: 1
|
|
920
|
+
}, operator ? IrisGridContextMenuHandler.getOperatorAsText(operator) : '', ' ', "\"", previewValue, "\""),
|
|
921
|
+
order: 1,
|
|
922
|
+
group: ContextActions.groups.high
|
|
871
923
|
});
|
|
872
924
|
actions.push({
|
|
873
925
|
title: 'date is',
|
|
874
926
|
description: "Show only rows where ".concat(column.name, " is ").concat(previewValue),
|
|
875
927
|
action: () => {
|
|
876
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().eq(filterValue),
|
|
928
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().eq(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "=".concat(valueText), operator));
|
|
877
929
|
},
|
|
878
|
-
order: 10
|
|
930
|
+
order: 10,
|
|
931
|
+
group: ContextActions.groups.low
|
|
879
932
|
});
|
|
880
933
|
actions.push({
|
|
881
934
|
title: 'date is not',
|
|
882
935
|
description: "Show only rows where ".concat(column.name, " is not ").concat(previewValue),
|
|
883
936
|
action: () => {
|
|
884
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().notEq(filterValue),
|
|
937
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().notEq(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "!=".concat(valueText), operator));
|
|
885
938
|
},
|
|
886
|
-
order: 20
|
|
939
|
+
order: 20,
|
|
940
|
+
group: ContextActions.groups.low
|
|
887
941
|
});
|
|
888
942
|
actions.push({
|
|
889
943
|
title: 'date is before',
|
|
890
944
|
description: "Show only rows where ".concat(column.name, " is before ").concat(previewValue),
|
|
891
945
|
action: () => {
|
|
892
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThan(filterValue),
|
|
946
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThan(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "<".concat(valueText), operator));
|
|
893
947
|
},
|
|
894
|
-
order: 30
|
|
948
|
+
order: 30,
|
|
949
|
+
group: ContextActions.groups.low
|
|
895
950
|
});
|
|
896
951
|
actions.push({
|
|
897
952
|
title: 'date is before or equal',
|
|
898
953
|
description: "Show only rows where ".concat(column.name, " is before or equal to ").concat(previewValue),
|
|
899
954
|
action: () => {
|
|
900
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThanOrEqualTo(filterValue),
|
|
955
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().lessThanOrEqualTo(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, "<=".concat(valueText), operator));
|
|
901
956
|
},
|
|
902
|
-
order: 40
|
|
957
|
+
order: 40,
|
|
958
|
+
group: ContextActions.groups.low
|
|
903
959
|
});
|
|
904
960
|
actions.push({
|
|
905
961
|
title: 'date is after',
|
|
906
962
|
description: "Show only rows where ".concat(column.name, " is greater than ").concat(previewValue),
|
|
907
963
|
action: () => {
|
|
908
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThan(filterValue),
|
|
964
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThan(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, ">".concat(valueText), operator));
|
|
909
965
|
},
|
|
910
|
-
order: 50
|
|
966
|
+
order: 50,
|
|
967
|
+
group: ContextActions.groups.low
|
|
911
968
|
});
|
|
912
969
|
actions.push({
|
|
913
970
|
title: 'date is after or equal',
|
|
914
971
|
description: "Show only rows where ".concat(column.name, " is after or equal to ").concat(previewValue),
|
|
915
972
|
action: () => {
|
|
916
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThanOrEqualTo(filterValue),
|
|
973
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().greaterThanOrEqualTo(filterValue), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, ">=".concat(valueText), operator));
|
|
917
974
|
},
|
|
918
|
-
order: 60
|
|
975
|
+
order: 60,
|
|
976
|
+
group: ContextActions.groups.low
|
|
919
977
|
});
|
|
920
978
|
return actions;
|
|
921
979
|
}
|
|
922
980
|
|
|
923
|
-
nullFilterActions(column, quickFilter) {
|
|
924
|
-
var additive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
981
|
+
nullFilterActions(column, quickFilter, operator) {
|
|
925
982
|
var filter = null;
|
|
926
983
|
var filterText = null;
|
|
927
984
|
|
|
@@ -939,24 +996,27 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
939
996
|
actions.push({
|
|
940
997
|
menuElement: /*#__PURE__*/React.createElement("div", {
|
|
941
998
|
className: "iris-grid-filter-menu-item-value"
|
|
942
|
-
},
|
|
943
|
-
order: 1
|
|
999
|
+
}, operator ? IrisGridContextMenuHandler.getOperatorAsText(operator) : '', ' ', "\"null\""),
|
|
1000
|
+
order: 1,
|
|
1001
|
+
group: ContextActions.groups.high
|
|
944
1002
|
});
|
|
945
1003
|
actions.push({
|
|
946
|
-
title: '
|
|
1004
|
+
title: 'is null',
|
|
947
1005
|
description: "Show only rows where ".concat(column.name, " is null"),
|
|
948
1006
|
action: () => {
|
|
949
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull(),
|
|
1007
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, 'null', operator));
|
|
950
1008
|
},
|
|
951
|
-
order: 10
|
|
1009
|
+
order: 10,
|
|
1010
|
+
group: ContextActions.groups.low
|
|
952
1011
|
});
|
|
953
1012
|
actions.push({
|
|
954
|
-
title: 'not
|
|
1013
|
+
title: 'is not null',
|
|
955
1014
|
description: "Show only rows where ".concat(column.name, " is not null"),
|
|
956
1015
|
action: () => {
|
|
957
|
-
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull().not(),
|
|
1016
|
+
this.irisGrid.setQuickFilter(columnIndex, IrisGridContextMenuHandler.getQuickFilterCondition(filter, column.filter().isNull().not(), operator), IrisGridContextMenuHandler.getQuickFilterText(filterText, '!null', operator));
|
|
958
1017
|
},
|
|
959
|
-
order: 20
|
|
1018
|
+
order: 20,
|
|
1019
|
+
group: ContextActions.groups.low
|
|
960
1020
|
});
|
|
961
1021
|
return actions;
|
|
962
1022
|
}
|