@@ -301,6 +301,38 @@ HTMLWidgets.widget({
301
301
}
302
302
303
303
304
+ // send user input event data to dashR
305
+ // TODO: make this more consistent with Graph() props?
306
+ if ( instance . setProps ) {
307
+ graphDiv . on ( 'plotly_relayout' , function ( d ) {
308
+ instance . setProps ( { "input_plotly_relayout" : JSON . stringify ( d ) } ) ;
309
+ } ) ;
310
+ graphDiv . on ( 'plotly_hover' , function ( d ) {
311
+ var val = JSON . stringify ( eventDataWithKey ( d ) ) ;
312
+ instance . setProps ( { "input_plotly_hover" : val } ) ;
313
+ } ) ;
314
+ graphDiv . on ( 'plotly_click' , function ( d ) {
315
+ var val = JSON . stringify ( eventDataWithKey ( d ) ) ;
316
+ instance . setProps ( { "input_plotly_click" : val } ) ;
317
+ } ) ;
318
+ graphDiv . on ( 'plotly_selected' , function ( d ) {
319
+ var val = JSON . stringify ( eventDataWithKey ( d ) ) ;
320
+ instance . setProps ( { "input_plotly_selected" : val } ) ;
321
+ } ) ;
322
+ graphDiv . on ( 'plotly_unhover' , function ( eventData ) {
323
+ instance . setProps ( { "input_plotly_hover" : null } ) ;
324
+ } ) ;
325
+ graphDiv . on ( 'plotly_doubleclick' , function ( eventData ) {
326
+ instance . setProps ( { "input_plotly_click" : null } ) ;
327
+ } ) ;
328
+ // 'plotly_deselect' is code for doubleclick when in select mode
329
+ graphDiv . on ( 'plotly_deselect' , function ( eventData ) {
330
+ instance . setProps ( { "input_plotly_selected" : null } ) ;
331
+ instance . setProps ( { "input_plotly_click" : null } ) ;
332
+ } ) ;
333
+ }
334
+
335
+
304
336
// Given an array of {curveNumber: x, pointNumber: y} objects,
305
337
// return a hash of {
306
338
// set1: {value: [key1, key2, ...], _isSimpleKey: false},
0 commit comments