Commit 3e9f7a84a8c006c4da6925b452273ba8005360f6
1 parent
6a679ab8
Exists in
master
and in
107 other branches
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 |
... | ... |