%PDF- %PDF-
| Direktori : /home/riacommer/public_html/admin/vendor/rickshaw/src/js/ |
| Current File : /home/riacommer/public_html/admin/vendor/rickshaw/src/js/Rickshaw.Graph.Legend.js |
Rickshaw.namespace('Rickshaw.Graph.Legend');
Rickshaw.Graph.Legend = Rickshaw.Class.create( {
className: 'rickshaw_legend',
initialize: function(args) {
this.element = args.element;
this.graph = args.graph;
this.naturalOrder = args.naturalOrder;
this.element.classList.add(this.className);
this.list = document.createElement('ul');
this.element.appendChild(this.list);
this.render();
// we could bind this.render.bind(this) here
// but triggering the re-render would lose the added
// behavior of the series toggle
this.graph.onUpdate( function() {} );
},
render: function() {
var self = this;
while ( this.list.firstChild ) {
this.list.removeChild( this.list.firstChild );
}
this.lines = [];
var series = this.graph.series
.map( function(s) { return s } );
if (!this.naturalOrder) {
series = series.reverse();
}
series.forEach( function(s) {
self.addLine(s);
} );
},
addLine: function (series) {
var line = document.createElement('li');
line.className = 'line';
if (series.disabled) {
line.className += ' disabled';
}
if (series.className) {
d3.select(line).classed(series.className, true);
}
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);
this.list.appendChild(line);
line.series = series;
if (series.noLegend) {
line.style.display = 'none';
}
var _line = { element: line, series: series };
if (this.shelving) {
this.shelving.addAnchor(_line);
this.shelving.updateBehaviour();
}
if (this.highlighter) {
this.highlighter.addHighlightEvents(_line);
}
this.lines.push(_line);
return line;
}
} );