summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorMathieu Duckerts-Antoine <dam@odoo.com>2019-09-20 09:07:48 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2019-09-20 09:23:24 +0000
commit149d2a3d60e9915632d4fa51b92ac658a8beeea2 (patch)
tree2e86c6b75e4f078aff965f9e89a31467e0fe6d3a /addons/web/static/src/js
parentd0c1db764c13226d2022c48b8a8336618bef9b83 (diff)
[FIX] web: always show the graph view button "Stacked"
With the actual code, some computations are done in the graph renderer to determine if it is worth to show the "Stacked" button in the graph view control panel for the data on hand. It turns out that that problem is not satisfactorily addressed and is quite hard from a usability perspective. We prefer to restore the old behavior as long as we don't have better ideas. closes odoo/odoo#37188 Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/graph/graph_controller.js2
-rw-r--r--addons/web/static/src/js/views/graph/graph_renderer.js29
2 files changed, 2 insertions, 29 deletions
diff --git a/addons/web/static/src/js/views/graph/graph_controller.js b/addons/web/static/src/js/views/graph/graph_controller.js
index 2953b99f731..1c580a25bd6 100644
--- a/addons/web/static/src/js/views/graph/graph_controller.js
+++ b/addons/web/static/src/js/views/graph/graph_controller.js
@@ -177,7 +177,7 @@ var GraphController = AbstractController.extend(GroupByMenuMixin,{
.find('.o_graph_button[data-mode="stack"]')
.data('stacked', state.stacked)
.toggleClass('active', state.stacked)
- .toggleClass('o_hidden', state.mode !== 'bar' || !this.renderer.isStackable);
+ .toggleClass('o_hidden', state.mode !== 'bar');
_.each(this.$measureList.find('.dropdown-item'), function (item) {
var $item = $(item);
$item.toggleClass('selected', $item.data('field') === state.measure);
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 e24de02879c..6cb2c023d0e 100644
--- a/addons/web/static/src/js/views/graph/graph_renderer.js
+++ b/addons/web/static/src/js/views/graph/graph_renderer.js
@@ -71,8 +71,6 @@ return AbstractRenderer.extend({
this.chart = null;
this.chartId = _.uniqueId('chart');
- // the bar charts are considered stackable a priori
- this.isStackable = true;
this.$legendTooltip = null;
this.$tooltip = null;
},
@@ -782,34 +780,9 @@ return AbstractRenderer.extend({
// prepare data
var data = this._prepareData(dataPoints);
- // The datapoints (with non zero value) can be grouped by
- // their originIndex and associated labels.
- // If at least one group formed in that way has two elements
- // this.isStackable will be true.
- var groupMemberCounts = data.labels.map(function () {
- return {};
- });
- this.isStackable = false;
- for (var i = 0; i < data.datasets.length; i++) {
- var dataset = data.datasets[i];
- var originIndex = dataset.originIndex;
- if (this.isStackable) {
- break;
- }
- for (var j = 0; j < dataset.data.length; j++) {
- if (dataset.data[j]) {
- if (originIndex in groupMemberCounts[j]) {
- this.isStackable = true;
- break;
- } else {
- groupMemberCounts[j][originIndex] = 1;
- }
- }
- }
- }
data.datasets.forEach(function (dataset, index) {
// used when stacked
- dataset.stack = self.isStackable && self.state.stacked ? self.state.origins[dataset.originIndex] : undefined;
+ dataset.stack = self.state.stacked ? self.state.origins[dataset.originIndex] : undefined;
// set dataset color
var color = self._getColor(index);
dataset.backgroundColor = color;