feat: prefill legend and unit in MetricGraphConfig on metric change

This commit is contained in:
Nawaz Dhandala
2026-03-30 13:56:02 +01:00
parent 194bb87b45
commit 38ff1ae0c7

View File

@@ -64,6 +64,43 @@ const MetricGraphConfig: FunctionComponent<ComponentProps> = (
props.onBlur?.();
props.onFocus?.();
if (props.onChange) {
const selectedMetricName: string | undefined =
data.filterData?.metricName?.toString();
const previousMetricName: string | undefined =
props.data?.metricQueryData?.filterData?.metricName?.toString();
// If metric changed, prefill legend and unit from MetricType
if (
selectedMetricName &&
selectedMetricName !== previousMetricName
) {
const metricType: MetricType | undefined =
props.metricTypes.find((m: MetricType) => {
return m.name === selectedMetricName;
});
if (metricType) {
const currentAlias: MetricAliasData =
props.data.metricAliasData || defaultAliasData;
props.onChange({
...props.data,
metricQueryData: data,
metricAliasData: {
...currentAlias,
legend: currentAlias.legend || metricType.name || "",
legendUnit:
currentAlias.legendUnit || metricType.unit || "",
description:
currentAlias.description ||
metricType.description ||
"",
},
});
return;
}
}
props.onChange({ ...props.data, metricQueryData: data });
}
}}