use pointer events instead of mouse events

This commit is contained in:
peterkogo
2025-01-21 12:44:57 +01:00
parent 938647736e
commit 04b9c828bb
9 changed files with 53 additions and 53 deletions
@@ -14,8 +14,8 @@
store,
onedgeclick,
onedgecontextmenu,
onedgemouseenter,
onedgemouseleave
onedgepointerenter,
onedgepointerleave
}: { store: SvelteFlowStore; edge: EdgeLayouted } & EdgeEvents = $props();
let {
@@ -60,7 +60,7 @@
markerEnd ? `url('#${getMarkerId(markerEnd, store.flowId)}')` : undefined
);
function onclick(event: MouseEvent | TouchEvent) {
function onclick(event: MouseEvent) {
const edge = store.edgeLookup.get(id);
if (edge) {
@@ -69,9 +69,9 @@
}
}
function onMouseEvent(
event: MouseEvent,
callback: ({ edge, event }: { edge: Edge; event: MouseEvent }) => void
function onMouseEvent<T = MouseEvent>(
event: T,
callback: ({ edge, event }: { edge: Edge; event: T }) => void
) {
const edge = store.edgeLookup.get(id);
@@ -97,14 +97,14 @@
onMouseEvent(e, onedgecontextmenu);
}
: undefined}
onmouseenter={onedgemouseenter
onpointerenter={onedgepointerenter
? (e) => {
onMouseEvent(e, onedgemouseenter);
onMouseEvent(e, onedgepointerenter);
}
: undefined}
onmouseleave={onedgemouseleave
onpointerleave={onedgepointerleave
? (e) => {
onMouseEvent(e, onedgemouseleave);
onMouseEvent(e, onedgepointerleave);
}
: undefined}
aria-label={ariaLabel === null
@@ -24,12 +24,12 @@
return null;
});
function oncontextmenu(event: MouseEvent | TouchEvent) {
function oncontextmenu(event: MouseEvent) {
const selectedNodes = store.nodes.filter((n) => n.selected);
onselectioncontextmenu?.({ nodes: selectedNodes, event });
}
function onclick(event: MouseEvent | TouchEvent) {
function onclick(event: MouseEvent) {
const selectedNodes = store.nodes.filter((n) => n.selected);
onselectionclick?.({ nodes: selectedNodes, event });
}
@@ -19,9 +19,9 @@
onnodedrag,
onnodedragstart,
onnodedragstop,
onnodemouseenter,
onnodemouseleave,
onnodemousemove,
onnodepointerenter,
onnodepointerleave,
onnodepointermove,
onnodecontextmenu
}: NodeWrapperProps & NodeEvents = $props();
@@ -200,9 +200,9 @@
style:visibility={initialized ? 'visible' : 'hidden'}
style="{style ?? ''};{inlineStyleDimensions.width}{inlineStyleDimensions.height}"
onclick={onSelectNodeHandler}
onpointerenter={onnodemouseenter ? (event) => onnodemouseenter({ node, event }) : undefined}
onpointerleave={onnodemouseleave ? (event) => onnodemouseleave({ node, event }) : undefined}
onpointermove={onnodemousemove ? (event) => onnodemousemove({ node, event }) : undefined}
onpointerenter={onnodepointerenter ? (event) => onnodepointerenter({ node, event }) : undefined}
onpointerleave={onnodepointerleave ? (event) => onnodepointerleave({ node, event }) : undefined}
onpointermove={onnodepointermove ? (event) => onnodepointermove({ node, event }) : undefined}
oncontextmenu={onnodecontextmenu ? (event) => onnodecontextmenu({ node, event }) : undefined}
>
<NodeComponent