From 3bc593cdb2a0c869aa3fbcc1d831484860d62add Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Tue, 24 Jan 2023 11:21:11 +0100 Subject: [PATCH] When removing Slack ChatOps integration, warn the user of the implications (#1192) # What this PR does - When removing Slack ChatOps integration, warn the user of the implications of doing so + make them confirm the deletion by having to type `DELETE`: ![Screenshot 2023-01-23 at 15 01 27](https://user-images.githubusercontent.com/9406895/214060105-1af61170-3141-488c-8977-2809edb04faa.png) - remove `grafana-plugin/src/containers/SlackIntegrationButton/SlackIntegrationButton.tsx` component as it is not referenced anywhere + remove `grafana-plugin/src/img/slack_workspace_choose_attention.png` as this was only referenced in `SlackIntegrationButton.tsx` ## Which issue(s) this PR fixes https://github.com/grafana/oncall-private/issues/1588 ## Checklist - [ ] Tests updated (N/A) - [ ] Documentation added (N/A) - [x] `CHANGELOG.md` updated --- CHANGELOG.md | 1 + .../components/WithConfirm/WithConfirm.tsx | 23 +++-- .../SlackIntegrationButton.tsx | 97 ------------------ .../img/slack_workspace_choose_attention.png | Bin 43568 -> 0 bytes .../tabs/SlackSettings/SlackSettings.tsx | 38 ++++--- 5 files changed, 40 insertions(+), 119 deletions(-) delete mode 100644 grafana-plugin/src/containers/SlackIntegrationButton/SlackIntegrationButton.tsx delete mode 100644 grafana-plugin/src/img/slack_workspace_choose_attention.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 1354cdd2..bb001bae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Allow users with `viewer` role to fetch cloud connection status using the internal API ([#1181](https://github.com/grafana/oncall/pull/1181)) +- When removing the Slack ChatOps integration, make it more explicit to the user what the implications of doing so are ### Fixed diff --git a/grafana-plugin/src/components/WithConfirm/WithConfirm.tsx b/grafana-plugin/src/components/WithConfirm/WithConfirm.tsx index e16e288b..569cee31 100644 --- a/grafana-plugin/src/components/WithConfirm/WithConfirm.tsx +++ b/grafana-plugin/src/components/WithConfirm/WithConfirm.tsx @@ -1,18 +1,21 @@ import React, { ReactElement, useCallback, useState } from 'react'; -import { ConfirmModal } from '@grafana/ui'; +import { ConfirmModal, ConfirmModalProps } from '@grafana/ui'; -interface WithConfirmProps { +type WithConfirmProps = Partial & { children: ReactElement; - title?: string; - body?: React.ReactNode; - confirmText?: string; disabled?: boolean; -} - -const WithConfirm = (props: WithConfirmProps) => { - const { children, title = 'Are you sure to delete?', body, confirmText = 'Delete', disabled } = props; +}; +const WithConfirm: React.FC = ({ + title = 'Are you sure to delete?', + confirmText = 'Delete', + body, + description, + confirmationText, + children, + disabled, +}) => { const [showConfirmation, setShowConfirmation] = useState(false); const onClickCallback = useCallback((event) => { @@ -39,6 +42,8 @@ const WithConfirm = (props: WithConfirmProps) => { dismissText="Cancel" onConfirm={onConfirmCallback} body={body} + description={description} + confirmationText={confirmationText} onDismiss={() => { setShowConfirmation(false); }} diff --git a/grafana-plugin/src/containers/SlackIntegrationButton/SlackIntegrationButton.tsx b/grafana-plugin/src/containers/SlackIntegrationButton/SlackIntegrationButton.tsx deleted file mode 100644 index 2eab10f6..00000000 --- a/grafana-plugin/src/containers/SlackIntegrationButton/SlackIntegrationButton.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import React, { useCallback, useState } from 'react'; - -import { Button, Modal } from '@grafana/ui'; -import { observer } from 'mobx-react'; - -import WithConfirm from 'components/WithConfirm/WithConfirm'; -import { WithPermissionControl } from 'containers/WithPermissionControl/WithPermissionControl'; -import { useStore } from 'state/useStore'; -import { UserActions } from 'utils/authorization'; - -const SlackIntegrationButton = observer((props: { className: string; disabled?: boolean }) => { - const { className, disabled } = props; - - const [showModal, setShowModal] = useState(false); - - const store = useStore(); - - const onInstallModalCallback = useCallback(() => { - setShowModal(true); - }, []); - - const onInstallModalHideCallback = useCallback(() => { - setShowModal(false); - }, []); - - const onRemoveClickCallback = useCallback(() => { - store.slackStore.removeSlackIntegration().then(() => { - store.teamStore.loadCurrentTeam(); - }); - }, []); - - const onInstallClickCallback = useCallback(() => { - store.slackStore.installSlackIntegration(); - }, []); - - if (store.teamStore.currentTeam?.slack_team_identity) { - return ( - - - - - - ); - } - - return ( - <> - - - - {showModal && } - - ); -}); - -interface SlackModalProps { - onHide: () => void; - onConfirm: () => void; -} - -const SlackModal = (props: SlackModalProps) => { - const { onHide, onConfirm } = props; - - return ( - -
- You can view your Slack Workspace at the top-right corner after you are redirected. It should be a Workspace - with App Bot installed: -
- - -
- ); -}; - -export default SlackIntegrationButton; diff --git a/grafana-plugin/src/img/slack_workspace_choose_attention.png b/grafana-plugin/src/img/slack_workspace_choose_attention.png deleted file mode 100644 index 02d9fc730e9540bc9085f6bed12e4635c75ab964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43568 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 diff --git a/grafana-plugin/src/pages/settings/tabs/ChatOps/tabs/SlackSettings/SlackSettings.tsx b/grafana-plugin/src/pages/settings/tabs/ChatOps/tabs/SlackSettings/SlackSettings.tsx index 558e7a94..3f532d21 100644 --- a/grafana-plugin/src/pages/settings/tabs/ChatOps/tabs/SlackSettings/SlackSettings.tsx +++ b/grafana-plugin/src/pages/settings/tabs/ChatOps/tabs/SlackSettings/SlackSettings.tsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; -import { Field, HorizontalGroup, LoadingPlaceholder, VerticalGroup, Icon, Button } from '@grafana/ui'; +import { Alert, Field, HorizontalGroup, LoadingPlaceholder, VerticalGroup, Icon, Button } from '@grafana/ui'; import cn from 'classnames/bind'; import { observer } from 'mobx-react'; @@ -124,8 +124,30 @@ class SlackSettings extends Component { - - + + +

Are you sure to delete this Slack Integration?

+

+ Removing the integration will also irreverisbly remove the following data for your OnCall plugin: +

+
    +
  • default organization Slack channel
  • +
  • default Slack channels for OnCall Integrations
  • +
  • Slack channels & Slack user groups for OnCall Schedules
  • +
  • linked Slack usernames for OnCall Users
  • +
+
+

+ If you would like to instead remove your linked Slack username, please head{' '} + here. +

+ + } + confirmationText="DELETE" + > @@ -189,16 +211,6 @@ class SlackSettings extends Component { ); }; - renderActionButtons = () => { - - - - - ; - }; - removeSlackIntegration = () => { const { store } = this.props; store.slackStore.removeSlackIntegration().then(() => {