Alerting: automatically select last expression (#48787)

This commit is contained in:
Gilles De Mey 2022-05-06 15:39:24 +02:00 committed by GitHub
parent 4fbd974471
commit 2d6ab03e4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,9 +29,20 @@ export const ConditionField: FC = () => {
[queries]
);
const expressions = useMemo(() => {
return queries.filter((query) => query.datasourceUid === ExpressionDatasourceUID);
}, [queries]);
// automatically use the last expression when new expressions have been added
useEffect(() => {
const lastExpression = last(expressions);
if (lastExpression) {
setValue('condition', lastExpression.refId, { shouldValidate: true });
}
}, [expressions, setValue]);
// reset condition if option no longer exists or if it is unset, but there are options available
useEffect(() => {
const expressions = queries.filter((query) => query.datasourceUid === ExpressionDatasourceUID);
const lastExpression = last(expressions);
const conditionExists = options.find(({ value }) => value === condition);
@ -40,7 +51,7 @@ export const ConditionField: FC = () => {
} else if (!condition && lastExpression) {
setValue('condition', lastExpression.refId, { shouldValidate: true });
}
}, [condition, options, queries, setValue]);
}, [condition, expressions, options, setValue]);
return (
<Field