From bdf835ac71b9ffba7fe235f0dd1befa4825be134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Thu, 25 Jun 2020 19:09:46 +0100 Subject: [PATCH] feat(ui): show simplified status for single cluster silence submits --- .../SilenceSubmit/SilenceSubmitController.js | 192 ++++++++++++------ .../SilenceSubmitController.test.js | 112 +++++++++- .../SilenceSubmit/SilenceSubmitProgress.js | 2 +- 3 files changed, 232 insertions(+), 74 deletions(-) diff --git a/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitController.js b/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitController.js index a0a5970fd..7fd26bde7 100644 --- a/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitController.js +++ b/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitController.js @@ -5,76 +5,144 @@ import { useObserver } from "mobx-react-lite"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faArrowLeft } from "@fortawesome/free-solid-svg-icons/faArrowLeft"; -import { faCheckCircle } from "@fortawesome/free-regular-svg-icons/faCheckCircle"; +import { faCheckCircle } from "@fortawesome/free-solid-svg-icons/faCheckCircle"; import { faExclamationCircle } from "@fortawesome/free-solid-svg-icons/faExclamationCircle"; import { AlertStore } from "Stores/AlertStore"; import { SilenceFormStore } from "Stores/SilenceFormStore"; import { SilenceSubmitProgress } from "./SilenceSubmitProgress"; +const SingleClusterStatus = ({ silenceFormStore, alertStore }) => { + const clusterRequest = Object.values( + silenceFormStore.data.requestsByCluster + )[0]; + + return useObserver(() => ( +
+
+ {clusterRequest.isDone ? ( + clusterRequest.error ? ( + + ) : ( + + ) + ) : ( + + )} +
+
{clusterRequest.cluster}
+ {clusterRequest.isDone ? ( +

+ {clusterRequest.error ? ( + clusterRequest.error + ) : ( + + {clusterRequest.silenceID} + + )} +

+ ) : null} +
+ )); +}; + +const MultiClusterStatus = ({ silenceFormStore, alertStore }) => { + return useObserver(() => ( +
+ + + {Object.values(silenceFormStore.data.requestsByCluster).map( + (clusterRequest) => ( + + + + + + ) + )} + +
+ {clusterRequest.isDone ? ( + clusterRequest.error ? ( + + ) : ( + + ) + ) : ( + + )} + {clusterRequest.cluster} +
+ {clusterRequest.isDone ? ( + clusterRequest.error ? ( + clusterRequest.error + ) : ( + + {clusterRequest.silenceID} + + ) + ) : null} +
+
+
+ )); +}; + const SilenceSubmitController = ({ silenceFormStore, alertStore }) => { return useObserver(() => ( -
- - - {Object.values(silenceFormStore.data.requestsByCluster).map( - (clusterRequest) => ( - - - - - - ) - )} - -
- {clusterRequest.isDone ? ( - clusterRequest.error ? ( - - ) : ( - - ) - ) : ( - - )} - {clusterRequest.cluster} -
- {clusterRequest.isDone ? ( - clusterRequest.error ? ( - clusterRequest.error - ) : ( - - {clusterRequest.silenceID} - - ) - ) : null} -
-
-
+ {Object.keys(silenceFormStore.data.requestsByCluster).length === 1 ? ( + + ) : ( + + )}