mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
Provide a rectangle getArea implementation for horizontal bars (#6027)
This commit is contained in:
parent
93d5ac9a31
commit
945d91aee2
@ -206,7 +206,10 @@ module.exports = Element.extend({
|
||||
|
||||
getArea: function() {
|
||||
var vm = this._view;
|
||||
return vm.width * Math.abs(vm.y - vm.base);
|
||||
|
||||
return isVertical(this)
|
||||
? vm.width * Math.abs(vm.y - vm.base)
|
||||
: vm.height * Math.abs(vm.x - vm.base);
|
||||
},
|
||||
|
||||
tooltipPosition: function() {
|
||||
|
||||
@ -132,7 +132,7 @@ describe('Rectangle element tests', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it ('should get the correct area', function() {
|
||||
it ('should get the correct vertical area', function() {
|
||||
var rectangle = new Chart.elements.Rectangle({
|
||||
_datasetIndex: 2,
|
||||
_index: 1
|
||||
@ -149,6 +149,23 @@ describe('Rectangle element tests', function() {
|
||||
expect(rectangle.getArea()).toEqual(60);
|
||||
});
|
||||
|
||||
it ('should get the correct horizontal area', function() {
|
||||
var rectangle = new Chart.elements.Rectangle({
|
||||
_datasetIndex: 2,
|
||||
_index: 1
|
||||
});
|
||||
|
||||
// Attach a view object as if we were the controller
|
||||
rectangle._view = {
|
||||
base: 0,
|
||||
height: 4,
|
||||
x: 10,
|
||||
y: 15
|
||||
};
|
||||
|
||||
expect(rectangle.getArea()).toEqual(40);
|
||||
});
|
||||
|
||||
it ('should get the center', function() {
|
||||
var rectangle = new Chart.elements.Rectangle({
|
||||
_datasetIndex: 2,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user