mirror of
https://github.com/chartjs/Chart.js.git
synced 2026-01-18 16:04:41 +00:00
Refactoring using helpers.options.resolve (#5965)
This commit is contained in:
parent
dd3564aee5
commit
820debf452
@ -5,6 +5,8 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
defaults._set('bar', {
|
||||
hover: {
|
||||
mode: 'label'
|
||||
@ -410,7 +412,6 @@ module.exports = DatasetController.extend({
|
||||
var dataset = datasets[me.index];
|
||||
var custom = rectangle.custom || {};
|
||||
var options = chart.options.elements.rectangle;
|
||||
var resolve = helpers.options.resolve;
|
||||
var values = {};
|
||||
var i, ilen, key;
|
||||
|
||||
|
||||
@ -5,6 +5,9 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
defaults._set('bubble', {
|
||||
hover: {
|
||||
mode: 'single'
|
||||
@ -101,6 +104,7 @@ module.exports = DatasetController.extend({
|
||||
setHoverStyle: function(point) {
|
||||
var model = point._model;
|
||||
var options = point._options;
|
||||
var getHoverColor = helpers.getHoverColor;
|
||||
|
||||
point.$previousStyle = {
|
||||
backgroundColor: model.backgroundColor,
|
||||
@ -109,9 +113,9 @@ module.exports = DatasetController.extend({
|
||||
radius: model.radius
|
||||
};
|
||||
|
||||
model.backgroundColor = helpers.valueOrDefault(options.hoverBackgroundColor, helpers.getHoverColor(options.backgroundColor));
|
||||
model.borderColor = helpers.valueOrDefault(options.hoverBorderColor, helpers.getHoverColor(options.borderColor));
|
||||
model.borderWidth = helpers.valueOrDefault(options.hoverBorderWidth, options.borderWidth);
|
||||
model.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));
|
||||
model.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));
|
||||
model.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);
|
||||
model.radius = options.radius + options.hoverRadius;
|
||||
},
|
||||
|
||||
@ -125,7 +129,6 @@ module.exports = DatasetController.extend({
|
||||
var dataset = datasets[me.index];
|
||||
var custom = point.custom || {};
|
||||
var options = chart.options.elements.point;
|
||||
var resolve = helpers.options.resolve;
|
||||
var data = dataset.data[index];
|
||||
var values = {};
|
||||
var i, ilen, key;
|
||||
|
||||
@ -5,6 +5,8 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
defaults._set('doughnut', {
|
||||
animation: {
|
||||
// Boolean - Whether we animate the rotation of the Doughnut
|
||||
@ -46,11 +48,10 @@ defaults._set('doughnut', {
|
||||
var ds = data.datasets[0];
|
||||
var arc = meta.data[i];
|
||||
var custom = arc && arc.custom || {};
|
||||
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
|
||||
var arcOpts = chart.options.elements.arc;
|
||||
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);
|
||||
var fill = resolve([custom.backgroundColor, ds.backgroundColor, arcOpts.backgroundColor], undefined, i);
|
||||
var stroke = resolve([custom.borderColor, ds.borderColor, arcOpts.borderColor], undefined, i);
|
||||
var bw = resolve([custom.borderWidth, ds.borderWidth, arcOpts.borderWidth], undefined, i);
|
||||
|
||||
return {
|
||||
text: label,
|
||||
@ -322,13 +323,12 @@ module.exports = DatasetController.extend({
|
||||
var dataset = me.getDataset();
|
||||
var custom = arc.custom || {};
|
||||
var options = me.chart.options.elements.arc;
|
||||
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
|
||||
|
||||
return {
|
||||
backgroundColor: custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(dataset.backgroundColor, index, options.backgroundColor),
|
||||
borderColor: custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(dataset.borderColor, index, options.borderColor),
|
||||
borderWidth: custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(dataset.borderWidth, index, options.borderWidth),
|
||||
borderAlign: custom.borderAlign ? custom.borderAlign : valueAtIndexOrDefault(dataset.borderAlign, index, options.borderAlign)
|
||||
backgroundColor: resolve([custom.backgroundColor, dataset.backgroundColor, options.backgroundColor], undefined, index),
|
||||
borderColor: resolve([custom.borderColor, dataset.borderColor, options.borderColor], undefined, index),
|
||||
borderWidth: resolve([custom.borderWidth, dataset.borderWidth, options.borderWidth], undefined, index),
|
||||
borderAlign: resolve([custom.borderAlign, dataset.borderAlign, options.borderAlign], undefined, index)
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
@ -5,7 +5,9 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var _isPointInArea = helpers.canvas._isPointInArea;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var resolve = helpers.options.resolve;
|
||||
var isPointInArea = helpers.canvas._isPointInArea;
|
||||
|
||||
defaults._set('line', {
|
||||
showLines: true,
|
||||
@ -28,7 +30,7 @@ defaults._set('line', {
|
||||
});
|
||||
|
||||
function lineEnabled(dataset, options) {
|
||||
return helpers.valueOrDefault(dataset.showLine, options.showLines);
|
||||
return valueOrDefault(dataset.showLine, options.showLines);
|
||||
}
|
||||
|
||||
module.exports = DatasetController.extend({
|
||||
@ -69,18 +71,18 @@ module.exports = DatasetController.extend({
|
||||
// The default behavior of lines is to break at null values, according
|
||||
// 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.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),
|
||||
borderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),
|
||||
borderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),
|
||||
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.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),
|
||||
cubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),
|
||||
spanGaps: valueOrDefault(dataset.spanGaps, options.spanGaps),
|
||||
tension: resolve([custom.tension, dataset.lineTension, lineElementOptions.tension]),
|
||||
backgroundColor: resolve([custom.backgroundColor, dataset.backgroundColor, lineElementOptions.backgroundColor]),
|
||||
borderWidth: resolve([custom.borderWidth, dataset.borderWidth, lineElementOptions.borderWidth]),
|
||||
borderColor: resolve([custom.borderColor, dataset.borderColor, lineElementOptions.borderColor]),
|
||||
borderCapStyle: resolve([custom.borderCapStyle, dataset.borderCapStyle, lineElementOptions.borderCapStyle]),
|
||||
borderDash: resolve([custom.borderDash, dataset.borderDash, lineElementOptions.borderDash]),
|
||||
borderDashOffset: resolve([custom.borderDashOffset, dataset.borderDashOffset, lineElementOptions.borderDashOffset]),
|
||||
borderJoinStyle: resolve([custom.borderJoinStyle, dataset.borderJoinStyle, lineElementOptions.borderJoinStyle]),
|
||||
fill: resolve([custom.fill, dataset.fill, lineElementOptions.fill]),
|
||||
steppedLine: resolve([custom.steppedLine, dataset.steppedLine, lineElementOptions.stepped]),
|
||||
cubicInterpolationMode: resolve([custom.cubicInterpolationMode, dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode]),
|
||||
};
|
||||
|
||||
line.pivot();
|
||||
@ -102,64 +104,49 @@ module.exports = DatasetController.extend({
|
||||
},
|
||||
|
||||
getPointBackgroundColor: function(point, index) {
|
||||
var backgroundColor = this.chart.options.elements.point.backgroundColor;
|
||||
var dataset = this.getDataset();
|
||||
var custom = point.custom || {};
|
||||
|
||||
if (custom.backgroundColor) {
|
||||
backgroundColor = custom.backgroundColor;
|
||||
} else if (dataset.pointBackgroundColor) {
|
||||
backgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);
|
||||
} else if (dataset.backgroundColor) {
|
||||
backgroundColor = dataset.backgroundColor;
|
||||
}
|
||||
|
||||
return backgroundColor;
|
||||
return resolve([
|
||||
custom.backgroundColor,
|
||||
dataset.pointBackgroundColor,
|
||||
dataset.backgroundColor,
|
||||
this.chart.options.elements.point.backgroundColor
|
||||
], undefined, index);
|
||||
},
|
||||
|
||||
getPointBorderColor: function(point, index) {
|
||||
var borderColor = this.chart.options.elements.point.borderColor;
|
||||
var dataset = this.getDataset();
|
||||
var custom = point.custom || {};
|
||||
|
||||
if (custom.borderColor) {
|
||||
borderColor = custom.borderColor;
|
||||
} else if (dataset.pointBorderColor) {
|
||||
borderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);
|
||||
} else if (dataset.borderColor) {
|
||||
borderColor = dataset.borderColor;
|
||||
}
|
||||
|
||||
return borderColor;
|
||||
return resolve([
|
||||
custom.borderColor,
|
||||
dataset.pointBorderColor,
|
||||
dataset.borderColor,
|
||||
this.chart.options.elements.point.borderColor
|
||||
], undefined, index);
|
||||
},
|
||||
|
||||
getPointBorderWidth: function(point, index) {
|
||||
var borderWidth = this.chart.options.elements.point.borderWidth;
|
||||
var dataset = this.getDataset();
|
||||
var custom = point.custom || {};
|
||||
|
||||
if (!isNaN(custom.borderWidth)) {
|
||||
borderWidth = custom.borderWidth;
|
||||
} else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {
|
||||
borderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);
|
||||
} else if (!isNaN(dataset.borderWidth)) {
|
||||
borderWidth = dataset.borderWidth;
|
||||
}
|
||||
|
||||
return borderWidth;
|
||||
return resolve([
|
||||
custom.borderWidth,
|
||||
dataset.pointBorderWidth,
|
||||
dataset.borderWidth,
|
||||
this.chart.options.elements.point.borderWidth
|
||||
], undefined, index);
|
||||
},
|
||||
|
||||
getPointRotation: function(point, index) {
|
||||
var pointRotation = this.chart.options.elements.point.rotation;
|
||||
var dataset = this.getDataset();
|
||||
var custom = point.custom || {};
|
||||
|
||||
if (!isNaN(custom.rotation)) {
|
||||
pointRotation = custom.rotation;
|
||||
} else if (!isNaN(dataset.pointRotation) || helpers.isArray(dataset.pointRotation)) {
|
||||
pointRotation = helpers.valueAtIndexOrDefault(dataset.pointRotation, index, pointRotation);
|
||||
}
|
||||
return pointRotation;
|
||||
return resolve([
|
||||
custom.rotation,
|
||||
this.getDataset().pointRotation,
|
||||
this.chart.options.elements.point.rotation
|
||||
], undefined, index);
|
||||
},
|
||||
|
||||
updateElement: function(point, index, reset) {
|
||||
@ -197,8 +184,8 @@ module.exports = DatasetController.extend({
|
||||
y: y,
|
||||
skip: custom.skip || isNaN(x) || isNaN(y),
|
||||
// Appearance
|
||||
radius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),
|
||||
pointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),
|
||||
radius: resolve([custom.radius, dataset.pointRadius, pointOptions.radius], undefined, index),
|
||||
pointStyle: resolve([custom.pointStyle, dataset.pointStyle, pointOptions.pointStyle], undefined, index),
|
||||
rotation: me.getPointRotation(point, index),
|
||||
backgroundColor: me.getPointBackgroundColor(point, index),
|
||||
borderColor: me.getPointBorderColor(point, index),
|
||||
@ -206,7 +193,7 @@ module.exports = DatasetController.extend({
|
||||
tension: meta.dataset._model ? meta.dataset._model.tension : 0,
|
||||
steppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,
|
||||
// Tooltip
|
||||
hitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)
|
||||
hitRadius: resolve([custom.hitRadius, dataset.pointHitRadius, pointOptions.hitRadius], undefined, index)
|
||||
};
|
||||
},
|
||||
|
||||
@ -285,12 +272,12 @@ module.exports = DatasetController.extend({
|
||||
if (chart.options.elements.line.capBezierPoints) {
|
||||
for (i = 0, ilen = points.length; i < ilen; ++i) {
|
||||
model = points[i]._model;
|
||||
if (_isPointInArea(model, area)) {
|
||||
if (i > 0 && _isPointInArea(points[i - 1]._model, area)) {
|
||||
if (isPointInArea(model, area)) {
|
||||
if (i > 0 && isPointInArea(points[i - 1]._model, area)) {
|
||||
model.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);
|
||||
model.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);
|
||||
}
|
||||
if (i < points.length - 1 && _isPointInArea(points[i + 1]._model, area)) {
|
||||
if (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {
|
||||
model.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);
|
||||
model.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);
|
||||
}
|
||||
@ -336,6 +323,7 @@ module.exports = DatasetController.extend({
|
||||
var index = element._index;
|
||||
var custom = element.custom || {};
|
||||
var model = element._model;
|
||||
var getHoverColor = helpers.getHoverColor;
|
||||
|
||||
element.$previousStyle = {
|
||||
backgroundColor: model.backgroundColor,
|
||||
@ -344,9 +332,9 @@ module.exports = DatasetController.extend({
|
||||
radius: model.radius
|
||||
};
|
||||
|
||||
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);
|
||||
model.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
|
||||
model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.pointHoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);
|
||||
model.borderColor = resolve([custom.hoverBorderColor, dataset.pointHoverBorderColor, getHoverColor(model.borderColor)], undefined, index);
|
||||
model.borderWidth = resolve([custom.hoverBorderWidth, dataset.pointHoverBorderWidth, model.borderWidth], undefined, index);
|
||||
model.radius = resolve([custom.hoverRadius, dataset.pointHoverRadius, this.chart.options.elements.point.hoverRadius], undefined, index);
|
||||
}
|
||||
});
|
||||
|
||||
@ -5,6 +5,8 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
defaults._set('polarArea', {
|
||||
scale: {
|
||||
type: 'radialLinear',
|
||||
@ -60,11 +62,10 @@ defaults._set('polarArea', {
|
||||
var ds = data.datasets[0];
|
||||
var arc = meta.data[i];
|
||||
var custom = arc.custom || {};
|
||||
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
|
||||
var arcOpts = chart.options.elements.arc;
|
||||
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);
|
||||
var fill = resolve([custom.backgroundColor, ds.backgroundColor, arcOpts.backgroundColor], undefined, i);
|
||||
var stroke = resolve([custom.borderColor, ds.borderColor, arcOpts.borderColor], undefined, i);
|
||||
var bw = resolve([custom.borderWidth, ds.borderWidth, arcOpts.borderWidth], undefined, i);
|
||||
|
||||
return {
|
||||
text: label,
|
||||
@ -199,13 +200,12 @@ module.exports = DatasetController.extend({
|
||||
// Apply border and fill style
|
||||
var elementOpts = this.chart.options.elements.arc;
|
||||
var custom = arc.custom || {};
|
||||
var valueOrDefault = helpers.valueAtIndexOrDefault;
|
||||
var model = arc._model;
|
||||
|
||||
model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);
|
||||
model.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);
|
||||
model.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);
|
||||
model.borderAlign = custom.borderAlign ? custom.borderAlign : valueOrDefault(dataset.borderAlign, index, elementOpts.borderAlign);
|
||||
model.backgroundColor = resolve([custom.backgroundColor, dataset.backgroundColor, elementOpts.backgroundColor], undefined, index);
|
||||
model.borderColor = resolve([custom.borderColor, dataset.borderColor, elementOpts.borderColor], undefined, index);
|
||||
model.borderWidth = resolve([custom.borderWidth, dataset.borderWidth, elementOpts.borderWidth], undefined, index);
|
||||
model.borderAlign = resolve([custom.borderAlign, dataset.borderAlign, elementOpts.borderAlign], undefined, index);
|
||||
|
||||
arc.pivot();
|
||||
},
|
||||
@ -245,7 +245,7 @@ module.exports = DatasetController.extend({
|
||||
datasetIndex: me.index
|
||||
};
|
||||
|
||||
return helpers.options.resolve([
|
||||
return resolve([
|
||||
me.chart.options.elements.arc.angle,
|
||||
(2 * Math.PI) / count
|
||||
], context, index);
|
||||
|
||||
@ -5,6 +5,8 @@ var defaults = require('../core/core.defaults');
|
||||
var elements = require('../elements/index');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
defaults._set('radar', {
|
||||
scale: {
|
||||
type: 'radialLinear'
|
||||
@ -50,15 +52,15 @@ module.exports = DatasetController.extend({
|
||||
// Model
|
||||
_model: {
|
||||
// Appearance
|
||||
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),
|
||||
fill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),
|
||||
borderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),
|
||||
borderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),
|
||||
borderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),
|
||||
borderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),
|
||||
tension: resolve([custom.tension, dataset.lineTension, lineElementOptions.tension]),
|
||||
backgroundColor: resolve([custom.backgroundColor, dataset.backgroundColor, lineElementOptions.backgroundColor]),
|
||||
borderWidth: resolve([custom.borderWidth, dataset.borderWidth, lineElementOptions.borderWidth]),
|
||||
borderColor: resolve([custom.borderColor, dataset.borderColor, lineElementOptions.borderColor]),
|
||||
fill: resolve([custom.fill, dataset.fill, lineElementOptions.fill]),
|
||||
borderCapStyle: resolve([custom.borderCapStyle, dataset.borderCapStyle, lineElementOptions.borderCapStyle]),
|
||||
borderDash: resolve([custom.borderDash, dataset.borderDash, lineElementOptions.borderDash]),
|
||||
borderDashOffset: resolve([custom.borderDashOffset, dataset.borderDashOffset, lineElementOptions.borderDashOffset]),
|
||||
borderJoinStyle: resolve([custom.borderJoinStyle, dataset.borderJoinStyle, lineElementOptions.borderJoinStyle]),
|
||||
}
|
||||
});
|
||||
|
||||
@ -106,20 +108,20 @@ module.exports = DatasetController.extend({
|
||||
y: reset ? scale.yCenter : pointPosition.y,
|
||||
|
||||
// Appearance
|
||||
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),
|
||||
rotation: custom.rotation ? custom.rotation : helpers.valueAtIndexOrDefault(dataset.pointRotation, index, pointElementOptions.rotation),
|
||||
tension: resolve([custom.tension, dataset.lineTension, me.chart.options.elements.line.tension]),
|
||||
radius: resolve([custom.radius, dataset.pointRadius, pointElementOptions.radius], undefined, index),
|
||||
backgroundColor: resolve([custom.backgroundColor, dataset.pointBackgroundColor, pointElementOptions.backgroundColor], undefined, index),
|
||||
borderColor: resolve([custom.borderColor, dataset.pointBorderColor, pointElementOptions.borderColor], undefined, index),
|
||||
borderWidth: resolve([custom.borderWidth, dataset.pointBorderWidth, pointElementOptions.borderWidth], undefined, index),
|
||||
pointStyle: resolve([custom.pointStyle, dataset.pointStyle, pointElementOptions.pointStyle], undefined, index),
|
||||
rotation: resolve([custom.rotation, dataset.pointRotation, pointElementOptions.rotation], undefined, index),
|
||||
|
||||
// Tooltip
|
||||
hitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)
|
||||
hitRadius: resolve([custom.hitRadius, dataset.pointHitRadius, pointElementOptions.hitRadius], undefined, index)
|
||||
}
|
||||
});
|
||||
|
||||
point._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));
|
||||
point._model.skip = custom.skip || isNaN(point._model.x) || isNaN(point._model.y);
|
||||
},
|
||||
|
||||
updateBezierControlPoints: function() {
|
||||
@ -156,6 +158,7 @@ module.exports = DatasetController.extend({
|
||||
var custom = point.custom || {};
|
||||
var index = point._index;
|
||||
var model = point._model;
|
||||
var getHoverColor = helpers.getHoverColor;
|
||||
|
||||
point.$previousStyle = {
|
||||
backgroundColor: model.backgroundColor,
|
||||
@ -164,9 +167,9 @@ module.exports = DatasetController.extend({
|
||||
radius: model.radius
|
||||
};
|
||||
|
||||
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);
|
||||
model.radius = resolve([custom.hoverRadius, dataset.pointHoverRadius, this.chart.options.elements.point.hoverRadius], undefined, index);
|
||||
model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.pointHoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);
|
||||
model.borderColor = resolve([custom.hoverBorderColor, dataset.pointHoverBorderColor, getHoverColor(model.borderColor)], undefined, index);
|
||||
model.borderWidth = resolve([custom.hoverBorderWidth, dataset.pointHoverBorderWidth, model.borderWidth], undefined, index);
|
||||
}
|
||||
});
|
||||
|
||||
@ -12,6 +12,8 @@ var plugins = require('./core.plugins');
|
||||
var scaleService = require('../core/core.scaleService');
|
||||
var Tooltip = require('./core.tooltip');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
module.exports = function(Chart) {
|
||||
|
||||
// Create a dictionary of chart types, to allow for extension of existing types
|
||||
@ -265,7 +267,7 @@ module.exports = function(Chart) {
|
||||
helpers.each(items, function(item) {
|
||||
var scaleOptions = item.options;
|
||||
var id = scaleOptions.id;
|
||||
var scaleType = helpers.valueOrDefault(scaleOptions.type, item.dtype);
|
||||
var scaleType = valueOrDefault(scaleOptions.type, item.dtype);
|
||||
|
||||
if (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {
|
||||
scaleOptions.position = item.dposition;
|
||||
@ -510,9 +512,7 @@ module.exports = function(Chart) {
|
||||
}
|
||||
|
||||
var animationOptions = me.options.animation;
|
||||
var duration = typeof config.duration !== 'undefined'
|
||||
? config.duration
|
||||
: animationOptions && animationOptions.duration;
|
||||
var duration = valueOrDefault(config.duration, animationOptions && animationOptions.duration);
|
||||
var lazy = config.lazy;
|
||||
|
||||
if (plugins.notify(me, 'beforeRender') === false) {
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];
|
||||
|
||||
/**
|
||||
@ -245,9 +247,8 @@ helpers.extend(DatasetController.prototype, {
|
||||
var dataset = this.chart.data.datasets[element._datasetIndex];
|
||||
var index = element._index;
|
||||
var custom = element.custom || {};
|
||||
var valueOrDefault = helpers.valueAtIndexOrDefault;
|
||||
var getHoverColor = helpers.getHoverColor;
|
||||
var model = element._model;
|
||||
var getHoverColor = helpers.getHoverColor;
|
||||
|
||||
element.$previousStyle = {
|
||||
backgroundColor: model.backgroundColor,
|
||||
@ -255,9 +256,9 @@ helpers.extend(DatasetController.prototype, {
|
||||
borderWidth: model.borderWidth
|
||||
};
|
||||
|
||||
model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));
|
||||
model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));
|
||||
model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);
|
||||
model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);
|
||||
model.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);
|
||||
model.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@ -5,6 +5,9 @@ var Element = require('./core.element');
|
||||
var helpers = require('../helpers/index');
|
||||
var Ticks = require('./core.ticks');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
|
||||
|
||||
defaults._set('scale', {
|
||||
display: true,
|
||||
position: 'left',
|
||||
@ -730,24 +733,24 @@ module.exports = Element.extend({
|
||||
|
||||
var parseFont = helpers.options._parseFont;
|
||||
var ticks = optionTicks.autoSkip ? me._autoSkip(me.getTicks()) : me.getTicks();
|
||||
var tickFontColor = helpers.valueOrDefault(optionTicks.fontColor, defaultFontColor);
|
||||
var tickFontColor = valueOrDefault(optionTicks.fontColor, defaultFontColor);
|
||||
var tickFont = parseFont(optionTicks);
|
||||
var lineHeight = tickFont.lineHeight;
|
||||
var majorTickFontColor = helpers.valueOrDefault(optionMajorTicks.fontColor, defaultFontColor);
|
||||
var majorTickFontColor = valueOrDefault(optionMajorTicks.fontColor, defaultFontColor);
|
||||
var majorTickFont = parseFont(optionMajorTicks);
|
||||
var tickPadding = optionTicks.padding;
|
||||
var labelOffset = optionTicks.labelOffset;
|
||||
|
||||
var tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;
|
||||
|
||||
var scaleLabelFontColor = helpers.valueOrDefault(scaleLabel.fontColor, defaultFontColor);
|
||||
var scaleLabelFontColor = valueOrDefault(scaleLabel.fontColor, defaultFontColor);
|
||||
var scaleLabelFont = parseFont(scaleLabel);
|
||||
var scaleLabelPadding = helpers.options.toPadding(scaleLabel.padding);
|
||||
var labelRotationRadians = helpers.toRadians(me.labelRotation);
|
||||
|
||||
var itemsToDraw = [];
|
||||
|
||||
var axisWidth = gridLines.drawBorder ? helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;
|
||||
var axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;
|
||||
var alignPixel = helpers._alignPixel;
|
||||
var borderValue, tickStart, tickEnd;
|
||||
|
||||
@ -786,8 +789,8 @@ module.exports = Element.extend({
|
||||
borderDash = gridLines.zeroLineBorderDash || [];
|
||||
borderDashOffset = gridLines.zeroLineBorderDashOffset || 0.0;
|
||||
} else {
|
||||
lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, index);
|
||||
lineColor = helpers.valueAtIndexOrDefault(gridLines.color, index);
|
||||
lineWidth = valueAtIndexOrDefault(gridLines.lineWidth, index);
|
||||
lineColor = valueAtIndexOrDefault(gridLines.color, index);
|
||||
borderDash = gridLines.borderDash || [];
|
||||
borderDashOffset = gridLines.borderDashOffset || 0.0;
|
||||
}
|
||||
@ -961,7 +964,7 @@ module.exports = Element.extend({
|
||||
if (axisWidth) {
|
||||
// Draw the line at the edge of the axis
|
||||
var firstLineWidth = axisWidth;
|
||||
var lastLineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, ticks.length - 1, 0);
|
||||
var lastLineWidth = valueAtIndexOrDefault(gridLines.lineWidth, ticks.length - 1, 0);
|
||||
var x1, x2, y1, y2;
|
||||
|
||||
if (isHorizontal) {
|
||||
@ -975,7 +978,7 @@ module.exports = Element.extend({
|
||||
}
|
||||
|
||||
context.lineWidth = axisWidth;
|
||||
context.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);
|
||||
context.strokeStyle = valueAtIndexOrDefault(gridLines.color, 0);
|
||||
context.beginPath();
|
||||
context.moveTo(x1, y1);
|
||||
context.lineTo(x2, y2);
|
||||
|
||||
@ -4,6 +4,8 @@ var defaults = require('./core.defaults');
|
||||
var Element = require('./core.element');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
defaults._set('global', {
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
@ -221,7 +223,6 @@ function createTooltipItem(element) {
|
||||
*/
|
||||
function getBaseModel(tooltipOpts) {
|
||||
var globalDefaults = defaults.global;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
return {
|
||||
// Positioning
|
||||
|
||||
@ -4,6 +4,8 @@ var defaults = require('../core/core.defaults');
|
||||
var Element = require('../core/core.element');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
var defaultColor = defaults.global.defaultColor;
|
||||
|
||||
defaults._set('global', {
|
||||
@ -50,9 +52,9 @@ module.exports = Element.extend({
|
||||
ctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);
|
||||
}
|
||||
|
||||
ctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;
|
||||
ctx.lineDashOffset = valueOrDefault(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);
|
||||
ctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;
|
||||
ctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;
|
||||
ctx.lineWidth = valueOrDefault(vm.borderWidth, globalOptionLineElements.borderWidth);
|
||||
ctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;
|
||||
|
||||
// Stroke Line
|
||||
|
||||
@ -4,6 +4,8 @@ var defaults = require('../core/core.defaults');
|
||||
var Element = require('../core/core.element');
|
||||
var helpers = require('../helpers/index');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
var defaultColor = defaults.global.defaultColor;
|
||||
|
||||
defaults._set('global', {
|
||||
@ -81,7 +83,7 @@ module.exports = Element.extend({
|
||||
// Clipping for Points.
|
||||
if (chartArea === undefined || helpers.canvas._isPointInArea(vm, chartArea)) {
|
||||
ctx.strokeStyle = vm.borderColor || defaultColor;
|
||||
ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, globalDefaults.elements.point.borderWidth);
|
||||
ctx.lineWidth = valueOrDefault(vm.borderWidth, globalDefaults.elements.point.borderWidth);
|
||||
ctx.fillStyle = vm.backgroundColor || defaultColor;
|
||||
helpers.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);
|
||||
}
|
||||
|
||||
@ -3,10 +3,12 @@
|
||||
var defaults = require('../core/core.defaults');
|
||||
var helpers = require('./helpers.core');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
/**
|
||||
* Converts the given font object into a CSS font string.
|
||||
* @param {Object} font - A font object.
|
||||
* @return {Stringg} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font
|
||||
* @return {String} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font
|
||||
* @private
|
||||
*/
|
||||
function toFontString(font) {
|
||||
@ -85,13 +87,12 @@ module.exports = {
|
||||
|
||||
/**
|
||||
* Parses font options and returns the font object.
|
||||
* @param {Object} options - A object that contains font opttons to be parsed.
|
||||
* @param {Object} options - A object that contains font options to be parsed.
|
||||
* @return {Object} The font object.
|
||||
* @todo Support font.* options and renamed to toFont().
|
||||
* @private
|
||||
*/
|
||||
_parseFont: function(options) {
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var globalDefaults = defaults.global;
|
||||
var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);
|
||||
var font = {
|
||||
|
||||
@ -6,6 +6,7 @@ var helpers = require('../helpers/index');
|
||||
var layouts = require('../core/core.layouts');
|
||||
|
||||
var noop = helpers.noop;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
defaults._set('global', {
|
||||
legend: {
|
||||
@ -327,7 +328,6 @@ var Legend = Element.extend({
|
||||
|
||||
if (opts.display) {
|
||||
var ctx = me.ctx;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var fontColor = valueOrDefault(labelOpts.fontColor, globalDefaults.defaultFontColor);
|
||||
var labelFont = helpers.options._parseFont(labelOpts);
|
||||
var fontSize = labelFont.size;
|
||||
|
||||
@ -141,7 +141,6 @@ var Title = Element.extend({
|
||||
draw: function() {
|
||||
var me = this;
|
||||
var ctx = me.ctx;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var opts = me.options;
|
||||
|
||||
if (opts.display) {
|
||||
@ -155,7 +154,7 @@ var Title = Element.extend({
|
||||
var right = me.right;
|
||||
var maxWidth, titleX, titleY;
|
||||
|
||||
ctx.fillStyle = valueOrDefault(opts.fontColor, defaults.global.defaultFontColor); // render in correct colour
|
||||
ctx.fillStyle = helpers.valueOrDefault(opts.fontColor, defaults.global.defaultFontColor); // render in correct colour
|
||||
ctx.font = fontOpts.string;
|
||||
|
||||
// Horizontal
|
||||
|
||||
@ -5,6 +5,8 @@ var helpers = require('../helpers/index');
|
||||
var Scale = require('../core/core.scale');
|
||||
var Ticks = require('../core/core.ticks');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
/**
|
||||
* Generate a set of logarithmic ticks
|
||||
* @param generationOptions the options used to generate the ticks
|
||||
@ -13,7 +15,6 @@ var Ticks = require('../core/core.ticks');
|
||||
*/
|
||||
function generateTicks(generationOptions, dataRange) {
|
||||
var ticks = [];
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
var tickVal = valueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));
|
||||
|
||||
@ -169,9 +170,7 @@ module.exports = Scale.extend({
|
||||
|
||||
handleTickRangeOptions: function() {
|
||||
var me = this;
|
||||
var opts = me.options;
|
||||
var tickOpts = opts.ticks;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var tickOpts = me.options.ticks;
|
||||
var DEFAULT_MIN = 1;
|
||||
var DEFAULT_MAX = 10;
|
||||
|
||||
@ -208,8 +207,7 @@ module.exports = Scale.extend({
|
||||
|
||||
buildTicks: function() {
|
||||
var me = this;
|
||||
var opts = me.options;
|
||||
var tickOpts = opts.ticks;
|
||||
var tickOpts = me.options.ticks;
|
||||
var reverse = !me.isHorizontal();
|
||||
|
||||
var generationOptions = {
|
||||
@ -266,7 +264,8 @@ module.exports = Scale.extend({
|
||||
|
||||
getPixelForValue: function(value) {
|
||||
var me = this;
|
||||
var reverse = me.options.ticks.reverse;
|
||||
var tickOpts = me.options.ticks;
|
||||
var reverse = tickOpts.reverse;
|
||||
var log10 = helpers.log10;
|
||||
var firstTickValue = me._getFirstTickValue(me.minNotZero);
|
||||
var offset = 0;
|
||||
@ -292,10 +291,7 @@ module.exports = Scale.extend({
|
||||
}
|
||||
if (value !== start) {
|
||||
if (start === 0) { // include zero tick
|
||||
offset = helpers.getValueOrDefault(
|
||||
me.options.ticks.fontSize,
|
||||
defaults.global.defaultFontSize
|
||||
);
|
||||
offset = valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize);
|
||||
innerDimension -= offset;
|
||||
start = firstTickValue;
|
||||
}
|
||||
@ -309,7 +305,8 @@ module.exports = Scale.extend({
|
||||
|
||||
getValueForPixel: function(pixel) {
|
||||
var me = this;
|
||||
var reverse = me.options.ticks.reverse;
|
||||
var tickOpts = me.options.ticks;
|
||||
var reverse = tickOpts.reverse;
|
||||
var log10 = helpers.log10;
|
||||
var firstTickValue = me._getFirstTickValue(me.minNotZero);
|
||||
var innerDimension, start, end, value;
|
||||
@ -330,10 +327,7 @@ module.exports = Scale.extend({
|
||||
}
|
||||
if (value !== start) {
|
||||
if (start === 0) { // include zero tick
|
||||
var offset = helpers.getValueOrDefault(
|
||||
me.options.ticks.fontSize,
|
||||
defaults.global.defaultFontSize
|
||||
);
|
||||
var offset = valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize);
|
||||
value -= offset;
|
||||
innerDimension -= offset;
|
||||
start = firstTickValue;
|
||||
|
||||
@ -5,6 +5,10 @@ var helpers = require('../helpers/index');
|
||||
var LinearScaleBase = require('./scale.linearbase');
|
||||
var Ticks = require('../core/core.ticks');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
|
||||
var resolve = helpers.options.resolve;
|
||||
|
||||
var defaultConfig = {
|
||||
display: true,
|
||||
|
||||
@ -64,7 +68,7 @@ function getTickBackdropHeight(opts) {
|
||||
var tickOpts = opts.ticks;
|
||||
|
||||
if (tickOpts.display && opts.display) {
|
||||
return helpers.valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;
|
||||
return valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -223,16 +227,16 @@ function drawPointLabels(scale) {
|
||||
var angleLineOpts = opts.angleLines;
|
||||
var gridLineOpts = opts.gridLines;
|
||||
var pointLabelOpts = opts.pointLabels;
|
||||
var lineWidth = helpers.valueOrDefault(angleLineOpts.lineWidth, gridLineOpts.lineWidth);
|
||||
var lineColor = helpers.valueOrDefault(angleLineOpts.color, gridLineOpts.color);
|
||||
var lineWidth = valueOrDefault(angleLineOpts.lineWidth, gridLineOpts.lineWidth);
|
||||
var lineColor = valueOrDefault(angleLineOpts.color, gridLineOpts.color);
|
||||
var tickBackdropHeight = getTickBackdropHeight(opts);
|
||||
|
||||
ctx.save();
|
||||
ctx.lineWidth = lineWidth;
|
||||
ctx.strokeStyle = lineColor;
|
||||
if (ctx.setLineDash) {
|
||||
ctx.setLineDash(helpers.valueOrDefault(angleLineOpts.borderDash, gridLineOpts.borderDash) || []);
|
||||
ctx.lineDashOffset = helpers.valueOrDefault(angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset) || 0.0;
|
||||
ctx.setLineDash(resolve([angleLineOpts.borderDash, gridLineOpts.borderDash, []]));
|
||||
ctx.lineDashOffset = resolve([angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset, 0.0]);
|
||||
}
|
||||
|
||||
var outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);
|
||||
@ -258,7 +262,7 @@ function drawPointLabels(scale) {
|
||||
var pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);
|
||||
|
||||
// Keep this in loop since we may support array properties here
|
||||
var pointLabelFontColor = helpers.valueAtIndexOrDefault(pointLabelOpts.fontColor, i, defaults.global.defaultFontColor);
|
||||
var pointLabelFontColor = valueAtIndexOrDefault(pointLabelOpts.fontColor, i, defaults.global.defaultFontColor);
|
||||
ctx.fillStyle = pointLabelFontColor;
|
||||
|
||||
var angleRadians = scale.getIndexAngle(i);
|
||||
@ -275,8 +279,8 @@ function drawRadiusLine(scale, gridLineOpts, radius, index) {
|
||||
var ctx = scale.ctx;
|
||||
var circular = gridLineOpts.circular;
|
||||
var valueCount = getValueCount(scale);
|
||||
var lineColor = helpers.valueAtIndexOrDefault(gridLineOpts.color, index - 1);
|
||||
var lineWidth = helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);
|
||||
var lineColor = valueAtIndexOrDefault(gridLineOpts.color, index - 1);
|
||||
var lineWidth = valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);
|
||||
var pointPosition;
|
||||
|
||||
if ((!circular && !valueCount) || !lineColor || !lineWidth) {
|
||||
@ -475,7 +479,6 @@ module.exports = LinearScaleBase.extend({
|
||||
var opts = me.options;
|
||||
var gridLineOpts = opts.gridLines;
|
||||
var tickOpts = opts.ticks;
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
if (opts.display) {
|
||||
var ctx = me.ctx;
|
||||
|
||||
@ -6,6 +6,8 @@ var defaults = require('../core/core.defaults');
|
||||
var helpers = require('../helpers/index');
|
||||
var Scale = require('../core/core.scale');
|
||||
|
||||
var valueOrDefault = helpers.valueOrDefault;
|
||||
|
||||
// Integer constants are from the ES6 spec.
|
||||
var MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
||||
var MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
||||
@ -307,7 +309,7 @@ function generate(min, max, capacity, options) {
|
||||
var timeOpts = options.time;
|
||||
var minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);
|
||||
var major = determineMajorUnit(minor);
|
||||
var stepSize = helpers.valueOrDefault(timeOpts.stepSize, timeOpts.unitStepSize);
|
||||
var stepSize = valueOrDefault(timeOpts.stepSize, timeOpts.unitStepSize);
|
||||
var weekday = minor === 'week' ? timeOpts.isoWeekday : false;
|
||||
var majorTicksEnabled = options.ticks.major.enabled;
|
||||
var interval = INTERVALS[minor];
|
||||
@ -690,7 +692,7 @@ module.exports = Scale.extend({
|
||||
var major = majorTickOpts.enabled && majorUnit && majorFormat && time === majorTime;
|
||||
var label = tick.format(formatOverride ? formatOverride : major ? majorFormat : minorFormat);
|
||||
var tickOpts = major ? majorTickOpts : options.ticks.minor;
|
||||
var formatter = helpers.valueOrDefault(tickOpts.callback, tickOpts.userCallback);
|
||||
var formatter = valueOrDefault(tickOpts.callback, tickOpts.userCallback);
|
||||
|
||||
return formatter ? formatter(label, index, ticks) : label;
|
||||
},
|
||||
@ -765,7 +767,7 @@ module.exports = Scale.extend({
|
||||
var angle = helpers.toRadians(ticksOpts.maxRotation);
|
||||
var cosRotation = Math.cos(angle);
|
||||
var sinRotation = Math.sin(angle);
|
||||
var tickFontSize = helpers.valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);
|
||||
var tickFontSize = valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);
|
||||
|
||||
return (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user