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 565 if (this.parentNode) {
566 566 if (this.isLeaf()){
567 567 var moduleId = this.get('moduleId');
568   - // if really interactive node
  568 + // if really interactive node
569 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 618 //update mask info in myData
... ...