From ae6ce3cd0583bd18d59bd677020d7e82d0e1a59e Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 10 Nov 2020 17:56:19 +0100 Subject: [PATCH] feat(panOnScroll): add mode options free, vertical and horizontal --- example/src/Interaction/index.js | 20 +++++++++++++++++++- src/container/FlowRenderer/index.tsx | 2 ++ src/container/GraphView/index.tsx | 2 ++ src/container/ReactFlow/index.tsx | 4 ++++ src/container/ZoomPane/index.tsx | 10 ++++++---- src/types/index.ts | 6 ++++++ 6 files changed, 39 insertions(+), 5 deletions(-) diff --git a/example/src/Interaction/index.js b/example/src/Interaction/index.js index 39e83887..c60589ff 100644 --- a/example/src/Interaction/index.js +++ b/example/src/Interaction/index.js @@ -17,6 +17,7 @@ const onElementClick = (event, element) => console.log('click', element); const onPaneClick = (event) => console.log('onPaneClick', event); const onPaneScroll = (event) => console.log('onPaneScroll', event); const onPaneContextMenu = (event) => console.log('onPaneContextMenu', event); +const onMoveEnd = (event) => console.log('onMoveEnd', event); const InteractionFlow = () => { const [elements, setElements] = useState(initialElements); @@ -27,6 +28,7 @@ const InteractionFlow = () => { const [isConnectable, setIsConnectable] = useState(false); const [zoomOnScroll, setZoomOnScroll] = useState(false); const [panOnScroll, setPanOnScroll] = useState(false); + const [panOnScrollMode, setPanOnScrollMode] = useState('free'); const [zoomOnDoubleClick, setZoomOnDoubleClick] = useState(false); const [paneMoveable, setPaneMoveable] = useState(true); const [captureZoomClick, setCaptureZoomClick] = useState(false); @@ -41,6 +43,7 @@ const InteractionFlow = () => { nodesDraggable={isDraggable} zoomOnScroll={zoomOnScroll} panOnScroll={panOnScroll} + panOnScrollMode={panOnScrollMode} zoomOnDoubleClick={zoomOnDoubleClick} onConnect={onConnect} onElementClick={captureElementClick ? onElementClick : undefined} @@ -50,7 +53,7 @@ const InteractionFlow = () => { onPaneClick={captureZoomClick ? onPaneClick : undefined} onPaneScroll={captureZoomScroll ? onPaneScroll : undefined} onPaneContextMenu={captureZoomClick ? onPaneContextMenu : undefined} - onMoveEnd={(evt) => console.log('on move end', evt)} + onMoveEnd={onMoveEnd} > @@ -116,6 +119,21 @@ const InteractionFlow = () => { /> +
+ +