Fix is empty and non empty filter for numbers (#16424)
isNonEmptyString does not work for a number. We need to properly handle null and undefined
This commit is contained in:
+4
-12
@@ -241,18 +241,10 @@ function evaluateDateFilter(filter: ResolvedFilter): boolean {
|
||||
);
|
||||
|
||||
case ViewFilterOperand.IS_EMPTY:
|
||||
return (
|
||||
filter.leftOperand === null ||
|
||||
filter.leftOperand === undefined ||
|
||||
filter.leftOperand === ''
|
||||
);
|
||||
return !isDefined(filter.leftOperand) || filter.leftOperand === '';
|
||||
|
||||
case ViewFilterOperand.IS_NOT_EMPTY:
|
||||
return (
|
||||
filter.leftOperand !== null &&
|
||||
filter.leftOperand !== undefined &&
|
||||
filter.leftOperand !== ''
|
||||
);
|
||||
return isDefined(filter.leftOperand) && filter.leftOperand !== '';
|
||||
|
||||
case ViewFilterOperand.IS_RELATIVE:
|
||||
return parseAndEvaluateRelativeDateFilter({
|
||||
@@ -341,10 +333,10 @@ function evaluateNumberFilter(filter: ResolvedFilter): boolean {
|
||||
return Number(leftValue) <= Number(rightValue);
|
||||
|
||||
case ViewFilterOperand.IS_EMPTY:
|
||||
return !isNonEmptyString(leftValue);
|
||||
return !isDefined(filter.leftOperand) || filter.leftOperand === '';
|
||||
|
||||
case ViewFilterOperand.IS_NOT_EMPTY:
|
||||
return isNonEmptyString(leftValue);
|
||||
return isDefined(filter.leftOperand) && filter.leftOperand !== '';
|
||||
|
||||
case ViewFilterOperand.IS:
|
||||
return Number(leftValue) === Number(rightValue);
|
||||
|
||||
Reference in New Issue
Block a user