From a9dfd45b4f64d031f54eb3310f6f756d90f4d498 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 30 Apr 2024 16:41:13 +0200 Subject: [PATCH 1/2] fix(system): dont break touch pan with panOnDrag is an array --- packages/system/src/xypanzoom/filter.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/system/src/xypanzoom/filter.ts b/packages/system/src/xypanzoom/filter.ts index 4cde936b..105499d7 100644 --- a/packages/system/src/xypanzoom/filter.ts +++ b/packages/system/src/xypanzoom/filter.ts @@ -76,11 +76,7 @@ export function createFilter({ } // if the pane is only movable using allowed clicks - if ( - Array.isArray(panOnDrag) && - !panOnDrag.includes(event.button) && - (event.type === 'mousedown' || event.type === 'touchstart') - ) { + if (Array.isArray(panOnDrag) && !panOnDrag.includes(event.button) && event.type === 'mousedown') { return false; } From d1b50707ff7a5428963a1c303d79eb0b0ba3a627 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 30 Apr 2024 16:42:33 +0200 Subject: [PATCH 2/2] fix(system): pinch zoom on windows #3759 --- packages/system/src/xypanzoom/eventhandler.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/system/src/xypanzoom/eventhandler.ts b/packages/system/src/xypanzoom/eventhandler.ts index 2f395300..2e78b90a 100644 --- a/packages/system/src/xypanzoom/eventhandler.ts +++ b/packages/system/src/xypanzoom/eventhandler.ts @@ -78,10 +78,9 @@ export function createPanOnScrollHandler({ event.stopImmediatePropagation(); const currentZoom = d3Selection.property('__zoom').k || 1; - const _isMacOs = isMacOs(); // macos sets ctrlKey=true for pinch gesture on a trackpad - if (event.ctrlKey && zoomOnPinch && _isMacOs) { + if (event.ctrlKey && zoomOnPinch) { const point = pointer(event); const pinchDelta = wheelDelta(event); const zoom = currentZoom * Math.pow(2, pinchDelta); @@ -98,7 +97,7 @@ export function createPanOnScrollHandler({ let deltaY = panOnScrollMode === PanOnScrollMode.Horizontal ? 0 : event.deltaY * deltaNormalize; // this enables vertical scrolling with shift + scroll on windows - if (!_isMacOs && event.shiftKey && panOnScrollMode !== PanOnScrollMode.Vertical) { + if (!isMacOs() && event.shiftKey && panOnScrollMode !== PanOnScrollMode.Vertical) { deltaX = event.deltaY * deltaNormalize; deltaY = 0; } @@ -208,6 +207,7 @@ export function createPanZoomEndHandler({ if (event.sourceEvent?.internal) { return; } + zoomPanValues.isZoomingOrPanning = false; if (