Changeset 35543


Ignore:
Timestamp:
2021-10-01T15:08:29+13:00 (3 years ago)
Author:
cstephen
Message:

Improve mouse tracking on handles in WordTimingSelector

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-interfaces-dev/atea/korero-maori-asr/src/components/WordTimingSelector.vue

    r35542 r35543  
    1010
    1111        <span v-if="isMounted && !isProduction" class="material-icons mdi-m word-handle" :style="{ left: leftHandleLeft }"
    12             @mousemove="onMinHandleMouseMove" @mouseup="onHandleMouseUp" @mousedown="canShiftMinValue = true">
     12            @mousedown="canShiftMinValue = true">
    1313            first_page
    1414        </span>
    15         <span v-if="isMounted && !isProduction" class="material-icons mdi-m word-handle" :style="{ left: rightHandleLeft }" @mousemove="onMaxHandleMouseMove">last_page</span>
     15        <span v-if="isMounted && !isProduction" class="material-icons mdi-m word-handle" :style="{ left: rightHandleLeft }"
     16            @mousedown="canShiftMaxValue = true">
     17            last_page
     18        </span>
    1619    </div>
    1720
     
    204207            return word === this.myWord;
    205208        },
     209        onDocumentMouseMove(event) {
     210            if (this.canShiftMinValue) {
     211                this.onMinHandleMouseMove(event);
     212            }
     213            else if (this.canShiftMaxValue) {
     214                this.onMaxHandleMouseMove(event);
     215            }
     216        },
    206217        /**
    207218         * @param {MouseEvent} event
     
    224235            this.mySurroundingWords[this.wordIndex].left += event.movementX;
    225236            word.length -= event.movementX;
     237
     238            this.myWordToWord();
    226239        },
    227240        onMaxHandleMouseMove(event) {
     
    243256
    244257            word.length += event.movementX;
     258
    245259            this.myWordToWord();
    246260        },
    247         onHandleMouseUp() {
     261        onDocumentMouseUp() {
    248262            this.canShiftMinValue = false;
    249263            this.canShiftMaxValue = false;
     
    265279    mounted() {
    266280        this.isMounted = true;
     281
     282        document.addEventListener("mousemove", this.onDocumentMouseMove);
     283        document.addEventListener("mouseup", this.onDocumentMouseUp);
     284    },
     285    beforeUnmount() {
     286        document.removeEventListener("mousemove", this.onDocumentMouseMove);
     287        document.removeEventListener("mouseup", this.onDocumentMouseUp);
    267288    }
    268289}
Note: See TracChangeset for help on using the changeset viewer.