Skip to content
Snippets Groups Projects
Commit 7e02aa05 authored by Alexander Madsen's avatar Alexander Madsen
Browse files

CE-2042: Use AlertBanner from common

parent fcd24f18
No related branches found
No related tags found
2 merge requests!407CE-2141: 3.0.0,!387CE-2042: Use AlertBanner from common
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>
);
}
import AlertMessages from "./AlertMessages";
export { AlertMessages };
export default AlertMessages;
...@@ -31,7 +31,10 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) { ...@@ -31,7 +31,10 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) {
return ( return (
<> <>
<Grid container> <Grid
container
spacing={1}
>
{alert && ( {alert && (
<Grid <Grid
item item
...@@ -40,24 +43,29 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) { ...@@ -40,24 +43,29 @@ export function IOCDetails({ ioc, getSubset = defaultSubset, alert, buttons }) {
{alert} {alert}
</Grid> </Grid>
)} )}
<Grid {buttons && (
item <Grid
xs={12} item
> xs={12}
<Box
display="flex"
flexDirection="row-reverse"
p={2}
m={1}
> >
<AccessControl <Box
allowedRoles={["DeploymentToolAdmin", "DeploymentToolIntegrator"]} display="flex"
renderNoAccess={() => <> </>} flexDirection="row-reverse"
p={2}
m={1}
> >
<>{buttons}</> <AccessControl
</AccessControl> allowedRoles={[
</Box> "DeploymentToolAdmin",
</Grid> "DeploymentToolIntegrator"
]}
renderNoAccess={() => <> </>}
>
<>{buttons}</>
</AccessControl>
</Box>
</Grid>
)}
<Grid <Grid
item item
xs={12} xs={12}
......
...@@ -11,7 +11,7 @@ import { ...@@ -11,7 +11,7 @@ import {
PauseCircleFilled PauseCircleFilled
} from "@mui/icons-material"; } from "@mui/icons-material";
import Popover from "../../common/Popover"; import Popover from "../../common/Popover";
import AlertMessages from "../AlertMessages/AlertMessages"; import { AlertBannerList } from "@ess-ics/ce-ui-common";
function AlertMessagesPopoverContents({ title, alerts }) { function AlertMessagesPopoverContents({ title, alerts }) {
// for now filter out links on alerts due to issues with // for now filter out links on alerts due to issues with
...@@ -31,7 +31,7 @@ function AlertMessagesPopoverContents({ title, alerts }) { ...@@ -31,7 +31,7 @@ function AlertMessagesPopoverContents({ title, alerts }) {
{title} {title}
</Typography> </Typography>
{alertsWithoutLinks.length > 0 ? ( {alertsWithoutLinks.length > 0 ? (
<AlertMessages alerts={alertsWithoutLinks} /> <AlertBannerList alerts={alertsWithoutLinks} />
) : null} ) : null}
</div> </div>
); );
......
...@@ -6,7 +6,7 @@ import { Link as ReactRouterLink } from "react-router-dom"; ...@@ -6,7 +6,7 @@ import { Link as ReactRouterLink } from "react-router-dom";
import { LokiContainer } from "../../common/Loki/LokiContainer"; import { LokiContainer } from "../../common/Loki/LokiContainer";
import { RecordSearch } from "../../records/RecordSearch"; import { RecordSearch } from "../../records/RecordSearch";
import GitRefLink from "../GitRefLink"; import GitRefLink from "../GitRefLink";
import AlertMessages from "../AlertMessages"; import { AlertBannerList } from "@ess-ics/ce-ui-common";
import AccessControl from "../../auth/AccessControl"; import AccessControl from "../../auth/AccessControl";
import { IocActiveDeployment } from "../../../api/DataTypes"; import { IocActiveDeployment } from "../../../api/DataTypes";
import useUrlState from "@ahooksjs/use-url-state"; import useUrlState from "@ahooksjs/use-url-state";
...@@ -83,7 +83,7 @@ export function IOCLiveStatus({ ioc }) { ...@@ -83,7 +83,7 @@ export function IOCLiveStatus({ ioc }) {
<IOCDetails <IOCDetails
ioc={liveIOC} ioc={liveIOC}
getSubset={getSubset} getSubset={getSubset}
alert={<AlertMessages alerts={liveIOC.alerts} />} alert={<AlertBannerList alerts={liveIOC.alerts} />}
/> />
{liveIOC.activeDeployment?.host?.csEntryIdValid && ( {liveIOC.activeDeployment?.host?.csEntryIdValid && (
<AccessControl <AccessControl
......
...@@ -12,9 +12,9 @@ import { UndeployIOC } from "../UndeployIOC"; ...@@ -12,9 +12,9 @@ import { UndeployIOC } from "../UndeployIOC";
import { import {
userContext, userContext,
SimpleAccordion, SimpleAccordion,
useAPIMethod useAPIMethod,
AlertBannerList
} from "@ess-ics/ce-ui-common"; } from "@ess-ics/ce-ui-common";
import AlertMessages from "../AlertMessages";
import AccessControl from "../../auth/AccessControl"; import AccessControl from "../../auth/AccessControl";
import { DeploymentStatus } from "../../../api/DataTypes"; import { DeploymentStatus } from "../../../api/DataTypes";
import { IOCService } from "../IOCService"; import { IOCService } from "../IOCService";
...@@ -181,7 +181,7 @@ export function IOCManage({ ...@@ -181,7 +181,7 @@ export function IOCManage({
<IOCDetails <IOCDetails
ioc={managedIOC} ioc={managedIOC}
getSubset={getSubset} getSubset={getSubset}
alert={<AlertMessages alerts={managedIOC.alerts} />} alert={<AlertBannerList alerts={managedIOC.alerts} />}
buttons={ buttons={
<> <>
<Tooltip title={disabledDebployButtonTitle}> <Tooltip title={disabledDebployButtonTitle}>
......
...@@ -7,8 +7,12 @@ import { ...@@ -7,8 +7,12 @@ import {
Container, Container,
Link as MuiLink Link as MuiLink
} from "@mui/material"; } from "@mui/material";
import { KeyValueTable, SimpleAccordion } from "@ess-ics/ce-ui-common"; import {
import { Stepper } from "@ess-ics/ce-ui-common"; KeyValueTable,
SimpleAccordion,
AlertBannerList,
Stepper
} from "@ess-ics/ce-ui-common";
import { JobBadge } from "./JobBadge"; import { JobBadge } from "./JobBadge";
import { DeploymentJobOutput } from "../deployments/DeploymentJobOutput"; import { DeploymentJobOutput } from "../deployments/DeploymentJobOutput";
import { Link as ReactRouterLink } from "react-router-dom"; import { Link as ReactRouterLink } from "react-router-dom";
...@@ -16,7 +20,6 @@ import { formatDate } from "../common/Helper"; ...@@ -16,7 +20,6 @@ import { formatDate } from "../common/Helper";
import GitRefLink from "../IOC/GitRefLink"; import GitRefLink from "../IOC/GitRefLink";
import AccessControl from "../auth/AccessControl"; import AccessControl from "../auth/AccessControl";
import { AWXJobDetails } from "../../api/DataTypes"; import { AWXJobDetails } from "../../api/DataTypes";
import AlertMessages from "../IOC/AlertMessages";
const STATUS = { const STATUS = {
queued: { queued: {
...@@ -147,7 +150,7 @@ export function JobDetails({ operation, job }) { ...@@ -147,7 +150,7 @@ export function JobDetails({ operation, job }) {
item item
xs={12} xs={12}
> >
<AlertMessages alerts={[alert].concat(jobAlert)} /> <AlertBannerList alerts={[alert].concat(jobAlert)} />
</Grid> </Grid>
)} )}
<Grid <Grid
...@@ -191,7 +194,7 @@ export function JobDetails({ operation, job }) { ...@@ -191,7 +194,7 @@ export function JobDetails({ operation, job }) {
item item
xs={12} xs={12}
> >
<AlertMessages alerts={[alert]} /> <AlertBannerList alerts={[alert]} />
</Grid> </Grid>
)} )}
<AccessControl <AccessControl
......
...@@ -15,7 +15,8 @@ import { ...@@ -15,7 +15,8 @@ import {
KeyValueTable, KeyValueTable,
SimpleAccordion, SimpleAccordion,
GlobalAppBarContext, GlobalAppBarContext,
useAPIMethod useAPIMethod,
AlertBannerList
} from "@ess-ics/ce-ui-common"; } from "@ess-ics/ce-ui-common";
import { LokiPanel } from "../../components/common/Loki/LokiPanel"; import { LokiPanel } from "../../components/common/Loki/LokiPanel";
import { useNavigate, Link as ReactRouterLink } from "react-router-dom"; import { useNavigate, Link as ReactRouterLink } from "react-router-dom";
...@@ -24,7 +25,6 @@ import { ...@@ -24,7 +25,6 @@ import {
initRequestParams initRequestParams
} from "../../components/common/Helper"; } from "../../components/common/Helper";
import AccessControl from "../../components/auth/AccessControl"; import AccessControl from "../../components/auth/AccessControl";
import AlertMessages from "../../components/IOC/AlertMessages";
import useUrlState from "@ahooksjs/use-url-state"; import useUrlState from "@ahooksjs/use-url-state";
import { import {
serialize, serialize,
...@@ -188,7 +188,7 @@ export function HostDetailsView({ id, host }) { ...@@ -188,7 +188,7 @@ export function HostDetailsView({ id, host }) {
<ArrowBackIcon /> <ArrowBackIcon />
</IconButton> </IconButton>
{host && <AlertMessages alerts={host.alerts} />} {host && <AlertBannerList alerts={host.alerts} />}
<Card <Card
variant="outlined" variant="outlined"
sx={{ marginTop: 2 }} sx={{ marginTop: 2 }}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment