You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2017/02/21 16:39:51 UTC
[20/25] ambari git commit: AMBARI-20084. Cut Node feature is broken
in workflow manager.(Padma Priya N via gauravn7)
AMBARI-20084. Cut Node feature is broken in workflow manager.(Padma Priya N via gauravn7)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4719b242
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4719b242
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4719b242
Branch: refs/heads/branch-feature-AMBARI-12556
Commit: 4719b242560326230dc1e10473ddcd535e29c0af
Parents: 6a7d919
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Tue Feb 21 16:12:08 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Tue Feb 21 16:12:08 2017 +0530
----------------------------------------------------------------------
.../ui/app/components/flow-designer.js | 4 +--
.../ui/app/domain/cytoscape-flow-renderer.js | 34 ++++++++++++--------
2 files changed, 22 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/4719b242/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
index c1bd4be..190bb1a 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
@@ -670,9 +670,9 @@ export default Ember.Component.extend(FindNodeMixin, Validations, {
copyNode(node){
this.get('clipboardService').setContent(node, 'copy');
},
- cutNode(node){
+ cutNode(node, transitionsList){
this.get('clipboardService').setContent(node, 'cut');
- this.deleteWorkflowNode(node);
+ this.deleteWorkflowNode(node, transitionsList);
},
replaceNode(node){
var clipboardContent = this.get('clipboardService').getContent();
http://git-wip-us.apache.org/repos/asf/ambari/blob/4719b242/contrib/views/wfmanager/src/main/resources/ui/app/domain/cytoscape-flow-renderer.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/cytoscape-flow-renderer.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/cytoscape-flow-renderer.js
index 6f46fdc..51e0461 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/cytoscape-flow-renderer.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/cytoscape-flow-renderer.js
@@ -287,18 +287,7 @@ var CytoscapeRenderer= Ember.Object.extend({
this.get("context").$('.overlay-trash-icon i').off('click');
this.get("context").$('.overlay-trash-icon i').on('click',function(){
- var incomingNodes=this.get("currentCyNode").incomers("node").jsons().mapBy("data.node");
- var transitionList=[];
- var currentNodeId=this.get("currentCyNode").json().data.id;
- for (var incomingNode of incomingNodes) {
- for (var incomingTran of incomingNode.transitions ){
- if (incomingTran.targetNode.id===currentNodeId){
- incomingTran.sourceNode=incomingNode;
- transitionList=transitionList.concat(incomingTran);
- }
- }
- }
- this.get("context").deleteWorkflowNode(this.get("context").$(".overlay-trash-icon").data("node"),transitionList);
+ this.get("context").deleteWorkflowNode(this.get("context").$(".overlay-trash-icon").data("node"), this.getIncomingTransitions(this.get("currentCyNode")));
this.get("context").$('.overlay-node-actions').hide();
}.bind(this));
@@ -316,7 +305,7 @@ var CytoscapeRenderer= Ember.Object.extend({
this.get("context").$('.overlay-cut-icon i').off('click');
this.get("context").$('.overlay-cut-icon i').on('click',function(){
- this.get("context").cutNode(this.get("context").$(".overlay-cut-icon").data("node"));
+ this.get("context").cutNode(this.get("context").$(".overlay-cut-icon").data("node"), this.getIncomingTransitions(this.get("currentCyNode")));
this.get("context").$('.overlay-node-actions').hide();
}.bind(this));
@@ -344,8 +333,22 @@ var CytoscapeRenderer= Ember.Object.extend({
this.get("context").$('.overlay-node-actions').hide();
}.bind(this));
},
+ getIncomingTransitions(node){
+ var incomingNodes=node.incomers("node").jsons().mapBy("data.node");
+ var transitionList=[];
+ var currentNodeId=this.get("currentCyNode").json().data.id;
+ for (var incomingNode of incomingNodes) {
+ for (var incomingTran of incomingNode.transitions ){
+ if (incomingTran.targetNode.id===currentNodeId){
+ incomingTran.sourceNode=incomingNode;
+ transitionList=transitionList.concat(incomingTran);
+ }
+ }
+ }
+ return transitionList;
+ },
populateOkToandErrorTONodes(node){
- let alternatePathNodes = this.cy.$('#'+node.id).predecessors("node[name][type='decision']").union(this.cy.$('#'+node.id).predecessors("node[name][type='decision']"));
+ let alternatePathNodes = this.cy.$('#'+node.id).predecessors("node[name][type='decision']").union(this.cy.$('#'+node.id).predecessors("node[name][type='fork']"));
let descendantNodes = [];
if(alternatePathNodes.length > 0){
alternatePathNodes.forEach(childNode =>{
@@ -370,6 +373,9 @@ var CytoscapeRenderer= Ember.Object.extend({
node.set('validOkToNodes', okToNodes);
node.set('validErrorToNodes', errorToNodes);
},
+ isWorkflowValid(){
+ return this.cy.nodes("node[name][type='start']").successors("node[name]").intersection(this.cy.nodes("node[name][type='end']").length > 0);
+ },
renderWorkflow(workflow){
this._getCyDataNodes(workflow);
this.cy.startBatch();