Fix issue #4441 - y-axis labels partially hidden due to restrictive initial fitting. (#4942)

* Fix issue 4441:
 - y-axis labels partially hidden due to restrictive initial fitting.

* Add regression test to linear scale

* Moved regression test from linear scale to core layout service
This commit is contained in:
jcopperfield 2017-11-25 14:28:57 +01:00 committed by Evert Timberg
parent e2dd4483c7
commit 42d3d91f52
2 changed files with 31 additions and 1 deletions

View File

@ -194,7 +194,7 @@ module.exports = function(Chart) {
minSize = box.update(box.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);
maxChartAreaHeight -= minSize.height;
} else {
minSize = box.update(verticalBoxWidth, chartAreaHeight);
minSize = box.update(verticalBoxWidth, maxChartAreaHeight);
maxChartAreaWidth -= minSize.width;
}

View File

@ -550,4 +550,34 @@ describe('Test the layout service', function() {
expect(isOrderCorrect).toBe(true);
});
});
describe('box sizing', function() {
it('should correctly compute y-axis width to fit labels', function() {
var chart = window.acquireChart({
type: 'bar',
data: {
labels: ['tick 1', 'tick 2', 'tick 3', 'tick 4', 'tick 5'],
datasets: [{
data: [0, 2.25, 1.5, 1.25, 2.5]
}],
},
options: {
legend: {
display: false,
},
},
}, {
canvas: {
height: 256,
width: 256
}
});
var yAxis = chart.scales['y-axis-0'];
// issue #4441: y-axis labels partially hidden.
// minimum horizontal space required to fit labels
expect(yAxis.width).toBeCloseToPixel(33);
expect(yAxis.ticks).toEqual(['2.5', '2.0', '1.5', '1.0', '0.5', '0']);
});
});
});