From 72582b035fe016cc1b86cc242e0c76457ccffe77 Mon Sep 17 00:00:00 2001 From: RedPhoenixQ Date: Mon, 22 Apr 2024 18:29:07 +0200 Subject: [PATCH] Move node EventMap to types and use createEventDispatcher from svelte Using createEventDispatcher from another imported function seems to break the svelte types and thus none of the node events where typed. --- .../NodeSelection/NodeSelection.svelte | 20 +++++++++---------- .../components/NodeWrapper/NodeWrapper.svelte | 6 +++--- packages/svelte/src/lib/types/nodes.ts | 11 ++++++++++ packages/svelte/src/lib/utils/index.ts | 13 ------------ 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/packages/svelte/src/lib/components/NodeSelection/NodeSelection.svelte b/packages/svelte/src/lib/components/NodeSelection/NodeSelection.svelte index e648604a..08a1cd6e 100644 --- a/packages/svelte/src/lib/components/NodeSelection/NodeSelection.svelte +++ b/packages/svelte/src/lib/components/NodeSelection/NodeSelection.svelte @@ -5,17 +5,17 @@ import { useStore } from '$lib/store'; import { Selection } from '$lib/components/Selection'; import drag from '$lib/actions/drag'; - import type { Node } from '$lib/types'; - import { createNodeEventDispatcher } from '$lib'; + import type { Node, NodeEventMap } from '$lib/types'; const store = useStore(); const { selectionRectMode, nodes } = store; - const dispatch = createEventDispatcher<{ - selectioncontextmenu: { nodes: Node[]; event: MouseEvent | TouchEvent }; - selectionclick: { nodes: Node[]; event: MouseEvent | TouchEvent }; - }>(); - const dispatchNodeEvent = createNodeEventDispatcher(); + const dispatch = createEventDispatcher< + NodeEventMap & { + selectioncontextmenu: { nodes: Node[]; event: MouseEvent | TouchEvent }; + selectionclick: { nodes: Node[]; event: MouseEvent | TouchEvent }; + } + >(); $: selectedNodes = $nodes.filter((n) => n.selected); $: bounds = getNodesBounds(selectedNodes); @@ -37,13 +37,13 @@ disabled: false, store, onDrag: (event, _, __, nodes) => { - dispatchNodeEvent('nodedrag', { event, targetNode: null, nodes }); + dispatch('nodedrag', { event, targetNode: null, nodes }); }, onDragStart: (event, _, __, nodes) => { - dispatchNodeEvent('nodedragstart', { event, targetNode: null, nodes }); + dispatch('nodedragstart', { event, targetNode: null, nodes }); }, onDragStop: (event, _, __, nodes) => { - dispatchNodeEvent('nodedragstop', { event, targetNode: null, nodes }); + dispatch('nodedragstop', { event, targetNode: null, nodes }); } }} on:contextmenu={onContextMenu} diff --git a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte index 74a30a3b..c0966ab9 100644 --- a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte +++ b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte @@ -1,7 +1,7 @@