From d0e7f4cce8046c1c0101127556378aa6da770122 Mon Sep 17 00:00:00 2001 From: Jos de Jong Date: Thu, 9 May 2024 10:18:59 +0200 Subject: [PATCH] fix: cannot use middle mouse button to scroll --- src/lib/components/modes/tablemode/TableMode.svelte | 5 +++++ src/lib/components/modes/treemode/JSONNode.svelte | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/components/modes/tablemode/TableMode.svelte b/src/lib/components/modes/tablemode/TableMode.svelte index b84f4262..a6bde724 100644 --- a/src/lib/components/modes/tablemode/TableMode.svelte +++ b/src/lib/components/modes/tablemode/TableMode.svelte @@ -752,6 +752,11 @@ } function handleMouseDown(event: MouseEvent) { + // only handle when the left or right mouse button is pressed, not the middle mouse button (scroll wheel) + if (event.buttons !== 1 && event.buttons !== 2) { + return + } + const target = event.target as HTMLElement const path = getDataPathFromTarget(target) if (path) { diff --git a/src/lib/components/modes/treemode/JSONNode.svelte b/src/lib/components/modes/treemode/JSONNode.svelte index b10a9d70..2f6661e9 100644 --- a/src/lib/components/modes/treemode/JSONNode.svelte +++ b/src/lib/components/modes/treemode/JSONNode.svelte @@ -236,10 +236,15 @@ } function handleMouseDown(event: MouseEvent & { currentTarget: EventTarget & HTMLDivElement }) { + // only handle when the left or right mouse button is pressed, not the middle mouse button (scroll wheel) + if (event.buttons !== 1 && event.buttons !== 2) { + return + } + // check if the mouse down is not happening in the key or value input fields or on a button if ( isContentEditableDiv(event.target as HTMLElement) || - (event.which === 1 && isChildOfNodeName(event.target as Element, 'BUTTON')) // left mouse on a button + (event.buttons === 1 && isChildOfNodeName(event.target as Element, 'BUTTON')) // left mouse on a button ) { return }