Skip to content

Commit 431c3fc

Browse files
committed
review feedback
1 parent 394abde commit 431c3fc

2 files changed

Lines changed: 21 additions & 43 deletions

File tree

packages/iris-grid/src/mousehandlers/IrisGridContextMenuHandler.tsx

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -435,18 +435,14 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
435435

436436
actions: this.emptyStringFilterActions(
437437
column,
438-
valueText,
439-
value,
440438
quickFilters.get(modelColumn),
441439
'&&'
442440
),
443441
order: 2,
444442
group: ContextActions.groups.high,
445443
});
446444
}
447-
filterMenu.actions.push(
448-
...this.emptyStringFilterActions(column, valueText, value)
449-
);
445+
filterMenu.actions.push(...this.emptyStringFilterActions(column));
450446
} else if (TableUtils.isBooleanType(column.type)) {
451447
// boolean should have OR condition, and handles it's own null menu options
452448
if (quickFilters.get(modelColumn)) {
@@ -1561,13 +1557,11 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
15611557

15621558
emptyStringFilterActions(
15631559
column: Column,
1564-
valueText: string,
1565-
value: unknown,
15661560
quickFilter?: QuickFilter,
15671561
operator?: '&&' | '||' | null
15681562
): ContextAction[] {
15691563
const { dh } = this;
1570-
const filterValue = dh.FilterValue.ofString(value);
1564+
const filterValue = dh.FilterValue.ofString('');
15711565
let newQuickFilter:
15721566
| {
15731567
filter: null | FilterCondition | undefined;
@@ -1610,7 +1604,7 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
16101604
),
16111605
IrisGridContextMenuHandler.getQuickFilterText(
16121606
filterText,
1613-
`=${valueText}`,
1607+
`=`,
16141608
operator
16151609
)
16161610
);
@@ -1631,7 +1625,7 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
16311625
),
16321626
IrisGridContextMenuHandler.getQuickFilterText(
16331627
filterText,
1634-
`!=${valueText}`,
1628+
`!=`,
16351629
operator
16361630
)
16371631
);

packages/jsapi-utils/src/TableUtils.test.ts

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -523,18 +523,16 @@ describe('quick filter tests', () => {
523523
(Date.parse(dateString) as unknown) as DateWrapper;
524524
});
525525

526-
describe('escapeQuickTextFilter', () => {
527-
// test case, expected result
526+
describe('Escape/UnescapeQuickTextFilter', () => {
527+
// unescaped, escaped
528528
test.each([
529529
['', ''],
530530
[' ', ' '],
531-
[null, null],
532531
['test', 'test'],
533532
['test\\test', 'test\\test'],
534533
['null\\null', 'null\\null'],
535534
['\\null\\null', '\\null\\null'],
536535
['=test', '\\=test'],
537-
['\\=test', '\\=test'],
538536
['\\test', '\\test'],
539537
['null', '\\null'],
540538
['NULL', '\\NULL'],
@@ -546,58 +544,44 @@ describe('quick filter tests', () => {
546544
['!null', '\\!null'],
547545
['!=null', '\\!=null'],
548546
['*fish', '\\*fish'],
549-
['\\*fish', '\\*fish'],
550547
['=*fish', '\\=*fish'],
551548
['shooting*', 'shooting\\*'],
552-
['shooting\\*', 'shooting\\*'],
553549
['!=shooting*', '\\!=shooting*'],
554550
['==', '\\=='],
555551
['=', '\\='],
556552
['!=', '\\!='],
557553
['!~', '\\!~'],
558554
['~', '\\~'],
559555
['!', '\\!'],
556+
])(
557+
'given %p, escape quick filter should return %p and vice versa',
558+
(unescaped, escaped) => {
559+
expect(TableUtils.escapeQuickTextFilter(unescaped)).toBe(escaped);
560+
expect(TableUtils.unescapeQuickTextFilter(escaped)).toBe(unescaped);
561+
}
562+
);
563+
564+
// escape specific test cases
565+
test.each([
566+
[null, null],
567+
['\\=test', '\\=test'],
568+
['\\*fish', '\\*fish'],
569+
['shooting\\*', 'shooting\\*'],
560570
])(
561571
'given %p, escape quick filter should return %p',
562572
(testCase, expectedResult) => {
563573
expect(TableUtils.escapeQuickTextFilter(testCase)).toBe(expectedResult);
564574
}
565575
);
566-
});
567576

568-
describe('unescapeQuickTextFilter', () => {
569-
// test case, expected result
577+
// unescape specific test cases
570578
test.each([
571-
['', ''],
572-
[' ', ' '],
573-
['test', 'test'],
574-
['test\\test', 'test\\test'],
575-
['null\\null', 'null\\null'],
576-
['\\null\\null', '\\null\\null'],
577-
['\\=test', '=test'],
578579
['=test', '=test'],
579-
['\\test', '\\test'],
580580
['null', 'null'],
581-
['\\null', 'null'],
582-
['\\\\null', '\\null'],
583-
['\\NULL', 'NULL'],
584-
['\\=null', '=null'],
585-
['\\!null', '!null'],
586-
['\\!=null', '!=null'],
587-
['\\*fish', '*fish'],
588581
['*fish', '*fish'],
589-
['\\=*fish', '=*fish'],
590-
['shooting\\*', 'shooting*'],
591582
['shooting*', 'shooting*'],
592-
['\\!=shooting*', '!=shooting*'],
593583
['=', '='],
594584
['==', '=='],
595-
['\\==', '=='],
596-
['\\=', '='],
597-
['\\!=', '!='],
598-
['\\!~', '!~'],
599-
['\\~', '~'],
600-
['\\!', '!'],
601585
])(
602586
'given %p, unescape quick filter should return %p',
603587
(testCase, expectedResult) => {

0 commit comments

Comments
 (0)