zoom handle

This commit is contained in:
2026-03-08 23:27:34 +01:00
parent 33aa313f34
commit 84cc40b472

View File

@@ -259,6 +259,15 @@ export default function App() {
} }
}, []) }, [])
// Disable canvas zoom when the cursor is over a node (scroll/pinch only zooms when over the pane)
const onWheelCapture = React.useCallback((ev: React.WheelEvent) => {
const target = ev.target as HTMLElement
if (target.closest('.react-flow__node')) {
ev.preventDefault()
ev.stopPropagation()
}
}, [])
const onCanvasContextMenu = React.useCallback((ev: React.MouseEvent) => { const onCanvasContextMenu = React.useCallback((ev: React.MouseEvent) => {
ev.preventDefault() ev.preventDefault()
const clientX = ev.clientX const clientX = ev.clientX
@@ -381,7 +390,7 @@ export default function App() {
<FlowContext.Provider value={flowContextValue}> <FlowContext.Provider value={flowContextValue}>
<ContextMenu> <ContextMenu>
<ContextMenuTrigger asChild> <ContextMenuTrigger asChild>
<div className="flex-1 min-h-0 w-full"> <div className="flex-1 min-h-0 w-full" onWheelCapture={onWheelCapture}>
<ReactFlowProvider initialNodes={nodes} initialEdges={edges} fitView> <ReactFlowProvider initialNodes={nodes} initialEdges={edges} fitView>
<ReactFlow <ReactFlow
nodes={nodes} nodes={nodes}