feat(svelte): add event handlers and props, rename class names

This commit is contained in:
moklick
2023-03-01 17:28:59 +01:00
parent 9391b36869
commit e2961bfa8c
38 changed files with 410 additions and 163 deletions
@@ -1,5 +1,5 @@
<script lang="ts">
import type { SvelteComponentTyped } from 'svelte';
import { createEventDispatcher, type SvelteComponentTyped } from 'svelte';
import { Position } from '@reactflow/system';
import { useStore } from '$lib/store';
@@ -24,11 +24,23 @@
export let selected: $$Props['selected'] = false;
export let label: $$Props['label'] = undefined;
const { edgeTypes } = useStore();
const { edgeTypes, edges } = useStore();
const dispatch = createEventDispatcher();
const edgeComponent: typeof SvelteComponentTyped<EdgeProps> = $edgeTypes[type!] || BezierEdge;
function onClick() {
const edge = $edges.find(e => e.id === id);
dispatch('edge:click', edge);
}
</script>
<g class="react-flow__edge" class:animated data-id={id}>
<g
class="svelte-flow__edge"
class:animated
data-id={id}
on:click={onClick}
>
<svelte:component
this={edgeComponent}
{id}
@@ -47,12 +59,12 @@
</g>
<style>
.react-flow__edge {
.svelte-flow__edge {
pointer-events: visibleStroke;
cursor: pointer;
}
.react-flow__edge :global(path) {
.svelte-flow__edge :global(path) {
stroke: #ccc;
stroke-width: 1;
fill: none;