From 4e81aab60a587b102305a255891986e592a0d1a4 Mon Sep 17 00:00:00 2001 From: Gilles De Mey Date: Mon, 6 Mar 2023 15:46:55 +0100 Subject: [PATCH] Alerting: Fix queries not being previewed in detail view (#64198) --- .../alerting/unified/hooks/useAlertQueriesStatus.ts | 9 ++++++++- public/app/features/alerting/unified/utils/query.ts | 3 ++- public/app/features/expressions/guards.ts | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/public/app/features/alerting/unified/hooks/useAlertQueriesStatus.ts b/public/app/features/alerting/unified/hooks/useAlertQueriesStatus.ts index 4a7b3386a92..af3b744ceaa 100644 --- a/public/app/features/alerting/unified/hooks/useAlertQueriesStatus.ts +++ b/public/app/features/alerting/unified/hooks/useAlertQueriesStatus.ts @@ -1,11 +1,18 @@ import { useMemo } from 'react'; import { getDataSourceSrv } from '@grafana/runtime'; +import { isExpressionReference } from '@grafana/runtime/src/utils/DataSourceWithBackend'; import { AlertQuery } from 'app/types/unified-alerting-dto'; export function useAlertQueriesStatus(queries: AlertQuery[]) { const allDataSourcesAvailable = useMemo( - () => queries.every((query) => Boolean(getDataSourceSrv().getInstanceSettings(query.datasourceUid))), + () => + queries + .filter((query) => !isExpressionReference(query.datasourceUid)) + .every((query) => { + const instanceSettings = getDataSourceSrv().getInstanceSettings(query.datasourceUid); + return Boolean(instanceSettings); + }), [queries] ); diff --git a/public/app/features/alerting/unified/utils/query.ts b/public/app/features/alerting/unified/utils/query.ts index 7acba5a623a..0f5648638a6 100644 --- a/public/app/features/alerting/unified/utils/query.ts +++ b/public/app/features/alerting/unified/utils/query.ts @@ -1,4 +1,5 @@ -import { DataQuery, DataSourceInstanceSettings } from '@grafana/data'; +import { DataSourceInstanceSettings } from '@grafana/data'; +import { DataQuery } from '@grafana/schema'; import { LokiQuery } from 'app/plugins/datasource/loki/types'; import { PromQuery } from 'app/plugins/datasource/prometheus/types'; import { CombinedRule } from 'app/types/unified-alerting'; diff --git a/public/app/features/expressions/guards.ts b/public/app/features/expressions/guards.ts index e22053d5b72..ba272a88537 100644 --- a/public/app/features/expressions/guards.ts +++ b/public/app/features/expressions/guards.ts @@ -1,5 +1,5 @@ -import { DataQuery } from '@grafana/data'; import { isExpressionReference } from '@grafana/runtime/src/utils/DataSourceWithBackend'; +import { DataQuery } from '@grafana/schema'; import { ExpressionQuery, ExpressionQueryType } from './types';