From b56fd91c3ecc61ccbe692a21e8eb0f378b4a90ca Mon Sep 17 00:00:00 2001 From: Zero~Informatique Date: Mon, 10 Feb 2020 05:41:16 +0100 Subject: viewer: ldbreadcrumbs: implement horizontal scrolling This comes with a fix for the DragScroll component for mobile devices. GitHub: closes #101, closes #102 --- viewer/src/components/LdPicture.vue | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'viewer/src/components/LdPicture.vue') diff --git a/viewer/src/components/LdPicture.vue b/viewer/src/components/LdPicture.vue index 154c4bd..8a9a08e 100644 --- a/viewer/src/components/LdPicture.vue +++ b/viewer/src/components/LdPicture.vue @@ -22,8 +22,10 @@ v-dragscroll class="scrollbar" :class="{'fit-to-screen': !$uiStore.fullscreen, 'original-size': $uiStore.fullscreen}" - @click="onClick" - @dragscrollstart="dragging=true" + @click.capture="e => dragScrollClickFix.onClickCapture(e)" + @click="$uiStore.toggleFullscreen()" + @dragscrollstart="dragScrollClickFix.onDragScrollStart()" + @dragscrollend="dragScrollClickFix.onDragScrollEnd()" > import { Component, Vue, Prop } from "vue-property-decorator"; +import DragScrollClickFix from "@/dragscrollclickfix"; @Component export default class LdPicture extends Vue { @Prop({ required: true }) readonly picture!: Gallery.Picture; readonly SLOW_LOADING_TIMEOUT_MS: number = 1500; + readonly dragScrollClickFix = new DragScrollClickFix(); - dragging: boolean = false; slowLoadingStyle: string | null = null; loader: boolean = false; timer: NodeJS.Timeout | null = null; @@ -74,11 +77,6 @@ export default class LdPicture extends Vue { if (this.picture.thumbnail) this.slowLoadingStyle = `background-image: url('${process.env.VUE_APP_DATA_URL}${this.picture.thumbnail.resource}');`; } - - onClick() { - if (!this.dragging) this.$uiStore.toggleFullscreen(); - this.dragging = false; - } } -- cgit v1.2.3