Browse Source

Fix hidden legend opacity to use css class - #128

pull/153/head
Masayuki Tanaka 11 years ago
parent
commit
b87e6602b3
  1. 3
      c3.css
  2. 18
      c3.js
  3. 4
      c3.min.js

3
c3.css

@ -115,6 +115,9 @@
.c3-legend-item { .c3-legend-item {
font-size: 12px; font-size: 12px;
} }
.c3-legend-item-hidden {
opacity: 0.1;
}
/*-- Tooltip --*/ /*-- Tooltip --*/

18
c3.js

@ -3672,14 +3672,16 @@
/*-- Draw Legend --*/ /*-- Draw Legend --*/
function opacityForLegend(id) { function opacityForLegend(id) {
return d3.select(selectorLegend(id)).classed(CLASS.legendItemHidden) ? 0.5 : 1; var item = legend.select(selectorLegend(id));
item.style('opacity', null); // MEMO: remove to get opacity by css
return item.classed(CLASS.legendItemHidden) ? item.style('opacity') : 1;
} }
function toggleFocusLegend(id, focus) { function toggleFocusLegend(id, focus) {
var legendItem = legend.selectAll('.' + CLASS.legendItem), var items = legend.selectAll('.' + CLASS.legendItem).filter(function () { return !d3.select(this).classed(CLASS.legendItemHidden); }),
isTarget = function (d) { return (!id || d === id); }, isTarget = function (d) { return (!id || d === id); },
notTarget = function (d) { return !isTarget(d); }; notTarget = function (d) { return !isTarget(d); };
legendItem.filter(notTarget).transition().duration(100).style('opacity', focus ? 0.3 : opacityForLegend); items.filter(notTarget).transition().duration(100).style('opacity', focus ? 0.3 : opacityForLegend);
legendItem.filter(isTarget).transition().duration(100).style('opacity', focus ? opacityForLegend : 0.3); items.filter(isTarget).transition().duration(100).style('opacity', focus ? opacityForLegend : 0.3);
} }
function focusLegend(id) { function focusLegend(id) {
toggleFocusLegend(id, true); toggleFocusLegend(id, true);
@ -3943,9 +3945,7 @@
showLegend(targetIds); showLegend(targetIds);
} else { } else {
legend.selectAll(selectorLegends(targetIds)) legend.selectAll(selectorLegends(targetIds))
.classed(CLASS.legendItemHidden, false) .classed(CLASS.legendItemHidden, false);
.transition()
.style('opacity', 1);
} }
redraw({withUpdateOrgXDomain: true, withUpdateXDomain: true, withTransitionForHorizontalAxis: false}); redraw({withUpdateOrgXDomain: true, withUpdateXDomain: true, withTransitionForHorizontalAxis: false});
@ -3964,9 +3964,7 @@
hideLegend(targetIds); hideLegend(targetIds);
} else { } else {
legend.selectAll(selectorLegends(targetIds)) legend.selectAll(selectorLegends(targetIds))
.classed(CLASS.legendItemHidden, true) .classed(CLASS.legendItemHidden, true);
.transition()
.style('opacity', 0.5);
} }
redraw({withUpdateOrgXDomain: true, withUpdateXDomain: true, withTransitionForHorizontalAxis: false}); redraw({withUpdateOrgXDomain: true, withUpdateXDomain: true, withTransitionForHorizontalAxis: false});

4
c3.min.js vendored

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save