diff --git a/src/models/pieChart.js b/src/models/pieChart.js index 2cc1c5a..e0e0b0b 100644 --- a/src/models/pieChart.js +++ b/src/models/pieChart.js @@ -156,7 +156,7 @@ nv.models.pieChart = function() { // Event Handling/Dispatching (in chart's scope) //------------------------------------------------------------ - legend.dispatch.on('legendClick', function(d,i, that) { + legend.dispatch.on('legendClick', function(d) { d.disabled = !d.disabled; if (!pie.values()(data[0]).filter(function(d) { return !d.disabled }).length) { @@ -173,6 +173,19 @@ nv.models.pieChart = function() { chart.update(); }); + legend.dispatch.on('legendDblclick', function(d) { + //Double clicking should always enable current series, and disabled all others. + var pieData = pie.values()(data[0]); + pieData.forEach(function(d) { + d.disabled = true; + }); + d.disabled = false; + + state.disabled = pieData.map(function(d) { return !!d.disabled }); + dispatch.stateChange(state); + chart.update(); + }); + pie.dispatch.on('elementMouseout.tooltip', function(e) { dispatch.tooltipHide(e); });