CE-793 - Add return type to validateCriteria; switch to work on criteria.operator, not operatorSelectedValue (enum)

This commit is contained in:
2024-01-29 20:01:46 -06:00
parent f485a8c90e
commit 4d5beea607

View File

@ -24,7 +24,7 @@ import {QInstance} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QInstan
import {QTableMetaData} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QTableMetaData"; import {QTableMetaData} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QTableMetaData";
import {QCriteriaOperator} from "@kingsrook/qqq-frontend-core/lib/model/query/QCriteriaOperator"; import {QCriteriaOperator} from "@kingsrook/qqq-frontend-core/lib/model/query/QCriteriaOperator";
import {QFilterCriteria} from "@kingsrook/qqq-frontend-core/lib/model/query/QFilterCriteria"; import {QFilterCriteria} from "@kingsrook/qqq-frontend-core/lib/model/query/QFilterCriteria";
import Autocomplete, {AutocompleteRenderOptionState} from "@mui/material/Autocomplete"; import Autocomplete from "@mui/material/Autocomplete";
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import FormControl from "@mui/material/FormControl/FormControl"; import FormControl from "@mui/material/FormControl/FormControl";
import Icon from "@mui/material/Icon/Icon"; import Icon from "@mui/material/Icon/Icon";
@ -182,7 +182,7 @@ FilterCriteriaRow.defaultProps =
{ {
}; };
export function validateCriteria(criteria: QFilterCriteria, operatorSelectedValue: OperatorOption) export function validateCriteria(criteria: QFilterCriteria, operatorSelectedValue: OperatorOption): {criteriaIsValid: boolean, criteriaStatusTooltip: string}
{ {
let criteriaIsValid = true; let criteriaIsValid = true;
let criteriaStatusTooltip = "This condition is fully defined and is part of your filter."; let criteriaStatusTooltip = "This condition is fully defined and is part of your filter.";
@ -211,15 +211,13 @@ export function validateCriteria(criteria: QFilterCriteria, operatorSelectedValu
} }
else else
{ {
if (operatorSelectedValue) if (criteria.operator == QCriteriaOperator.IS_BLANK || criteria.operator == QCriteriaOperator.IS_NOT_BLANK)
{
if (operatorSelectedValue.valueMode == ValueMode.NONE || operatorSelectedValue.implicitValues)
{ {
////////////////////////////////// //////////////////////////////////
// don't need to look at values // // don't need to look at values //
////////////////////////////////// //////////////////////////////////
} }
else if (operatorSelectedValue.valueMode == ValueMode.DOUBLE || operatorSelectedValue.valueMode == ValueMode.DOUBLE_DATE || operatorSelectedValue.valueMode == ValueMode.DOUBLE_DATE_TIME) else if (criteria.operator == QCriteriaOperator.BETWEEN || criteria.operator == QCriteriaOperator.NOT_BETWEEN)
{ {
if (criteria.values.length < 2 || isNotSet(criteria.values[0]) || isNotSet(criteria.values[1])) if (criteria.values.length < 2 || isNotSet(criteria.values[0]) || isNotSet(criteria.values[1]))
{ {
@ -227,7 +225,7 @@ export function validateCriteria(criteria: QFilterCriteria, operatorSelectedValu
criteriaStatusTooltip = "You must enter two values to complete the definition of this condition."; criteriaStatusTooltip = "You must enter two values to complete the definition of this condition.";
} }
} }
else if (operatorSelectedValue.valueMode == ValueMode.MULTI || operatorSelectedValue.valueMode == ValueMode.PVS_MULTI) else if (criteria.operator == QCriteriaOperator.IN || criteria.operator == QCriteriaOperator.NOT_IN)
{ {
if (criteria.values.length < 1 || isNotSet(criteria.values[0])) if (criteria.values.length < 1 || isNotSet(criteria.values[0]))
{ {
@ -244,7 +242,6 @@ export function validateCriteria(criteria: QFilterCriteria, operatorSelectedValu
} }
} }
} }
}
return {criteriaIsValid, criteriaStatusTooltip}; return {criteriaIsValid, criteriaStatusTooltip};
} }