From 2a62982885a9b92619096149f198a3b4529ee525 Mon Sep 17 00:00:00 2001 From: Vikrant Gupta Date: Thu, 14 Mar 2024 13:33:35 +0530 Subject: [PATCH] feat: support case insensitive operators (#4379) --- .../QueryBuilder/filters/QueryBuilderSearch/utils.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts b/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts index c549a6fd62..ec7eba3973 100644 --- a/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts +++ b/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts @@ -5,7 +5,7 @@ import { parse } from 'papaparse'; import { orderByValueDelimiter } from '../OrderByFilter/utils'; // eslint-disable-next-line no-useless-escape -export const tagRegexp = /^\s*(.*?)\s*(IN|NOT_IN|LIKE|NOT_LIKE|REGEX|NOT_REGEX|=|!=|EXISTS|NOT_EXISTS|CONTAINS|NOT_CONTAINS|>=|>|<=|<|HAS|NHAS)\s*(.*)$/g; +export const tagRegexp = /^\s*(.*?)\s*(\bIN\b|\bNOT_IN\b|\bLIKE\b|\bNOT_LIKE\b|\bREGEX\b|\bNOT_REGEX\b|=|!=|\bEXISTS\b|\bNOT_EXISTS\b|\bCONTAINS\b|\bNOT_CONTAINS\b|>=|>|<=|<|\bHAS\b|\bNHAS\b)\s*(.*)$/gi; export function isInNInOperator(value: string): boolean { return value === OPERATORS.IN || value === OPERATORS.NIN; @@ -25,8 +25,8 @@ export function getTagToken(tag: string): ITagToken { const [, matchTagKey, matchTagOperator, matchTagValue] = match; return { tagKey: matchTagKey, - tagOperator: matchTagOperator, - tagValue: isInNInOperator(matchTagOperator) + tagOperator: matchTagOperator.toUpperCase(), + tagValue: isInNInOperator(matchTagOperator.toUpperCase()) ? parse(matchTagValue).data.flat() : matchTagValue, } as ITagToken;