From ef641ea9c9a420ef18183f3db35dbad52b6ca150 Mon Sep 17 00:00:00 2001 From: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com> Date: Wed, 28 Sep 2022 14:41:54 +0200 Subject: [PATCH] Alerting: fix alert supported warning when editing data source name (#55886) --- .../datasources/components/BasicSettings.test.tsx | 1 + .../features/datasources/components/BasicSettings.tsx | 10 +++------- .../features/datasources/components/EditDataSource.tsx | 9 ++++++++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/public/app/features/datasources/components/BasicSettings.test.tsx b/public/app/features/datasources/components/BasicSettings.test.tsx index b8ffbb5196e..9184babbe68 100644 --- a/public/app/features/datasources/components/BasicSettings.test.tsx +++ b/public/app/features/datasources/components/BasicSettings.test.tsx @@ -11,6 +11,7 @@ const setup = () => { isDefault: false, onDefaultChange: jest.fn(), onNameChange: jest.fn(), + alertingSupported: false, }; return render(); diff --git a/public/app/features/datasources/components/BasicSettings.tsx b/public/app/features/datasources/components/BasicSettings.tsx index 59b0bf5fe2d..14a81bcb281 100644 --- a/public/app/features/datasources/components/BasicSettings.tsx +++ b/public/app/features/datasources/components/BasicSettings.tsx @@ -3,7 +3,6 @@ import React from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors'; -import { getDataSourceSrv } from '@grafana/runtime'; import { InlineField, InlineSwitch, Input, Badge, useStyles2 } from '@grafana/ui'; export interface Props { @@ -11,16 +10,13 @@ export interface Props { isDefault: boolean; onNameChange: (name: string) => void; onDefaultChange: (value: boolean) => void; + alertingSupported: boolean; } -export function BasicSettings({ dataSourceName, isDefault, onDefaultChange, onNameChange }: Props) { - const ds = getDataSourceSrv()?.getInstanceSettings(dataSourceName); - const hasAlertingEnabled = Boolean(ds?.meta?.alerting ?? false); - const isAlertManagerDatasource = ds?.type === 'alertmanager'; - +export function BasicSettings({ dataSourceName, isDefault, onDefaultChange, onNameChange, alertingSupported }: Props) { return ( <> - {} + {}
{/* Name */} diff --git a/public/app/features/datasources/components/EditDataSource.tsx b/public/app/features/datasources/components/EditDataSource.tsx index f5e8eacc621..d5d764db2f8 100644 --- a/public/app/features/datasources/components/EditDataSource.tsx +++ b/public/app/features/datasources/components/EditDataSource.tsx @@ -2,6 +2,7 @@ import { AnyAction } from '@reduxjs/toolkit'; import React from 'react'; import { DataSourcePluginMeta, DataSourceSettings as DataSourceSettingsType } from '@grafana/data'; +import { getDataSourceSrv } from '@grafana/runtime'; import PageLoader from 'app/core/components/PageLoader/PageLoader'; import { DataSourceSettingsState, useDispatch } from 'app/types'; @@ -106,9 +107,14 @@ export function EditDataSourceView({ const { readOnly, hasWriteRights, hasDeleteRights } = dataSourceRights; const hasDataSource = dataSource.id > 0; + const ds = getDataSourceSrv()?.getInstanceSettings(dataSource.uid); + + const hasAlertingEnabled = Boolean(ds?.meta?.alerting ?? false); + const isAlertManagerDatasource = ds?.type === 'alertmanager'; + const alertingSupported = hasAlertingEnabled || isAlertManagerDatasource; + const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); - await onUpdate({ ...dataSource }); onTest(); @@ -144,6 +150,7 @@ export function EditDataSourceView({ isDefault={dataSource.isDefault} onDefaultChange={onDefaultChange} onNameChange={onNameChange} + alertingSupported={alertingSupported} /> {plugin && (