refactor(reactflowUtils.ts): improve variable names and add type checking for source and target nodes in updateEdgesHandleIds function

fix(reactflowUtils.ts): fix assignment of newTarget in updateEdgesHandleIds function to correctly set type, fieldName, id, and inputTypes properties
fix(reactflowUtils.ts): fix assignment of newSource in updateEdgesHandleIds function to correctly set dataType, id, and baseClasses properties
fix(reactflowUtils.ts): fix assignment of sourceHandle and targetHandle in updateEdgesHandleIds function to correctly stringify newSource and newTarget objects
This commit is contained in:
anovazzi1 2023-07-26 18:28:27 -03:00
commit fbca8497d6

View file

@ -248,23 +248,34 @@ export function updateEdgesHandleIds({
}: updateEdgesHandleIdsType) { }: updateEdgesHandleIdsType) {
let newEdges = _.cloneDeep(edges); let newEdges = _.cloneDeep(edges);
newEdges.forEach((edge) => { newEdges.forEach((edge) => {
const sourceNode = edge.source; const sourceNodeId = edge.source;
const targetNode = edge.target; const targetNodeId = edge.target;
const sourceNode = nodes.find((node) => node.id === sourceNodeId);
const targetNode = nodes.find((node) => node.id === targetNodeId);
let source = edge.sourceHandle; let source = edge.sourceHandle;
let target = edge.targetHandle; let target = edge.targetHandle;
//right //right
let newSource: sourceHandleType; let newSource: sourceHandleType;
//left //left
let newTarget: targetHandleType; let newTarget: targetHandleType;
if (target) { if (target && targetNode) {
let splittedtarget = target.split("|"); let field = target.split("|")[1];
let inputTypes: string[]; newTarget = {
if (splittedtarget[0].split(";").length > 1) { type: targetNode.data.node.template[field].type,
newTarget.inputTypes = splittedtarget[0].split(";"); fieldName: field,
} else { id: targetNode.data.id,
newTarget.type = splittedtarget[0]; inputTypes: targetNode.data.node.template[field].input_types,
};
} }
if (source && sourceNode) {
newSource = {
dataType: sourceNode.data.type,
id: sourceNode.data.id,
baseClasses: sourceNode.data.node.base_classes,
};
} }
edge.sourceHandle = JSON.stringify(newSource);
edge.targetHandle = JSON.stringify(newTarget);
}); });
setEdges(newEdges); setEdges(newEdges);
} }