diff --git a/examples/react/src/examples/Overview/index.tsx b/examples/react/src/examples/Overview/index.tsx index eb8a8b95..904f31d6 100644 --- a/examples/react/src/examples/Overview/index.tsx +++ b/examples/react/src/examples/Overview/index.tsx @@ -14,6 +14,7 @@ import { Controls, Background, MiniMap, + ConnectionMode, } from '@xyflow/react'; const onNodeDragStart = (_: ReactMouseEvent, node: Node, nodes: Node[]) => console.log('drag start', node, nodes); @@ -193,6 +194,7 @@ const OverviewFlow = () => { { + event.preventDefault(); + console.log('on edge contextmenu', edge); + }} autoPanOnConnect autoPanOnNodeDrag + connectionMode={ConnectionMode.Strict} + attributionPosition={'top-center'} > diff --git a/packages/svelte/src/lib/components/EdgeWrapper/EdgeWrapper.svelte b/packages/svelte/src/lib/components/EdgeWrapper/EdgeWrapper.svelte index 0b99d744..81d35e49 100644 --- a/packages/svelte/src/lib/components/EdgeWrapper/EdgeWrapper.svelte +++ b/packages/svelte/src/lib/components/EdgeWrapper/EdgeWrapper.svelte @@ -51,6 +51,11 @@ const edge = $edges.find((e) => e.id === id); dispatch('edgeclick', { event, edge }); } + + function onContextMenu(event: MouseEvent) { + const edge = $edges.find((e) => e.id === id); + dispatch('edgecontextmenu', { event, edge }); + } @@ -62,6 +67,7 @@ class:selected data-id={id} on:click={onClick} + on:contextmenu={onContextMenu} aria-label={ariaLabel === null ? undefined : ariaLabel diff --git a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte index d9c8602c..4831278d 100644 --- a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte +++ b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte @@ -30,7 +30,8 @@ edge.selectable || ($elementsSelectable && typeof edge.selectable === 'undefined') )} - + + {/each} diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte index 1142a88c..6c47f37e 100644 --- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte +++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte @@ -1,7 +1,7 @@