Skip to content
Snippets Groups Projects
Commit 492c77b6 authored by Johanna Szepanski's avatar Johanna Szepanski Committed by EREBUS_DMN\jsz
Browse files

updated host status listview to use separated status endpoints

parent f93bccac
No related branches found
No related tags found
2 merge requests!542Prepare 4.1.0,!524Fetch alert and status separate
import { useContext, useMemo } from "react"; import { useContext, useMemo, useEffect } from "react";
import { Grid, Skeleton } from "@mui/material";
import { apiContext } from "../../../api/DeployApi"; import { apiContext } from "../../../api/DeployApi";
import { useAPIMethod } from "@ess-ics/ce-ui-common"; import { useAPIMethod } from "@ess-ics/ce-ui-common";
import { HostStatusIcon } from "./HostStatusIcon"; import { getHostStatus } from "./HostStatusData";
import { Status } from "../../common/Status";
function createRequest(hostId) { function createRequest(hostId) {
return { return {
...@@ -10,36 +10,41 @@ function createRequest(hostId) { ...@@ -10,36 +10,41 @@ function createRequest(hostId) {
}; };
} }
export const HostStatus = ({ hostId }) => { export const HostStatus = ({ hostId, hideAlerts }) => {
const client = useContext(apiContext); const client = useContext(apiContext);
const params = useMemo(() => createRequest(hostId), [hostId]); const params = useMemo(() => createRequest(hostId), [hostId]);
const { const {
value: hostStatus, wrapper: callFetchHostAlerts,
loading, value: hostAlert,
dataReady abort: abortCallFetchHostAlerts
} = useAPIMethod({ } = useAPIMethod({
fcn: client.apis.Hosts.findHostAlerts,
params,
call: false
});
const { value: hostStateStatus } = useAPIMethod({
fcn: client.apis.Hosts.findHostStatus, fcn: client.apis.Hosts.findHostStatus,
params params
}); });
useEffect(() => {
if (!hideAlerts) {
callFetchHostAlerts();
}
return () => {
abortCallFetchHostAlerts();
};
}, [hostStateStatus, hideAlerts]);
return ( return (
<Grid <Status
container state={hostStateStatus}
direction="column" alert={hostAlert}
justifyContent="center" hideAlerts={hideAlerts}
alignItems="center" getStatusFcn={getHostStatus}
> />
{loading || !dataReady ? (
<Skeleton
variant="circular"
height={20}
width={20}
/>
) : (
<HostStatusIcon hostStatus={hostStatus} />
)}
</Grid>
); );
}; };
...@@ -7,13 +7,13 @@ import { ...@@ -7,13 +7,13 @@ import {
StatusPopoverContent, StatusPopoverContent,
statusConfig statusConfig
} from "../../common/Status"; } from "../../common/Status";
import { getHostStatusInfo } from "./HostStatusData"; import { getHostStatus } from "./HostStatusData";
export function HostStatusIcon({ hostStatus, hideAlerts = false }) { export function HostStatusIcon({ hostStatus, hideAlerts = false }) {
const theme = useTheme(); const theme = useTheme();
let { alerts } = hostStatus; let { alerts } = hostStatus;
let hostStatusStatus = getHostStatusInfo(hostStatus); let hostStatusStatus = getHostStatus(hostStatus);
const displayBadge = const displayBadge =
!hideAlerts && !hideAlerts &&
......
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