@@ -222,6 +221,7 @@ export default {
:arrow-head-color="store.arrowHeadColor"
:marker-end-id="store.markerEndId"
:only-render-visible-elements="store.onlyRenderVisibleElements"
+ :edges-updatable="store.edgesUpdatable"
>
{
if (typeof state.elementsSelectable !== 'undefined') this.elementsSelectable = state.elementsSelectable
if (typeof state.onlyRenderVisibleElements !== 'undefined')
this.onlyRenderVisibleElements = state.onlyRenderVisibleElements
+ if (typeof state.edgesUpdatable !== 'undefined') this.edgesUpdatable = state.edgesUpdatable
if (typeof state.nodesConnectable !== 'undefined') this.nodesConnectable = state.nodesConnectable
if (typeof state.nodesDraggable !== 'undefined') this.nodesDraggable = state.nodesDraggable
if (typeof state.arrowHeadColor !== 'undefined') this.arrowHeadColor = state.arrowHeadColor
diff --git a/src/types/edge.ts b/src/types/edge.ts
index 961d9e72..283a472b 100644
--- a/src/types/edge.ts
+++ b/src/types/edge.ts
@@ -31,6 +31,7 @@ export interface Edge {
data?: T
class?: string
isHidden?: boolean
+ updatable?: boolean
}
export interface GraphEdge extends Edge {
diff --git a/src/types/flow.ts b/src/types/flow.ts
index f9996704..e67dbd40 100644
--- a/src/types/flow.ts
+++ b/src/types/flow.ts
@@ -126,6 +126,7 @@ export interface FlowOptions {
snapToGrid?: boolean
snapGrid?: [number, number]
onlyRenderVisibleElements?: boolean
+ edgesUpdatable?: boolean
nodesDraggable?: boolean
nodesConnectable?: boolean
elementsSelectable?: boolean
diff --git a/src/types/hooks.ts b/src/types/hooks.ts
index 108c5314..82a898bd 100644
--- a/src/types/hooks.ts
+++ b/src/types/hooks.ts
@@ -36,7 +36,6 @@ export interface FlowEvents {
paneScroll: WheelEvent | undefined
paneClick: MouseEvent
paneContextMenu: MouseEvent
- edgeUpdate: { edge: GraphEdge; connection: Connection }
edgeContextMenu: { event: MouseEvent; edge: GraphEdge }
edgeMouseEnter: { event: MouseEvent; edge: GraphEdge }
edgeMouseMove: { event: MouseEvent; edge: GraphEdge }
@@ -44,6 +43,7 @@ export interface FlowEvents {
edgeDoubleClick: { event: MouseEvent; edge: GraphEdge }
edgeClick: { event: MouseEvent; edge: GraphEdge }
edgeUpdateStart: { event: MouseEvent; edge: GraphEdge }
+ edgeUpdate: { edge: GraphEdge; connection: Connection }
edgeUpdateEnd: { event: MouseEvent; edge: GraphEdge }
}
diff --git a/src/types/store.ts b/src/types/store.ts
index be7efa1b..63a91052 100644
--- a/src/types/store.ts
+++ b/src/types/store.ts
@@ -58,6 +58,7 @@ export interface FlowState extends Omit {
snapToGrid: boolean
snapGrid: SnapGrid
+ edgesUpdatable: boolean
nodesDraggable: boolean
nodesConnectable: boolean
elementsSelectable: boolean
diff --git a/src/utils/store.ts b/src/utils/store.ts
index a16de395..8bdef8fd 100644
--- a/src/utils/store.ts
+++ b/src/utils/store.ts
@@ -74,6 +74,7 @@ export const initialState = (): FlowState => ({
snapGrid: [15, 15],
snapToGrid: false,
+ edgesUpdatable: false,
nodesDraggable: true,
nodesConnectable: true,
elementsSelectable: true,