rickshaw
Version:
Rickshaw is a JavaScript toolkit for creating interactive time series graphs, developed at [Shutterstock](http://www.shutterstock.com)
61 lines (43 loc) • 1.27 kB
JavaScript
Rickshaw.namespace('Rickshaw.Graph.Legend');
Rickshaw.Graph.Legend = function(args) {
var element = this.element = args.element;
var graph = this.graph = args.graph;
var self = this;
element.classList.add('rickshaw_legend');
var list = this.list = document.createElement('ul');
element.appendChild(list);
var series = graph.series
.map( function(s) { return s } )
.reverse();
this.lines = [];
this.addLine = function (series) {
var line = document.createElement('li');
line.className = 'line';
var swatch = document.createElement('div');
swatch.className = 'swatch';
swatch.style.backgroundColor = series.color;
line.appendChild(swatch);
var label = document.createElement('span');
label.className = 'label';
label.innerHTML = series.name;
line.appendChild(label);
list.appendChild(line);
line.series = series;
if (series.noLegend) {
line.style.display = 'none';
}
var _line = { element: line, series: series };
if (self.shelving) {
self.shelving.addAnchor(_line);
self.shelving.updateBehaviour();
}
if (self.highlighter) {
self.highlighter.addHighlightEvents(_line);
}
self.lines.push(_line);
};
series.forEach( function(s) {
self.addLine(s);
} );
graph.onUpdate( function() {} );
};