fix(panOnScroll): normalize scroll speed in different browsers closes #665

This commit is contained in:
Christopher Möller
2020-11-09 12:39:21 +01:00
parent c9267a1a28
commit cf34c8f48e
+7 -2
View File
@@ -75,11 +75,16 @@ const ZoomPane = ({
event.stopImmediatePropagation();
const currentZoom = d3Selection.property('__zoom').k || 1;
// increase scroll speed in firefox
// firefox: deltaMode === 1; chrome: deltaMode === 0
const deltaNormalize = event.deltaMode === 1 ? 20 : 1;
const deltaX = event.deltaX * deltaNormalize;
const deltaY = event.deltaY * deltaNormalize;
d3Zoom.translateBy(
d3Selection,
(event.deltaX / currentZoom) * panOnScrollSpeed,
(event.deltaY / currentZoom) * panOnScrollSpeed
(deltaX / currentZoom) * panOnScrollSpeed,
(deltaY / currentZoom) * panOnScrollSpeed
);
})
.on('wheel.zoom', null);