diff --git a/webapp/src/App.vue b/webapp/src/App.vue index c31d8f33..b6dcaa26 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -154,10 +154,10 @@ export default { // Focus keys Mousetrap.bind("pageup", () => { - eventBus.emit("globalMoveStepEvent", 0, 0, 1); + eventBus.emit("globalMoveStepEvent", {x: 0, y: 0, z: 1}); }); Mousetrap.bind("pagedown", () => { - eventBus.emit("globalMoveStepEvent", 0, 0, -1); + eventBus.emit("globalMoveStepEvent", {x: 0, y: 0, z: -1}); }); this.keyboardManual.push({ shortcut: "pgup / pgdn", @@ -166,7 +166,7 @@ export default { // Capture Mousetrap.bind("c", () => { - eventBus.emit("globalCaptureEvent"); + eventBus.emit("globalCaptureEvent", {}); }); this.keyboardManual.push({ shortcut: "c", @@ -175,7 +175,7 @@ export default { // Autofocus Mousetrap.bind("a", () => { - eventBus.emit("globalFastAutofocusEvent"); + eventBus.emit("globalFastAutofocusEvent", {}); }); this.keyboardManual.push({ shortcut: "a", @@ -184,10 +184,10 @@ export default { // Increment/decrement tab Mousetrap.bind("shift+down", () => { - eventBus.emit("globalIncrementTab"); + eventBus.emit("globalIncrementTab", {}); }); Mousetrap.bind("shift+up", () => { - eventBus.emit("globalDecrementTab"); + eventBus.emit("globalDecrementTab", {}); }); this.keyboardManual.push({ shortcut: "shift+↑ / shift+↓", @@ -250,7 +250,7 @@ export default { ) { var z_rel = event.deltaY / 100; // Emit a signal to move, acted on by panelControl.vue - eventBus.emit("globalMoveStepEvent", 0, 0, z_rel, false); + eventBus.emit("globalMoveStepEvent", {x: 0, y: 0, z: z_rel, absolute: false}); } }, @@ -277,7 +277,7 @@ export default { } // Make a position request // Emit a signal to move, acted on by panelControl.vue - eventBus.emit("globalMoveStepEvent", x_rel, y_rel, z_rel); + eventBus.emit("globalMoveStepEvent", {x: x_rel, y: y_rel, z: 0}); }, }, }; diff --git a/webapp/src/components/labThingsComponents/actionButton.vue b/webapp/src/components/labThingsComponents/actionButton.vue index 0abb5eb4..2d0b9564 100644 --- a/webapp/src/components/labThingsComponents/actionButton.vue +++ b/webapp/src/components/labThingsComponents/actionButton.vue @@ -134,22 +134,48 @@ export default { }, watch: { - progress(newval) { - eventBus.emit("beforeUpdate:progress", newval); + progress: { + handler(newval) { + //this.$emit("update:progress", newval); + eventBus.emit("update:progress", newval); + //eventBus.emit("beforeUpdate:progress", newval); + }, + deep: true, + immediate: true // Optional: triggers immediately on component load }, - taskStarted(newval) { - eventBus.emit("beforeUpdate:taskStarted", newval); + taskStarted: { + handler(newval) { + //this.$emit("update:taskStarted", newval); + eventBus.emit("update:taskStarted", newval); + //eventBus.emit("beforeUpdate:taskStarted", newval); + }, + deep: true }, - taskRunning(newval) { - eventBus.emit("beforeUpdate:taskRunning", newval); + taskRunning: { + handler(newval) { + //this.$emit("update:taskRunning", newval); + eventBus.emit("update:taskRunning", newval); + //eventBus.emit("beforeUpdate:taskRunning", newval); + }, + deep: true }, - log(newval) { - eventBus.emit("beforeUpdate:log", newval); + log: { + handler(newval) { + //this.$emit("update:log", newval); + eventBus.emit("update:log", newval); + //eventBus.emit("beforeUpdate:log", newval); + }, + deep: true }, - taskStatus(newval) { - eventBus.emit("beforeUpdate:taskStatus", newval); - }, - }, + taskStatus: { + handler(newval) { + //this.$emit("update:taskStatus", newval); + eventBus.emit("update:taskStatus", newval); + //eventBus.emit("beforeUpdate:taskStatus", newval); + }, + deep: true + } +}, mounted() { // Check for already running tasks @@ -168,11 +194,7 @@ export default { beforeUnmount() { if (this.submitOnEvent) { - eventBus.off(this.submitOnEvent, () => { - if (this.isDisabled) return; - // Bootstrap task if button is not disabled. - this.bootstrapTask(); - }); + eventBus.off(this.submitOnEvent); } }, @@ -231,6 +253,7 @@ export default { async startTask() { // Starts a new Action task + console.log("Starting task with data:", this.submitData); eventBus.emit("submit", this.submitData); // Send a request to start a task this.taskStarted = true; @@ -286,7 +309,7 @@ export default { this.taskUrl = null; this.taskRunning = false; this.taskStarted = false; - eventBus.emit("finished"); + this.$emit("finished"); }, onPollingResponse(response) { diff --git a/webapp/src/components/tabContentComponents/controlComponents/positionControl.vue b/webapp/src/components/tabContentComponents/controlComponents/positionControl.vue index f04b7553..457dab10 100644 --- a/webapp/src/components/tabContentComponents/controlComponents/positionControl.vue +++ b/webapp/src/components/tabContentComponents/controlComponents/positionControl.vue @@ -15,8 +15,8 @@ and zero position buttons. It also includes the d-pad.