Commit 84d442b486b9f8a33ae043c49167c4660d2638b5

Authored by Benjamin Renard
1 parent 9705c573

Synchronize plot request title

js/app/controllers/PlotModule.js
@@ -232,5 +232,14 @@ Ext.define('amdaDesktop.PlotModule', { @@ -232,5 +232,14 @@ Ext.define('amdaDesktop.PlotModule', {
232 me.linkedNode.get('object').plots().add(plotNode); 232 me.linkedNode.get('object').plots().add(plotNode);
233 }); 233 });
234 } 234 }
  235 + },
  236 +
  237 + updateTabs: function() {
  238 + var me = this;
  239 + var desktop = this.app.getDesktop();
  240 + var win = desktop.getWindow(this.id);
  241 + if (win) {
  242 + me.getUiContent().updateTabs();
  243 + }
235 } 244 }
236 }); 245 });
js/app/models/PlotNode.js
@@ -107,5 +107,18 @@ Ext.define('amdaModel.PlotNode', { @@ -107,5 +107,18 @@ Ext.define('amdaModel.PlotNode', {
107 myDesktopApp.getLoadedModule(this.get('moduleId'),true, function (module) { 107 myDesktopApp.getLoadedModule(this.get('moduleId'),true, function (module) {
108 module.editPlot(me); 108 module.editPlot(me);
109 }); 109 });
110 - } 110 + },
  111 +
  112 + //Override rename
  113 + rename: function(value,callBackFn)
  114 + {
  115 + var me = this;
  116 + var dataToSend = {id : this.get('id'), old_name: this.modified.text, name: value, parent : this.data.parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')};
  117 + AmdaAction.renameObject(dataToSend, function(result) {
  118 + callBackFn(result);
  119 + myDesktopApp.getLoadedModule(me.get('moduleId'),true, function (module) {
  120 + module.updateTabs();
  121 + });
  122 + });
  123 + }
111 }); 124 });
js/app/models/PlotObjects/MultiplotRequestObject.js
@@ -51,17 +51,13 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', { @@ -51,17 +51,13 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', {
51 51
52 duplicatePlot: function(plotNode) { 52 duplicatePlot: function(plotNode) {
53 var me = this; 53 var me = this;
54 - var clonedObject = plotNode.get('object').copy();  
55 var newPlotNode = null; 54 var newPlotNode = null;
56 this.plots().each(function(node, index) { 55 this.plots().each(function(node, index) {
57 if (node == plotNode) { 56 if (node == plotNode) {
58 - plotNode.get('object').reject();  
59 newPlotNode = Ext.create('amdaModel.PlotNode', { 57 newPlotNode = Ext.create('amdaModel.PlotNode', {
60 leaf : true 58 leaf : true
61 }); 59 });
62 - newPlotNode.set('object',clonedObject);  
63 - me.plots().removeAt(index);  
64 - me.plots().insert(index, newPlotNode); 60 + newPlotNode.set('object', plotNode.get('object'));
65 return false; 61 return false;
66 } 62 }
67 }); 63 });
js/app/views/PlotComponents/PlotTabContent.js
@@ -59,6 +59,8 @@ Ext.define('amdaPlotComp.PlotTabContent', { @@ -59,6 +59,8 @@ Ext.define('amdaPlotComp.PlotTabContent', {
59 }, 59 },
60 60
61 savePlot : function() { 61 savePlot : function() {
  62 + var me = this;
  63 +
62 this.updateTimeObject(); 64 this.updateTimeObject();
63 var object = this.plotNode.get('object'); 65 var object = this.plotNode.get('object');
64 if (!object) 66 if (!object)
@@ -66,12 +68,13 @@ Ext.define('amdaPlotComp.PlotTabContent', { @@ -66,12 +68,13 @@ Ext.define('amdaPlotComp.PlotTabContent', {
66 68
67 if ((object.get('id') != '') && (this.plotNode.get('text') == object.get('name'))) { 69 if ((object.get('id') != '') && (this.plotNode.get('text') == object.get('name'))) {
68 //update existing request 70 //update existing request
69 - this.plotNode.update({plot: true}); 71 + this.plotNode.update({plot: true, callback: function() {
  72 + me.plotTabPanel.updatePlotTabs();
  73 + }});
70 return; 74 return;
71 } 75 }
72 76
73 //save new request 77 //save new request
74 - var me = this;  
75 this.plotNode.isValidName(object.get('name'), function (res) { 78 this.plotNode.isValidName(object.get('name'), function (res) {
76 if (!res) { 79 if (!res) {
77 myDesktopApp.errorMsg('Error during object validation'); 80 myDesktopApp.errorMsg('Error during object validation');
@@ -106,8 +109,11 @@ Ext.define('amdaPlotComp.PlotTabContent', { @@ -106,8 +109,11 @@ Ext.define('amdaPlotComp.PlotTabContent', {
106 }, 109 },
107 110
108 saveProcess : function(toRename) { 111 saveProcess : function(toRename) {
  112 + var me = this;
109 if (toRename) { 113 if (toRename) {
110 - this.plotNode.update({plot: true}); 114 + this.plotNode.update({plot: true, callback: function() {
  115 + me.plotTabPanel.updatePlotTabs();
  116 + }});
111 } 117 }
112 else { 118 else {
113 if (this.plotNode.get('object').get('id') != '') { 119 if (this.plotNode.get('object').get('id') != '') {
@@ -121,9 +127,10 @@ Ext.define('amdaPlotComp.PlotTabContent', { @@ -121,9 +127,10 @@ Ext.define('amdaPlotComp.PlotTabContent', {
121 this.updateUI(); 127 this.updateUI();
122 } 128 }
123 } 129 }
124 - this.plotNode.create(); 130 + this.plotNode.create({callback: function() {
  131 + me.plotTabPanel.updatePlotTabs();
  132 + }});
125 } 133 }
126 - this.plotTabPanel.updatePlotTabs();  
127 }, 134 },
128 135
129 updateUI : function() { 136 updateUI : function() {
js/app/views/PlotComponents/PlotTabPanel.js
@@ -20,6 +20,8 @@ Ext.define('amdaPlotComp.PlotTabPanel', { @@ -20,6 +20,8 @@ Ext.define('amdaPlotComp.PlotTabPanel', {
20 20
21 //Multiplot object 21 //Multiplot object
22 multiplot_object: null, 22 multiplot_object: null,
  23 +
  24 + tabbar_destroy : false,
23 25
24 constructor: function(config) { 26 constructor: function(config) {
25 this.init(config); 27 this.init(config);
@@ -88,8 +90,9 @@ Ext.define('amdaPlotComp.PlotTabPanel', { @@ -88,8 +90,9 @@ Ext.define('amdaPlotComp.PlotTabPanel', {
88 if (tab.items.getAt(0).plotNode) 90 if (tab.items.getAt(0).plotNode)
89 this.multiplot_object.removePlotByInternalId(tab.items.getAt(0).plotNode.internalId); 91 this.multiplot_object.removePlotByInternalId(tab.items.getAt(0).plotNode.internalId);
90 }, 92 },
91 - destroy: function(tab, eOpts) {  
92 - this.updatePlotTabs(); 93 + destroy: function(tab, eOpts) {
  94 + if (!this.tabbar_destroy)
  95 + this.updatePlotTabs();
93 } 96 }
94 } 97 }
95 }); 98 });
@@ -154,7 +157,12 @@ Ext.define('amdaPlotComp.PlotTabPanel', { @@ -154,7 +157,12 @@ Ext.define('amdaPlotComp.PlotTabPanel', {
154 var tabContent = me.addPlotNode(me.multiplot_object.createNewPlot(), true); 157 var tabContent = me.addPlotNode(me.multiplot_object.createNewPlot(), true);
155 } 158 }
156 } 159 }
157 - ] 160 + ],
  161 + listeners: {
  162 + beforedestroy: function(tabbar, eOpts) {
  163 + me.tabbar_destroy = true;
  164 + }
  165 + }
158 } 166 }
159 }; 167 };
160 168
js/app/views/PlotUI.js
@@ -106,6 +106,10 @@ Ext.define('amdaUI.PlotUI', { @@ -106,6 +106,10 @@ Ext.define('amdaUI.PlotUI', {
106 updateObject : function(){ 106 updateObject : function(){
107 this.plotTabs.updateTimeObjects(); 107 this.plotTabs.updateTimeObjects();
108 }, 108 },
  109 +
  110 + updateTabs : function() {
  111 + this.plotTabs.updatePlotTabs();
  112 + },
109 113
110 addTT : function(newTTName,newTTid,timeSelectorId) { 114 addTT : function(newTTName,newTTid,timeSelectorId) {
111 var crtTimeSelector = Ext.getCmp(timeSelectorId); 115 var crtTimeSelector = Ext.getCmp(timeSelectorId);