From 1dc078eabfec097c1e1a97fbf786edbbede6b90d Mon Sep 17 00:00:00 2001 From: kurkle Date: Wed, 23 Oct 2019 11:11:08 +0300 Subject: [PATCH] Some more cleanup --- src/controllers/controller.bar.js | 9 +++++---- src/controllers/controller.line.js | 21 ++++++++++++++------- src/core/core.datasetController.js | 14 +++++--------- src/core/core.scale.js | 9 ++++++++- src/scales/scale.time.js | 3 +++ 5 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index ee8056527c9..841b9358659 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -143,21 +143,22 @@ function parseFloatBar(arr, item, vScale, i) { function parseArrayOrPrimitive(meta, data, start, count) { var iScale = this._getIndexScale(); var vScale = this._getValueScale(); - var labels = iScale._getLabels() || []; + var labels = iScale._getLabels(); var singleScale = iScale === vScale; var parsed = []; var i, ilen, item, entry; + for (i = start, ilen = start + count; i < ilen; ++i) { entry = data[i]; item = {_index: i}; + item[iScale.id] = singleScale || iScale._parse(labels[i], i); + if (helpers.isArray(entry)) { parseFloatBar(entry, item, vScale, i); } else { item[vScale.id] = vScale._parse(entry, i); } - if (!singleScale) { - item[iScale.id] = iScale._parse(labels[i], i); - } + parsed.push(item); } return parsed; diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 41e33c8e177..f6253152978 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -175,13 +175,6 @@ module.exports = DatasetController.extend({ return values; }, - calculatePointY: function(value, index, datasetIndex) { - var me = this; - var chart = me.chart; - var controller = datasetIndex === me.index ? me : chart.getDatasetMeta(datasetIndex).controller; - return controller._getStackedValue(me._yScale, index); - }, - updateBezierControlPoints: function() { var me = this; var chart = me.chart; @@ -288,4 +281,18 @@ module.exports = DatasetController.extend({ model.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth); model.radius = valueOrDefault(options.hoverRadius, options.radius); }, + + // DEPRECATIONS + + /** + * Provided for backward compatibility + * @deprecated since version 2.9.0 + * @todo remove at version 3 + */ + calculatePointY: function(value, index, datasetIndex) { + var me = this; + var chart = me.chart; + var controller = datasetIndex === me.index ? me : chart.getDatasetMeta(datasetIndex).controller; + return controller._getStackedValue(me._yScale, index); + }, }); diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 193f104b0ce..0e0cd15b8ad 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -473,18 +473,15 @@ helpers.extend(DatasetController.prototype, { _parsePrimitiveData: function(meta, data, start, count) { var iScale = this._getIndexScale(); var vScale = this._getValueScale(); - var labels = iScale._getLabels() || []; - var oneScale = iScale === vScale; + var labels = iScale._getLabels(); + var singleScale = iScale === vScale; var parsed = []; var i, ilen, item; for (i = start, ilen = start + count; i < ilen; ++i) { item = {_index: i}; + item[iScale.id] = singleScale || iScale._parse(labels[i], i); item[vScale.id] = vScale._parse(data[i], i); - if (!oneScale) { - item[iScale.id] = i >= 0 && i < labels.length - ? iScale._parse(labels[i], i) : NaN; - } parsed.push(item); } return parsed; @@ -591,14 +588,13 @@ helpers.extend(DatasetController.prototype, { var metaData = meta.data; var ilen = metaData.length; var crossRef = chart._xref || (chart._xref = {}); - var min = Number.POSITIVE_INFINITY; var max = Number.NEGATIVE_INFINITY; - var minPositive = Number.POSITIVE_INFINITY; var stacked = scale.options.stacked; var indices = getSortedDatasetIndices(chart, true); - var i, item, value, parsed, stack; + var i, item, value, parsed, stack, min, minPositive; stacked = canStack && (stacked || (stacked === undefined && meta.stack !== undefined)); + min = minPositive = Number.POSITIVE_INFINITY; for (i = 0; i < ilen; ++i) { item = metaData[i]; diff --git a/src/core/core.scale.js b/src/core/core.scale.js index c90fa014302..29346855eb9 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1455,6 +1455,13 @@ var Scale = Element.extend({ }]; }, + /** + * @private + */ + _getAxisID: function() { + return this.isHorizontal() ? 'xAxisID' : 'yAxisID'; + }, + /** * Returns visible dataset metas that are attached to this scale * @param {string} [type] - if specified, also filter by dataset type @@ -1463,7 +1470,7 @@ var Scale = Element.extend({ _getMatchingVisibleMetas: function(type) { var me = this; var metas = me.chart._getSortedVisibleDatasetMetas(); - var axisID = me.isHorizontal() ? 'xAxisID' : 'yAxisID'; + var axisID = me._getAxisID(); var result = []; var i, ilen, meta; diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index cd1f7ffafe5..c7b1b2d3979 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -521,6 +521,9 @@ var defaultConfig = { module.exports = Scale.extend({ _parse: function(raw, index) { // eslint-disable-line no-unused-vars + if (raw === undefined) { + return NaN; + } return toTimestamp(this, raw); },