Super Pipelines and display

This commit is contained in:
Dunemask 2022-08-09 14:07:53 +00:00
parent 8ad56e8d38
commit c05502f15c
8 changed files with 223 additions and 75 deletions

View file

@ -3,7 +3,9 @@ import { useLocation, useNavigate } from "react-router-dom";
import JobContext from "../../ctx/JobContext.jsx";
import JobBox from "./JobBox.jsx";
import JobPipelineBox from "./JobPipelineBox.jsx";
import JobView from "./JobView.jsx";
import JobPipelineDisplay from "./JobPipelineDisplay.jsx";
import JobBuilder from "./builder/JobBuilder.jsx";
import Typography from "@mui/material/Typography";
import Box from "@mui/material/Box";
@ -15,7 +17,11 @@ export default function Jobs() {
useEffect(() => {
const jobName = location.hash.slice(1);
if (!jobName || jobState.jobs.find((job) => job.name === jobName)) return;
const pipelineId = jobName.slice(1);
const noPipeline = !jobName || jobState.pipelines.find((p)=>p.id ===pipelineId);
const noJob = !jobName || jobState.jobs.find((job) => job.name === jobName)
if(!noPipeline || !noJob) return;
navigate("/qualiteer/jobs");
});
@ -45,8 +51,9 @@ export default function Jobs() {
</React.Fragment>
) : null}
<JobBuilder />
{location.hash === "" &&
jobState.jobs
{location.hash === "" &&(
<React.Fragment>
{jobState.jobs
.filter((j) => !j.isPipeline)
.map((v, i) => (
<a
@ -55,10 +62,15 @@ export default function Jobs() {
style={{ textDecoration: "none" }}
>
<JobBox job={v} />
</a>
))}
{jobState.jobs.find((job) => job.name === location.hash.slice(1)) && (
<JobView
</a>))}
{jobState.pipelines.map((p,i)=><a key={i} style={{textDecoration: "none"}} href={`/qualiteer/jobs#p${p.id}`}>
<JobPipelineBox pipeline={p}/>
</a>)}
</React.Fragment>)
}
{ location.hash[1] === "p"? <JobPipelineDisplay pipeline={jobState.pipelines.find((p)=>p.id===location.hash.slice(2))}/> :
jobState.jobs.find((job) => job.name === location.hash.slice(1)) && (<JobView
job={jobState.jobs.find((job) => job.name === location.hash.slice(1))}
/>
)}