]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Remove deprecated code from time scale and bar chart (#6622)
authorBen McCann <322311+benmccann@users.noreply.github.com>
Sun, 27 Oct 2019 22:46:28 +0000 (15:46 -0700)
committerEvert Timberg <evert.timberg+github@gmail.com>
Sun, 27 Oct 2019 22:46:28 +0000 (18:46 -0400)
* Remove deprecated code from bar chart
* Remove deprecated code from time scale

package-lock.json
src/controllers/controller.bar.js
src/scales/scale.time.js
test/specs/controller.bar.tests.js
test/specs/scale.time.tests.js

index 8638af21656596b1d704ca527c3cb45d978e6bd3..17046688fbe887aca0f362d3532aff76c3f950d0 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "chart.js",
-  "version": "2.8.0",
+  "version": "2.9.1",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
index 398cdd9cdaee908a6eaf8be86516f700f1a8f229..eadbc41bfbddb39f9ea059873d1175034765a43c 100644 (file)
@@ -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;
        }
 
 });
index 4523ac9fe348732d9bf31468f3ff5650b5b06dee..b26456c6aa6b2e8278e8d1daeddeef4116a14926 100644 (file)
@@ -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) {
index 8d864af2190120abd70821d584844fcaa917f675..91e7cfa71b931b2c9bba86d6b46397754d6213b8 100644 (file)
@@ -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);
-       });
-
 });
index 0702221174b0d2e6636b9a9ec50c43aa31df5f3f..1696a2aef2d57d49ebdc1e6b3a89cae0120fbbbb 100755 (executable)
@@ -102,7 +102,6 @@ describe('Time scale tests', function() {
                                unit: false,
                                round: false,
                                isoWeekday: false,
-                               displayFormat: false,
                                minUnit: 'millisecond',
                                displayFormats: {}
                        }