Commit 232cf098ab377059b399d919a58164ea7dbf26b5
1 parent
5ad4e042
Exists in
master
and in
96 other branches
Another fix for plot request duplication
Showing
2 changed files
with
18 additions
and
6 deletions
Show diff stats
js/app/models/PlotObjects/MultiplotRequestObject.js
... | ... | @@ -57,7 +57,7 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', { |
57 | 57 | newPlotNode = Ext.create('amdaModel.PlotNode', { |
58 | 58 | leaf : true |
59 | 59 | }); |
60 | - var data = Ext.apply({}, plotNode.get('object').getData(), plotNode.get('object').getAssociatedData()); | |
60 | + var data = plotNode.get('object').getJsonValues(); | |
61 | 61 | newPlotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', data)); |
62 | 62 | plotNode.get('object').reject(); |
63 | 63 | me.plots().remove(plotNode); |
... | ... |
js/app/views/PlotComponents/PlotTabContent.js
... | ... | @@ -21,6 +21,9 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
21 | 21 | //Link to the Plot Node |
22 | 22 | plotNode: null, |
23 | 23 | |
24 | + //Save initial request data to have the possibility to reject all modifications | |
25 | + initialObjectData: null, | |
26 | + | |
24 | 27 | timeSelector: null, |
25 | 28 | plotTree: null, |
26 | 29 | plotElement: null, |
... | ... | @@ -69,6 +72,7 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
69 | 72 | //update existing request |
70 | 73 | this.updateTimeObject(); |
71 | 74 | this.plotNode.update({plot: true, callback: function() { |
75 | + me.setPlotNode(me.plotNode); //to update initial request data | |
72 | 76 | me.plotTabPanel.updatePlotTabs(); |
73 | 77 | }}); |
74 | 78 | return; |
... | ... | @@ -113,6 +117,7 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
113 | 117 | if (toRename) { |
114 | 118 | this.updateTimeObject(); |
115 | 119 | this.plotNode.update({plot: true, callback: function() { |
120 | + me.setPlotNode(me.plotNode); //to update initial request data | |
116 | 121 | me.plotTabPanel.updatePlotTabs(); |
117 | 122 | }}); |
118 | 123 | } |
... | ... | @@ -124,15 +129,17 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
124 | 129 | return; |
125 | 130 | var newPlotNode = plotModule.linkedNode.get('object').duplicatePlot(this.plotNode); |
126 | 131 | if (newPlotNode) { |
127 | - var oldPlotNode = this.plotNode; | |
128 | - this.plotNode = newPlotNode; | |
129 | - this.updateTimeObject(); | |
130 | - oldPlotNode.reject(); | |
132 | + //Reject modifications in old plot node | |
133 | + this.plotNode.reject(); | |
134 | + this.plotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', this.initialObjectData)); | |
135 | + //Set new plot node | |
136 | + this.setPlotNode(newPlotNode); | |
131 | 137 | } |
132 | 138 | } |
133 | 139 | this.updateTimeObject(); |
134 | 140 | this.plotNode.create({callback: function() { |
135 | 141 | me.plotNode.commit(); |
142 | + me.setPlotNode(me.plotNode); //to update initial request data | |
136 | 143 | me.plotTabPanel.updatePlotTabs(); |
137 | 144 | me.updateUI(); |
138 | 145 | }}); |
... | ... | @@ -147,8 +154,13 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
147 | 154 | this.treePlot.buildTree(this.plotNode.get('object')); |
148 | 155 | }, |
149 | 156 | |
157 | + setPlotNode : function(plotNode) { | |
158 | + this.initialObjectData = plotNode.get('object').getJsonValues(); | |
159 | + this.plotNode = plotNode; | |
160 | + }, | |
161 | + | |
150 | 162 | init : function(config) { |
151 | - this.plotNode = config.plotNode; | |
163 | + this.setPlotNode(config.plotNode); | |
152 | 164 | this.tabIndex = config.tabIndex; |
153 | 165 | this.plotTabPanel = config.plotTabPanel; |
154 | 166 | |
... | ... |