From 26c402928e66e8fb62153bf62709e9f8337979fc Mon Sep 17 00:00:00 2001 From: Nawaz Dhandala Date: Mon, 30 Mar 2026 13:45:59 +0100 Subject: [PATCH] feat: add warning and critical threshold inputs to MetricGraphConfig and update MetricQueryConfigData interface --- .../Components/Metrics/MetricQueryConfig.tsx | 69 +++++++++++++++---- .../DashboardChartComponent.ts | 8 --- Common/Types/Metrics/MetricQueryConfigData.ts | 2 + .../Components/DashboardChartComponent.ts | 28 -------- 4 files changed, 58 insertions(+), 49 deletions(-) diff --git a/App/FeatureSet/Dashboard/src/Components/Metrics/MetricQueryConfig.tsx b/App/FeatureSet/Dashboard/src/Components/Metrics/MetricQueryConfig.tsx index b8036c7c0f..3eb988ab54 100644 --- a/App/FeatureSet/Dashboard/src/Components/Metrics/MetricQueryConfig.tsx +++ b/App/FeatureSet/Dashboard/src/Components/Metrics/MetricQueryConfig.tsx @@ -11,6 +11,7 @@ import MetricAliasData from "Common/Types/Metrics/MetricAliasData"; import MetricQueryData from "Common/Types/Metrics/MetricQueryData"; import { GetReactElementFunction } from "Common/UI/Types/FunctionTypes"; import MetricType from "Common/Models/DatabaseModels/MetricType"; +import Input, { InputType } from "Common/UI/Components/Input/Input"; export interface ComponentProps { data: MetricQueryConfigData; @@ -34,22 +35,28 @@ export interface ComponentProps { const MetricGraphConfig: FunctionComponent = ( props: ComponentProps, ): ReactElement => { + const defaultAliasData: MetricAliasData = { + metricVariable: undefined, + title: undefined, + description: undefined, + legend: undefined, + legendUnit: undefined, + }; + const getContent: GetReactElementFunction = (): ReactElement => { return (
- {props.data?.metricAliasData && ( - { - props.onBlur?.(); - props.onFocus?.(); - if (props.onChange) { - props.onChange({ ...props.data, metricAliasData: data }); - } - }} - isFormula={false} - /> - )} + { + props.onBlur?.(); + props.onFocus?.(); + if (props.onChange) { + props.onChange({ ...props.data, metricAliasData: data }); + } + }} + isFormula={false} + /> {props.data?.metricQueryData && ( = ( onAttributesRetry={props.onAttributesRetry} /> )} +
+
+ { + props.onBlur?.(); + props.onFocus?.(); + if (props.onChange) { + props.onChange({ + ...props.data, + warningThreshold: value ? Number(value) : undefined, + }); + } + }} + placeholder="Warning Threshold" + /> +
+
+ { + props.onBlur?.(); + props.onFocus?.(); + if (props.onChange) { + props.onChange({ + ...props.data, + criticalThreshold: value ? Number(value) : undefined, + }); + } + }} + placeholder="Critical Threshold" + /> +
+
{props.onRemove && (