diff --git a/ui-ngx/src/app/core/services/item-buffer.service.ts b/ui-ngx/src/app/core/services/item-buffer.service.ts index d779a7a9b6..76c3545f6a 100644 --- a/ui-ngx/src/app/core/services/item-buffer.service.ts +++ b/ui-ngx/src/app/core/services/item-buffer.service.ts @@ -292,6 +292,7 @@ export class ItemBufferService { y: origNode.y, name: origNode.name, componentClazz: origNode.component.clazz, + ruleChainType: origNode.ruleChainType }; if (origNode.targetRuleChainId) { node.targetRuleChainId = origNode.targetRuleChainId; diff --git a/ui-ngx/src/app/modules/home/pages/rulechain/rulechain-page.component.ts b/ui-ngx/src/app/modules/home/pages/rulechain/rulechain-page.component.ts index 69ffa5eae9..9de81ae288 100644 --- a/ui-ngx/src/app/modules/home/pages/rulechain/rulechain-page.component.ts +++ b/ui-ngx/src/app/modules/home/pages/rulechain/rulechain-page.component.ts @@ -537,7 +537,8 @@ export class RuleChainPageComponent extends PageComponent nodeClass: descriptor.nodeClass, icon, iconUrl, - connectors: [] + connectors: [], + ruleChainType: this.ruleChainType }; if (component.configurationDescriptor.nodeDefinition.inEnabled) { node.connectors.push( @@ -626,7 +627,8 @@ export class RuleChainPageComponent extends PageComponent type: FlowchartConstants.leftConnectorType, id: (this.nextConnectorID++) + '' } - ] + ], + ruleChainType: this.ruleChainType }; ruleChainNodesMap[ruleChainConnection.additionalInfo.ruleChainNodeId] = ruleChainNode; this.ruleChainModel.nodes.push(ruleChainNode); diff --git a/ui-ngx/src/app/modules/home/pages/rulechain/rulenode.component.ts b/ui-ngx/src/app/modules/home/pages/rulechain/rulenode.component.ts index 2d057565e2..f61a7d40c3 100644 --- a/ui-ngx/src/app/modules/home/pages/rulechain/rulenode.component.ts +++ b/ui-ngx/src/app/modules/home/pages/rulechain/rulenode.component.ts @@ -19,6 +19,7 @@ import { Component, OnInit } from '@angular/core'; import { FcNodeComponent } from 'ngx-flowchart/dist/ngx-flowchart'; import { FcRuleNode, RuleNodeType } from '@shared/models/rule-node.models'; import { Router } from '@angular/router'; +import { ruleChainType } from '@app/shared/models/rule-chain.models'; @Component({ // tslint:disable-next-line:component-selector @@ -48,7 +49,12 @@ export class RuleNodeComponent extends FcNodeComponent implements OnInit { $event.stopPropagation(); } if (node.targetRuleChainId) { - this.router.navigateByUrl(`/ruleChains/${node.targetRuleChainId}`); + if (node.ruleChainType === ruleChainType.edge) { + this.router.navigateByUrl(`/edges/ruleChains/${node.targetRuleChainId}`); + } else { + this.router.navigateByUrl(`/ruleChains/${node.targetRuleChainId}`); + } + } } } diff --git a/ui-ngx/src/app/shared/models/rule-node.models.ts b/ui-ngx/src/app/shared/models/rule-node.models.ts index 03889b02b1..acf08d5438 100644 --- a/ui-ngx/src/app/shared/models/rule-node.models.ts +++ b/ui-ngx/src/app/shared/models/rule-node.models.ts @@ -313,6 +313,7 @@ export interface FcRuleNode extends FcRuleNodeType { error?: string; highlighted?: boolean; componentClazz?: string; + ruleChainType?: string; } export interface FcRuleEdge extends FcEdge {