chore(core): cleanup update edge action

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2023-02-15 18:19:59 +01:00
committed by Braks
parent a0f1de6962
commit 3cb6d98f3f
2 changed files with 13 additions and 4 deletions

View File

@@ -427,7 +427,7 @@ export function useActions(state: State, getters: ComputedGetters): Actions {
}
const updateEdge: Actions['updateEdge'] = (oldEdge, newConnection, shouldReplaceId = true) =>
updateEdgeAction(oldEdge, newConnection, state.edges, shouldReplaceId)
updateEdgeAction(oldEdge, newConnection, state.edges, findEdge, shouldReplaceId)
const applyNodeChanges: Actions['applyNodeChanges'] = (changes) => applyChanges(changes, state.nodes)

View File

@@ -10,25 +10,34 @@ export function addEdgeToStore(edgeParams: Edge | Connection, edges: Edge[]) {
let edge
if (isEdge(edgeParams)) {
edge = { ...edgeParams }
edge = edgeParams
} else {
edge = {
...edgeParams,
id: getEdgeId(edgeParams),
} as Edge
}
edge = parseEdge(edge)
if (connectionExists(edge, edges)) return false
return edge
}
export function updateEdgeAction(edge: GraphEdge, newConnection: Connection, edges: GraphEdge[], shouldReplaceId: boolean) {
export function updateEdgeAction(
edge: GraphEdge,
newConnection: Connection,
edges: GraphEdge[],
findEdge: Actions['findEdge'],
shouldReplaceId: boolean,
) {
if (!newConnection.source || !newConnection.target) {
warn("Can't create new edge. An edge needs a source and a target.")
return false
}
const foundEdge = edges.find((e) => isGraphEdge(e) && e.id === edge.id)
const foundEdge = findEdge(edge.id)
if (!foundEdge) {
warn(`The old edge with id=${edge.id} does not exist.`)