]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Change `valueAtIndexOrDefault` behavior (#4423)
authorSimon Brunel <simonbrunel@users.noreply.github.com>
Sun, 25 Jun 2017 08:54:37 +0000 (10:54 +0200)
committerGitHub <noreply@github.com>
Sun, 25 Jun 2017 08:54:37 +0000 (10:54 +0200)
For consistency with `valueOrDefault`, `valueAtIndexOrDefault` now returns null if `value` (expected array) is null. Also get rid of the superfluous `get` prefix in `getValueOrDefault` and `getValueAtIndexOrDefault`.

23 files changed:
src/controllers/controller.bar.js
src/controllers/controller.bubble.js
src/controllers/controller.doughnut.js
src/controllers/controller.line.js
src/controllers/controller.polarArea.js
src/controllers/controller.radar.js
src/core/core.controller.js
src/core/core.datasetController.js
src/core/core.helpers.js
src/core/core.scale.js
src/core/core.ticks.js
src/core/core.tooltip.js
src/elements/element.point.js
src/helpers/helpers.core.js
src/plugins/plugin.legend.js
src/plugins/plugin.title.js
src/scales/scale.linear.js
src/scales/scale.linearbase.js
src/scales/scale.logarithmic.js
src/scales/scale.radialLinear.js
src/scales/scale.time.js
test/specs/global.deprecations.tests.js
test/specs/helpers.core.tests.js

index 81cea4924bdb87845c2e85791ff8dc4cf5bd711b..c89631cb43d2c6a5a57f332c32435044d59a59e7 100644 (file)
@@ -72,9 +72,9 @@ module.exports = function(Chart) {
                                datasetLabel: dataset.label,
                                label: chart.data.labels[index],
                                borderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleOptions.borderSkipped,
-                               backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),
-                               borderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),
-                               borderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)
+                               backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),
+                               borderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),
+                               borderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)
                        };
 
                        me.updateElementGeometry(rectangle, index, reset);
@@ -180,8 +180,8 @@ module.exports = function(Chart) {
                        var barSize = fullBarSize * options.barPercentage;
 
                        barSize = Math.min(
-                               helpers.getValueOrDefault(options.barThickness, barSize),
-                               helpers.getValueOrDefault(options.maxBarThickness, Infinity));
+                               helpers.valueOrDefault(options.barThickness, barSize),
+                               helpers.valueOrDefault(options.maxBarThickness, Infinity));
 
                        return {
                                stackCount: stackCount,
@@ -291,9 +291,9 @@ module.exports = function(Chart) {
                        var custom = rectangle.custom || {};
                        var model = rectangle._model;
 
-                       model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
-                       model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));
-                       model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);
+                       model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
+                       model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));
+                       model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);
                },
 
                removeHoverStyle: function(rectangle) {
@@ -303,9 +303,9 @@ module.exports = function(Chart) {
                        var model = rectangle._model;
                        var rectangleElementOptions = this.chart.options.elements.rectangle;
 
-                       model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);
-                       model.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);
-                       model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);
+                       model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);
+                       model.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);
+                       model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);
                }
        });
 
index abe807b3bb2b90b7e22c0d05bdec0ab560203760..3152cd09cfb393d8fb836dbc37c629e3c61b33ae 100644 (file)
@@ -79,7 +79,7 @@ module.exports = function(Chart) {
                                        radius: reset ? 0 : custom.radius ? custom.radius : me.getRadius(data),
 
                                        // Tooltip
-                                       hitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.hitRadius, index, pointElementOptions.hitRadius)
+                                       hitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.hitRadius, index, pointElementOptions.hitRadius)
                                }
                        });
 
@@ -105,7 +105,7 @@ module.exports = function(Chart) {
                        var index = point._index;
                        var custom = point.custom || {};
                        var model = point._model;
-                       model.radius = custom.hoverRadius ? custom.hoverRadius : (helpers.getValueAtIndexOrDefault(dataset.hoverRadius, index, me.chart.options.elements.point.hoverRadius)) + me.getRadius(dataset.data[index]);
+                       model.radius = custom.hoverRadius ? custom.hoverRadius : (helpers.valueAtIndexOrDefault(dataset.hoverRadius, index, me.chart.options.elements.point.hoverRadius)) + me.getRadius(dataset.data[index]);
                },
 
                removeHoverStyle: function(point) {
index 2abac3b987331f99368dfd2bf2ab40dec26f5c33..e86eea26e16a3ef8c766dc6a4a0669c10f66dd13 100644 (file)
@@ -46,11 +46,11 @@ module.exports = function(Chart) {
                                                        var ds = data.datasets[0];
                                                        var arc = meta.data[i];
                                                        var custom = arc && arc.custom || {};
-                                                       var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
+                                                       var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
                                                        var arcOpts = chart.options.elements.arc;
-                                                       var fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
-                                                       var stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
-                                                       var bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
+                                                       var fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
+                                                       var stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
+                                                       var bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
 
                                                        return {
                                                                text: label,
@@ -211,7 +211,7 @@ module.exports = function(Chart) {
                                circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI)),
                                innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius,
                                outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius,
-                               valueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
+                               valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
 
                        helpers.extend(arc, {
                                // Utility
index 1695109543794d0fbf793cfbbf9b7edc59102869..6975b1ebbce0204f3cd81a88c3ad5b6ed56e6ba3 100644 (file)
@@ -25,7 +25,7 @@ module.exports = function(Chart) {
        };
 
        function lineEnabled(dataset, options) {
-               return helpers.getValueOrDefault(dataset.showLine, options.showLines);
+               return helpers.valueOrDefault(dataset.showLine, options.showLines);
        }
 
        Chart.controllers.line = Chart.DatasetController.extend({
@@ -67,7 +67,7 @@ module.exports = function(Chart) {
                                        // to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158
                                        // This option gives lines the ability to span gaps
                                        spanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,
-                                       tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),
+                                       tension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),
                                        backgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),
                                        borderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),
                                        borderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),
@@ -76,8 +76,8 @@ module.exports = function(Chart) {
                                        borderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),
                                        borderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),
                                        fill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),
