mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Fix min and max option checks in linear scales (#5209)
When 0, the min and max options was considered not being set, instead we should check for null or undefined.
This commit is contained in:
parent
493eaa8424
commit
352268616b
@ -36,7 +36,7 @@ function generateTicks(generationOptions, dataRange) {
|
||||
var niceMax = Math.ceil(dataRange.max / spacing) * spacing;
|
||||
|
||||
// If min, max and stepSize is set and they make an evenly spaced scale use it.
|
||||
if (generationOptions.min && generationOptions.max && generationOptions.stepSize) {
|
||||
if (!helpers.isNullOrUndef(generationOptions.min) && !helpers.isNullOrUndef(generationOptions.max) && generationOptions.stepSize) {
|
||||
// If very close to our whole number, use it.
|
||||
if (helpers.almostWhole((generationOptions.max - generationOptions.min) / generationOptions.stepSize, spacing / 1000)) {
|
||||
niceMin = generationOptions.min;
|
||||
|
||||
@ -965,4 +965,60 @@ describe('Linear Scale', function() {
|
||||
expect(chart.scales['x-axis-0'].min).toEqual(20);
|
||||
expect(chart.scales['x-axis-0'].max).toEqual(21);
|
||||
});
|
||||
|
||||
it('min settings should be used if set to zero', function() {
|
||||
var barData = {
|
||||
labels: ['S1', 'S2', 'S3'],
|
||||
datasets: [{
|
||||
label: 'dataset 1',
|
||||
backgroundColor: '#382765',
|
||||
data: [2500, 2000, 1500]
|
||||
}]
|
||||
};
|
||||
|
||||
var chart = window.acquireChart({
|
||||
type: 'horizontalBar',
|
||||
data: barData,
|
||||
options: {
|
||||
scales: {
|
||||
xAxes: [{
|
||||
ticks: {
|
||||
min: 0,
|
||||
max: 3000
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(chart.scales['x-axis-0'].min).toEqual(0);
|
||||
});
|
||||
|
||||
it('max settings should be used if set to zero', function() {
|
||||
var barData = {
|
||||
labels: ['S1', 'S2', 'S3'],
|
||||
datasets: [{
|
||||
label: 'dataset 1',
|
||||
backgroundColor: '#382765',
|
||||
data: [-2500, -2000, -1500]
|
||||
}]
|
||||
};
|
||||
|
||||
var chart = window.acquireChart({
|
||||
type: 'horizontalBar',
|
||||
data: barData,
|
||||
options: {
|
||||
scales: {
|
||||
xAxes: [{
|
||||
ticks: {
|
||||
min: -3000,
|
||||
max: 0
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(chart.scales['x-axis-0'].max).toEqual(0);
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user