feat(edges): return new edge from updateEdge utility
This commit is contained in:
@@ -56,7 +56,7 @@ const addEdge = (edgeParams: Edge | Connection, edges: Edge[]) => {
|
||||
return edge
|
||||
}
|
||||
|
||||
const updateEdgeAction = (edge: GraphEdge, newConnection: Connection, edges: GraphEdge[], add: Actions['addEdges']): boolean => {
|
||||
const updateEdgeAction = (edge: GraphEdge, newConnection: Connection, edges: GraphEdge[], add: Actions['addEdges']) => {
|
||||
if (!newConnection.source || !newConnection.target) {
|
||||
console.warn("Can't create new edge. An edge needs a source and a target.")
|
||||
return false
|
||||
@@ -70,18 +70,17 @@ const updateEdgeAction = (edge: GraphEdge, newConnection: Connection, edges: Gra
|
||||
}
|
||||
|
||||
edges.splice(edges.indexOf(edge), 1)
|
||||
add([
|
||||
{
|
||||
...edge,
|
||||
id: getEdgeId(newConnection),
|
||||
source: newConnection.source,
|
||||
target: newConnection.target,
|
||||
sourceHandle: newConnection.sourceHandle,
|
||||
targetHandle: newConnection.targetHandle,
|
||||
},
|
||||
])
|
||||
const newEdge = {
|
||||
...edge,
|
||||
id: getEdgeId(newConnection),
|
||||
source: newConnection.source,
|
||||
target: newConnection.target,
|
||||
sourceHandle: newConnection.sourceHandle,
|
||||
targetHandle: newConnection.targetHandle,
|
||||
}
|
||||
add([newEdge])
|
||||
|
||||
return true
|
||||
return newEdge
|
||||
}
|
||||
|
||||
const createGraphNodes = (nodes: Node[], getNode: Getters['getNode'], currGraphNodes: GraphNode[], extent: CoordinateExtent) => {
|
||||
|
||||
@@ -109,7 +109,7 @@ export interface Actions<NodeData = ElementData, EdgeData = ElementData> {
|
||||
/** parses edges and adds to state */
|
||||
addEdges: <EA = EdgeData>(edgesOrConnections: (Edge<EA> | Connection)[]) => void
|
||||
/** updates an edge */
|
||||
updateEdge: <EU = EdgeData>(oldEdge: GraphEdge<EU>, newConnection: Connection) => boolean
|
||||
updateEdge: <EU = EdgeData>(oldEdge: GraphEdge<EU>, newConnection: Connection) => GraphEdge | false
|
||||
applyEdgeChanges: <ED = EdgeData>(changes: EdgeChange[]) => GraphEdge<ED>[]
|
||||
applyNodeChanges: <ND = NodeData>(changes: NodeChange[]) => GraphNode<ND>[]
|
||||
addSelectedElements: (elements: FlowElements<NodeData, EdgeData>) => void
|
||||
|
||||
Reference in New Issue
Block a user