Merge branch 'feature/CE-1068-add-basic-functionality-of' into integration/sprint-41

This commit is contained in:
Tim Chamberlain
2024-05-01 10:21:54 -05:00
2 changed files with 29 additions and 28 deletions

View File

@ -286,7 +286,7 @@ function FilterCriteriaRowValues({operatorOption, criteria, field, table, valueC
isExpression ? ( isExpression ? (
makeTextField(field, criteria, valueChangeHandler, 0, undefined, undefined, allowVariables) makeTextField(field, criteria, valueChangeHandler, 0, undefined, undefined, allowVariables)
) : ( ) : (
<Box mb={-1.5} width={allowVariables && !isExpression ? "100%" : "100%"}> <Box width={"100%"}>
<DynamicSelect <DynamicSelect
tableName={table.name} tableName={table.name}
fieldName={field.name} fieldName={field.name}
@ -320,12 +320,7 @@ function FilterCriteriaRowValues({operatorOption, criteria, field, table, valueC
initialValues = criteria.values; initialValues = criteria.values;
} }
} }
return <Box display="flex"> return <Box mb={-1.5}>
{
isExpression ? (
makeTextField(field, criteria, valueChangeHandler, 0, undefined, undefined, allowVariables)
) : (
<Box mb={-1.5} width={allowVariables && !isExpression ? "90%" : "100%"}>
<DynamicSelect <DynamicSelect
tableName={table.name} tableName={table.name}
fieldName={field.name} fieldName={field.name}
@ -339,12 +334,6 @@ function FilterCriteriaRowValues({operatorOption, criteria, field, table, valueC
onChange={(value: any) => valueChangeHandler(null, "all", value)} onChange={(value: any) => valueChangeHandler(null, "all", value)}
variant="standard" variant="standard"
/> />
</Box>
)
}
{
allowVariables && !isExpression && <Box mt={2.0} sx={{width: "10%"}}><AssignFilterVariable field={field} valueChangeHandler={valueChangeHandler} valueIndex={0} /></Box>
}
</Box>; </Box>;
} }

View File

@ -109,6 +109,7 @@ class FilterUtils
let [field, fieldTable] = TableUtils.getFieldAndTable(tableMetaData, criteria.fieldName); let [field, fieldTable] = TableUtils.getFieldAndTable(tableMetaData, criteria.fieldName);
let values = criteria.values; let values = criteria.values;
let hasFilterVariable = false;
if (field.possibleValueSourceName) if (field.possibleValueSourceName)
{ {
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -121,9 +122,16 @@ class FilterUtils
// possible values, and a general "bad time" // // possible values, and a general "bad time" //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
if (values && values.length > 0 && values[0] !== null && values[0] !== undefined && values[0] !== "") if (values && values.length > 0 && values[0] !== null && values[0] !== undefined && values[0] !== "")
{
if (values[0].type && values[0].type == "FilterVariableExpression")
{
hasFilterVariable = true;
}
else
{ {
values = await qController.possibleValues(fieldTable.name, null, field.name, "", values); values = await qController.possibleValues(fieldTable.name, null, field.name, "", values);
} }
}
//////////////////////////////////////////// ////////////////////////////////////////////
// log message if no values were returned // // log message if no values were returned //
@ -134,7 +142,11 @@ class FilterUtils
} }
} }
if (values && values.length) if (hasFilterVariable)
{
values[0] = new FilterVariableExpression({fieldName: field.name, valueIndex: 0});
}
else if (values && values.length)
{ {
for (let i = 0; i < values.length; i++) for (let i = 0; i < values.length; i++)
{ {