From a552f5aa2805fddcc75d72258549c6ee7787659e Mon Sep 17 00:00:00 2001 From: Robin Hu Date: Sat, 3 Aug 2013 23:05:06 -0400 Subject: [PATCH] Added ability to double-click pie chart series and have it be the only one selected. --- src/models/pieChart.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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); });