From c7eef3ee04057d8a89f9797a5b2834dedc6e6719 Mon Sep 17 00:00:00 2001 From: Matej Kubinec Date: Thu, 29 Feb 2024 07:03:26 +0100 Subject: [PATCH] PMM-12741 Add check for alerting enabled --- .../unified/MoreActionsRuleButtons.tsx | 21 ++++++++++------- .../unified/components/rules/NoRulesCTA.tsx | 23 +++++++++++-------- .../integrated-alerting/hooks/index.ts | 1 + .../hooks/usePerconaAlertingEnabled.ts | 8 +++++++ 4 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 public/app/percona/integrated-alerting/hooks/index.ts create mode 100644 public/app/percona/integrated-alerting/hooks/usePerconaAlertingEnabled.ts diff --git a/public/app/features/alerting/unified/MoreActionsRuleButtons.tsx b/public/app/features/alerting/unified/MoreActionsRuleButtons.tsx index ea5f10d63959f..7e3fc61e48995 100644 --- a/public/app/features/alerting/unified/MoreActionsRuleButtons.tsx +++ b/public/app/features/alerting/unified/MoreActionsRuleButtons.tsx @@ -5,6 +5,7 @@ import { useToggle } from 'react-use'; import { urlUtil } from '@grafana/data'; import { Button, Dropdown, Icon, LinkButton, Menu, MenuItem } from '@grafana/ui'; +import { usePerconaAlertingEnabled } from 'app/percona/integrated-alerting/hooks'; import { logInfo, LogMessages } from './Analytics'; import { GrafanaRulesExporter } from './components/export/GrafanaRulesExporter'; @@ -18,6 +19,8 @@ export function MoreActionsRuleButtons({}: Props) { const [exportRulesSupported, exportRulesAllowed] = useAlertingAbility(AlertingAction.ExportGrafanaManagedRules); const location = useLocation(); + // @PERCONA + const perconaAlertingEnabled = usePerconaAlertingEnabled(); const [showExportDrawer, toggleShowExportDrawer] = useToggle(false); const canCreateGrafanaRules = createRuleSupported && createRuleAllowed; @@ -49,15 +52,17 @@ export function MoreActionsRuleButtons({}: Props) { {(canCreateGrafanaRules || canCreateCloudRules) && ( <> {/* @PERCONA */} + {perconaAlertingEnabled && ( + logInfo(LogMessages.alertRuleFromScratch)} + > + New alert rule from template + + )} logInfo(LogMessages.alertRuleFromScratch)} - > - New alert rule from template - - logInfo(LogMessages.alertRuleFromScratch)} diff --git a/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx b/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx index 1b1ea6d4d2a34..ea582b10bba96 100644 --- a/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx +++ b/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx @@ -4,11 +4,14 @@ import React from 'react'; import { GrafanaTheme2 } from '@grafana/data/src/themes'; import { CallToActionCard, useStyles2, Stack } from '@grafana/ui'; import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA'; +import { usePerconaAlertingEnabled } from 'app/percona/integrated-alerting/hooks'; import { logInfo, LogMessages } from '../../Analytics'; import { useRulesAccess } from '../../utils/accessControlHooks'; export const NoRulesSplash = () => { + // @PERCONA + const perconaAlertingEnabled = usePerconaAlertingEnabled(); const { canCreateGrafanaRules, canCreateCloudRules } = useRulesAccess(); const styles = useStyles2(getStyles); if (canCreateGrafanaRules || canCreateCloudRules) { @@ -16,15 +19,17 @@ export const NoRulesSplash = () => {

{"You haven't created any alert rules yet"}

-
- logInfo(LogMessages.alertRuleFromScratch)} - /> -
+ {perconaAlertingEnabled && ( +
+ logInfo(LogMessages.alertRuleFromScratch)} + /> +
+ )}
{ + const { result: settings } = useSelector(getPerconaSettings); + + return !!settings?.alertingEnabled; +};