@@ -156,7 +156,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
156
156
textAlign : _cast ( 'hoverlabel.align' ) ,
157
157
hovertemplate : hovertemplate ,
158
158
hovertemplateLabels : hoverPt ,
159
- eventData : [ makeEventData ( pt , traceNow ) ]
159
+ eventData : [ makeEventData ( pt , traceNow , opts . eventDataKeys ) ]
160
160
} ;
161
161
162
162
if ( isSunburst ) {
@@ -187,7 +187,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
187
187
188
188
trace . _hasHoverEvent = true ;
189
189
gd . emit ( 'plotly_hover' , {
190
- points : [ makeEventData ( pt , traceNow ) ] ,
190
+ points : [ makeEventData ( pt , traceNow , opts . eventDataKeys ) ] ,
191
191
event : d3 . event
192
192
} ) ;
193
193
} ;
@@ -200,7 +200,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
200
200
if ( trace . _hasHoverEvent ) {
201
201
evt . originalEvent = d3 . event ;
202
202
gd . emit ( 'plotly_unhover' , {
203
- points : [ makeEventData ( pt , traceNow ) ] ,
203
+ points : [ makeEventData ( pt , traceNow , opts . eventDataKeys ) ] ,
204
204
event : d3 . event
205
205
} ) ;
206
206
trace . _hasHoverEvent = false ;
@@ -229,7 +229,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
229
229
var traceNow = gd . _fullData [ trace . index ] ;
230
230
231
231
var clickVal = Events . triggerHandler ( gd , 'plotly_' + trace . type + 'click' , {
232
- points : [ makeEventData ( pt , traceNow ) ] ,
232
+ points : [ makeEventData ( pt , traceNow , opts . eventDataKeys ) ] ,
233
233
event : d3 . event
234
234
} ) ;
235
235
@@ -243,7 +243,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
243
243
)
244
244
) {
245
245
if ( fullLayoutNow . hovermode ) {
246
- gd . _hoverdata = [ makeEventData ( pt , traceNow ) ] ;
246
+ gd . _hoverdata = [ makeEventData ( pt , traceNow , opts . eventDataKeys ) ] ;
247
247
Fx . click ( gd , d3 . event ) ;
248
248
}
249
249
return ;
@@ -316,7 +316,7 @@ module.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {
316
316
sliceTop . on ( 'click' , onClick ) ;
317
317
} ;
318
318
319
- function makeEventData ( pt , trace ) {
319
+ function makeEventData ( pt , trace , keys ) {
320
320
var cdi = pt . data . data ;
321
321
322
322
var out = {
@@ -328,17 +328,10 @@ function makeEventData(pt, trace) {
328
328
// TODO more things like 'children', 'siblings', 'hierarchy?
329
329
} ;
330
330
331
- [ // TODO: read these from (sunburst | treemap) trace constants
332
- 'parentLabel' ,
333
- 'visibleLabel' ,
334
- 'rootLabel' ,
335
- 'percentParent' ,
336
- 'percentVisible' ,
337
- 'percentRoot' ,
338
- 'currentPath'
339
- ] . forEach ( function ( key ) {
331
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
332
+ var key = keys [ i ] ;
340
333
if ( key in pt ) out [ key ] = pt [ key ] ;
341
- } ) ;
334
+ }
342
335
343
336
appendArrayPointValue ( out , trace , cdi . i ) ;
344
337
0 commit comments