Commit 84d442b486b9f8a33ae043c49167c4660d2638b5
1 parent
9705c573
Exists in
master
and in
96 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,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); |