From 91a05fdd9da6fe3c85344fa16182aca7ecffa6cf Mon Sep 17 00:00:00 2001 From: Fabio Manganiello <fabio@manganiello.tech> Date: Mon, 31 Mar 2025 14:06:32 +0200 Subject: [PATCH] Fixed touch events management on map --- frontend/src/components/MapSelectOverlay.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/MapSelectOverlay.vue b/frontend/src/components/MapSelectOverlay.vue index c5de0fc..094ec29 100644 --- a/frontend/src/components/MapSelectOverlay.vue +++ b/frontend/src/components/MapSelectOverlay.vue @@ -26,6 +26,7 @@ export default { data() { return { + latestTouchEvent: null as TouchEvent | null, overlayDragging: false, selectionBox: [] as number[][], } @@ -90,7 +91,13 @@ export default { } if (event instanceof TouchEvent) { - return [event.touches[0].clientX, event.touches[0].clientY] + const touches = event.touches?.length ? event.touches : this.latestTouchEvent?.touches + if (!touches?.length) { + return [] + } + + this.latestTouchEvent = null + return [touches[0].clientX, touches[0].clientY] } return [] @@ -148,6 +155,9 @@ export default { } this.setSelectionBoxCoordinates(event) + if (event instanceof TouchEvent) { + this.latestTouchEvent = event + } }, }