diff --git a/frontend/src/components/common/icon/icons.jsx b/frontend/src/components/common/icon/icons.jsx index 16240425cd..ce80dadf39 100644 --- a/frontend/src/components/common/icon/icons.jsx +++ b/frontend/src/components/common/icon/icons.jsx @@ -7,6 +7,7 @@ import { MdComment, MdFileDownload, } from "react-icons/md"; +import { FaRegStopCircle } from "react-icons/fa"; // These function are needed in IconButton because it expects Icon as a function @@ -53,3 +54,12 @@ export function downloadReportIcon() { export function SpinnerIcon() { return ; } + +export function killJobIcon() { + return ( + + + Kill job + + ); +} diff --git a/frontend/src/components/jobs/result/CustomJobPipelineNode.jsx b/frontend/src/components/jobs/result/CustomJobPipelineNode.jsx new file mode 100644 index 0000000000..29fa2b4eef --- /dev/null +++ b/frontend/src/components/jobs/result/CustomJobPipelineNode.jsx @@ -0,0 +1,62 @@ +import React from "react"; +import PropTypes from "prop-types"; +import { Handle, Position } from "reactflow"; +import "reactflow/dist/style.css"; +import { StatusIcon } from "../../common/icon/StatusIcon"; + +function CustomJobPipelineNode({ data }) { + let statusIcon = "pending"; + if (data.completed) statusIcon = "success"; + else if (data.running) statusIcon = "running"; + + return ( + <> +
+ +
+
+ {data?.label} {data.running && "RUNNING"} + {data.completed && "COMPLETED"}{" "} +
+ Reported {data.report} +
+
+