Commit 6fbcceba6fd87cc3b2cd7fdbd2824dcd5ac844d4

Authored by Elena Budnik
2 parents d23bf7c6 f6206fd6

Merge branch 'rm_6522' into 'master'

Rm 6522

See merge request !36
Showing 1 changed file with 44 additions and 39 deletions   Show diff stats
js/app/models/InteractiveNode.js
... ... @@ -28,8 +28,7 @@ Ext.define('amdaModel.InteractiveNode', {
28 28 statics: {
29 29 preloadNodes : function(node,onready)
30 30 {
31   - var me = this;
32   -
  31 + var me = this;
33 32 var nodesToLoad = new Array();
34 33 nodesToLoad.push(node);
35 34 this.preloadTreeNode(node, nodesToLoad, function (node)
... ... @@ -131,7 +130,7 @@ Ext.define('amdaModel.InteractiveNode', {
131 130 }
132 131 module.setContextNode(contextNode);
133 132  
134   - } else if (module.getLinkedNode() != null){
  133 + } else if (module.getLinkedNode() != null){
135 134 //TODO the node to edit is already edited
136 135 // myDesktopApp.warningMsg('This object is being edited');
137 136 //Sol1: msg alert: "warning this node is already edited! If you want to get the original, please press the 'reset' button"->'OK'
... ... @@ -237,7 +236,7 @@ Ext.define('amdaModel.InteractiveNode', {
237 236 if (!this.get('contextNode') || (this.get('contextNode').data.id == 'sharedtimeTable-treeRootNode') || (this.get('contextNode').data.id == 'sharedcatalog-treeRootNode')) {
238 237 // set the root node of 'Derived Parameters' tree as contextNode
239 238 this.set('contextNode',this.getRootNode());
240   - }
  239 + }
241 240 // call the Ext.Direct method to create parameter
242 241 AmdaAction.createObject(this.get('object').getJsonValues(false), this.get('contextNode').get('id'), function(res,e){
243 242 //success
... ... @@ -258,12 +257,13 @@ Ext.define('amdaModel.InteractiveNode', {
258 257 }
259 258 // set text of this node
260 259 this.set('text',this.get('object').get('name'));
  260 +
261 261 //set id of this node
262 262 this.set('id',res.id);
263 263 this.internalId = res.id;
  264 +
264 265 // set id of node's object
265   - this.get('object').set('id',res.id);
266   -
  266 + this.get('object').set('id',res.id);
267 267 if (res.created){
268 268 // set the created date
269 269 this.get('object').set('created',res.created);
... ... @@ -570,39 +570,44 @@ Ext.define('amdaModel.InteractiveNode', {
570 570 var me = this;
571 571 myDesktopApp.getLoadedModule(moduleId, true, function (module) {
572 572 var editedNode = module.getLinkedNode();
573   - // file node is not linked directly to the module
574   - var isThisFile = false;
575   -
576   - if (editedNode && editedNode.$className == 'amdaModel.MyDataParamNode')
577   - if (editedNode.get('fileObject').get('fileName') == me.get('text'))
578   - isThisFile = true;
579   -
580   - if (me.$className == 'amdaModel.DerivedParamNode')
581   - {
582   - var obj = {
583   - paramId : 'ws_'+me.get('text')
584   - };
585   - AmdaAction.compilParamDelete(obj);
586   - }
587   -
588   - if (editedNode === me || isThisFile){
589   - var newNode = Ext.ModelManager.create({leaf : true}, me.$className);
590   - // several tabs could be connected to one node
591   - if (moduleId === myDesktopApp.dynamicModules.plot.id) {
592   - var linkedNodes = module.linkedNodes;
593   -
594   - if (linkedNodes) {
595   - linkedNodes.each(function(key, value){
596   - if (value === me) {
597   - linkedNodes.replace(key,newNode);
598   - var tabPanel = module.getUiContent().tabPanel.items.getByKey(key);
599   - tabPanel.setObject(Ext.create(amdaModel.Plot.$className, {}));
600   - }
601   - }, me);
602   - }
603   - }
604   - newNode.editInModule();
605   - }
  573 +
  574 + // file node is not linked directly to the module
  575 + var isThisFile = false;
  576 + if (editedNode && editedNode.$className == 'amdaModel.MyDataParamNode')
  577 + if (editedNode.get('fileObject').get('fileName') == me.get('text'))
  578 + isThisFile = true;
  579 +
  580 + // node was created BEFORE tree loading; node.id are different ; but it is the same node
  581 + if ( editedNode.get('id') == me.get('id') && editedNode !== me ) {
  582 + module.setLinkedNode(me);
  583 + isThisFile = true;
  584 + }
  585 +
  586 + if (me.$className == 'amdaModel.DerivedParamNode') {
  587 + var obj = {
  588 + paramId : 'ws_'+me.get('text')
  589 + };
  590 + AmdaAction.compilParamDelete(obj);
  591 + }
  592 +
  593 + if (editedNode === me || isThisFile ){
  594 + var newNode = Ext.ModelManager.create({leaf : true}, me.$className);
  595 + // several tabs could be connected to one node
  596 + if (moduleId === myDesktopApp.dynamicModules.plot.id) {
  597 + var linkedNodes = module.linkedNodes;
  598 +
  599 + if (linkedNodes) {
  600 + linkedNodes.each(function(key, value){
  601 + if (value === me) {
  602 + linkedNodes.replace(key,newNode);
  603 + var tabPanel = module.getUiContent().tabPanel.items.getByKey(key);
  604 + tabPanel.setObject(Ext.create(amdaModel.Plot.$className, {}));
  605 + }
  606 + }, me);
  607 + }
  608 + }
  609 + newNode.editInModule();
  610 + }
606 611 });
607 612 }
608 613 }
... ...