From 964dc7b48a93232212fee030870d2e7c8914eebd Mon Sep 17 00:00:00 2001 From: James Read Date: Fri, 1 Nov 2024 20:49:45 +0000 Subject: [PATCH] feature: Rerun button on execution dialog, easily rerun actions! (#465) --- webui.dev/index.html | 1 + webui.dev/js/ExecutionDialog.js | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/webui.dev/index.html b/webui.dev/index.html index 8d708ff..830de3f 100644 --- a/webui.dev/index.html +++ b/webui.dev/index.html @@ -146,6 +146,7 @@
+
diff --git a/webui.dev/js/ExecutionDialog.js b/webui.dev/js/ExecutionDialog.js index 2fa6064..8759f87 100644 --- a/webui.dev/js/ExecutionDialog.js +++ b/webui.dev/js/ExecutionDialog.js @@ -16,6 +16,7 @@ export class ExecutionDialog { this.toggleSize() } + this.domBtnRerun = document.getElementById('execution-dialog-rerun-action') this.domBtnKill = document.getElementById('execution-dialog-kill-action') this.domDuration = document.getElementById('execution-dialog-duration') @@ -57,6 +58,8 @@ export class ExecutionDialog { // window.terminal.close() + this.domBtnRerun.disabled = true + this.domBtnRerun.onclick = () => {} this.domBtnKill.disabled = true this.domBtnKill.onclick = () => {} @@ -93,6 +96,16 @@ export class ExecutionDialog { this.dlg.showModal() } + rerunAction (actionId) { + const actionButton = document.getElementById('actionButton-' + actionId) + + if (actionButton !== undefined) { + actionButton.btn.click() + } + + this.dlg.close() + } + killAction () { const killActionArgs = { executionTrackingId: this.executionTrackingId @@ -186,12 +199,15 @@ export class ExecutionDialog { this.domOutput.hidden = false - if (!this.hideDetailsOnResult) { - this.domExecutionDetails.hidden = false + if (this.hideDetailsOnResult) { + this.domExecutionDetails.hidden = true } this.executionTrackingId = res.logEntry.executionTrackingId + this.domBtnRerun.disabled = !res.logEntry.executionFinished + this.domBtnRerun.onclick = () => { this.rerunAction(res.logEntry.actionId) } + this.domBtnKill.disabled = res.logEntry.executionFinished this.domStatus.update(res.logEntry)