Merge pull request #3449 from wbkd/svelte-flow-connection-mode

[svelte-flow] added connectionMode prop
This commit is contained in:
Moritz Klack
2023-09-25 17:17:22 +02:00
committed by GitHub
5 changed files with 12 additions and 3 deletions
@@ -14,6 +14,7 @@ import {
Controls,
Background,
MiniMap,
ConnectionMode,
} from '@xyflow/react';
const onNodeDragStart = (_: ReactMouseEvent, node: Node, nodes: Node[]) => console.log('drag start', node, nodes);
@@ -193,6 +194,7 @@ const OverviewFlow = () => {
<ReactFlow
nodes={nodes}
edges={edges}
connectionMode={ConnectionMode.Strict}
onNodesChange={onNodesChange}
onEdgesChange={onEdgesChange}
onNodeClick={onNodeClick}
@@ -11,7 +11,8 @@
type NodeTypes,
type EdgeTypes,
type Node,
type Edge
type Edge,
ConnectionMode
} from '@xyflow/svelte';
import CustomNode from './CustomNode.svelte';
@@ -165,6 +166,7 @@
}}
autoPanOnConnect
autoPanOnNodeDrag
connectionMode={ConnectionMode.Strict}
attributionPosition={'top-center'}
>
<Controls />
@@ -1,7 +1,7 @@
<script lang="ts">
import { onMount, hasContext } from 'svelte';
import cc from 'classcat';
import { PanOnScrollMode, type Viewport } from '@xyflow/system';
import { ConnectionMode, PanOnScrollMode, type Viewport } from '@xyflow/system';
import { Zoom } from '$lib/container/Zoom';
import { Pane } from '$lib/container/Pane';
@@ -38,6 +38,7 @@
export let deleteKey: $$Props['deleteKey'] = undefined;
export let connectionRadius: $$Props['connectionRadius'] = undefined;
export let connectionLineType: $$Props['connectionLineType'] = undefined;
export let connectionMode: $$Props['connectionMode'] = ConnectionMode.Strict;
export let onMoveStart: $$Props['onMoveStart'] = undefined;
export let onMove: $$Props['onMove'] = undefined;
export let onMoveEnd: $$Props['onMoveEnd'] = undefined;
@@ -110,7 +111,8 @@
isValidConnection,
autoPanOnConnect,
autoPanOnNodeDrag,
onError
onError,
connectionMode
};
updateStoreByKeys(store, updatableProps);
@@ -15,6 +15,7 @@ import type {
HandleType,
NodeBase,
OnError,
ConnectionMode,
PanelPosition,
ProOptions
} from '@xyflow/system';
@@ -37,6 +38,7 @@ export type SvelteFlowProps = DOMAttributes<HTMLDivElement> & {
maxZoom?: number;
initialViewport?: Viewport;
connectionRadius?: number;
connectionMode?: ConnectionMode;
selectionMode?: SelectionMode;
snapGrid?: SnapGrid;
defaultMarkerColor?: string;
@@ -61,6 +61,7 @@ export type UpdatableStoreProps = {
isValidConnection?: UnwrapWritable<SvelteFlowStore['isValidConnection']>;
autoPanOnConnect?: UnwrapWritable<SvelteFlowStore['autoPanOnConnect']>;
autoPanOnNodeDrag?: UnwrapWritable<SvelteFlowStore['autoPanOnNodeDrag']>;
connectionMode?: UnwrapWritable<SvelteFlowStore['connectionMode']>;
onError?: UnwrapWritable<SvelteFlowStore['onError']>;
};