CE-1068: bug fixes

This commit is contained in:
Tim Chamberlain
2024-05-01 10:04:20 -05:00
parent 7e40fa90e9
commit a6662eeb07
2 changed files with 29 additions and 28 deletions

View File

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

View File

@ -109,6 +109,7 @@ class FilterUtils
let [field, fieldTable] = TableUtils.getFieldAndTable(tableMetaData, criteria.fieldName);
let values = criteria.values;
let hasFilterVariable = false;
if (field.possibleValueSourceName)
{
//////////////////////////////////////////////////////////////////////////////////
@ -121,9 +122,16 @@ class FilterUtils
// possible values, and a general "bad time" //
//////////////////////////////////////////////////////////////////////////////////
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);
}
}
////////////////////////////////////////////
// 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++)
{