diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 81cea4924bd..c89631cb43d 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -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); } }); diff --git a/src/controllers/controller.bubble.js b/src/controllers/controller.bubble.js index abe807b3bb2..3152cd09cfb 100644 --- a/src/controllers/controller.bubble.js +++ b/src/controllers/controller.bubble.js @@ -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) { diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index 2abac3b9873..e86eea26e16 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -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 diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 16951095437..6975b1ebbce 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -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); diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index ecf2ac62cc1..b9123fa7262 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -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]) } }); diff --git a/src/controllers/controller.radar.js b/src/controllers/controller.radar.js index 9a69a6bcab6..42861d07a2e 100644 --- a/src/controllers/controller.radar.js +++ b/src/controllers/controller.radar.js @@ -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); } }); }; diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 08f57fd3fdc..7f8050ad9c2 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -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; diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 8f8495b3622..4fb207b689f 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -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; diff --git a/src/core/core.helpers.js b/src/core/core.helpers.js index a8baa606da4..98d98793214 100644 --- a/src/core/core.helpers.js +++ b/src/core/core.helpers.js @@ -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)); }); } diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 48c99bc6cbc..ff2534aaa75 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -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, diff --git a/src/core/core.ticks.js b/src/core/core.ticks.js index 6a67941922f..8e4cc034c72 100644 --- a/src/core/core.ticks.js +++ b/src/core/core.ticks.js @@ -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; diff --git a/src/core/core.tooltip.js b/src/core/core.tooltip.js index 1b4687b0af5..e54ab019202 100644 --- a/src/core/core.tooltip.js +++ b/src/core/core.tooltip.js @@ -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, diff --git a/src/elements/element.point.js b/src/elements/element.point.js index b0758195348..b10132fcd07 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -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. diff --git a/src/helpers/helpers.core.js b/src/helpers/helpers.core.js index 3d2a7c86bbd..269851fe90d 100644 --- a/src/helpers/helpers.core.js +++ b/src/helpers/helpers.core.js @@ -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; }; diff --git a/src/plugins/plugin.legend.js b/src/plugins/plugin.legend.js index 0d6344835d2..341e828e0bd 100644 --- a/src/plugins/plugin.legend.js +++ b/src/plugins/plugin.legend.js @@ -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) { diff --git a/src/plugins/plugin.title.js b/src/plugins/plugin.title.js index 4fd602bcd57..e2371bd91c1 100644 --- a/src/plugins/plugin.title.js +++ b/src/plugins/plugin.title.js @@ -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; diff --git a/src/scales/scale.linear.js b/src/scales/scale.linear.js index 1fe840eec73..da7c58cd1b6 100644 --- a/src/scales/scale.linear.js +++ b/src/scales/scale.linear.js @@ -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))); } diff --git a/src/scales/scale.linearbase.js b/src/scales/scale.linearbase.js index b87272177fc..dba0a6f09eb 100644 --- a/src/scales/scale.linearbase.js +++ b/src/scales/scale.linearbase.js @@ -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); diff --git a/src/scales/scale.logarithmic.js b/src/scales/scale.logarithmic.js index 13d1d5a5312..a343aaf73b0 100644 --- a/src/scales/scale.logarithmic.js +++ b/src/scales/scale.logarithmic.js @@ -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) { diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index d61044effcd..845dc5ded64 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -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) { diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index 94f7cad6229..7d45602c1ae 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -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) { diff --git a/test/specs/global.deprecations.tests.js b/test/specs/global.deprecations.tests.js index 50a5cc0530c..5eeded72580 100644 --- a/test/specs/global.deprecations.tests.js +++ b/test/specs/global.deprecations.tests.js @@ -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(); diff --git a/test/specs/helpers.core.tests.js b/test/specs/helpers.core.tests.js index 9bb5f5f29e7..bd3c9631ae6 100644 --- a/test/specs/helpers.core.tests.js +++ b/test/specs/helpers.core.tests.js @@ -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); }); });