feat(svelte) add defaultEdgeOptions, closes #3437

This commit is contained in:
Peter
2023-09-25 10:36:31 +02:00
parent 1a935de3f9
commit 339df4c651
4 changed files with 26 additions and 3 deletions
@@ -161,6 +161,9 @@
}}
autoPanOnConnect
autoPanOnNodeDrag
defaultEdgeOptions={{
hidden: false
}}
>
<Controls />
<Background variant={BackgroundVariant.Dots} />
@@ -2,8 +2,19 @@
import { EdgeWrapper } from '$lib/components/EdgeWrapper';
import { MarkerDefinition } from '$lib/container/EdgeRenderer/MarkerDefinition';
import { useStore } from '$lib/store';
import type { DefaultEdgeOptions } from '$lib/types';
const { width, height, elementsSelectable, edgeTree } = useStore();
export let defaultOptions: DefaultEdgeOptions | undefined;
const {
width,
height,
elementsSelectable,
edgeTree,
edges: { setDefaultOptions }
} = useStore();
$: if (defaultOptions) setDefaultOptions(defaultOptions);
</script>
{#each $edgeTree as group (group.level)}
@@ -54,6 +54,7 @@
export let autoPanOnConnect: $$Props['autoPanOnConnect'] = true;
export let autoPanOnNodeDrag: $$Props['autoPanOnNodeDrag'] = true;
export let onError: $$Props['onError'] = undefined;
export let defaultEdgeOptions: $$Props['defaultEdgeOptions'] = undefined;
export let defaultMarkerColor = '#b1b1b7';
@@ -149,7 +150,7 @@
>
<Pane on:paneclick panOnDrag={panOnDrag === undefined ? true : panOnDrag}>
<ViewportComponent>
<EdgeRenderer on:edgeclick />
<EdgeRenderer on:edgeclick defaultOptions={defaultEdgeOptions} />
<ConnectionLine />
<div class="svelte-flow__edgelabel-renderer" />
<NodeRenderer
@@ -17,7 +17,14 @@ import type {
OnError
} from '@xyflow/system';
import type { Edge, Node, NodeTypes, KeyDefinition, EdgeTypes } from '$lib/types';
import type {
Edge,
Node,
NodeTypes,
KeyDefinition,
EdgeTypes,
DefaultEdgeOptions
} from '$lib/types';
import type { Writable } from 'svelte/store';
export type SvelteFlowProps = DOMAttributes<HTMLDivElement> & {
@@ -52,6 +59,7 @@ export type SvelteFlowProps = DOMAttributes<HTMLDivElement> & {
onlyRenderVisibleElements?: boolean;
autoPanOnConnect?: boolean;
autoPanOnNodeDrag?: boolean;
defaultEdgeOptions?: DefaultEdgeOptions;
class?: string;
style?: string;