Added handleEdgeSelect hook & click on edge-label now selects edge

This commit is contained in:
peterkogo
2024-01-18 14:26:35 +01:00
parent 6bb9c5360d
commit 88aa0fccf3
7 changed files with 86 additions and 50 deletions
@@ -0,0 +1,27 @@
<script lang="ts">
import { EdgeLabelRenderer } from '$lib/components/EdgeLabelRenderer';
import { useHandleEdgeSelect } from '$lib/hooks/useHandleEdgeSelect';
import { getContext } from 'svelte';
import type { BaseEdgeProps } from '../BaseEdge/types';
export let labelStyle: BaseEdgeProps['labelStyle'] = undefined;
export let labelX: BaseEdgeProps['labelX'] = undefined;
export let labelY: BaseEdgeProps['labelY'] = undefined;
const handleEdgeSelect = useHandleEdgeSelect();
const id = getContext<string>('svelteflow__edge_id');
</script>
<EdgeLabelRenderer>
<div
class="svelte-flow__edge-label"
style:transform="translate(-50%, -50%) translate({labelX}px,{labelY}px)"
style={'pointer-events: all;' + labelStyle}
on:click={() => {
if (id) handleEdgeSelect(id);
}}
>
<slot />
</div>
</EdgeLabelRenderer>
@@ -0,0 +1 @@
export { default as EdgeLabel } from './EdgeLabel.svelte';