plotly / plotly.js

Open-source JavaScript charting library behind Plotly and Dash
https://plotly.com/javascript/
MIT License
17.05k stars 1.86k forks source link

`onClick` event handler doesn't take into account a right-click for Pie Charts. #6633

Open dustinstender opened 1 year ago

dustinstender commented 1 year ago

Reproduction of bug - https://codepen.io/dstender/pen/LYXEGYZ

Simple code example:

var myPlot = document.getElementById('myDiv'),
    data = [{
  values: [19, 26, 55],
  labels: ['Residential', 'Non-Residential', 'Utility'],
  type: 'pie'
}],
    layout = {hovermode:'closest',
              title:'Click on Points'
     };

Plotly.newPlot('myDiv', data, layout);

myPlot.on('plotly_click', function(){
    alert('You clicked this Plotly chart!');
});

I discovered this issue while using the react-plotly.js library. I wanted to handle the left and right clicking of a slice of a pie chart in the same manner. However, I noticed that the onClick event doesn't catch a right click. This is not the case for other charts (Line, Bar, etc...).

It seems to me that this is related to plotly.js rather than react-plotly.js but of course I could be wrong. If this is a legit bug are there any workarounds?

dustinstender commented 1 year ago

I looked a bit into the codebase and it seems to me that according to this test this behavior is intentional.

Is there a specific reason for this?

alexcjohnson commented 1 year ago

Thanks @dustinstender - the TODO in that test makes it look like we just never completed this behavior for pie charts, so we removed the broken behavior, but we would prefer the feature to be completed. @archmoj is that how you understand this too?

dustinstender commented 1 year ago

Thanks for getting back @alexcjohnson. I noticed here that this does seem to be the case.