refactor(edges): Make edge updating optional

* add an option to enable edge updating globally
* pass an option to an edge to enable updating for a single edge

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2021-11-26 11:08:12 +01:00
parent 98b6fdb717
commit 4630f3efc1
12 changed files with 48 additions and 27 deletions
+1
View File
@@ -31,6 +31,7 @@ export interface Edge<T = any> {
data?: T
class?: string
isHidden?: boolean
updatable?: boolean
}
export interface GraphEdge<T = any> extends Edge<T> {
+1
View File
@@ -126,6 +126,7 @@ export interface FlowOptions {
snapToGrid?: boolean
snapGrid?: [number, number]
onlyRenderVisibleElements?: boolean
edgesUpdatable?: boolean
nodesDraggable?: boolean
nodesConnectable?: boolean
elementsSelectable?: boolean
+1 -1
View File
@@ -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 }
}
+1
View File
@@ -58,6 +58,7 @@ export interface FlowState extends Omit<FlowOptions, 'elements'> {
snapToGrid: boolean
snapGrid: SnapGrid
edgesUpdatable: boolean
nodesDraggable: boolean
nodesConnectable: boolean
elementsSelectable: boolean