diff --git a/src/packages/ce/src/flow/hooks/Flow.nodes.hook.ts b/src/packages/ce/src/flow/hooks/Flow.nodes.hook.ts index f71287f..56c68c2 100644 --- a/src/packages/ce/src/flow/hooks/Flow.nodes.hook.ts +++ b/src/packages/ce/src/flow/hooks/Flow.nodes.hook.ts @@ -101,7 +101,7 @@ export const useFlowNodes = (flowId: Flow["id"], namespaceId?: Namespace["id"], parentNodeId: nodeId, nodeId: nodeId, flowId: flowId, - color: hashToColor(value.id!), + color: hashToColor(value?.id ?? ""), }, }); } diff --git a/src/packages/ce/src/flow/services/Flow.service.ts b/src/packages/ce/src/flow/services/Flow.service.ts index 79947cd..7fdc1e9 100644 --- a/src/packages/ce/src/flow/services/Flow.service.ts +++ b/src/packages/ce/src/flow/services/Flow.service.ts @@ -97,11 +97,11 @@ export class FlowService extends ReactiveArrayService value.id === id); } - protected removeParameterNode(flow: FlowView, parameter: NodeParameter): void { - if (parameter?.value?.__typename === "NodeFunctionIdWrapper") { - const parameterNode = flow?.nodes?.nodes?.find(n => n?.id === (parameter.value as NodeFunction)?.id) + protected removeParameterNode(flow: FlowView, node: NodeParameter): void { + if (node?.value?.__typename === "NodeFunctionIdWrapper") { + const parameterNode = flow?.nodes?.nodes?.find(n => n?.id === (node.value as NodeFunction)?.id) if (parameterNode) { - flow!.nodes!.nodes = flow!.nodes!.nodes!.filter(n => n?.id !== (parameter.value as NodeFunction)?.id) + flow!.nodes!.nodes = flow!.nodes!.nodes!.filter(n => n?.id !== (node.value as NodeFunction)?.id) let nextNodeId = parameterNode.nextNodeId while (nextNodeId) { const nextNode = flow!.nodes!.nodes!.find(n => n?.id === nextNodeId) @@ -119,22 +119,6 @@ export class FlowService extends ReactiveArrayService { - if (p?.value?.__typename === "NodeFunctionIdWrapper") { - const parameterNode = this.getNodeById(flowId, (p.value as NodeFunctionIdWrapper)?.id!!) - if (parameterNode) { - parameterNodes.push(parameterNode) - //parameterNodes.push(...(parameterNode ? this.getLinkedNodesById(flowId, parameterNode.nextNodeId) : [])) - } - } - }) - return [...(parentNode ? [parentNode] : []), ...parameterNodes] - } - getNodeById(flowId: FlowView['id'], nodeId: NodeFunction['id']): NodeFunction | undefined { return this.getById(flowId)?.nodes?.nodes?.find(node => node?.id === nodeId)!! } @@ -224,7 +208,9 @@ export class FlowService extends ReactiveArrayService p?.value?.__typename === "NodeFunctionIdWrapper" && (p.value as NodeFunction)?.id === nodeId) - if (parameter) { + if (parameter && parameter.value?.__typename === "NodeFunctionIdWrapper" && node.nextNodeId) { + parameter.value.id = node.nextNodeId + } else if (parameter) { parameter.value = undefined } }