Skip to content

Commit

Permalink
Enforce variable declaration coding style (chartjs#4610)
Browse files Browse the repository at this point in the history
For consistency, enable ESLint `one-var` rule to require multiple variable declarations for initialized variables per scope. Uninitialized variables can still be declared together (preferred) or separately.

http://eslint.org/docs/rules/one-var
  • Loading branch information
simonbrunel authored and yofreke committed Dec 30, 2017
1 parent a663328 commit 55cf924
Show file tree
Hide file tree
Showing 13 changed files with 153 additions and 171 deletions.
2 changes: 1 addition & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ rules:
object-curly-spacing: [2, never]
object-property-newline: 0
one-var-declaration-per-line: 2
one-var: 0
one-var: [2, {initialized: never}]
operator-assignment: 0
operator-linebreak: 0
padded-blocks: 0
Expand Down
61 changes: 29 additions & 32 deletions src/controllers/controller.doughnut.js
Original file line number Diff line number Diff line change
Expand Up @@ -146,20 +146,17 @@ module.exports = function(Chart) {

update: function(reset) {
var me = this;
var chart = me.chart,
chartArea = chart.chartArea,
opts = chart.options,
arcOpts = opts.elements.arc,
availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth,
availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth,
minSize = Math.min(availableWidth, availableHeight),
offset = {
x: 0,
y: 0
},
meta = me.getMeta(),
cutoutPercentage = opts.cutoutPercentage,
circumference = opts.circumference;
var chart = me.chart;
var chartArea = chart.chartArea;
var opts = chart.options;
var arcOpts = opts.elements.arc;
var availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth;
var availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth;
var minSize = Math.min(availableWidth, availableHeight);
var offset = {x: 0, y: 0};
var meta = me.getMeta();
var cutoutPercentage = opts.cutoutPercentage;
var circumference = opts.circumference;

// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc
if (circumference < Math.PI * 2.0) {
Expand Down Expand Up @@ -199,19 +196,19 @@ module.exports = function(Chart) {

updateElement: function(arc, index, reset) {
var me = this;
var chart = me.chart,
chartArea = chart.chartArea,
opts = chart.options,
animationOpts = opts.animation,
centerX = (chartArea.left + chartArea.right) / 2,
centerY = (chartArea.top + chartArea.bottom) / 2,
startAngle = opts.rotation, // non reset case handled later
endAngle = opts.rotation, // non reset case handled later
dataset = me.getDataset(),
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.valueAtIndexOrDefault;
var chart = me.chart;
var chartArea = chart.chartArea;
var opts = chart.options;
var animationOpts = opts.animation;
var centerX = (chartArea.left + chartArea.right) / 2;
var centerY = (chartArea.top + chartArea.bottom) / 2;
var startAngle = opts.rotation; // non reset case handled later
var endAngle = opts.rotation; // non reset case handled later
var dataset = me.getDataset();
var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI));
var innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;
var outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;
var valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;

helpers.extend(arc, {
// Utility
Expand Down Expand Up @@ -283,11 +280,11 @@ module.exports = function(Chart) {

// gets the max border or hover width to properly scale pie charts
getMaxBorderWidth: function(arcs) {
var max = 0,
index = this.index,
length = arcs.length,
borderWidth,
hoverWidth;
var max = 0;
var index = this.index;
var length = arcs.length;
var borderWidth;
var hoverWidth;

for (var i = 0; i < length; i++) {
borderWidth = arcs[i]._model ? arcs[i]._model.borderWidth : 0;
Expand Down
22 changes: 11 additions & 11 deletions src/core/core.datasetController.js
Original file line number Diff line number Diff line change
Expand Up @@ -239,24 +239,24 @@ module.exports = function(Chart) {
},

removeHoverStyle: function(element, elementOpts) {
var dataset = this.chart.data.datasets[element._datasetIndex],
index = element._index,
custom = element.custom || {},
valueOrDefault = helpers.valueAtIndexOrDefault,
model = element._model;
var dataset = this.chart.data.datasets[element._datasetIndex];
var index = element._index;
var custom = element.custom || {};
var valueOrDefault = helpers.valueAtIndexOrDefault;
var model = element._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);
},

setHoverStyle: function(element) {
var dataset = this.chart.data.datasets[element._datasetIndex],
index = element._index,
custom = element.custom || {},
valueOrDefault = helpers.valueAtIndexOrDefault,
getHoverColor = helpers.getHoverColor,
model = element._model;
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;

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));
Expand Down
18 changes: 9 additions & 9 deletions src/core/core.helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,9 @@ module.exports = function(Chart) {
};
// Gets the angle from vertical upright to the point about a centre.
helpers.getAngleFromPoint = function(centrePoint, anglePoint) {
var distanceFromXCenter = anglePoint.x - centrePoint.x,
distanceFromYCenter = anglePoint.y - centrePoint.y,
radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);
var distanceFromXCenter = anglePoint.x - centrePoint.x;
var distanceFromYCenter = anglePoint.y - centrePoint.y;
var radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);

var angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);

Expand All @@ -228,9 +228,9 @@ module.exports = function(Chart) {

// This function must also respect "skipped" points

var previous = firstPoint.skip ? middlePoint : firstPoint,
current = middlePoint,
next = afterPoint.skip ? middlePoint : afterPoint;
var previous = firstPoint.skip ? middlePoint : firstPoint;
var current = middlePoint;
var next = afterPoint.skip ? middlePoint : afterPoint;

var d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));
var d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));
Expand Down Expand Up @@ -407,9 +407,9 @@ module.exports = function(Chart) {
// -- DOM methods
helpers.getRelativePosition = function(evt, chart) {
var mouseX, mouseY;
var e = evt.originalEvent || evt,
canvas = evt.currentTarget || evt.srcElement,
boundingRect = canvas.getBoundingClientRect();
var e = evt.originalEvent || evt;
var canvas = evt.currentTarget || evt.srcElement;
var boundingRect = canvas.getBoundingClientRect();

var touches = e.touches;
if (touches && touches.length > 0) {
Expand Down
4 changes: 2 additions & 2 deletions src/core/core.interaction.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ function indexMode(chart, e, options) {

chart.data.datasets.forEach(function(dataset, datasetIndex) {
if (chart.isDatasetVisible(datasetIndex)) {
var meta = chart.getDatasetMeta(datasetIndex),
element = meta.data[items[0]._index];
var meta = chart.getDatasetMeta(datasetIndex);
var element = meta.data[items[0]._index];

// don't count items that are skipped (null data)
if (element && !element._view.skip) {
Expand Down
11 changes: 5 additions & 6 deletions src/core/core.scale.js
Original file line number Diff line number Diff line change
Expand Up @@ -325,8 +325,7 @@ module.exports = function(Chart) {
if (labels.length && me.options.display && me.isHorizontal()) {
var originalLabelWidth = helpers.longestText(context, tickFont.font, labels, me.longestTextCache);
var labelWidth = originalLabelWidth;
var cosRotation;
var sinRotation;
var cosRotation, sinRotation;

// Allow 3 pixels x2 padding either side for label readability
var tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;
Expand Down Expand Up @@ -833,10 +832,10 @@ module.exports = function(Chart) {
// Draw the line at the edge of the axis
context.lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0);
context.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);
var x1 = me.left,
x2 = me.right,
y1 = me.top,
y2 = me.bottom;
var x1 = me.left;
var x2 = me.right;
var y1 = me.top;
var y2 = me.bottom;

var aliasPixel = helpers.aliasPixel(context.lineWidth);
if (isHorizontal) {
Expand Down
3 changes: 1 addition & 2 deletions src/core/core.ticks.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,7 @@ module.exports = {

var endExp = Math.floor(helpers.log10(dataRange.max));
var endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));
var exp;
var significand;
var exp, significand;

if (tickVal === 0) {
exp = Math.floor(helpers.log10(dataRange.minNotZero));
Expand Down
54 changes: 26 additions & 28 deletions src/core/core.tooltip.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ module.exports = function(Chart) {
function createTooltipItem(element) {
var xScale = element._xScale;
var yScale = element._yScale || element._scale; // handle radar || polarArea charts
var index = element._index,
datasetIndex = element._datasetIndex;
var index = element._index;
var datasetIndex = element._datasetIndex;

return {
xLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',
Expand Down Expand Up @@ -210,9 +210,9 @@ module.exports = function(Chart) {

var titleLineCount = model.title.length;
var footerLineCount = model.footer.length;
var titleFontSize = model.titleFontSize,
bodyFontSize = model.bodyFontSize,
footerFontSize = model.footerFontSize;
var titleFontSize = model.titleFontSize;
var bodyFontSize = model.bodyFontSize;
var footerFontSize = model.footerFontSize;

height += titleLineCount * titleFontSize; // Title Lines
height += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing
Expand Down Expand Up @@ -341,13 +341,13 @@ module.exports = function(Chart) {
var x = vm.x;
var y = vm.y;

var caretSize = vm.caretSize,
caretPadding = vm.caretPadding,
cornerRadius = vm.cornerRadius,
xAlign = alignment.xAlign,
yAlign = alignment.yAlign,
paddingAndSize = caretSize + caretPadding,
radiusAndPadding = cornerRadius + caretPadding;
var caretSize = vm.caretSize;
var caretPadding = vm.caretPadding;
var cornerRadius = vm.cornerRadius;
var xAlign = alignment.xAlign;
var yAlign = alignment.yAlign;
var paddingAndSize = caretSize + caretPadding;
var radiusAndPadding = cornerRadius + caretPadding;

if (xAlign === 'right') {
x -= size.width;
Expand Down Expand Up @@ -393,9 +393,9 @@ module.exports = function(Chart) {
var opts = me._options;
var callbacks = opts.callbacks;

var beforeTitle = callbacks.beforeTitle.apply(me, arguments),
title = callbacks.title.apply(me, arguments),
afterTitle = callbacks.afterTitle.apply(me, arguments);
var beforeTitle = callbacks.beforeTitle.apply(me, arguments);
var title = callbacks.title.apply(me, arguments);
var afterTitle = callbacks.afterTitle.apply(me, arguments);

var lines = [];
lines = pushOrConcat(lines, beforeTitle);
Expand Down Expand Up @@ -578,16 +578,15 @@ module.exports = function(Chart) {
ctx.lineTo(caretPosition.x3, caretPosition.y3);
},
getCaretPosition: function(tooltipPoint, size, vm) {
var x1, x2, x3;
var y1, y2, y3;
var x1, x2, x3, y1, y2, y3;
var caretSize = vm.caretSize;
var cornerRadius = vm.cornerRadius;
var xAlign = vm.xAlign,
yAlign = vm.yAlign;
var ptX = tooltipPoint.x,
ptY = tooltipPoint.y;
var width = size.width,
height = size.height;
var xAlign = vm.xAlign;
var yAlign = vm.yAlign;
var ptX = tooltipPoint.x;
var ptY = tooltipPoint.y;
var width = size.width;
var height = size.height;

if (yAlign === 'center') {
y2 = ptY + (height / 2);
Expand Down Expand Up @@ -644,8 +643,8 @@ module.exports = function(Chart) {
ctx.textAlign = vm._titleAlign;
ctx.textBaseline = 'top';

var titleFontSize = vm.titleFontSize,
titleSpacing = vm.titleSpacing;
var titleFontSize = vm.titleFontSize;
var titleSpacing = vm.titleSpacing;

ctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);
ctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);
Expand Down Expand Up @@ -915,10 +914,9 @@ module.exports = function(Chart) {
nearest: function(elements, eventPosition) {
var x = eventPosition.x;
var y = eventPosition.y;

var nearestElement;
var minDistance = Number.POSITIVE_INFINITY;
var i, len;
var i, len, nearestElement;

for (i = 0, len = elements.length; i < len; ++i) {
var el = elements[i];
if (el && el.hasValue()) {
Expand Down
26 changes: 11 additions & 15 deletions src/elements/element.arc.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,9 @@ module.exports = Element.extend({
var vm = this._view;

if (vm) {
var pointRelativePosition = helpers.getAngleFromPoint(vm, {
x: chartX,
y: chartY
}),
angle = pointRelativePosition.angle,
distance = pointRelativePosition.distance;
var pointRelativePosition = helpers.getAngleFromPoint(vm, {x: chartX, y: chartY});
var angle = pointRelativePosition.angle;
var distance = pointRelativePosition.distance;

// Sanitise angle range
var startAngle = vm.startAngle;
Expand All @@ -49,8 +46,8 @@ module.exports = Element.extend({
}

// Check if within the range of the open/close angle
var betweenAngles = (angle >= startAngle && angle <= endAngle),
withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);
var betweenAngles = (angle >= startAngle && angle <= endAngle);
var withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);

return (betweenAngles && withinRadius);
}
Expand All @@ -74,21 +71,20 @@ module.exports = Element.extend({

tooltipPosition: function() {
var vm = this._view;
var centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);
var rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;

var centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2),
rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;
return {
x: vm.x + (Math.cos(centreAngle) * rangeFromCentre),
y: vm.y + (Math.sin(centreAngle) * rangeFromCentre)
};
},

draw: function() {

var ctx = this._chart.ctx,
vm = this._view,
sA = vm.startAngle,
eA = vm.endAngle;
var ctx = this._chart.ctx;
var vm = this._view;
var sA = vm.startAngle;
var eA = vm.endAngle;

ctx.beginPath();

Expand Down
Loading

0 comments on commit 55cf924

Please sign in to comment.