use pointer events instead of mouse events
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user