Skip to content

Commit 262505d

Browse files
committed
bbox for pie and funnelarea
1 parent 8100f8a commit 262505d

File tree

4 files changed

+21
-3
lines changed

4 files changed

+21
-3
lines changed

src/traces/pie/event_data.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module.exports = function eventData(pt, trace) {
1616
value: pt.v,
1717
percent: pt.percent,
1818
text: pt.text,
19+
bbox: pt.bbox,
1920

2021
// pt.v (and pt.i below) for backward compatibility
2122
v: pt.v

src/traces/pie/plot.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ function attachFxHandlers(sliceTop, gd, cd) {
404404
var hoverLabel = trace2.hoverlabel;
405405
var hoverFont = hoverLabel.font;
406406

407+
var bbox = [];
407408
Fx.loneHover({
408409
trace: trace,
409410
x0: hoverCenterX - rInscribed * cd0.r,
@@ -425,8 +426,10 @@ function attachFxHandlers(sliceTop, gd, cd) {
425426
}, {
426427
container: fullLayout2._hoverlayer.node(),
427428
outerContainer: fullLayout2._paper.node(),
428-
gd: gd
429+
gd: gd,
430+
inOut_bbox: bbox
429431
});
432+
pt.bbox = bbox[0];
430433

431434
trace._hasHoverLabel = true;
432435
}

test/jasmine/tests/funnelarea_test.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,9 +765,16 @@ describe('funnelarea hovering', function() {
765765
'curveNumber', 'pointNumber', 'pointNumbers',
766766
'data', 'fullData',
767767
'label', 'color', 'value',
768-
'percent', 'text'
768+
'percent', 'text',
769+
'bbox'
769770
];
770771

772+
expect(typeof hoverData.points[0].bbox).toEqual('object');
773+
expect(typeof hoverData.points[0].bbox.x0).toEqual('number');
774+
expect(typeof hoverData.points[0].bbox.x1).toEqual('number');
775+
expect(typeof hoverData.points[0].bbox.y0).toEqual('number');
776+
expect(typeof hoverData.points[0].bbox.y1).toEqual('number');
777+
771778
expect(Object.keys(hoverData.points[0]).sort()).toEqual(fields.sort());
772779
expect(hoverData.points[0].pointNumber).toEqual(3);
773780

test/jasmine/tests/pie_test.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1103,9 +1103,16 @@ describe('pie hovering', function() {
11031103
'curveNumber', 'pointNumber', 'pointNumbers',
11041104
'data', 'fullData',
11051105
'label', 'color', 'value',
1106-
'i', 'v', 'percent', 'text'
1106+
'i', 'v', 'percent', 'text',
1107+
'bbox'
11071108
];
11081109

1110+
expect(typeof hoverData.points[0].bbox).toEqual('object');
1111+
expect(typeof hoverData.points[0].bbox.x0).toEqual('number');
1112+
expect(typeof hoverData.points[0].bbox.x1).toEqual('number');
1113+
expect(typeof hoverData.points[0].bbox.y0).toEqual('number');
1114+
expect(typeof hoverData.points[0].bbox.y1).toEqual('number');
1115+
11091116
expect(Object.keys(hoverData.points[0]).sort()).toEqual(fields.sort());
11101117
expect(hoverData.points[0].pointNumber).toEqual(3);
11111118

0 commit comments

Comments
 (0)