Commit 3e9f7a84a8c006c4da6925b452273ba8005360f6

Authored by Elena.Budnik
1 parent 6a679ab8

check if window is open when delete node

Showing 1 changed file with 46 additions and 42 deletions   Show diff stats
js/app/models/InteractiveNode.js
@@ -565,50 +565,54 @@ Ext.define('amdaModel.InteractiveNode', { @@ -565,50 +565,54 @@ Ext.define('amdaModel.InteractiveNode', {
565 if (this.parentNode) { 565 if (this.parentNode) {
566 if (this.isLeaf()){ 566 if (this.isLeaf()){
567 var moduleId = this.get('moduleId'); 567 var moduleId = this.get('moduleId');
568 - // if really interactive node 568 + // if really interactive node
569 if (moduleId) { 569 if (moduleId) {
570 - var me = this;  
571 - myDesktopApp.getLoadedModule(moduleId, true, function (module) {  
572 - var editedNode = module.getLinkedNode();  
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; 570 + var win = myDesktopApp.getDesktop().getWindow(moduleId);
  571 + // if window is really open
  572 + if (win) {
  573 + var me = this;
  574 + myDesktopApp.getLoadedModule(moduleId, true, function (module) {
  575 + var editedNode = module.getLinkedNode();
579 576
580 - // node was created BEFORE tree loading; node.id are different ; but it is the same node  
581 - if ( editedNode && 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 - }  
611 - }); 577 + // file node is not linked directly to the module
  578 + var isThisFile = false;
  579 + if (editedNode && editedNode.$className == 'amdaModel.MyDataParamNode')
  580 + if (editedNode.get('fileObject').get('fileName') == me.get('text'))
  581 + isThisFile = true;
  582 +
  583 + // node was created BEFORE tree loading; node.id are different ; but it is the same node
  584 + if ( editedNode && editedNode.get('id') == me.get('id') && editedNode !== me ) {
  585 + module.setLinkedNode(me);
  586 + isThisFile = true;
  587 + }
  588 +
  589 + if (me.$className == 'amdaModel.DerivedParamNode') {
  590 + var obj = {
  591 + paramId : 'ws_'+me.get('text')
  592 + };
  593 + AmdaAction.compilParamDelete(obj);
  594 + }
  595 +
  596 + if (editedNode === me || isThisFile ){
  597 + var newNode = Ext.ModelManager.create({leaf : true}, me.$className);
  598 + // several tabs could be connected to one node
  599 + if (moduleId === myDesktopApp.dynamicModules.plot.id) {
  600 + var linkedNodes = module.linkedNodes;
  601 +
  602 + if (linkedNodes) {
  603 + linkedNodes.each(function(key, value){
  604 + if (value === me) {
  605 + linkedNodes.replace(key,newNode);
  606 + var tabPanel = module.getUiContent().tabPanel.items.getByKey(key);
  607 + tabPanel.setObject(Ext.create(amdaModel.Plot.$className, {}));
  608 + }
  609 + }, me);
  610 + }
  611 + }
  612 + newNode.editInModule();
  613 + }
  614 + });
  615 + }
612 } 616 }
613 } 617 }
614 //update mask info in myData 618 //update mask info in myData