New file |
0,0 → 1,116 |
if(!dojo._hasResource["dojox.charting.plot2d.Grid"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. |
dojo._hasResource["dojox.charting.plot2d.Grid"] = true; |
dojo.provide("dojox.charting.plot2d.Grid"); |
|
dojo.require("dojox.charting.Element"); |
dojo.require("dojox.charting.plot2d.common"); |
dojo.require("dojox.lang.functional"); |
|
(function(){ |
var du = dojox.lang.utils; |
|
dojo.declare("dojox.charting.plot2d.Grid", dojox.charting.Element, { |
defaultParams: { |
hAxis: "x", // use a horizontal axis named "x" |
vAxis: "y", // use a vertical axis named "y" |
hMajorLines: true, // draw horizontal major lines |
hMinorLines: false, // draw horizontal minor lines |
vMajorLines: true, // draw vertical major lines |
vMinorLines: false, // draw vertical minor lines |
hStripes: "none", // TBD |
vStripes: "none" // TBD |
}, |
optionalParams: {}, // no optional parameters |
|
constructor: function(chart, kwArgs){ |
this.opt = dojo.clone(this.defaultParams); |
du.updateWithObject(this.opt, kwArgs); |
this.hAxis = this.opt.hAxis; |
this.vAxis = this.opt.vAxis; |
}, |
clear: function(){ |
this._hAxis = null; |
this._vAxis = null; |
this.dirty = true; |
return this; |
}, |
setAxis: function(axis){ |
if(axis){ |
this[axis.vertical ? "_vAxis" : "_hAxis"] = axis; |
} |
return this; |
}, |
addSeries: function(run){ |
// nothing |
return this; |
}, |
calculateAxes: function(dim){ |
// nothing |
return this; |
}, |
getRequiredColors: function(){ |
return 0; |
}, |
render: function(dim, offsets){ |
// draw horizontal stripes and lines |
if(!this.dirty){ return this; } |
this.cleanGroup(); |
var s = this.group, ta = this.chart.theme.axis, |
scaler = this._vAxis.getScaler(); |
if(this.opt.hMinorLines && scaler.minor.tick){ |
for(var i = 0; i < scaler.minor.count; ++i){ |
var y = dim.height - offsets.b - scaler.scale * |
(scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick); |
s.createLine({ |
x1: offsets.l, |
y1: y, |
x2: dim.width - offsets.r, |
y2: y |
}).setStroke(ta.minorTick); |
} |
} |
if(this.opt.hMajorLines && scaler.major.tick){ |
for(var i = 0; i < scaler.major.count; ++i){ |
var y = dim.height - offsets.b - scaler.scale * |
(scaler.major.start - scaler.bounds.lower + i * scaler.major.tick); |
s.createLine({ |
x1: offsets.l, |
y1: y, |
x2: dim.width - offsets.r, |
y2: y |
}).setStroke(ta.majorTick); |
} |
} |
// draw vertical stripes and lines |
scaler = this._hAxis.getScaler(); |
if(this.opt.vMinorLines && scaler.minor.tick){ |
for(var i = 0; i < scaler.minor.count; ++i){ |
var x = offsets.l + scaler.scale * |
(scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick); |
s.createLine({ |
x1: x, |
y1: offsets.t, |
x2: x, |
y2: dim.height - offsets.b |
}).setStroke(ta.minorTick); |
} |
} |
if(this.opt.vMajorLines && scaler.major.tick){ |
for(var i = 0; i < scaler.major.count; ++i){ |
var x = offsets.l + scaler.scale * |
(scaler.major.start - scaler.bounds.lower + i * scaler.major.tick); |
s.createLine({ |
x1: x, |
y1: offsets.t, |
x2: x, |
y2: dim.height - offsets.b |
}).setStroke(ta.majorTick); |
} |
} |
this.dirty = false; |
return this; |
} |
}); |
})(); |
|
} |