update(store): add source/target nodes on edge parsing

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2021-12-20 19:29:52 +01:00
parent 3e42948cac
commit e2d60bedfd
2 changed files with 7 additions and 8 deletions
+2 -5
View File
@@ -116,8 +116,6 @@ export default (state: FlowState, getters: FlowGetters): FlowActions => {
} }
const setEdges: FlowActions['setEdges'] = (edges) => { const setEdges: FlowActions['setEdges'] = (edges) => {
state.edges = edges.flatMap((edge) => { state.edges = edges.flatMap((edge) => {
const parsed = parseEdge(edge)
const sourceNode = getters.getNode.value(edge.source)! const sourceNode = getters.getNode.value(edge.source)!
const targetNode = getters.getNode.value(edge.target)! const targetNode = getters.getNode.value(edge.target)!
if (!sourceNode || typeof sourceNode === 'undefined') if (!sourceNode || typeof sourceNode === 'undefined')
@@ -125,11 +123,10 @@ export default (state: FlowState, getters: FlowGetters): FlowActions => {
if (!targetNode || typeof targetNode === 'undefined') if (!targetNode || typeof targetNode === 'undefined')
console.warn(`couldn't create edge for target id: ${edge.target}; edge id: ${edge.id}`) console.warn(`couldn't create edge for target id: ${edge.target}; edge id: ${edge.id}`)
return { return parseEdge(edge, {
...parsed,
sourceNode, sourceNode,
targetNode, targetNode,
} })
}) })
} }
+5 -3
View File
@@ -183,7 +183,11 @@ export const parseNode = (node: Node, nodeExtent: CoordinateExtent): GraphNode =
dragging: false, dragging: false,
}) })
export const parseEdge = (edge: Edge): GraphEdge => ({ export const parseEdge = (
edge: Edge,
defaults: Partial<GraphEdge> & { sourceNode: GraphNode; targetNode: GraphNode },
): GraphEdge => ({
...defaults,
...edge, ...edge,
source: edge.source.toString(), source: edge.source.toString(),
target: edge.target.toString(), target: edge.target.toString(),
@@ -191,8 +195,6 @@ export const parseEdge = (edge: Edge): GraphEdge => ({
targetHandle: edge.targetHandle ? edge.targetHandle.toString() : undefined, targetHandle: edge.targetHandle ? edge.targetHandle.toString() : undefined,
id: edge.id.toString(), id: edge.id.toString(),
type: edge.type ?? 'default', type: edge.type ?? 'default',
sourceNode: {} as any,
targetNode: {} as any,
}) })
const getBoundsOfBoxes = (box1: Box, box2: Box): Box => ({ const getBoundsOfBoxes = (box1: Box, box2: Box): Box => ({