-                                       steppedLine: custom.steppedLine ? custom.steppedLine : helpers.getValueOrDefault(dataset.steppedLine, lineElementOptions.stepped),
-                                       cubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.getValueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),
+                                       steppedLine: custom.steppedLine ? custom.steppedLine : helpers.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),
+                                       cubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),
                                };
 
                                line.pivot();
@@ -106,7 +106,7 @@ module.exports = function(Chart) {
                        if (custom.backgroundColor) {
                                backgroundColor = custom.backgroundColor;
                        } else if (dataset.pointBackgroundColor) {
-                               backgroundColor = helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);
+                               backgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);
                        } else if (dataset.backgroundColor) {
                                backgroundColor = dataset.backgroundColor;
                        }
@@ -122,7 +122,7 @@ module.exports = function(Chart) {
                        if (custom.borderColor) {
                                borderColor = custom.borderColor;
                        } else if (dataset.pointBorderColor) {
-                               borderColor = helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);
+                               borderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);
                        } else if (dataset.borderColor) {
                                borderColor = dataset.borderColor;
                        }
@@ -138,7 +138,7 @@ module.exports = function(Chart) {
                        if (!isNaN(custom.borderWidth)) {
                                borderWidth = custom.borderWidth;
                        } else if (!isNaN(dataset.pointBorderWidth)) {
-                               borderWidth = helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);
+                               borderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);
                        } else if (!isNaN(dataset.borderWidth)) {
                                borderWidth = dataset.borderWidth;
                        }
@@ -183,15 +183,15 @@ module.exports = function(Chart) {
                                y: y,
                                skip: custom.skip || isNaN(x) || isNaN(y),
                                // Appearance
-                               radius: custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),
-                               pointStyle: custom.pointStyle || helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),
+                               radius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),
+                               pointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),
                                backgroundColor: me.getPointBackgroundColor(point, index),
                                borderColor: me.getPointBorderColor(point, index),
                                borderWidth: me.getPointBorderWidth(point, index),
                                tension: meta.dataset._model ? meta.dataset._model.tension : 0,
                                steppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,
                                // Tooltip
-                               hitRadius: custom.hitRadius || helpers.getValueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)
+                               hitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)
                        };
                },
 
@@ -306,10 +306,10 @@ module.exports = function(Chart) {
                        var custom = point.custom || {};
                        var model = point._model;
 
-                       model.radius = custom.hoverRadius || helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
-                       model.backgroundColor = custom.hoverBackgroundColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
-                       model.borderColor = custom.hoverBorderColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
-                       model.borderWidth = custom.hoverBorderWidth || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
+                       model.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
+                       model.backgroundColor = custom.hoverBackgroundColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
+                       model.borderColor = custom.hoverBorderColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
+                       model.borderWidth = custom.hoverBorderWidth || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
                },
 
                removeHoverStyle: function(point) {
@@ -324,7 +324,7 @@ module.exports = function(Chart) {
                                dataset.pointRadius = dataset.radius;
                        }
 
-                       model.radius = custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);
+                       model.radius = custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);
                        model.backgroundColor = me.getPointBackgroundColor(point, index);
                        model.borderColor = me.getPointBorderColor(point, index);
                        model.borderWidth = me.getPointBorderWidth(point, index);
index ecf2ac62cc1d4ea8965d917c7c7106836ca40561..b9123fa7262442e9adfecc51beba3ae521625f41 100644 (file)
@@ -60,11 +60,11 @@ module.exports = function(Chart) {
                                                        var ds = data.datasets[0];
                                                        var arc = meta.data[i];
                                                        var custom = arc.custom || {};
-                                                       var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
+                                                       var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
                                                        var arcOpts = chart.options.elements.arc;
-                                                       var fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
-                                                       var stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
-                                                       var bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
+                                                       var fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
+                                                       var stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
+                                                       var bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
 
                                                        return {
                                                                text: label,
@@ -144,7 +144,6 @@ module.exports = function(Chart) {
                        var opts = chart.options;
                        var animationOpts = opts.animation;
                        var scale = chart.scale;
-                       var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
                        var labels = chart.data.labels;
 
                        var circumference = me.calculateCircumference(dataset.data[index]);
@@ -183,7 +182,7 @@ module.exports = function(Chart) {
                                        outerRadius: reset ? resetRadius : distance,
                                        startAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,
                                        endAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,
-                                       label: getValueAtIndexOrDefault(labels, index, labels[index])
+                                       label: helpers.valueAtIndexOrDefault(labels, index, labels[index])
                                }
                        });
 
index 9a69a6bcab67e1df0a1ae6ddcf4f89b5c572382a..42861d07a2ede5e6fd0defa69443259e6ad2c5cf 100644 (file)
@@ -48,7 +48,7 @@ module.exports = function(Chart) {
                                // Model
                                _model: {
                                        // Appearance
-                                       tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),
+                                       tension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),
                                        backgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),
                                        borderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),
                                        borderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),
@@ -98,15 +98,15 @@ module.exports = function(Chart) {
                                        y: reset ? scale.yCenter : pointPosition.y,
 
                                        // Appearance
-                                       tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),
-                                       radius: custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),
-                                       backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),
-                                       borderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),
-                                       borderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),
-                                       pointStyle: custom.pointStyle ? custom.pointStyle : helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),
+                                       tension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),
+                                       radius: custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),
+                                       backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),
+                                       borderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),
+                                       borderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),
+                                       pointStyle: custom.pointStyle ? custom.pointStyle : helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),
 
                                        // Tooltip
-                                       hitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)
+                                       hitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)
                                }
                        });
 
@@ -144,10 +144,10 @@ module.exports = function(Chart) {
                        var index = point._index;
                        var model = point._model;
 
-                       model.radius = custom.hoverRadius ? custom.hoverRadius : helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
-                       model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
-                       model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
-                       model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
+                       model.radius = custom.hoverRadius ? custom.hoverRadius : helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
+                       model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
+                       model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
+                       model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
                },
 
                removeHoverStyle: function(point) {
@@ -157,10 +157,10 @@ module.exports = function(Chart) {
                        var model = point._model;
                        var pointElementOptions = this.chart.options.elements.point;
 
-                       model.radius = custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius);
-                       model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);
-                       model.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);
-                       model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);
+                       model.radius = custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius);
+                       model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);
+                       model.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);
+                       model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);
                }
        });
 };
index 08f57fd3fdcfc169eae0721c16f4d7ccb8a33220..7f8050ad9c260a6768ea2b8664903c40968f1d2f 100644 (file)
@@ -249,7 +249,7 @@ module.exports = function(Chart) {
 
                        helpers.each(items, function(item) {
                                var scaleOptions = item.options;
-                               var scaleType = helpers.getValueOrDefault(scaleOptions.type, item.dtype);
+                               var scaleType = helpers.valueOrDefault(scaleOptions.type, item.dtype);
                                var scaleClass = Chart.scaleService.getScaleConstructor(scaleType);
                                if (!scaleClass) {
                                        return;
index 8f8495b362263a529ccf537b9bdef7f47eca59e3..4fb207b689f580c25237b1cf323b3f350a17b024 100644 (file)
@@ -242,7 +242,7 @@ module.exports = function(Chart) {
                        var dataset = this.chart.data.datasets[element._datasetIndex],
                                index = element._index,
                                custom = element.custom || {},
-                               valueOrDefault = helpers.getValueAtIndexOrDefault,
+                               valueOrDefault = helpers.valueAtIndexOrDefault,
                                model = element._model;
 
                        model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);
@@ -254,7 +254,7 @@ module.exports = function(Chart) {
                        var dataset = this.chart.data.datasets[element._datasetIndex],
                                index = element._index,
                                custom = element.custom || {},
-                               valueOrDefault = helpers.getValueAtIndexOrDefault,
+                               valueOrDefault = helpers.valueAtIndexOrDefault,
                                getHoverColor = helpers.getHoverColor,
                                model = element._model;
 
index a8baa606da47a031fc52b82dce39deee432aef75..98d98793214a961d802f5d32e020ca6fcfa4a2b8 100644 (file)
@@ -69,7 +69,7 @@ module.exports = function(Chart) {
                                // These properties are arrays of items
                                if (base.hasOwnProperty(key)) {
                                        helpers.each(value, function(valueObj, index) {
-                                               var axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
+                                               var axisType = helpers.valueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
                                                var axisDefaults = Chart.scaleService.getScaleDefaults(axisType);
                                                if (index >= base[key].length || !base[key][index].type) {
                                                        base[key].push(helpers.configMerge(axisDefaults, valueObj));
@@ -84,7 +84,7 @@ module.exports = function(Chart) {
                                } else {
                                        base[key] = [];
                                        helpers.each(value, function(valueObj) {
-                                               var axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
+                                               var axisType = helpers.valueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
                                                base[key].push(helpers.configMerge(Chart.scaleService.getScaleDefaults(axisType), valueObj));
                                        });
                                }
index 48c99bc6cbccd454a5d325767ff51f2a574ba7fe..ff2534aaa7557744203a4a3840ac1c84b5d90540 100644 (file)
@@ -61,11 +61,11 @@ module.exports = function(Chart) {
        }
 
        function parseFontOptions(options) {
-               var getValueOrDefault = helpers.getValueOrDefault;
+               var valueOrDefault = helpers.valueOrDefault;
                var globalDefaults = Chart.defaults.global;
-               var size = getValueOrDefault(options.fontSize, globalDefaults.defaultFontSize);
-               var style = getValueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);
-               var family = getValueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);
+               var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);
+               var style = valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);
+               var family = valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);
 
                return {
                        size: size,
@@ -308,7 +308,7 @@ module.exports = function(Chart) {
                        var isHorizontal = me.isHorizontal();
 
                        var tickFont = parseFontOptions(tickOpts);
-                       var scaleLabelLineHeight = helpers.getValueOrDefault(scaleLabelOpts.lineHeight, parseFontOptions(scaleLabelOpts).size * 1.5);
+                       var scaleLabelLineHeight = helpers.valueOrDefault(scaleLabelOpts.lineHeight, parseFontOptions(scaleLabelOpts).size * 1.5);
                        var tickMarkLength = opts.gridLines.tickMarkLength;
 
                        // Width
@@ -527,14 +527,14 @@ module.exports = function(Chart) {
                                maxTicks = optionTicks.maxTicksLimit;
                        }
 
-                       var tickFontColor = helpers.getValueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);
+                       var tickFontColor = helpers.valueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);
                        var tickFont = parseFontOptions(optionTicks);
-                       var majorTickFontColor = helpers.getValueOrDefault(optionMajorTicks.fontColor, globalDefaults.defaultFontColor);
+                       var majorTickFontColor = helpers.valueOrDefault(optionMajorTicks.fontColor, globalDefaults.defaultFontColor);
                        var majorTickFont = parseFontOptions(optionMajorTicks);
 
                        var tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;
 
-                       var scaleLabelFontColor = helpers.getValueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);
+                       var scaleLabelFontColor = helpers.valueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);
                        var scaleLabelFont = parseFontOptions(scaleLabel);
 
                        var labelRotationRadians = helpers.toRadians(me.labelRotation);
@@ -595,10 +595,10 @@ module.exports = function(Chart) {
                                        borderDash = gridLines.zeroLineBorderDash;
                                        borderDashOffset = gridLines.zeroLineBorderDashOffset;
                                } else {
-                                       lineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, index);
-                                       lineColor = helpers.getValueAtIndexOrDefault(gridLines.color, index);
-                                       borderDash = helpers.getValueOrDefault(gridLines.borderDash, globalDefaults.borderDash);
-                                       borderDashOffset = helpers.getValueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);
+                                       lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, index);
+                                       lineColor = helpers.valueAtIndexOrDefault(gridLines.color, index);
+                                       borderDash = helpers.valueOrDefault(gridLines.borderDash, globalDefaults.borderDash);
+                                       borderDashOffset = helpers.valueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);
                                }
 
                                // Common properties
@@ -734,7 +734,7 @@ module.exports = function(Chart) {
                                var scaleLabelX;
                                var scaleLabelY;
                                var rotation = 0;
-                               var halfLineHeight = helpers.getValueOrDefault(scaleLabel.lineHeight, scaleLabelFont.size) / 2;
+                               var halfLineHeight = helpers.valueOrDefault(scaleLabel.lineHeight, scaleLabelFont.size) / 2;
 
                                if (isHorizontal) {
                                        scaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width
@@ -759,8 +759,8 @@ module.exports = function(Chart) {
 
                        if (gridLines.drawBorder) {
                                // Draw the line at the edge of the axis
-                               context.lineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, 0);
-                               context.strokeStyle = helpers.getValueAtIndexOrDefault(gridLines.color, 0);
+                               context.lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0);
+                               context.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);
                                var x1 = me.left,
                                        x2 = me.right,
                                        y1 = me.top,
index 6a67941922f6b97eefd1e8ba02f2349aef08075c..8e4cc034c7274675ecba7173cc2d0a0a60ab79f0 100644 (file)
@@ -101,13 +101,13 @@ module.exports = function(Chart) {
                         */
                        logarithmic: function(generationOptions, dataRange) {
                                var ticks = [];
-                               var getValueOrDefault = helpers.getValueOrDefault;
+                               var valueOrDefault = helpers.valueOrDefault;
 
                                // Figure out what the max number of ticks we can support it is based on the size of
                                // the axis area. For now, we say that the minimum tick spacing in pixels must be 50
                                // We also limit the maximum number of ticks to 11 which gives a nice 10 squares on
                                // the graph
-                               var tickVal = getValueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));
+                               var tickVal = valueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));
 
                                var endExp = Math.floor(helpers.log10(dataRange.max));
                                var endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));
@@ -137,7 +137,7 @@ module.exports = function(Chart) {
                                        tickVal = significand * Math.pow(10, exp);
                                } while (exp < endExp || (exp === endExp && significand < endSignificand));
 
-                               var lastTick = getValueOrDefault(generationOptions.max, tickVal);
+                               var lastTick = valueOrDefault(generationOptions.max, tickVal);
                                ticks.push(lastTick);
 
                                return ticks;
index 1b4687b0af5e0d2f532998bccbd104a9881529c5..e54ab019202e0836a5b3ee648d567c66e3ab3bdc 100644 (file)
@@ -141,7 +141,7 @@ module.exports = function(Chart) {
         */
        function getBaseModel(tooltipOpts) {
                var globalDefaults = Chart.defaults.global;
-               var getValueOrDefault = helpers.getValueOrDefault;
+               var valueOrDefault = helpers.valueOrDefault;
 
                return {
                        // Positioning
@@ -152,26 +152,26 @@ module.exports = function(Chart) {
 
                        // Body
                        bodyFontColor: tooltipOpts.bodyFontColor,
-                       _bodyFontFamily: getValueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),
-                       _bodyFontStyle: getValueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),
+                       _bodyFontFamily: valueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),
+                       _bodyFontStyle: valueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),
                        _bodyAlign: tooltipOpts.bodyAlign,
-                       bodyFontSize: getValueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),
+                       bodyFontSize: valueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),
                        bodySpacing: tooltipOpts.bodySpacing,
 
                        // Title
                        titleFontColor: tooltipOpts.titleFontColor,
-                       _titleFontFamily: getValueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),
-                       _titleFontStyle: getValueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),
-                       titleFontSize: getValueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),
+                       _titleFontFamily: valueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),
+                       _titleFontStyle: valueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),
+                       titleFontSize: valueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),
                        _titleAlign: tooltipOpts.titleAlign,
                        titleSpacing: tooltipOpts.titleSpacing,
                        titleMarginBottom: tooltipOpts.titleMarginBottom,
 
                        // Footer
                        footerFontColor: tooltipOpts.footerFontColor,
-                       _footerFontFamily: getValueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),
-                       _footerFontStyle: getValueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),
-                       footerFontSize: getValueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),
+                       _footerFontFamily: valueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),
+                       _footerFontStyle: valueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),
+                       footerFontSize: valueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),
                        _footerAlign: tooltipOpts.footerAlign,
                        footerSpacing: tooltipOpts.footerSpacing,
                        footerMarginTop: tooltipOpts.footerMarginTop,
index b0758195348ec5d9e9c37b6568f2caed13dc54ac..b10132fcd07b62bc73433002bc16d68d54c4f64d 100644 (file)
@@ -73,7 +73,7 @@ module.exports = function(Chart) {
                        }
 
                        ctx.strokeStyle = vm.borderColor || defaultColor;
-                       ctx.lineWidth = helpers.getValueOrDefault(vm.borderWidth, globalOpts.elements.point.borderWidth);
+                       ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, globalOpts.elements.point.borderWidth);
                        ctx.fillStyle = vm.backgroundColor || defaultColor;
 
                        // Cliping for Points.
index 3d2a7c86bbde5a93f4058b7d36c42ca2a9affd51..269851fe90d0baef0994011c3ca177f65e287614 100644 (file)
@@ -58,7 +58,7 @@ module.exports = function(Chart) {
                 * @param {*} defaultValue - The value to return if `value` is undefined.
                 * @returns {*}
                 */
-               getValueOrDefault: function(value, defaultValue) {
+               valueOrDefault: function(value, defaultValue) {
                        return typeof value === 'undefined'? defaultValue : value;
                },
 
@@ -69,17 +69,8 @@ module.exports = function(Chart) {
                 * @param {*} defaultValue - The value to return if `value[index]` is undefined.
                 * @returns {*}
                 */
-               getValueAtIndexOrDefault: function(value, index, defaultValue) {
-                       if (helpers.isNullOrUndef(value)) {
-                               return defaultValue;
-                       }
-
-                       if (helpers.isArray(value)) {
-                               value = value[index];
-                               return typeof value === 'undefined'? defaultValue : value;
-                       }
-
-                       return value;
+               valueAtIndexOrDefault: function(value, index, defaultValue) {
+                       return helpers.valueOrDefault(helpers.isArray(value)? value[index] : value, defaultValue);
                },
 
                /**
@@ -179,4 +170,22 @@ module.exports = function(Chart) {
        helpers.indexOf = function(array, item, fromIndex) {
                return Array.prototype.indexOf.call(array, item, fromIndex);
        };
+
+       /**
+        * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.
+        * @function Chart.helpers.getValueOrDefault
+        * @deprecated since version 2.7.0
+        * @todo remove at version 3
+        * @private
+        */
+       helpers.getValueOrDefault = helpers.valueOrDefault;
+
+       /**
+        * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.
+        * @function Chart.helpers.getValueAtIndexOrDefault
+        * @deprecated since version 2.7.0
+        * @todo remove at version 3
+        * @private
+        */
+       helpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
 };
index 0d6344835d2f31ad75379a9266942b7448da0dc1..341e828e0bdb387c9763505633a9dda19d82c1d8 100644 (file)
@@ -192,10 +192,10 @@ module.exports = function(Chart) {
                        var ctx = me.ctx;
 
                        var globalDefault = Chart.defaults.global,
-                               itemOrDefault = helpers.getValueOrDefault,
-                               fontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
-                               fontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
-                               fontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
+                               valueOrDefault = helpers.valueOrDefault,
+                               fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
+                               fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
+                               fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
                                labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);
 
                        // Reset hit boxes
@@ -311,11 +311,11 @@ module.exports = function(Chart) {
                        if (opts.display) {
                                var ctx = me.ctx,
                                        cursor,
-                                       itemOrDefault = helpers.getValueOrDefault,
-                                       fontColor = itemOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor),
-                                       fontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
-                                       fontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
-                                       fontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
+                                       valueOrDefault = helpers.valueOrDefault,
+                                       fontColor = valueOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor),
+                                       fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
+                                       fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
+                                       fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
                                        labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);
 
                                // Canvas setup
@@ -338,17 +338,17 @@ module.exports = function(Chart) {
                                        // Set the ctx for the box
                                        ctx.save();
 
-                                       ctx.fillStyle = itemOrDefault(legendItem.fillStyle, globalDefault.defaultColor);
-                                       ctx.lineCap = itemOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);
-                                       ctx.lineDashOffset = itemOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);
-                                       ctx.lineJoin = itemOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);
-                                       ctx.lineWidth = itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth);
-                                       ctx.strokeStyle = itemOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);
-                                       var isLineWidthZero = (itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);
+                                       ctx.fillStyle = valueOrDefault(legendItem.fillStyle, globalDefault.defaultColor);
+                                       ctx.lineCap = valueOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);
+                                       ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);
+                                       ctx.lineJoin = valueOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);
+                                       ctx.lineWidth = valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth);
+                                       ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);
+                                       var isLineWidthZero = (valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);
 
                                        if (ctx.setLineDash) {
                                                // IE 9 and 10 do not support line dash
-                                               ctx.setLineDash(itemOrDefault(legendItem.lineDash, lineDefault.borderDash));
+                                               ctx.setLineDash(valueOrDefault(legendItem.lineDash, lineDefault.borderDash));
                                        }
 
                                        if (opts.labels && opts.labels.usePointStyle) {
index 4fd602bcd57b64da921d5fabf505af3dd1b701bd..e2371bd91c16937e35a1b58d0d30710ab0e3ea95 100644 (file)
@@ -106,7 +106,7 @@ module.exports = function(Chart) {
                beforeFit: noop,
                fit: function() {
                        var me = this,
-                               valueOrDefault = helpers.getValueOrDefault,
+                               valueOrDefault = helpers.valueOrDefault,
                                opts = me.options,
                                globalDefaults = Chart.defaults.global,
                                display = opts.display,
@@ -140,7 +140,7 @@ module.exports = function(Chart) {
                draw: function() {
                        var me = this,
                                ctx = me.ctx,
-                               valueOrDefault = helpers.getValueOrDefault,
+                               valueOrDefault = helpers.valueOrDefault,
                                opts = me.options,
                                globalDefaults = Chart.defaults.global;
 
index 1fe840eec73f1b2116fad1dcdee6b1e8063ebe41..da7c58cd1b674d88d3a82243186c0e4bf0b4530a 100644 (file)
@@ -139,7 +139,7 @@ module.exports = function(Chart) {
                                maxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));
                        } else {
                                // The factor of 2 used to scale the font size has been experimentally determined.
-                               var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, Chart.defaults.global.defaultFontSize);
+                               var tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, Chart.defaults.global.defaultFontSize);
                                maxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));
                        }
 
index b87272177fc1eee6e0785d8a383d319ba42b8107..dba0a6f09ebda615dd07c9fbb388cd660d9b5fe0 100644 (file)
@@ -74,7 +74,7 @@ module.exports = function(Chart) {
                                maxTicks: maxTicks,
                                min: tickOpts.min,
                                max: tickOpts.max,
-                               stepSize: helpers.getValueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)
+                               stepSize: helpers.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)
                        };
                        var ticks = me.ticks = Chart.Ticks.generators.linear(numericGeneratorOptions, me);
 
index 13d1d5a53129ebb1612a06dbe3ec60d32b403d0e..a343aaf73b0f2f7c04eebc0d40feaabde79db64d 100644 (file)
@@ -21,7 +21,7 @@ module.exports = function(Chart) {
                        var chart = me.chart;
                        var data = chart.data;
                        var datasets = data.datasets;
-                       var getValueOrDefault = helpers.getValueOrDefault;
+                       var valueOrDefault = helpers.valueOrDefault;
                        var isHorizontal = me.isHorizontal();
                        function IDMatches(meta) {
                                return isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;
@@ -120,8 +120,8 @@ module.exports = function(Chart) {
                                });
                        }
 
