From 7b70f0301d4d247e81e2b234c30f31bbbb9b493a Mon Sep 17 00:00:00 2001 From: Vlad Babich Date: Fri, 17 Mar 2023 10:11:55 -0600 Subject: [PATCH] DH-14439 Fix QueryMonitor breaking on null in default search filter --- packages/jsapi-utils/src/TableUtils.test.ts | 8 ++++++++ packages/jsapi-utils/src/TableUtils.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/jsapi-utils/src/TableUtils.test.ts b/packages/jsapi-utils/src/TableUtils.test.ts index f08f500543..5b45d1894f 100644 --- a/packages/jsapi-utils/src/TableUtils.test.ts +++ b/packages/jsapi-utils/src/TableUtils.test.ts @@ -1595,6 +1595,14 @@ describe('quick filter tests', () => { testTextFilter('=null', FilterType.isNull); }); + it('handles in/starts with/ends with null cases', () => { + testInvokeFilter('~null', 'matches', '(?s)(?i).*\\Qnull\\E.*'); + testInvokeFilter('null*', 'matches', '(?s)(?i)^\\Qnull\\E.*'); + testInvokeFilter('=null*', 'matches', '(?s)(?i)^\\Qnull\\E.*'); + testInvokeFilter('*null', 'matches', '(?s)(?i).*\\Qnull\\E$'); + testInvokeFilter('=*null', 'matches', '(?s)(?i).*\\Qnull\\E$'); + }); + it('handles not null cases', () => { const column = makeFilterColumn(); const filter = column.filter() as MockFilter; diff --git a/packages/jsapi-utils/src/TableUtils.ts b/packages/jsapi-utils/src/TableUtils.ts index 1d9700e31a..5e05632ad1 100644 --- a/packages/jsapi-utils/src/TableUtils.ts +++ b/packages/jsapi-utils/src/TableUtils.ts @@ -678,7 +678,7 @@ export class TableUtils { case '!': return filter.isNull().not(); default: - return null; + // For all other operations, treat null as a string value } }