(FINALLY) fixed duplicate move request bug

This commit is contained in:
Joel Collins 2019-11-11 15:00:41 +00:00
parent 13d4c9a2fe
commit 051eabbdc3
3 changed files with 37 additions and 25 deletions

View file

@ -125,6 +125,12 @@ export default {
}
},
created: function () {
window.addEventListener('keydown', this.keyDownMonitor);
window.addEventListener("keyup", this.keyUpMonitor);
window.addEventListener('wheel', this.wheelMonitor);
},
mounted() {
// A global signal listener to perform a move action
this.$root.$on('globalMoveEvent', (x, y, z, absolute) => {
@ -132,6 +138,17 @@ export default {
})
},
beforeDestroy () {
// Remove global signal listener to perform a move action
this.$root.$off('globalMoveEvent')
},
destroyed: function () {
window.removeEventListener('keydown', this.keyDownMonitor);
window.removeEventListener("keyup", this.keyUpMonitor);
window.removeEventListener('wheel', this.wheelMonitor);
},
methods: {
// Handle global mouse wheel events to be associated with navigation
wheelMonitor: function(event) {
@ -271,12 +288,6 @@ export default {
},
created: function () {
window.addEventListener('keydown', this.keyDownMonitor);
window.addEventListener("keyup", this.keyUpMonitor);
window.addEventListener('wheel', this.wheelMonitor);
},
computed: {
positionApiUri: function () {
return this.$store.getters.uri + "/stage/position"

View file

@ -1,9 +1,10 @@
<template>
<div ref="streamDisplay" class="stream-display uk-width-1-1 uk-height-1-1 scrollTarget" id="stream-display">
<img class="uk-align-center uk-margin-remove-bottom" v-on:dblclick="clickmonitor" v-if="showStream" v-bind:src="streamImgUri" alt="Stream">
<img class="uk-align-center uk-margin-remove-bottom" v-on:dblclick="clickMonitor" v-bind:hidden="!showStream" v-bind:src="streamImgUri" alt="Stream" ref="click-frame">
<div v-else-if="$store.state.waiting" class="uk-position-center">
<div v-if="!showStream">
<div v-if="$store.state.waiting" class="uk-position-center">
<div uk-spinner="ratio: 4.5" ></div>
</div>
@ -14,6 +15,8 @@
<div v-else class="uk-position-center position-relative text-center">
No active connection
</div>
</div>
</div>
</template>
@ -76,7 +79,7 @@ export default {
},
methods: {
clickmonitor: function(event) {
clickMonitor: function(event) {
// Calculate steps from event coordinates and store config FOV
let xCoordinate = event.offsetX;
let yCoordinate = event.offsetY;
@ -89,8 +92,6 @@ export default {
// Emit a signal to move, acted on by panelNavigate.vue
this.$root.$emit('globalMoveEvent', xSteps, ySteps, 0, false)
this.flashStream()
},
flashStream: function() {