Commit c91efd94 authored by Masayuki Tanaka's avatar Masayuki Tanaka

Fix focus/defocus interface

parent f14e7d1b
...@@ -2468,9 +2468,18 @@ ...@@ -2468,9 +2468,18 @@
/*-- Draw Legend --*/ /*-- Draw Legend --*/
function focusLegend(id) { function focusLegend(id) {
svg.selectAll('.legend-item').filter(function (d) { return d !== id; }) var legendItem = svg.selectAll('.legend-item'),
.transition().duration(100) isTarget = function (d) { return !id || d === id; },
.style('opacity', 0.3); notTarget = function (d) { return !isTarget(d); };
legendItem.filter(notTarget).transition().duration(100).style('opacity', 0.3);
legendItem.filter(isTarget).transition().duration(100).style('opacity', 1);
}
function defocusLegend(id) {
var legendItem = svg.selectAll('.legend-item'),
isTarget = function (d) { return !id || d === id; },
notTarget = function (d) { return !isTarget(d); };
legendItem.filter(notTarget).transition().duration(100).style('opacity', 1);
legendItem.filter(isTarget).transition().duration(100).style('opacity', 0.3);
} }
function revertLegend() { function revertLegend() {
svg.selectAll('.legend-item') svg.selectAll('.legend-item')
...@@ -2560,6 +2569,7 @@ ...@@ -2560,6 +2569,7 @@
function focus(targets) { function focus(targets) {
targets.transition().duration(100).style('opacity', 1); targets.transition().duration(100).style('opacity', 1);
} }
c3.revert();
c3.defocus(); c3.defocus();
focus(candidatesForNoneArc.classed('focused', true)); focus(candidatesForNoneArc.classed('focused', true));
focus(candidatesForArc); focus(candidatesForArc);
...@@ -2576,11 +2586,13 @@ ...@@ -2576,11 +2586,13 @@
function defocus(targets) { function defocus(targets) {
targets.transition().duration(100).style('opacity', 0.3); targets.transition().duration(100).style('opacity', 0.3);
} }
c3.revert();
defocus(candidatesForNoneArc.classed('focused', false)); defocus(candidatesForNoneArc.classed('focused', false));
defocus(candidatesForArc); defocus(candidatesForArc);
if (hasArcType(c3.data.targets)) { if (hasArcType(c3.data.targets)) {
unexpandArc(target); unexpandArc(target);
} }
defocusLegend(target);
}; };
c3.revert = function (target) { c3.revert = function (target) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment