mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: automatically select last expression (#48787)
This commit is contained in:
parent
4fbd974471
commit
2d6ab03e4f
@ -29,9 +29,20 @@ export const ConditionField: FC = () => {
|
|||||||
[queries]
|
[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
|
// reset condition if option no longer exists or if it is unset, but there are options available
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const expressions = queries.filter((query) => query.datasourceUid === ExpressionDatasourceUID);
|
|
||||||
const lastExpression = last(expressions);
|
const lastExpression = last(expressions);
|
||||||
const conditionExists = options.find(({ value }) => value === condition);
|
const conditionExists = options.find(({ value }) => value === condition);
|
||||||
|
|
||||||
@ -40,7 +51,7 @@ export const ConditionField: FC = () => {
|
|||||||
} else if (!condition && lastExpression) {
|
} else if (!condition && lastExpression) {
|
||||||
setValue('condition', lastExpression.refId, { shouldValidate: true });
|
setValue('condition', lastExpression.refId, { shouldValidate: true });
|
||||||
}
|
}
|
||||||
}, [condition, options, queries, setValue]);
|
}, [condition, expressions, options, setValue]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Field
|
<Field
|
||||||
|
Loading…
Reference in New Issue
Block a user