diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-08-14 16:48:10 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-08-14 16:48:10 +0200 |
| commit | 140ee6b8f0b0de7ddcc816496269963612c5d0c6 (patch) | |
| tree | 7bdaa065d215b88fea4fa56adbfa79cdc24deb69 /addons/web/static/src/js/views/graph/graph_renderer.js | |
| parent | 839696d2d7dd574fd8958d17726379926e94d590 (diff) | |
| parent | 98a55917a602c0c47093b4270ebc4e8b416ecf32 (diff) | |
[MERGE] forward port branch saas-12.4 up to 98a55917a60
Diffstat (limited to 'addons/web/static/src/js/views/graph/graph_renderer.js')
| -rw-r--r-- | addons/web/static/src/js/views/graph/graph_renderer.js | 33 |
1 files changed, 22 insertions, 11 deletions
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 ea94020388f..e24de02879c 100644 --- a/addons/web/static/src/js/views/graph/graph_renderer.js +++ b/addons/web/static/src/js/views/graph/graph_renderer.js @@ -314,6 +314,24 @@ return AbstractRenderer.extend({ return this.state.origins[dataPt.originIndex]; }, /** + * Returns an object used to style chart elements independently from the datasets. + * + * @private + * @returns {Object} + */ + _getElementOptions: function () { + var elementOptions = {}; + if (this.state.mode === 'bar') { + elementOptions.rectangle = {borderWidth: 1}; + } else if (this.state.mode === 'line') { + elementOptions.line = { + tension: 0, + fill: false, + }; + } + return elementOptions; + }, + /** * Returns a DateClasses instance used to manage equivalence of dates. * * @private @@ -348,9 +366,8 @@ return AbstractRenderer.extend({ } else { return dataPt.labels.slice(0, 1); } - } else if (i >= 0) { + } else if (i === 0) { return Array.prototype.concat.apply([], [ - dataPt.labels.slice(0, i), this.dateClasses.dateClass(dataPt.originIndex, dataPt.labels[i]), dataPt.labels.slice(i+1) ]); @@ -667,6 +684,7 @@ return AbstractRenderer.extend({ scales: this._getScaleOptions(), legend: this._getLegendOptions(datasetsCount), tooltips: this._getTooltipOptions(), + elements: this._getElementOptions(), }; }, /** @@ -687,7 +705,7 @@ return AbstractRenderer.extend({ if (_.contains(['bar', 'line'], this.state.mode) && i === 0) { // here label is an array of length 1 and contains a number return this.dateClasses.representative(label, originIndex) || ''; - } else if (this.state.mode === 'pie' && i >= 0) { + } else if (this.state.mode === 'pie' && i === 0) { // here label is an array of length at least one containing string or numbers var labelCopy = label.slice(0); if (originIndex !== undefined) { @@ -737,7 +755,7 @@ return AbstractRenderer.extend({ this.$el.append($canvasContainer); var i = this.state.comparisonFieldIndex; - if (i === 0 || (i > 0 && this.state.mode === 'pie')) { + if (i === 0) { this.dateClasses = this._getDateClasses(dataPoints); } if (this.state.mode === 'bar') { @@ -761,9 +779,6 @@ return AbstractRenderer.extend({ _renderBarChart: function (dataPoints) { var self = this; - // style rectangles - Chart.defaults.global.elements.rectangle.borderWidth = 1; - // prepare data var data = this._prepareData(dataPoints); @@ -820,10 +835,6 @@ return AbstractRenderer.extend({ _renderLineChart: function (dataPoints) { var self = this; - // style lines - Chart.defaults.global.elements.line.tension = 0; - Chart.defaults.global.elements.line.fill = false; - // prepare data var data = this._prepareData(dataPoints); data.datasets.forEach(function (dataset, index) { |
