summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/graph/graph_model.js11
-rw-r--r--addons/web/static/src/js/views/graph/graph_renderer.js10
2 files changed, 21 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/graph/graph_model.js b/addons/web/static/src/js/views/graph/graph_model.js
index fa9a7180e06..adefe1e8953 100644
--- a/addons/web/static/src/js/views/graph/graph_model.js
+++ b/addons/web/static/src/js/views/graph/graph_model.js
@@ -101,6 +101,17 @@ return AbstractModel.extend({
this.chart.groupedBy = params.context.graph_groupbys || this.chart.groupedBy;
this.chart.measure = params.context.graph_measure || this.chart.measure;
this.chart.mode = params.context.graph_mode || this.chart.mode;
+ var timeRangeMenuData = params.context.timeRangeMenuData;
+ if (timeRangeMenuData) {
+ this.chart.timeRange = timeRangeMenuData.timeRange || [];
+ this.chart.comparisonTimeRange = timeRangeMenuData.comparisonTimeRange || [];
+ this.chart.compare = this.chart.comparisonTimeRange.length > 0;
+ } else {
+ this.chart.timeRange = [];
+ this.chart.comparisonTimeRange = [];
+ this.chart.compare = false;
+ this.chart = _.omit(this.chart, 'comparisonData');
+ }
}
if ('domain' in params) {
this.chart.domain = params.domain;
diff --git a/addons/web/static/src/js/views/graph/graph_renderer.js b/addons/web/static/src/js/views/graph/graph_renderer.js
index c2bb79c491f..470d064ef68 100644
--- a/addons/web/static/src/js/views/graph/graph_renderer.js
+++ b/addons/web/static/src/js/views/graph/graph_renderer.js
@@ -68,6 +68,16 @@ return AbstractRenderer.extend({
this._super.apply(this, arguments);
this.isInDOM = false;
},
+ /**
+ * @override
+ * @param {Object} state
+ * @param {Object} params
+ */
+ updateState: function (state, params) {
+ this.isComparison = !!state.comparisonData;
+ this.stacked = this.isComparison ? false : params.stacked;
+ return this._super.apply(this, arguments);
+ },
//--------------------------------------------------------------------------
// Private