diff --git a/.changeset/wild-papayas-teach.md b/.changeset/wild-papayas-teach.md new file mode 100644 index 00000000..1395eef6 --- /dev/null +++ b/.changeset/wild-papayas-teach.md @@ -0,0 +1,5 @@ +--- +'@xyflow/svelte': patch +--- + +Fix ondelete not getting called when using deleteElements diff --git a/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte b/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte index fe5573dd..ff4aea71 100644 --- a/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte +++ b/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte @@ -64,21 +64,14 @@ store.zoomActivationKeyPressed = false; } - async function handleDelete() { + function handleDelete() { const selectedNodes = store.nodes.filter((node) => node.selected); const selectedEdges = store.edges.filter((edge) => edge.selected); - const { deletedNodes, deletedEdges } = await deleteElements({ + deleteElements({ nodes: selectedNodes, edges: selectedEdges }); - - if (deletedNodes.length > 0 || deletedEdges.length > 0) { - store.ondelete?.({ - nodes: deletedNodes, - edges: deletedEdges - }); - } } diff --git a/packages/svelte/src/lib/hooks/useSvelteFlow.svelte.ts b/packages/svelte/src/lib/hooks/useSvelteFlow.svelte.ts index 0d16d390..40a1da97 100644 --- a/packages/svelte/src/lib/hooks/useSvelteFlow.svelte.ts +++ b/packages/svelte/src/lib/hooks/useSvelteFlow.svelte.ts @@ -460,6 +460,13 @@ export function useSvelteFlow 0 || matchingEdges.length > 0) { + store.ondelete?.({ + nodes: matchingNodes, + edges: matchingEdges + }); + } + return { deletedNodes: matchingNodes, deletedEdges: matchingEdges