%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.Axis.Y.Scaled.js |
Rickshaw.namespace('Rickshaw.Graph.Axis.Y.Scaled');
Rickshaw.Graph.Axis.Y.Scaled = Rickshaw.Class.create( Rickshaw.Graph.Axis.Y, {
initialize: function($super, args) {
if (typeof(args.scale) === 'undefined') {
throw new Error('Scaled requires scale');
}
this.scale = args.scale;
if (typeof(args.grid) === 'undefined') {
this.grid = true;
} else {
this.grid = args.grid;
}
$super(args);
},
_drawAxis: function($super, scale) {
// Adjust scale's domain to compensate for adjustments to the
// renderer's domain (e.g. padding).
var domain = this.scale.domain();
var renderDomain = this.graph.renderer.domain().y;
var extents = [
Math.min.apply(Math, domain),
Math.max.apply(Math, domain)];
// A mapping from the ideal render domain [0, 1] to the extent
// of the original scale's domain. This is used to calculate
// the extents of the adjusted domain.
var extentMap = d3.scale.linear().domain([0, 1]).range(extents);
var adjExtents = [
extentMap(renderDomain[0]),
extentMap(renderDomain[1])];
// A mapping from the original domain to the adjusted domain.
var adjustment = d3.scale.linear().domain(extents).range(adjExtents);
// Make a copy of the custom scale, apply the adjusted domain, and
// copy the range to match the graph's scale.
var adjustedScale = this.scale.copy()
.domain(domain.map(adjustment))
.range(scale.range());
return $super(adjustedScale);
},
_drawGrid: function($super, axis) {
if (this.grid) {
// only draw the axis if the grid option is true
$super(axis);
}
}
} );