diff --git a/js/app/models/PlotObjects/MultiplotRequestObject.js b/js/app/models/PlotObjects/MultiplotRequestObject.js index 38b6b0c..609d117 100644 --- a/js/app/models/PlotObjects/MultiplotRequestObject.js +++ b/js/app/models/PlotObjects/MultiplotRequestObject.js @@ -57,7 +57,7 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', { newPlotNode = Ext.create('amdaModel.PlotNode', { leaf : true }); - var data = Ext.apply({}, plotNode.get('object').getData(), plotNode.get('object').getAssociatedData()); + var data = plotNode.get('object').getJsonValues(); newPlotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', data)); plotNode.get('object').reject(); me.plots().remove(plotNode); diff --git a/js/app/views/PlotComponents/PlotTabContent.js b/js/app/views/PlotComponents/PlotTabContent.js index ff6fe88..a87849a 100644 --- a/js/app/views/PlotComponents/PlotTabContent.js +++ b/js/app/views/PlotComponents/PlotTabContent.js @@ -21,6 +21,9 @@ Ext.define('amdaPlotComp.PlotTabContent', { //Link to the Plot Node plotNode: null, + //Save initial request data to have the possibility to reject all modifications + initialObjectData: null, + timeSelector: null, plotTree: null, plotElement: null, @@ -69,6 +72,7 @@ Ext.define('amdaPlotComp.PlotTabContent', { //update existing request this.updateTimeObject(); this.plotNode.update({plot: true, callback: function() { + me.setPlotNode(me.plotNode); //to update initial request data me.plotTabPanel.updatePlotTabs(); }}); return; @@ -113,6 +117,7 @@ Ext.define('amdaPlotComp.PlotTabContent', { if (toRename) { this.updateTimeObject(); this.plotNode.update({plot: true, callback: function() { + me.setPlotNode(me.plotNode); //to update initial request data me.plotTabPanel.updatePlotTabs(); }}); } @@ -124,15 +129,17 @@ Ext.define('amdaPlotComp.PlotTabContent', { return; var newPlotNode = plotModule.linkedNode.get('object').duplicatePlot(this.plotNode); if (newPlotNode) { - var oldPlotNode = this.plotNode; - this.plotNode = newPlotNode; - this.updateTimeObject(); - oldPlotNode.reject(); + //Reject modifications in old plot node + this.plotNode.reject(); + this.plotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', this.initialObjectData)); + //Set new plot node + this.setPlotNode(newPlotNode); } } this.updateTimeObject(); this.plotNode.create({callback: function() { me.plotNode.commit(); + me.setPlotNode(me.plotNode); //to update initial request data me.plotTabPanel.updatePlotTabs(); me.updateUI(); }}); @@ -147,8 +154,13 @@ Ext.define('amdaPlotComp.PlotTabContent', { this.treePlot.buildTree(this.plotNode.get('object')); }, + setPlotNode : function(plotNode) { + this.initialObjectData = plotNode.get('object').getJsonValues(); + this.plotNode = plotNode; + }, + init : function(config) { - this.plotNode = config.plotNode; + this.setPlotNode(config.plotNode); this.tabIndex = config.tabIndex; this.plotTabPanel = config.plotTabPanel; -- libgit2 0.21.2