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,31 +320,20 @@ 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%"}>
<DynamicSelect
tableName={table.name}
fieldName={field.name}
overrideId={field.name + "-multi-" + criteria.id}
key={field.name + "-multi-" + criteria.id}
isMultiple
fieldLabel="Values"
initialValues={initialValues}
initiallyOpen={false /*initiallyOpenMultiValuePvs*/}
inForm={false}
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>
}
return <Box mb={-1.5}>
<DynamicSelect
tableName={table.name}
fieldName={field.name}
overrideId={field.name + "-multi-" + criteria.id}
key={field.name + "-multi-" + criteria.id}
isMultiple
fieldLabel="Values"
initialValues={initialValues}
initiallyOpen={false /*initiallyOpenMultiValuePvs*/}
inForm={false}
onChange={(value: any) => valueChangeHandler(null, "all", value)}
variant="standard"
/>
</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)
{
//////////////////////////////////////////////////////////////////////////////////
@ -122,7 +123,14 @@ class FilterUtils
//////////////////////////////////////////////////////////////////////////////////
if (values && values.length > 0 && values[0] !== null && values[0] !== undefined && values[0] !== "")
{
values = await qController.possibleValues(fieldTable.name, null, field.name, "", values);
if (values[0].type && values[0].type == "FilterVariableExpression")
{
hasFilterVariable = true;
}
else
{
values = await qController.possibleValues(fieldTable.name, null, field.name, "", values);
}
}
////////////////////////////////////////////
@ -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++)
{