mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Better property picking. Added a helper function so we don't have to write a complicated ternary everywhere. Updated tests accordingly.
This commit is contained in:
parent
4add69432f
commit
39e5daaca8
@ -144,7 +144,7 @@
|
||||
// Model
|
||||
_model: {
|
||||
// Appearance
|
||||
tension: line.custom && line.custom.tension ? line.custom.tension : (this.getDataset().tension || this.chart.options.elements.line.tension),
|
||||
tension: line.custom && line.custom.tension ? line.custom.tension : helpers.getValueOrDefault(this.getDataset().tension, this.chart.options.elements.line.tension),
|
||||
backgroundColor: line.custom && line.custom.backgroundColor ? line.custom.backgroundColor : (this.getDataset().backgroundColor || this.chart.options.elements.line.backgroundColor),
|
||||
borderWidth: line.custom && line.custom.borderWidth ? line.custom.borderWidth : (this.getDataset().borderWidth || this.chart.options.elements.line.borderWidth),
|
||||
borderColor: line.custom && line.custom.borderColor ? line.custom.borderColor : (this.getDataset().borderColor || this.chart.options.elements.line.borderColor),
|
||||
@ -238,7 +238,7 @@
|
||||
x: xScale.getPixelForValue(this.getDataset().data[index], index, this.index, this.chart.isCombo),
|
||||
y: reset ? scaleBase : this.calculatePointY(this.getDataset().data[index], index, this.index, this.chart.isCombo),
|
||||
// Appearance
|
||||
tension: point.custom && point.custom.tension ? point.custom.tension : (this.getDataset().tension || this.chart.options.elements.line.tension),
|
||||
tension: point.custom && point.custom.tension ? point.custom.tension : helpers.getValueOrDefault(this.getDataset().tension, this.chart.options.elements.line.tension),
|
||||
radius: point.custom && point.custom.radius ? point.custom.radius : helpers.getValueAtIndexOrDefault(this.getDataset().radius, index, this.chart.options.elements.point.radius),
|
||||
backgroundColor: this.getPointBackgroundColor(point, index),
|
||||
borderColor: this.getPointBorderColor(point, index),
|
||||
|
||||
@ -136,7 +136,7 @@
|
||||
// Model
|
||||
_model: {
|
||||
// Appearance
|
||||
tension: this.getDataset().tension || this.chart.options.elements.line.tension,
|
||||
tension: helpers.getValueOrDefault(this.getDataset().tension, this.chart.options.elements.line.tension),
|
||||
backgroundColor: this.getDataset().backgroundColor || this.chart.options.elements.line.backgroundColor,
|
||||
borderWidth: this.getDataset().borderWidth || this.chart.options.elements.line.borderWidth,
|
||||
borderColor: this.getDataset().borderColor || this.chart.options.elements.line.borderColor,
|
||||
@ -175,7 +175,7 @@
|
||||
y: reset ? this.chart.scale.yCenter : pointPosition.y,
|
||||
|
||||
// Appearance
|
||||
tension: point.custom && point.custom.tension ? point.custom.tension : this.chart.options.elements.line.tension,
|
||||
tension: point.custom && point.custom.tension ? point.custom.tension : helpers.getValueOrDefault(this.getDataset().tension, this.chart.options.elements.line.tension),
|
||||
radius: point.custom && point.custom.radius ? point.custom.pointRadius : helpers.getValueAtIndexOrDefault(this.getDataset().pointRadius, index, this.chart.options.elements.point.radius),
|
||||
backgroundColor: point.custom && point.custom.backgroundColor ? point.custom.backgroundColor : helpers.getValueAtIndexOrDefault(this.getDataset().pointBackgroundColor, index, this.chart.options.elements.point.backgroundColor),
|
||||
borderColor: point.custom && point.custom.borderColor ? point.custom.borderColor : helpers.getValueAtIndexOrDefault(this.getDataset().pointBorderColor, index, this.chart.options.elements.point.borderColor),
|
||||
|
||||
@ -171,6 +171,9 @@
|
||||
|
||||
return value;
|
||||
},
|
||||
getValueOrDefault = helpers.getValueOrDefault = function(value, defaultValue) {
|
||||
return value === undefined ? defaultValue : value;
|
||||
},
|
||||
indexOf = helpers.indexOf = function(arrayToSearch, item) {
|
||||
if (Array.prototype.indexOf) {
|
||||
return arrayToSearch.indexOf(item);
|
||||
|
||||
@ -342,7 +342,7 @@ describe('Line controller tests', function() {
|
||||
});
|
||||
|
||||
// Use dataset level styles for lines & points
|
||||
chart.data.datasets[0].tension = 0.2;
|
||||
chart.data.datasets[0].tension = 0;
|
||||
chart.data.datasets[0].backgroundColor = 'rgb(98, 98, 98)';
|
||||
chart.data.datasets[0].borderColor = 'rgb(8, 8, 8)';
|
||||
chart.data.datasets[0].borderWidth = 0.55;
|
||||
@ -370,7 +370,7 @@ describe('Line controller tests', function() {
|
||||
borderJoinStyle: 'miter',
|
||||
borderWidth: 0.55,
|
||||
fill: false,
|
||||
tension: 0.2,
|
||||
tension: 0,
|
||||
|
||||
scaleTop: 0,
|
||||
scaleBottom: 200,
|
||||
@ -384,7 +384,7 @@ describe('Line controller tests', function() {
|
||||
hitRadius: 3.3,
|
||||
radius: 22,
|
||||
skip: false,
|
||||
tension: 0.2,
|
||||
tension: 0,
|
||||
|
||||
// Point
|
||||
x: 81,
|
||||
@ -393,8 +393,8 @@ describe('Line controller tests', function() {
|
||||
// Control points
|
||||
controlPointPreviousX: 81,
|
||||
controlPointPreviousY: 62,
|
||||
controlPointNextX: 91,
|
||||
controlPointNextY: 52.6,
|
||||
controlPointNextX: 81,
|
||||
controlPointNextY: 62,
|
||||
});
|
||||
|
||||
expect(chart.data.datasets[0].metaData[1]._model).toEqual({
|
||||
@ -404,17 +404,17 @@ describe('Line controller tests', function() {
|
||||
hitRadius: 3.3,
|
||||
radius: 22,
|
||||
skip: false,
|
||||
tension: 0.2,
|
||||
tension: 0,
|
||||
|
||||
// Point
|
||||
x: 131,
|
||||
y: 15,
|
||||
|
||||
// Control points
|
||||
controlPointPreviousX: 124.65778768378175,
|
||||
controlPointPreviousY: 9.097346953222619,
|
||||
controlPointNextX: 144.85778768378177,
|
||||
controlPointNextY: 27.897346953222623,
|
||||
controlPointPreviousX: 131,
|
||||
controlPointPreviousY: 15,
|
||||
controlPointNextX: 131,
|
||||
controlPointNextY: 15,
|
||||
});
|
||||
|
||||
expect(chart.data.datasets[0].metaData[2]._model).toEqual({
|
||||
@ -424,17 +424,17 @@ describe('Line controller tests', function() {
|
||||
hitRadius: 3.3,
|
||||
radius: 22,
|
||||
skip: false,
|
||||
tension: 0.2,
|
||||
tension: 0,
|
||||
|
||||
// Point
|
||||
x: 182,
|
||||
y: 156,
|
||||
|
||||
// Control points
|
||||
controlPointPreviousX: 167.76304506745115,
|
||||
controlPointPreviousY: 130.76816898092827,
|
||||
controlPointNextX: 187.96304506745116,
|
||||
controlPointNextY: 166.56816898092828,
|
||||
controlPointPreviousX: 182,
|
||||
controlPointPreviousY: 156,
|
||||
controlPointNextX: 182,
|
||||
controlPointNextY: 156,
|
||||
});
|
||||
|
||||
expect(chart.data.datasets[0].metaData[3]._model).toEqual({
|
||||
@ -444,15 +444,15 @@ describe('Line controller tests', function() {
|
||||
hitRadius: 3.3,
|
||||
radius: 22,
|
||||
skip: false,
|
||||
tension: 0.2,
|
||||
tension: 0,
|
||||
|
||||
// Point
|
||||
x: 232,
|
||||
y: 194,
|
||||
|
||||
// Control points
|
||||
controlPointPreviousX: 222,
|
||||
controlPointPreviousY: 186.4,
|
||||
controlPointPreviousX: 232,
|
||||
controlPointPreviousY: 194,
|
||||
controlPointNextX: 232,
|
||||
controlPointNextY: 194,
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user