Fix ZoomPanWrapper stuck at panning
- Fixed ZoomPanWrapper getting stuck at panning when the cursor leaves the map area while mouse key is pressed
This commit is contained in:
parent
e9230f5eed
commit
ce4c90cbc7
@ -220,9 +220,15 @@ export default function ZoomPanWrapper({children}) {
|
|||||||
const onPointerCancel = onPointerUp;
|
const onPointerCancel = onPointerUp;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
window.addEventListener('pointermove', onPointerMove);
|
||||||
|
window.addEventListener('pointerup', onPointerUp);
|
||||||
|
window.addEventListener('pointercancel', onPointerCancel);
|
||||||
window.addEventListener('resize', handleResize);
|
window.addEventListener('resize', handleResize);
|
||||||
handleResize(); // Initial call to set the viewBox
|
handleResize(); // Initial call to set the viewBox
|
||||||
return () => {
|
return () => {
|
||||||
|
window.removeEventListener('pointermove', onPointerMove);
|
||||||
|
window.removeEventListener('pointerup', onPointerUp);
|
||||||
|
window.removeEventListener('pointercancel', onPointerCancel);
|
||||||
window.removeEventListener('resize', handleResize);
|
window.removeEventListener('resize', handleResize);
|
||||||
};
|
};
|
||||||
}, [handleResize]);
|
}, [handleResize]);
|
||||||
@ -293,9 +299,6 @@ export default function ZoomPanWrapper({children}) {
|
|||||||
viewBox={getViewBoxString()}
|
viewBox={getViewBoxString()}
|
||||||
onWheel={onWheel}
|
onWheel={onWheel}
|
||||||
onPointerDown={onPointerDown}
|
onPointerDown={onPointerDown}
|
||||||
onPointerMove={onPointerMove}
|
|
||||||
onPointerUp={onPointerUp}
|
|
||||||
onPointerCancel={onPointerCancel}
|
|
||||||
>
|
>
|
||||||
<g ref={cameraWrapperRef} transform={getCameraTransformString()}>
|
<g ref={cameraWrapperRef} transform={getCameraTransformString()}>
|
||||||
{children}
|
{children}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user