From 26dc04d25f33f8811254abdbb6e91656ada1100b Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Sun, 27 Oct 2019 15:46:28 -0700 Subject: [PATCH] Remove deprecated code from time scale and bar chart (#6622) * Remove deprecated code from bar chart * Remove deprecated code from time scale --- package-lock.json | 2 +- src/controllers/controller.bar.js | 28 +------------ src/scales/scale.time.js | 46 ++++------------------ test/specs/controller.bar.tests.js | 63 ------------------------------ test/specs/scale.time.tests.js | 1 - 5 files changed, 10 insertions(+), 130 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8638af216..17046688f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "chart.js", - "version": "2.8.0", + "version": "2.9.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 398cdd9cd..eadbc41bf 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -5,7 +5,6 @@ var defaults = require('../core/core.defaults'); var elements = require('../elements/index'); var helpers = require('../helpers/index'); -var deprecated = helpers._deprecated; var valueOrDefault = helpers.valueOrDefault; defaults._set('bar', { @@ -147,20 +146,13 @@ module.exports = DatasetController.extend({ initialize: function() { var me = this; - var meta, scaleOpts; + var meta; DatasetController.prototype.initialize.apply(me, arguments); meta = me.getMeta(); meta.stack = me.getDataset().stack; meta.bar = true; - - scaleOpts = me._getIndexScale().options; - deprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage'); - deprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness'); - deprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage'); - deprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength'); - deprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness'); }, update: function(reset) { @@ -405,24 +397,6 @@ module.exports = DatasetController.extend({ } helpers.canvas.unclipArea(chart.ctx); - }, - - /** - * @private - */ - _resolveDataElementOptions: function() { - var me = this; - var values = helpers.extend({}, DatasetController.prototype._resolveDataElementOptions.apply(me, arguments)); - var indexOpts = me._getIndexScale().options; - var valueOpts = me._getValueScale().options; - - values.barPercentage = valueOrDefault(indexOpts.barPercentage, values.barPercentage); - values.barThickness = valueOrDefault(indexOpts.barThickness, values.barThickness); - values.categoryPercentage = valueOrDefault(indexOpts.categoryPercentage, values.categoryPercentage); - values.maxBarThickness = valueOrDefault(indexOpts.maxBarThickness, values.maxBarThickness); - values.minBarLength = valueOrDefault(valueOpts.minBarLength, values.minBarLength); - - return values; } }); diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index 4523ac9fe..b26456c6a 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -5,7 +5,6 @@ var defaults = require('../core/core.defaults'); var helpers = require('../helpers/index'); var Scale = require('../core/core.scale'); -var deprecated = helpers._deprecated; var resolve = helpers.options.resolve; var valueOrDefault = helpers.valueOrDefault; @@ -82,14 +81,6 @@ function arrayUnique(items) { return out; } -function getMin(options) { - return helpers.valueOrDefault(options.time.min, options.ticks.min); -} - -function getMax(options) { - return helpers.valueOrDefault(options.time.max, options.ticks.max); -} - /** * Returns an array of {time, pos} objects used to interpolate a specific `time` or position * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is @@ -191,7 +182,6 @@ function toTimestamp(scale, input) { var adapter = scale._adapter; var options = scale.options.time; var parser = options.parser; - var format = parser || options.format; var value = input; if (typeof parser === 'function') { @@ -200,27 +190,12 @@ function toTimestamp(scale, input) { // Only parse if its not a timestamp already if (!helpers.isFinite(value)) { - value = typeof format === 'string' - ? adapter.parse(value, format) + value = typeof parser === 'string' + ? adapter.parse(value, parser) : adapter.parse(value); } - if (value !== null) { - return +value; - } - - // Labels are in an incompatible format and no `parser` has been provided. - // The user might still use the deprecated `format` option for parsing. - if (!parser && typeof format === 'function') { - value = format(input); - - // `format` could return something else than a timestamp, if so, parse it - if (!helpers.isFinite(value)) { - value = adapter.parse(value); - } - } - - return value; + return value !== null ? +value : value; } function parse(scale, input) { @@ -416,7 +391,6 @@ var defaultConfig = { parser: false, // false == a pattern string from https://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment unit: false, // false == automatic or override with week, month, year, etc. round: false, // none, or override with week, month, year, etc. - displayFormat: false, // DEPRECATED isoWeekday: false, // override week start day - see https://momentjs.com/docs/#/get-set/iso-weekday/ minUnit: 'millisecond', displayFormats: {} @@ -448,11 +422,6 @@ module.exports = Scale.extend({ var time = options.time || (options.time = {}); var adapter = me._adapter = new adapters._date(options.adapters.date); - // DEPRECATIONS: output a message only one time per update - deprecated('time scale', time.format, 'time.format', 'time.parser'); - deprecated('time scale', time.min, 'time.min', 'ticks.min'); - deprecated('time scale', time.max, 'time.max', 'ticks.max'); - // Backward compatibility: before introducing adapter, `displayFormats` was // supposed to contain *all* unit/string pairs but this can't be resolved // when loading the scale (adapters are loaded afterward), so let's populate @@ -477,6 +446,7 @@ module.exports = Scale.extend({ var chart = me.chart; var adapter = me._adapter; var options = me.options; + var tickOpts = options.ticks; var unit = options.time.unit || 'day'; var min = MAX_INTEGER; var max = MIN_INTEGER; @@ -526,8 +496,8 @@ module.exports = Scale.extend({ max = Math.max(max, timestamps[timestamps.length - 1]); } - min = parse(me, getMin(options)) || min; - max = parse(me, getMax(options)) || max; + min = parse(me, tickOpts.min) || min; + max = parse(me, tickOpts.max) || max; // In case there is no valid min/max, set limits based on unit time option min = min === MAX_INTEGER ? +adapter.startOf(Date.now(), unit) : min; @@ -574,8 +544,8 @@ module.exports = Scale.extend({ } // Enforce limits with user min/max options - min = parse(me, getMin(options)) || min; - max = parse(me, getMax(options)) || max; + min = parse(me, tickOpts.min) || min; + max = parse(me, tickOpts.max) || max; // Remove ticks outside the min/max range for (i = 0, ilen = timestamps.length; i < ilen; ++i) { diff --git a/test/specs/controller.bar.tests.js b/test/specs/controller.bar.tests.js index 8d864af21..91e7cfa71 100644 --- a/test/specs/controller.bar.tests.js +++ b/test/specs/controller.bar.tests.js @@ -1699,21 +1699,6 @@ describe('Chart.controllers.bar', function() { expect(meta.data[1]._model.width).toBeCloseToPixel(10); } }); - - it('should correctly set bar width if maxBarThickness is specified via deprecated option', function() { - var chart = this.chart; - var options = chart.options.scales.xAxes[0]; - var i, ilen, meta; - - options.maxBarThickness = 10; - chart.update(); - - for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) { - meta = chart.getDatasetMeta(i); - expect(meta.data[0]._model.width).toBeCloseToPixel(10); - expect(meta.data[1]._model.width).toBeCloseToPixel(10); - } - }); }); }); }); @@ -1754,52 +1739,4 @@ describe('Chart.controllers.bar', function() { expect(data[1]._model.base - minBarLength).toEqual(data[1]._model.x); }); - it('deprecated minBarLength settings should be used on Y axis on bar chart', function() { - var minBarLength = 4; - var chart = window.acquireChart({ - type: 'bar', - data: { - datasets: [{ - data: [0.05, -0.05, 10, 15, 20, 25, 30, 35] - }] - }, - options: { - scales: { - yAxes: [{ - minBarLength: minBarLength - }] - } - } - }); - - var data = chart.getDatasetMeta(0).data; - - expect(data[0]._model.base - minBarLength).toEqual(data[0]._model.y); - expect(data[1]._model.base + minBarLength).toEqual(data[1]._model.y); - }); - - it('deprecated minBarLength settings should be used on X axis on horizontalBar chart', function() { - var minBarLength = 4; - var chart = window.acquireChart({ - type: 'horizontalBar', - data: { - datasets: [{ - data: [0.05, -0.05, 10, 15, 20, 25, 30, 35] - }] - }, - options: { - scales: { - xAxes: [{ - minBarLength: minBarLength - }] - } - } - }); - - var data = chart.getDatasetMeta(0).data; - - expect(data[0]._model.base + minBarLength).toEqual(data[0]._model.x); - expect(data[1]._model.base - minBarLength).toEqual(data[1]._model.x); - }); - }); diff --git a/test/specs/scale.time.tests.js b/test/specs/scale.time.tests.js index 070222117..1696a2aef 100755 --- a/test/specs/scale.time.tests.js +++ b/test/specs/scale.time.tests.js @@ -102,7 +102,6 @@ describe('Time scale tests', function() { unit: false, round: false, isoWeekday: false, - displayFormat: false, minUnit: 'millisecond', displayFormats: {} } -- 2.47.2