Skip to content

Commit 8100f8a

Browse files
committed
provide bbox in gl3d event data
1 parent 888a6ba commit 8100f8a

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

src/components/fx/hover.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ exports.loneHover = function loneHover(hoverItems, opts) {
171171
y0: y0 + gTop,
172172
y1: y1 + gTop
173173
};
174+
175+
if(opts.inOut_bbox) {
176+
opts.inOut_bbox.push(eventData.bbox);
177+
}
174178
} else {
175179
eventData = false;
176180
}

src/plots/gl3d/scene.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@ proto.render = function() {
421421
var eventData = {points: [pointData]};
422422

423423
if(scene.fullSceneLayout.hovermode) {
424+
var bbox = [];
424425
Fx.loneHover({
425426
trace: traceNow,
426427
x: (0.5 + 0.5 * pdata[0] / pdata[3]) * width,
@@ -442,8 +443,11 @@ proto.render = function() {
442443
eventData: [pointData]
443444
}, {
444445
container: svgContainer,
445-
gd: gd
446+
gd: gd,
447+
inOut_bbox: bbox
446448
});
449+
450+
pointData.bbox = bbox[0];
447451
}
448452

449453
if(selection.buttons && selection.distance < 5) {

test/jasmine/tests/gl3d_hover_click_test.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ describe('Test gl3d trace click/hover:', function() {
5858
function assertEventData(x, y, z, curveNumber, pointNumber, extra) {
5959
expect(Object.keys(ptData)).toEqual(jasmine.arrayContaining([
6060
'x', 'y', 'z',
61-
'data', 'fullData', 'curveNumber', 'pointNumber'
61+
'data', 'fullData', 'curveNumber', 'pointNumber',
62+
'bbox'
6263
]), 'correct hover data fields');
6364

6465
expect(ptData.x).toEqual(x, 'x val');
@@ -67,6 +68,12 @@ describe('Test gl3d trace click/hover:', function() {
6768
expect(ptData.curveNumber).toEqual(curveNumber, 'curveNumber');
6869
expect(ptData.pointNumber).toEqual(pointNumber, 'pointNumber');
6970

71+
expect(typeof ptData.bbox).toEqual('object');
72+
expect(typeof ptData.bbox.x0).toEqual('number');
73+
expect(typeof ptData.bbox.x1).toEqual('number');
74+
expect(typeof ptData.bbox.y0).toEqual('number');
75+
expect(typeof ptData.bbox.y1).toEqual('number');
76+
7077
Object.keys(extra || {}).forEach(function(k) {
7178
expect(ptData[k]).toEqual(extra[k], k + ' val');
7279
});

test/jasmine/tests/streamtube_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ describe('Test streamtube hover', function() {
593593
.then(delay(20))
594594
.then(function() {
595595
if(ptData) {
596-
expect(Object.keys(ptData).length).toBe(12, 'key cnt');
596+
expect(Object.keys(ptData).length).toBe(13, 'key cnt');
597597

598598
expect(ptData.tubex).toBeCloseTo(2.19, TOL, 'tubex');
599599
expect(ptData.tubey).toBeCloseTo(0.55, TOL, 'tubey');

0 commit comments

Comments
 (0)