From b4e2f2d1505a3a9ae8b474b8eea271730a2db2ce Mon Sep 17 00:00:00 2001 From: Lvbo163 Date: Mon, 11 Sep 2017 19:05:45 +0800 Subject: save new position after node dragged save the new position after a node was dragged. Issue-ID: SDC-308 Change-Id: I647d9fc176d2495eb4031fa1c040cd379ade1156 Signed-off-by: Lvbo163 --- .../src/app/components/node/node.component.ts | 2 +- .../src/app/services/jsplumb.service.ts | 35 ++++++++++++---------- 2 files changed, 20 insertions(+), 17 deletions(-) (limited to 'sdc-workflow-designer-ui/src') diff --git a/sdc-workflow-designer-ui/src/app/components/node/node.component.ts b/sdc-workflow-designer-ui/src/app/components/node/node.component.ts index e78c6e8c..5fe189db 100644 --- a/sdc-workflow-designer-ui/src/app/components/node/node.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/node/node.component.ts @@ -41,7 +41,7 @@ export class NodeComponent implements AfterViewInit, OnDestroy { ngAfterViewInit(): void { if(this.last) { - this.jsPlumbService.initNode('.node'); + this.jsPlumbService.initNode(); this.jsPlumbService.connectNodes(); } diff --git a/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts b/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts index dc1d800f..6aa5028a 100644 --- a/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts +++ b/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts @@ -119,25 +119,28 @@ export class JsPlumbService { }); } - public initNode(selectorString: string) { - const selector = this.jsplumbInstance.getSelector(selectorString); - - this.jsplumbInstance.draggable(selector, { - }); + public initNode() { + this.processService.getProcess().forEach(node => { + this.jsplumbInstance.draggable(node.id, { + stop: event => { + node.position.left = event.pos[0]; + node.position.top = event.pos[1]; + }, + }); - this.jsplumbInstance.makeTarget(selector, { - detachable: false, - isTarget: true, - maxConnections: -1, - }); + this.jsplumbInstance.makeTarget(node.id, { + detachable: false, + isTarget: true, + maxConnections: -1, + }); - this.jsplumbInstance.makeSource(selector, { - filter: '.anchor, .anchor *', - detachable: false, - isSource: true, - maxConnections: -1, + this.jsplumbInstance.makeSource(node.id, { + filter: '.anchor, .anchor *', + detachable: false, + isSource: true, + maxConnections: -1, + }); }); - } public connectNodes() { -- cgit 1.2.3-korg