run: unify run status and classes logic
This commit is contained in:
parent
26d5247846
commit
fd24f02780
|
@ -131,8 +131,8 @@
|
||||||
import vClickOutside from "v-click-outside";
|
import vClickOutside from "v-click-outside";
|
||||||
|
|
||||||
import { cancelRun, stopRun, restartRun } from "@/util/data.js";
|
import { cancelRun, stopRun, restartRun } from "@/util/data.js";
|
||||||
|
|
||||||
import { userLocalRunLink, projectRunLink } from "@/util/link.js";
|
import { userLocalRunLink, projectRunLink } from "@/util/link.js";
|
||||||
|
import { runStatus, runResultClass } from "@/util/run.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "RunDetail",
|
name: "RunDetail",
|
||||||
|
@ -154,6 +154,8 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
runStatus: runStatus,
|
||||||
|
runResultClass: runResultClass,
|
||||||
resetErrors() {
|
resetErrors() {
|
||||||
this.stopRunError = null;
|
this.stopRunError = null;
|
||||||
this.cancelRunError = null;
|
this.cancelRunError = null;
|
||||||
|
@ -162,26 +164,6 @@ export default {
|
||||||
stillRunning(run) {
|
stillRunning(run) {
|
||||||
return run.result != "unknown" && run.phase == "running";
|
return run.result != "unknown" && run.phase == "running";
|
||||||
},
|
},
|
||||||
runStatus(run) {
|
|
||||||
if (run.phase != "finished") return run.phase;
|
|
||||||
if (run.result != "unknown") return run.result;
|
|
||||||
if (run.stopping) return "stopping";
|
|
||||||
|
|
||||||
return run.result;
|
|
||||||
},
|
|
||||||
runResultClass(run) {
|
|
||||||
let status = this.runStatus(run);
|
|
||||||
|
|
||||||
if (status == "setuperror") return "setuperror";
|
|
||||||
if (status == "queued") return "unknown";
|
|
||||||
if (status == "cancelled") return "failed";
|
|
||||||
if (status == "running") return "running";
|
|
||||||
if (status == "stopping") return "failed";
|
|
||||||
if (status == "stopped") return "failed";
|
|
||||||
if (status == "success") return "success";
|
|
||||||
if (status == "failed") return "failed";
|
|
||||||
return "unknown";
|
|
||||||
},
|
|
||||||
taskClass(task) {
|
taskClass(task) {
|
||||||
if (task.status == "success") return "success";
|
if (task.status == "success") return "success";
|
||||||
if (task.status == "failed") return "failed";
|
if (task.status == "failed") return "failed";
|
||||||
|
|
|
@ -81,6 +81,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { fetchUser, fetchProject, fetchRuns } from "@/util/data.js";
|
import { fetchUser, fetchProject, fetchRuns } from "@/util/data.js";
|
||||||
import { userLocalRunLink, projectRunLink } from "@/util/link.js";
|
import { userLocalRunLink, projectRunLink } from "@/util/link.js";
|
||||||
|
import { runResultClass } from "@/util/run.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -109,24 +110,13 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
projectRunLink: projectRunLink,
|
projectRunLink: projectRunLink,
|
||||||
userLocalRunLink: userLocalRunLink,
|
userLocalRunLink: userLocalRunLink,
|
||||||
|
runResultClass: runResultClass,
|
||||||
stillRunning(run) {
|
stillRunning(run) {
|
||||||
return run.result != "unknown" && run.phase == "running";
|
return run.result != "unknown" && run.phase == "running";
|
||||||
},
|
},
|
||||||
waitingApproval(run) {
|
waitingApproval(run) {
|
||||||
return run.tasks_waiting_approval.length > 0;
|
return run.tasks_waiting_approval.length > 0;
|
||||||
},
|
},
|
||||||
runResultClass(run) {
|
|
||||||
if (run.result == "unknown") {
|
|
||||||
if (run.phase == "setuperror") return "setuperror";
|
|
||||||
if (run.phase == "queued") return "unknown";
|
|
||||||
if (run.phase == "cancelled") return "failed";
|
|
||||||
if (run.phase == "running") return "running";
|
|
||||||
}
|
|
||||||
if (run.result == "success") return "success";
|
|
||||||
if (run.result == "failed") return "failed";
|
|
||||||
if (run.result == "stopped") return "failed";
|
|
||||||
return "unknown";
|
|
||||||
},
|
|
||||||
update() {
|
update() {
|
||||||
clearInterval(this.polling);
|
clearInterval(this.polling);
|
||||||
if (this.projectref !== undefined) {
|
if (this.projectref !== undefined) {
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
export function runStatus(run) {
|
||||||
|
// * if the run has a result then return the result
|
||||||
|
// * if stopping return "stopping"
|
||||||
|
// * return the phase
|
||||||
|
if (run.result != "unknown") return run.result;
|
||||||
|
if (run.stopping) return "stopping";
|
||||||
|
if (run.phase != "finished") return run.phase;
|
||||||
|
|
||||||
|
return run.result;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function runResultClass(run) {
|
||||||
|
let status = runStatus(run);
|
||||||
|
|
||||||
|
if (status == "setuperror") return "setuperror";
|
||||||
|
if (status == "queued") return "unknown";
|
||||||
|
if (status == "cancelled") return "failed";
|
||||||
|
if (status == "running") return "running";
|
||||||
|
if (status == "stopping") return "failed";
|
||||||
|
if (status == "stopped") return "failed";
|
||||||
|
if (status == "success") return "success";
|
||||||
|
if (status == "failed") return "failed";
|
||||||
|
return "unknown";
|
||||||
|
}
|
Loading…
Reference in New Issue