diff --git a/src/components/IOC/AlertMessages/AlertMessages.js b/src/components/IOC/AlertMessages/AlertMessages.js deleted file mode 100644 index e99dd3af3b592294bf6a1685c0f8f2fd842fbe83..0000000000000000000000000000000000000000 --- a/src/components/IOC/AlertMessages/AlertMessages.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from "react"; -import { Button, Grid } from "@mui/material"; -import Alert from "@mui/material/Alert"; - -export default function AlertMessages({ alerts }) { - function determineSeverity(alarmType) { - return ["error", "warning", "success"].includes(alarmType?.toLowerCase()) - ? alarmType?.toLowerCase() - : "info"; - } - - return ( - <Grid - id="ioc-alerts" - container - spacing={1} - direction="column" - > - {alerts?.map((alert) => ( - <Grid - item - key={alert?.message || alert} - > - <Alert - severity={determineSeverity(alert?.type)} - action={ - alert?.link && ( - <Button - target="_blank" - href={alert.link} - color="inherit" - size="small" - > - More Info - </Button> - ) - } - component="p" - > - {alert?.message} - </Alert> - </Grid> - ))} - </Grid> - ); -} diff --git a/src/components/IOC/AlertMessages/index.js b/src/components/IOC/AlertMessages/index.js deleted file mode 100644 index 67da3975e7080d8e84279bca16e3c0c975fd1a28..0000000000000000000000000000000000000000 --- a/src/components/IOC/AlertMessages/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import AlertMessages from "./AlertMessages"; - -export { AlertMessages }; -export default AlertMessages; diff --git a/src/components/IOC/IOCDetails/IOCDetails.js b/src/components/IOC/IOCDetails/IOCDetails.js index eda7ad2ec03ce93ae90b051251d641e2622200e6..769591b093385c3b2b4d7c18a8764d091fbd0a29 100644 --- a/src/components/IOC/IOCDetails/IOCDetails.js +++ b/src/components/IOC/IOCDetails/IOCDetails.js @@ -31,7 +31,10 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) { return ( <> - <Grid container> + <Grid + container + spacing={1} + > {alert && ( <Grid item @@ -40,24 +43,29 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) { {alert} </Grid> )} - <Grid - item - xs={12} - > - <Box - display="flex" - flexDirection="row-reverse" - p={2} - m={1} + {buttons && ( + <Grid + item + xs={12} > - <AccessControl - allowedRoles={["DeploymentToolAdmin", "DeploymentToolIntegrator"]} - renderNoAccess={() => <> </>} + <Box + display="flex" + flexDirection="row-reverse" + p={2} + m={1} > - <>{buttons}</> - </AccessControl> - </Box> - </Grid> + <AccessControl + allowedRoles={[ + "DeploymentToolAdmin", + "DeploymentToolIntegrator" + ]} + renderNoAccess={() => <> </>} + > + <>{buttons}</> + </AccessControl> + </Box> + </Grid> + )} <Grid item xs={12} diff --git a/src/components/IOC/IOCIcons/IOCIcons.js b/src/components/IOC/IOCIcons/IOCIcons.js index 95d52e15ff842c8f4febf41ebfb5ad11414d6e1e..f029ec56a2b2d11ae507f966c6fe6ae3ca9b38d7 100644 --- a/src/components/IOC/IOCIcons/IOCIcons.js +++ b/src/components/IOC/IOCIcons/IOCIcons.js @@ -11,7 +11,7 @@ import { PauseCircleFilled } from "@mui/icons-material"; import Popover from "../../common/Popover"; -import AlertMessages from "../AlertMessages/AlertMessages"; +import { AlertBannerList } from "@ess-ics/ce-ui-common"; function AlertMessagesPopoverContents({ title, alerts }) { // for now filter out links on alerts due to issues with @@ -31,7 +31,7 @@ function AlertMessagesPopoverContents({ title, alerts }) { {title} </Typography> {alertsWithoutLinks.length > 0 ? ( - <AlertMessages alerts={alertsWithoutLinks} /> + <AlertBannerList alerts={alertsWithoutLinks} /> ) : null} </div> ); diff --git a/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js b/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js index 85be7b355944f94589ce1d68176fed9f77a48feb..848b1eb8c35e612ce62b28cb15c81f8baf1c5519 100644 --- a/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js +++ b/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js @@ -6,7 +6,7 @@ import { Link as ReactRouterLink } from "react-router-dom"; import { LokiContainer } from "../../common/Loki/LokiContainer"; import { RecordSearch } from "../../records/RecordSearch"; import GitRefLink from "../GitRefLink"; -import AlertMessages from "../AlertMessages"; +import { AlertBannerList } from "@ess-ics/ce-ui-common"; import AccessControl from "../../auth/AccessControl"; import { IocActiveDeployment } from "../../../api/DataTypes"; import useUrlState from "@ahooksjs/use-url-state"; @@ -83,7 +83,7 @@ export function IOCLiveStatus({ ioc }) { <IOCDetails ioc={liveIOC} getSubset={getSubset} - alert={<AlertMessages alerts={liveIOC.alerts} />} + alert={<AlertBannerList alerts={liveIOC.alerts} />} /> {liveIOC.activeDeployment?.host?.csEntryIdValid && ( <AccessControl diff --git a/src/components/IOC/IOCManage/IOCManage.js b/src/components/IOC/IOCManage/IOCManage.js index d2b8f3f7a1a09d132d4e91361170e393b5799b63..8e3835ff87c4a512517acfb5860197a8120814e4 100644 --- a/src/components/IOC/IOCManage/IOCManage.js +++ b/src/components/IOC/IOCManage/IOCManage.js @@ -12,9 +12,9 @@ import { UndeployIOC } from "../UndeployIOC"; import { userContext, SimpleAccordion, - useAPIMethod + useAPIMethod, + AlertBannerList } from "@ess-ics/ce-ui-common"; -import AlertMessages from "../AlertMessages"; import AccessControl from "../../auth/AccessControl"; import { DeploymentStatus } from "../../../api/DataTypes"; import { IOCService } from "../IOCService"; @@ -181,7 +181,7 @@ export function IOCManage({ <IOCDetails ioc={managedIOC} getSubset={getSubset} - alert={<AlertMessages alerts={managedIOC.alerts} />} + alert={<AlertBannerList alerts={managedIOC.alerts} />} buttons={ <> <Tooltip title={disabledDebployButtonTitle}> diff --git a/src/components/Job/JobDetails.js b/src/components/Job/JobDetails.js index 628cbb0589b6268f454d1458599696bad9dc46af..082188c21cb4fce480333fac58e75fa74be880fc 100644 --- a/src/components/Job/JobDetails.js +++ b/src/components/Job/JobDetails.js @@ -7,8 +7,12 @@ import { Container, Link as MuiLink } from "@mui/material"; -import { KeyValueTable, SimpleAccordion } from "@ess-ics/ce-ui-common"; -import { Stepper } from "@ess-ics/ce-ui-common"; +import { + KeyValueTable, + SimpleAccordion, + AlertBannerList, + Stepper +} from "@ess-ics/ce-ui-common"; import { JobBadge } from "./JobBadge"; import { DeploymentJobOutput } from "../deployments/DeploymentJobOutput"; import { Link as ReactRouterLink } from "react-router-dom"; @@ -16,7 +20,6 @@ import { formatDate } from "../common/Helper"; import GitRefLink from "../IOC/GitRefLink"; import AccessControl from "../auth/AccessControl"; import { AWXJobDetails } from "../../api/DataTypes"; -import AlertMessages from "../IOC/AlertMessages"; const STATUS = { queued: { @@ -147,7 +150,7 @@ export function JobDetails({ operation, job }) { item xs={12} > - <AlertMessages alerts={[alert].concat(jobAlert)} /> + <AlertBannerList alerts={[alert].concat(jobAlert)} /> </Grid> )} <Grid @@ -191,7 +194,7 @@ export function JobDetails({ operation, job }) { item xs={12} > - <AlertMessages alerts={[alert]} /> + <AlertBannerList alerts={[alert]} /> </Grid> )} <AccessControl diff --git a/src/views/host/HostDetailsView.js b/src/views/host/HostDetailsView.js index d82ac4688584e36cd87ca67a88d55d9eac056537..3a85bad6396c4b02b0fe29c2a9fb0572a02581ec 100644 --- a/src/views/host/HostDetailsView.js +++ b/src/views/host/HostDetailsView.js @@ -15,7 +15,8 @@ import { KeyValueTable, SimpleAccordion, GlobalAppBarContext, - useAPIMethod + useAPIMethod, + AlertBannerList } from "@ess-ics/ce-ui-common"; import { LokiPanel } from "../../components/common/Loki/LokiPanel"; import { useNavigate, Link as ReactRouterLink } from "react-router-dom"; @@ -24,7 +25,6 @@ import { initRequestParams } from "../../components/common/Helper"; import AccessControl from "../../components/auth/AccessControl"; -import AlertMessages from "../../components/IOC/AlertMessages"; import useUrlState from "@ahooksjs/use-url-state"; import { serialize, @@ -188,7 +188,7 @@ export function HostDetailsView({ id, host }) { <ArrowBackIcon /> </IconButton> - {host && <AlertMessages alerts={host.alerts} />} + {host && <AlertBannerList alerts={host.alerts} />} <Card variant="outlined" sx={{ marginTop: 2 }}