Commit 84d442b486b9f8a33ae043c49167c4660d2638b5
1 parent
9705c573
Exists in
master
and in
95 other branches
Synchronize plot request title
Showing
6 changed files
with
51 additions
and
14 deletions
Show diff stats
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); |
... | ... |