mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-18 13:20:43 +00:00
CE-793 - Add return type to validateCriteria; switch to work on criteria.operator, not operatorSelectedValue (enum)
This commit is contained in:
@ -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,37 +211,34 @@ 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 //
|
||||||
|
//////////////////////////////////
|
||||||
|
}
|
||||||
|
else if (criteria.operator == QCriteriaOperator.BETWEEN || criteria.operator == QCriteriaOperator.NOT_BETWEEN)
|
||||||
|
{
|
||||||
|
if (criteria.values.length < 2 || isNotSet(criteria.values[0]) || isNotSet(criteria.values[1]))
|
||||||
{
|
{
|
||||||
//////////////////////////////////
|
criteriaIsValid = false;
|
||||||
// don't need to look at values //
|
criteriaStatusTooltip = "You must enter two values to complete the definition of this condition.";
|
||||||
//////////////////////////////////
|
|
||||||
}
|
}
|
||||||
else if (operatorSelectedValue.valueMode == ValueMode.DOUBLE || operatorSelectedValue.valueMode == ValueMode.DOUBLE_DATE || operatorSelectedValue.valueMode == ValueMode.DOUBLE_DATE_TIME)
|
}
|
||||||
|
else if (criteria.operator == QCriteriaOperator.IN || criteria.operator == QCriteriaOperator.NOT_IN)
|
||||||
|
{
|
||||||
|
if (criteria.values.length < 1 || isNotSet(criteria.values[0]))
|
||||||
{
|
{
|
||||||
if (criteria.values.length < 2 || isNotSet(criteria.values[0]) || isNotSet(criteria.values[1]))
|
criteriaIsValid = false;
|
||||||
{
|
criteriaStatusTooltip = "You must enter one or more values complete the definition of this condition.";
|
||||||
criteriaIsValid = false;
|
|
||||||
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.values || isNotSet(criteria.values[0]))
|
||||||
{
|
{
|
||||||
if (criteria.values.length < 1 || isNotSet(criteria.values[0]))
|
criteriaIsValid = false;
|
||||||
{
|
criteriaStatusTooltip = "You must enter a value to complete the definition of this condition.";
|
||||||
criteriaIsValid = false;
|
|
||||||
criteriaStatusTooltip = "You must enter one or more values complete the definition of this condition.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!criteria.values || isNotSet(criteria.values[0]))
|
|
||||||
{
|
|
||||||
criteriaIsValid = false;
|
|
||||||
criteriaStatusTooltip = "You must enter a value to complete the definition of this condition.";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user