From 37a02074637977a5faa4cd3fb3803b6cce9b0213 Mon Sep 17 00:00:00 2001 From: Adela Almasan <88068998+adela-almasan@users.noreply.github.com> Date: Fri, 2 Sep 2022 14:58:49 -0500 Subject: [PATCH] Canvas: Phantom mouse down fix (#54673) --- public/app/features/canvas/runtime/scene.tsx | 28 +++++++++++--------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/public/app/features/canvas/runtime/scene.tsx b/public/app/features/canvas/runtime/scene.tsx index 3d434378063..561a33c3b54 100644 --- a/public/app/features/canvas/runtime/scene.tsx +++ b/public/app/features/canvas/runtime/scene.tsx @@ -449,20 +449,24 @@ export class Scene { // Prevent drawing selection box when selected target is a moveable element or already selected event.stop(); } - }).on('selectEnd', (event) => { - targets = event.selected; - this.updateSelection({ targets }); + }) + .on('selectEnd', (event) => { + targets = event.selected; + this.updateSelection({ targets }); - if (event.isDragStart) { - if (this.isEditingEnabled && this.selecto?.getSelectedTargets().length) { - this.selecto.getSelectedTargets()[0].style.cursor = 'grabbing'; + if (event.isDragStart) { + if (this.isEditingEnabled && this.selecto?.getSelectedTargets().length) { + this.selecto.getSelectedTargets()[0].style.cursor = 'grabbing'; + } + event.inputEvent.preventDefault(); + event.data.timer = setTimeout(() => { + this.moveable!.dragStart(event.inputEvent); + }); } - event.inputEvent.preventDefault(); - setTimeout(() => { - this.moveable!.dragStart(event.inputEvent); - }); - } - }); + }) + .on('dragEnd', (event) => { + clearTimeout(event.data.timer); + }); }; reorderElements = (src: ElementState, dest: ElementState, dragToGap: boolean, destPosition: number) => {