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