Skip to content

Commit 8830920

Browse files
committed
Merge pull request #359 from dwt/legend_respects_series_classes
Respect series classes in legend renderer
2 parents 5fc0869 + 07f0d69 commit 8830920

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/js/Rickshaw.Graph.Legend.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ Rickshaw.Graph.Legend = Rickshaw.Class.create( {
5050
if (series.disabled) {
5151
line.className += ' disabled';
5252
}
53-
53+
if (series.className) {
54+
d3.select(line).classed(series.className, true);
55+
}
5456
var swatch = document.createElement('div');
5557
swatch.className = 'swatch';
5658
swatch.style.backgroundColor = series.color;

tests/Rickshaw.Graph.Legend.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,28 @@ exports.hasDefaultClassName = function(test) {
6868
};
6969

7070
exports.canOverrideClassName = function(test) {
71-
var MyLegend = Rickshaw.Class.create( Rickshaw.Graph.Legend, {
72-
className: 'fnord'
73-
});
71+
var MyLegend = Rickshaw.Class.create( Rickshaw.Graph.Legend, {
72+
className: 'fnord'
73+
});
7474
var legend = new MyLegend({
7575
graph: this.graph,
7676
element: this.legendEl
7777
});
78-
78+
7979
test.equal(this.legendEl.className, "fnord")
8080
test.done();
8181
};
8282

83+
exports['should put series classes on legend elements'] = function(test) {
84+
this.graph.series[0].className = 'fnord-series-0';
85+
this.graph.series[1].className = 'fnord-series-1';
86+
87+
var legend = new Rickshaw.Graph.Legend({
88+
graph: this.graph,
89+
element: this.legendEl
90+
});
91+
test.equal(d3.select(this.legendEl).selectAll('.line').size(), 2);
92+
test.equal(d3.select(this.legendEl).selectAll('.fnord-series-0').size(), 1);
93+
test.equal(d3.select(this.legendEl).selectAll('.fnord-series-1').size(), 1);
94+
test.done();
95+
};

0 commit comments

Comments
 (0)