[stackedAreaChart] Adding legend stateChange listener and removing old

legend click code.
This commit is contained in:
Robin Hu 2013-08-10 23:06:49 -04:00
parent f2375705a4
commit 6edf25b5a6

View File

@ -46,6 +46,7 @@ nv.models.stackedAreaChart = function() {
.orient((rightAlignYAxis) ? 'right' : 'left') .orient((rightAlignYAxis) ? 'right' : 'left')
; ;
controls.updateState(false);
//============================================================ //============================================================
@ -289,30 +290,7 @@ nv.models.stackedAreaChart = function() {
chart.update(); chart.update();
}); });
legend.dispatch.on('legendClick', function(d,i) { legend.dispatch.on('stateChange', function(state) {
d.disabled = !d.disabled;
if (!data.filter(function(d) { return !d.disabled }).length) {
data.map(function(d) {
d.disabled = false;
return d;
});
}
state.disabled = data.map(function(d) { return !!d.disabled });
dispatch.stateChange(state);
chart.update();
});
legend.dispatch.on('legendDblclick', function(d) {
//Double clicking should always enable current series, and disabled all others.
data.forEach(function(d) {
d.disabled = true;
});
d.disabled = false;
state.disabled = data.map(function(d) { return !!d.disabled });
dispatch.stateChange(state); dispatch.stateChange(state);
chart.update(); chart.update();
}); });