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 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 107 myDesktopApp.getLoadedModule(this.get('moduleId'),true, function (module) {
108 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 51  
52 52 duplicatePlot: function(plotNode) {
53 53 var me = this;
54   - var clonedObject = plotNode.get('object').copy();
55 54 var newPlotNode = null;
56 55 this.plots().each(function(node, index) {
57 56 if (node == plotNode) {
58   - plotNode.get('object').reject();
59 57 newPlotNode = Ext.create('amdaModel.PlotNode', {
60 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 61 return false;
66 62 }
67 63 });
... ...
js/app/views/PlotComponents/PlotTabContent.js
... ... @@ -59,6 +59,8 @@ Ext.define('amdaPlotComp.PlotTabContent', {
59 59 },
60 60  
61 61 savePlot : function() {
  62 + var me = this;
  63 +
62 64 this.updateTimeObject();
63 65 var object = this.plotNode.get('object');
64 66 if (!object)
... ... @@ -66,12 +68,13 @@ Ext.define('amdaPlotComp.PlotTabContent', {
66 68  
67 69 if ((object.get('id') != '') && (this.plotNode.get('text') == object.get('name'))) {
68 70 //update existing request
69   - this.plotNode.update({plot: true});
  71 + this.plotNode.update({plot: true, callback: function() {
  72 + me.plotTabPanel.updatePlotTabs();
  73 + }});
70 74 return;
71 75 }
72 76  
73 77 //save new request
74   - var me = this;
75 78 this.plotNode.isValidName(object.get('name'), function (res) {
76 79 if (!res) {
77 80 myDesktopApp.errorMsg('Error during object validation');
... ... @@ -106,8 +109,11 @@ Ext.define('amdaPlotComp.PlotTabContent', {
106 109 },
107 110  
108 111 saveProcess : function(toRename) {
  112 + var me = this;
109 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 118 else {
113 119 if (this.plotNode.get('object').get('id') != '') {
... ... @@ -121,9 +127,10 @@ Ext.define('amdaPlotComp.PlotTabContent', {
121 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 136 updateUI : function() {
... ...
js/app/views/PlotComponents/PlotTabPanel.js
... ... @@ -20,6 +20,8 @@ Ext.define('amdaPlotComp.PlotTabPanel', {
20 20  
21 21 //Multiplot object
22 22 multiplot_object: null,
  23 +
  24 + tabbar_destroy : false,
23 25  
24 26 constructor: function(config) {
25 27 this.init(config);
... ... @@ -88,8 +90,9 @@ Ext.define('amdaPlotComp.PlotTabPanel', {
88 90 if (tab.items.getAt(0).plotNode)
89 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 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 106 updateObject : function(){
107 107 this.plotTabs.updateTimeObjects();
108 108 },
  109 +
  110 + updateTabs : function() {
  111 + this.plotTabs.updatePlotTabs();
  112 + },
109 113  
110 114 addTT : function(newTTName,newTTid,timeSelectorId) {
111 115 var crtTimeSelector = Ext.getCmp(timeSelectorId);
... ...