-                       me.min = getValueOrDefault(tickOpts.min, me.min);
-                       me.max = getValueOrDefault(tickOpts.max, me.max);
+                       me.min = valueOrDefault(tickOpts.min, me.min);
+                       me.max = valueOrDefault(tickOpts.max, me.max);
 
                        if (me.min === me.max) {
                                if (me.min !== 0 && me.min !== null) {
index d61044effcd45459190a1881d591e1be9892c2e3..845dc5ded64caf1fa6dd70d0a8f6816f01a08ddb 100644 (file)
@@ -60,9 +60,9 @@ module.exports = function(Chart) {
 
        function getPointLabelFontOptions(scale) {
                var pointLabelOptions = scale.options.pointLabels;
-               var fontSize = helpers.getValueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);
-               var fontStyle = helpers.getValueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);
-               var fontFamily = helpers.getValueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);
+               var fontSize = helpers.valueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);
+               var fontStyle = helpers.valueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);
+               var fontFamily = helpers.valueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);
                var font = helpers.fontString(fontSize, fontStyle, fontFamily);
 
                return {
@@ -236,7 +236,7 @@ module.exports = function(Chart) {
 
        function drawPointLabels(scale) {
                var ctx = scale.ctx;
-               var getValueOrDefault = helpers.getValueOrDefault;
+               var valueOrDefault = helpers.valueOrDefault;
                var opts = scale.options;
                var angleLineOpts = opts.angleLines;
                var pointLabelOpts = opts.pointLabels;
@@ -266,7 +266,7 @@ module.exports = function(Chart) {
                                var pointLabelPosition = scale.getPointPosition(i, outerDistance + 5);
 
                                // Keep this in loop since we may support array properties here
-                               var pointLabelFontColor = getValueOrDefault(pointLabelOpts.fontColor, globalDefaults.defaultFontColor);
+                               var pointLabelFontColor = valueOrDefault(pointLabelOpts.fontColor, globalDefaults.defaultFontColor);
                                ctx.font = plFont.font;
                                ctx.fillStyle = pointLabelFontColor;
 
@@ -281,8 +281,8 @@ module.exports = function(Chart) {
 
        function drawRadiusLine(scale, gridLineOpts, radius, index) {
                var ctx = scale.ctx;
-               ctx.strokeStyle = helpers.getValueAtIndexOrDefault(gridLineOpts.color, index - 1);
-               ctx.lineWidth = helpers.getValueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);
+               ctx.strokeStyle = helpers.valueAtIndexOrDefault(gridLineOpts.color, index - 1);
+               ctx.lineWidth = helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);
 
                if (scale.options.gridLines.circular) {
                        // Draw circular arcs between the points
@@ -328,7 +328,7 @@ module.exports = function(Chart) {
                        me.yCenter = Math.round(me.height / 2);
 
                        var minSize = helpers.min([me.height, me.width]);
-                       var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
+                       var tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
                        me.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);
                },
                determineDataLimits: function() {
@@ -361,7 +361,7 @@ module.exports = function(Chart) {
                },
                getTickLimit: function() {
                        var tickOpts = this.options.ticks;
-                       var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
+                       var tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
                        return Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));
                },
                convertTicksToLabels: function() {
@@ -467,15 +467,15 @@ module.exports = function(Chart) {
                        var opts = me.options;
                        var gridLineOpts = opts.gridLines;
                        var tickOpts = opts.ticks;
-                       var getValueOrDefault = helpers.getValueOrDefault;
+                       var valueOrDefault = helpers.valueOrDefault;
 
                        if (opts.display) {
                                var ctx = me.ctx;
 
                                // Tick Font
-                               var tickFontSize = getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
-                               var tickFontStyle = getValueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);
-                               var tickFontFamily = getValueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);
+                               var tickFontSize = valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
+                               var tickFontStyle = valueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);
+                               var tickFontFamily = valueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);
                                var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
 
                                helpers.each(me.ticks, function(label, index) {
@@ -490,7 +490,7 @@ module.exports = function(Chart) {
                                                }
 
                                                if (tickOpts.display) {
-                                                       var tickFontColor = getValueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);
+                                                       var tickFontColor = valueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);
                                                        ctx.font = tickLabelFont;
 
                                                        if (tickOpts.showLabelBackdrop) {
index 94f7cad6229898f2f56a43e704391bc7474c734c..7d45602c1aed2eb76fa4da2abfb529e7acbda737 100644 (file)
@@ -200,7 +200,7 @@ module.exports = function(Chart) {
                                tickOpts = this.options.ticks.minor;
                        }
 
-                       var callback = helpers.getValueOrDefault(tickOpts.callback, tickOpts.userCallback);
+                       var callback = helpers.valueOrDefault(tickOpts.callback, tickOpts.userCallback);
 
                        if (callback) {
                                return {
@@ -272,7 +272,7 @@ module.exports = function(Chart) {
                        var tickLabelWidth = me.ctx.measureText(label).width;
                        var cosRotation = Math.cos(helpers.toRadians(ticks.maxRotation));
                        var sinRotation = Math.sin(helpers.toRadians(ticks.maxRotation));
-                       var tickFontSize = helpers.getValueOrDefault(ticks.fontSize, Chart.defaults.global.defaultFontSize);
+                       var tickFontSize = helpers.valueOrDefault(ticks.fontSize, Chart.defaults.global.defaultFontSize);
                        return (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);
                },
                getLabelCapacity: function(exampleTime) {
index 50a5cc0530c6cba999cdd58dcebb6effc33e9bdf..5eeded72580d9fe6bd90bda8a4521fb0aff84fa3 100644 (file)
@@ -70,6 +70,20 @@ describe('Deprecations', function() {
                        });
                });
 
+               describe('Chart.helpers.getValueOrDefault', function() {
+                       it('should be defined and an alias of Chart.helpers.valueOrDefault', function() {
+                               expect(Chart.helpers.getValueOrDefault).toBeDefined();
+                               expect(Chart.helpers.getValueOrDefault).toBe(Chart.helpers.valueOrDefault);
+                       });
+               });
+
+               describe('Chart.helpers.getValueAtIndexOrDefault', function() {
+                       it('should be defined and an alias of Chart.helpers.valueAtIndexOrDefault', function() {
+                               expect(Chart.helpers.getValueAtIndexOrDefault).toBeDefined();
+                               expect(Chart.helpers.getValueAtIndexOrDefault).toBe(Chart.helpers.valueAtIndexOrDefault);
+                       });
+               });
+
                describe('Chart.helpers.drawRoundedRectangle', function() {
                        it('should be defined and a function', function() {
                                expect(Chart.helpers.drawRoundedRectangle).toBeDefined();
index 9bb5f5f29e70dd5ba3e699102781f0b960119825..bd3c9631ae60c7561c65f13186c7e4896c6ef5c1 100644 (file)
@@ -74,42 +74,42 @@ describe('Chart.helpers.core', function() {
                });
        });
 
-       describe('getValueOrDefault', function() {
+       describe('valueOrDefault', function() {
                it('should return value if defined', function() {
                        var object = {};
                        var array = [];
 
-                       expect(helpers.getValueOrDefault(null, 42)).toBe(null);
-                       expect(helpers.getValueOrDefault(false, 42)).toBe(false);
-                       expect(helpers.getValueOrDefault(object, 42)).toBe(object);
-                       expect(helpers.getValueOrDefault(array, 42)).toBe(array);
-                       expect(helpers.getValueOrDefault('', 42)).toBe('');
-                       expect(helpers.getValueOrDefault(0, 42)).toBe(0);
+                       expect(helpers.valueOrDefault(null, 42)).toBe(null);
+                       expect(helpers.valueOrDefault(false, 42)).toBe(false);
+                       expect(helpers.valueOrDefault(object, 42)).toBe(object);
+                       expect(helpers.valueOrDefault(array, 42)).toBe(array);
+                       expect(helpers.valueOrDefault('', 42)).toBe('');
+                       expect(helpers.valueOrDefault(0, 42)).toBe(0);
                });
                it('should return default if undefined', function() {
-                       expect(helpers.getValueOrDefault(undefined, 42)).toBe(42);
-                       expect(helpers.getValueOrDefault({}.foo, 42)).toBe(42);
+                       expect(helpers.valueOrDefault(undefined, 42)).toBe(42);
+                       expect(helpers.valueOrDefault({}.foo, 42)).toBe(42);
                });
        });
 
-       describe('getValueAtIndexOrDefault', function() {
+       describe('valueAtIndexOrDefault', function() {
                it('should return the passed value if not an array', function() {
-                       expect(helpers.getValueAtIndexOrDefault(0, 0, 42)).toBe(0);
-                       expect(helpers.getValueAtIndexOrDefault('', 0, 42)).toBe('');
-                       expect(helpers.getValueAtIndexOrDefault(false, 0, 42)).toBe(false);
-                       expect(helpers.getValueAtIndexOrDefault(98, 0, 42)).toBe(98);
-               });
-               it('should return the default value if the passed value is null or undefined', function() {
-                       expect(helpers.getValueAtIndexOrDefault(null, 0, 42)).toBe(42);
-                       expect(helpers.getValueAtIndexOrDefault(undefined, 0, 42)).toBe(42);
+                       expect(helpers.valueAtIndexOrDefault(0, 0, 42)).toBe(0);
+                       expect(helpers.valueAtIndexOrDefault('', 0, 42)).toBe('');
+                       expect(helpers.valueAtIndexOrDefault(null, 0, 42)).toBe(null);
+                       expect(helpers.valueAtIndexOrDefault(false, 0, 42)).toBe(false);
+                       expect(helpers.valueAtIndexOrDefault(98, 0, 42)).toBe(98);
                });
                it('should return the value at index if defined', function() {
-                       expect(helpers.getValueAtIndexOrDefault([1, false, 'foo'], 1, 42)).toBe(false);
-                       expect(helpers.getValueAtIndexOrDefault([1, false, 'foo'], 2, 42)).toBe('foo');
+                       expect(helpers.valueAtIndexOrDefault([1, false, 'foo'], 1, 42)).toBe(false);
+                       expect(helpers.valueAtIndexOrDefault([1, false, 'foo'], 2, 42)).toBe('foo');
+               });
+               it('should return the default value if the passed value is undefined', function() {
+                       expect(helpers.valueAtIndexOrDefault(undefined, 0, 42)).toBe(42);
                });
                it('should return the default value if value at index is undefined', function() {
-                       expect(helpers.getValueAtIndexOrDefault([1, false, 'foo'], 3, 42)).toBe(42);
-                       expect(helpers.getValueAtIndexOrDefault([1, undefined, 'foo'], 1, 42)).toBe(42);
+                       expect(helpers.valueAtIndexOrDefault([1, false, 'foo'], 3, 42)).toBe(42);
+                       expect(helpers.valueAtIndexOrDefault([1, undefined, 'foo'], 1, 42)).toBe(42);
                });
        });