Commit 232cf098ab377059b399d919a58164ea7dbf26b5

Authored by Benjamin Renard
1 parent 5ad4e042

Another fix for plot request duplication

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  
... ...