From 269ae0d7bef09b5080209fc9277cdddbd03ac87f Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Mon, 6 Mar 2023 16:58:52 +0200 Subject: [PATCH] [v9.4.x] Alerting: Fix queries not being previewed in detail view (#64235) Co-authored-by: Gilles De Mey 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';