root / trunk / web / dojo / dojox / charting / Chart2D.js @ 12
History | View | Annotate | Download (13.3 KB)
1 |
/*
|
---|---|
2 |
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
3 |
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
4 |
see: http://dojotoolkit.org/license for details
|
5 |
*/
|
6 |
|
7 |
|
8 |
if(!dojo._hasResource["dojox.charting.Chart2D"]){ |
9 |
dojo._hasResource["dojox.charting.Chart2D"]=true; |
10 |
dojo.provide("dojox.charting.Chart2D");
|
11 |
dojo.require("dojox.gfx");
|
12 |
dojo.require("dojox.lang.functional");
|
13 |
dojo.require("dojox.lang.functional.fold");
|
14 |
dojo.require("dojox.lang.functional.reversed");
|
15 |
dojo.require("dojox.charting.Theme");
|
16 |
dojo.require("dojox.charting.Series");
|
17 |
dojo.require("dojox.charting.axis2d.Default");
|
18 |
dojo.require("dojox.charting.axis2d.Invisible");
|
19 |
dojo.require("dojox.charting.plot2d.Default");
|
20 |
dojo.require("dojox.charting.plot2d.Lines");
|
21 |
dojo.require("dojox.charting.plot2d.Areas");
|
22 |
dojo.require("dojox.charting.plot2d.Markers");
|
23 |
dojo.require("dojox.charting.plot2d.MarkersOnly");
|
24 |
dojo.require("dojox.charting.plot2d.Scatter");
|
25 |
dojo.require("dojox.charting.plot2d.Stacked");
|
26 |
dojo.require("dojox.charting.plot2d.StackedLines");
|
27 |
dojo.require("dojox.charting.plot2d.StackedAreas");
|
28 |
dojo.require("dojox.charting.plot2d.Columns");
|
29 |
dojo.require("dojox.charting.plot2d.StackedColumns");
|
30 |
dojo.require("dojox.charting.plot2d.ClusteredColumns");
|
31 |
dojo.require("dojox.charting.plot2d.Bars");
|
32 |
dojo.require("dojox.charting.plot2d.StackedBars");
|
33 |
dojo.require("dojox.charting.plot2d.ClusteredBars");
|
34 |
dojo.require("dojox.charting.plot2d.Grid");
|
35 |
dojo.require("dojox.charting.plot2d.Pie");
|
36 |
dojo.require("dojox.charting.plot2d.Bubble");
|
37 |
dojo.require("dojox.charting.plot2d.Candlesticks");
|
38 |
dojo.require("dojox.charting.plot2d.OHLC");
|
39 |
(function(){
|
40 |
var df=dojox.lang.functional,dc=dojox.charting,_1=df.lambda("item.clear()"),_2=df.lambda("item.purgeGroup()"),_3=df.lambda("item.destroy()"),_4=df.lambda("item.dirty = false"),_5=df.lambda("item.dirty = true"),_6=df.lambda("item.name"); |
41 |
dojo.declare("dojox.charting.Chart2D",null,{constructor:function(_7,_8){ |
42 |
if(!_8){
|
43 |
_8={}; |
44 |
} |
45 |
this.margins=_8.margins?_8.margins:{l:10,t:10,r:10,b:10}; |
46 |
this.stroke=_8.stroke;
|
47 |
this.fill=_8.fill;
|
48 |
this.delayInMs=_8.delayInMs||200; |
49 |
this.theme=null; |
50 |
this.axes={};
|
51 |
this.stack=[];
|
52 |
this.plots={};
|
53 |
this.series=[];
|
54 |
this.runs={};
|
55 |
this.dirty=true; |
56 |
this.coords=null; |
57 |
this.node=dojo.byId(_7);
|
58 |
var _9=dojo.marginBox(_7);
|
59 |
this.surface=dojox.gfx.createSurface(this.node,_9.w||400,_9.h||300); |
60 |
},destroy:function(){ |
61 |
dojo.forEach(this.series,_3);
|
62 |
dojo.forEach(this.stack,_3);
|
63 |
df.forIn(this.axes,_3);
|
64 |
this.surface.destroy();
|
65 |
},getCoords:function(){ |
66 |
if(!this.coords){ |
67 |
this.coords=dojo.coords(this.node,true); |
68 |
} |
69 |
return this.coords; |
70 |
},setTheme:function(_a){ |
71 |
this.theme=_a.clone();
|
72 |
this.dirty=true; |
73 |
return this; |
74 |
},addAxis:function(_b,_c){ |
75 |
var _d;
|
76 |
if(!_c||!("type" in _c)){ |
77 |
_d=new dc.axis2d.Default(this,_c); |
78 |
}else{
|
79 |
_d=typeof _c.type=="string"?new dc.axis2d[_c.type](this,_c):new _c.type(this,_c); |
80 |
} |
81 |
_d.name=_b; |
82 |
_d.dirty=true;
|
83 |
if(_b in this.axes){ |
84 |
this.axes[_b].destroy();
|
85 |
} |
86 |
this.axes[_b]=_d;
|
87 |
this.dirty=true; |
88 |
return this; |
89 |
},getAxis:function(_e){ |
90 |
return this.axes[_e]; |
91 |
},removeAxis:function(_f){ |
92 |
if(_f in this.axes){ |
93 |
this.axes[_f].destroy();
|
94 |
delete this.axes[_f]; |
95 |
this.dirty=true; |
96 |
} |
97 |
return this; |
98 |
},addPlot:function(_10,_11){ |
99 |
var _12;
|
100 |
if(!_11||!("type" in _11)){ |
101 |
_12=new dc.plot2d.Default(this,_11); |
102 |
}else{
|
103 |
_12=typeof _11.type=="string"?new dc.plot2d[_11.type](this,_11):new _11.type(this,_11); |
104 |
} |
105 |
_12.name=_10; |
106 |
_12.dirty=true;
|
107 |
if(_10 in this.plots){ |
108 |
this.stack[this.plots[_10]].destroy(); |
109 |
this.stack[this.plots[_10]]=_12; |
110 |
}else{
|
111 |
this.plots[_10]=this.stack.length; |
112 |
this.stack.push(_12);
|
113 |
} |
114 |
this.dirty=true; |
115 |
return this; |
116 |
},removePlot:function(_13){ |
117 |
if(_13 in this.plots){ |
118 |
var _14=this.plots[_13]; |
119 |
delete this.plots[_13]; |
120 |
this.stack[_14].destroy();
|
121 |
this.stack.splice(_14,1); |
122 |
df.forIn(this.plots,function(idx,_15,_16){ |
123 |
if(idx>_14){
|
124 |
_16[_15]=idx-1;
|
125 |
} |
126 |
}); |
127 |
this.dirty=true; |
128 |
} |
129 |
return this; |
130 |
},getPlotOrder:function(){ |
131 |
return df.map(this.stack,_6); |
132 |
},setPlotOrder:function(_17){ |
133 |
var _18={},_19=df.filter(_17,function(_1a){ |
134 |
if(!(_1a in this.plots)||(_1a in _18)){ |
135 |
return false; |
136 |
} |
137 |
_18[_1a]=1;
|
138 |
return true; |
139 |
},this);
|
140 |
if(_19.length<this.stack.length){ |
141 |
df.forEach(this.stack,function(_1b){ |
142 |
var _1c=_1b.name;
|
143 |
if(!(_1c in _18)){ |
144 |
_19.push(_1c); |
145 |
} |
146 |
}); |
147 |
} |
148 |
var _1d=df.map(_19,function(_1e){ |
149 |
return this.stack[this.plots[_1e]]; |
150 |
},this);
|
151 |
df.forEach(_1d,function(_1f,i){
|
152 |
this.plots[_1f.name]=i;
|
153 |
},this);
|
154 |
this.stack=_1d;
|
155 |
this.dirty=true; |
156 |
return this; |
157 |
},movePlotToFront:function(_20){ |
158 |
if(_20 in this.plots){ |
159 |
var _21=this.plots[_20]; |
160 |
if(_21){
|
161 |
var _22=this.getPlotOrder(); |
162 |
_22.splice(_21,1);
|
163 |
_22.unshift(_20); |
164 |
return this.setPlotOrder(_22); |
165 |
} |
166 |
} |
167 |
return this; |
168 |
},movePlotToBack:function(_23){ |
169 |
if(_23 in this.plots){ |
170 |
var _24=this.plots[_23]; |
171 |
if(_24<this.stack.length-1){ |
172 |
var _25=this.getPlotOrder(); |
173 |
_25.splice(_24,1);
|
174 |
_25.push(_23); |
175 |
return this.setPlotOrder(_25); |
176 |
} |
177 |
} |
178 |
return this; |
179 |
},addSeries:function(_26,_27,_28){ |
180 |
var run=new dc.Series(this,_27,_28); |
181 |
run.name=_26; |
182 |
if(_26 in this.runs){ |
183 |
this.series[this.runs[_26]].destroy(); |
184 |
this.series[this.runs[_26]]=run; |
185 |
}else{
|
186 |
this.runs[_26]=this.series.length; |
187 |
this.series.push(run);
|
188 |
} |
189 |
this.dirty=true; |
190 |
if(!("ymin" in run)&&"min" in run){ |
191 |
run.ymin=run.min; |
192 |
} |
193 |
if(!("ymax" in run)&&"max" in run){ |
194 |
run.ymax=run.max; |
195 |
} |
196 |
return this; |
197 |
},removeSeries:function(_29){ |
198 |
if(_29 in this.runs){ |
199 |
var _2a=this.runs[_29],_2b=this.series[_2a].plot; |
200 |
delete this.runs[_29]; |
201 |
this.series[_2a].destroy();
|
202 |
this.series.splice(_2a,1); |
203 |
df.forIn(this.runs,function(idx,_2c,_2d){ |
204 |
if(idx>_2a){
|
205 |
_2d[_2c]=idx-1;
|
206 |
} |
207 |
}); |
208 |
this.dirty=true; |
209 |
} |
210 |
return this; |
211 |
},updateSeries:function(_2e,_2f){ |
212 |
if(_2e in this.runs){ |
213 |
var run=this.series[this.runs[_2e]]; |
214 |
run.update(_2f); |
215 |
this._invalidateDependentPlots(run.plot,false); |
216 |
this._invalidateDependentPlots(run.plot,true); |
217 |
} |
218 |
return this; |
219 |
},getSeriesOrder:function(_30){ |
220 |
return df.map(df.filter(this.series,function(run){ |
221 |
return run.plot==_30;
|
222 |
}),_6); |
223 |
},setSeriesOrder:function(_31){ |
224 |
var _32,_33={},_34=df.filter(_31,function(_35){ |
225 |
if(!(_35 in this.runs)||(_35 in _33)){ |
226 |
return false; |
227 |
} |
228 |
var run=this.series[this.runs[_35]]; |
229 |
if(_32){
|
230 |
if(run.plot!=_32){
|
231 |
return false; |
232 |
} |
233 |
}else{
|
234 |
_32=run.plot; |
235 |
} |
236 |
_33[_35]=1;
|
237 |
return true; |
238 |
},this);
|
239 |
df.forEach(this.series,function(run){ |
240 |
var _36=run.name;
|
241 |
if(!(_36 in _33)&&run.plot==_32){ |
242 |
_34.push(_36); |
243 |
} |
244 |
}); |
245 |
var _37=df.map(_34,function(_38){ |
246 |
return this.series[this.runs[_38]]; |
247 |
},this);
|
248 |
this.series=_37.concat(df.filter(this.series,function(run){ |
249 |
return run.plot!=_32;
|
250 |
})); |
251 |
df.forEach(this.series,function(run,i){ |
252 |
this.runs[run.name]=i;
|
253 |
},this);
|
254 |
this.dirty=true; |
255 |
return this; |
256 |
},moveSeriesToFront:function(_39){ |
257 |
if(_39 in this.runs){ |
258 |
var _3a=this.runs[_39],_3b=this.getSeriesOrder(this.series[_3a].plot); |
259 |
if(_39!=_3b[0]){ |
260 |
_3b.splice(_3a,1);
|
261 |
_3b.unshift(_39); |
262 |
return this.setSeriesOrder(_3b); |
263 |
} |
264 |
} |
265 |
return this; |
266 |
},moveSeriesToBack:function(_3c){ |
267 |
if(_3c in this.runs){ |
268 |
var _3d=this.runs[_3c],_3e=this.getSeriesOrder(this.series[_3d].plot); |
269 |
if(_3c!=_3e[_3e.length-1]){ |
270 |
_3e.splice(_3d,1);
|
271 |
_3e.push(_3c); |
272 |
return this.setSeriesOrder(_3e); |
273 |
} |
274 |
} |
275 |
return this; |
276 |
},resize:function(_3f,_40){ |
277 |
var box;
|
278 |
switch(arguments.length){ |
279 |
case 0: |
280 |
box=dojo.marginBox(this.node);
|
281 |
break;
|
282 |
case 1: |
283 |
box=_3f; |
284 |
break;
|
285 |
default:
|
286 |
box={w:_3f,h:_40}; |
287 |
break;
|
288 |
} |
289 |
dojo.marginBox(this.node,box);
|
290 |
this.surface.setDimensions(box.w,box.h);
|
291 |
this.dirty=true; |
292 |
this.coords=null; |
293 |
return this.render(); |
294 |
},getGeometry:function(){ |
295 |
var ret={};
|
296 |
df.forIn(this.axes,function(_41){ |
297 |
if(_41.initialized()){
|
298 |
ret[_41.name]={name:_41.name,vertical:_41.vertical,scaler:_41.scaler,ticks:_41.ticks}; |
299 |
} |
300 |
}); |
301 |
return ret;
|
302 |
},setAxisWindow:function(_42,_43,_44,_45){ |
303 |
var _46=this.axes[_42]; |
304 |
if(_46){
|
305 |
_46.setWindow(_43,_44); |
306 |
dojo.forEach(this.stack,function(_47){ |
307 |
if(_47.hAxis==_42||_47.vAxis==_42){
|
308 |
_47.zoom=_45; |
309 |
} |
310 |
}); |
311 |
} |
312 |
return this; |
313 |
},setWindow:function(sx,sy,dx,dy,_48){ |
314 |
if(!("plotArea" in this)){ |
315 |
this.calculateGeometry();
|
316 |
} |
317 |
df.forIn(this.axes,function(_49){ |
318 |
var _4a,_4b,_4c=_49.getScaler().bounds,s=_4c.span/(_4c.upper-_4c.lower);
|
319 |
if(_49.vertical){
|
320 |
_4a=sy; |
321 |
_4b=dy/s/_4a; |
322 |
}else{
|
323 |
_4a=sx; |
324 |
_4b=dx/s/_4a; |
325 |
} |
326 |
_49.setWindow(_4a,_4b); |
327 |
}); |
328 |
dojo.forEach(this.stack,function(_4d){ |
329 |
_4d.zoom=_48; |
330 |
}); |
331 |
return this; |
332 |
},zoomIn:function(_4e,_4f){ |
333 |
var _50=this.axes[_4e]; |
334 |
if(_50){
|
335 |
var _51,_52,_53=_50.getScaler().bounds;
|
336 |
var _54=Math.min(_4f[0],_4f[1]); |
337 |
var _55=Math.max(_4f[0],_4f[1]); |
338 |
_54=_4f[0]<_53.lower?_53.lower:_54;
|
339 |
_55=_4f[1]>_53.upper?_53.upper:_55;
|
340 |
_51=(_53.upper-_53.lower)/(_55-_54); |
341 |
_52=_54-_53.lower; |
342 |
this.setAxisWindow(_4e,_51,_52);
|
343 |
this.render();
|
344 |
} |
345 |
},calculateGeometry:function(){ |
346 |
if(this.dirty){ |
347 |
return this.fullGeometry(); |
348 |
} |
349 |
var _56=dojo.filter(this.stack,function(_57){ |
350 |
return _57.dirty||(_57.hAxis&&this.axes[_57.hAxis].dirty)||(_57.vAxis&&this.axes[_57.vAxis].dirty); |
351 |
},this);
|
352 |
_58(_56,this.plotArea);
|
353 |
return this; |
354 |
},fullGeometry:function(){ |
355 |
this._makeDirty();
|
356 |
dojo.forEach(this.stack,_1);
|
357 |
if(!this.theme){ |
358 |
this.setTheme(new dojox.charting.Theme(dojox.charting._def)); |
359 |
} |
360 |
dojo.forEach(this.series,function(run){ |
361 |
if(!(run.plot in this.plots)){ |
362 |
var _59=new dc.plot2d.Default(this,{}); |
363 |
_59.name=run.plot; |
364 |
this.plots[run.plot]=this.stack.length; |
365 |
this.stack.push(_59);
|
366 |
} |
367 |
this.stack[this.plots[run.plot]].addSeries(run); |
368 |
},this);
|
369 |
dojo.forEach(this.stack,function(_5a){ |
370 |
if(_5a.hAxis){
|
371 |
_5a.setAxis(this.axes[_5a.hAxis]);
|
372 |
} |
373 |
if(_5a.vAxis){
|
374 |
_5a.setAxis(this.axes[_5a.vAxis]);
|
375 |
} |
376 |
},this);
|
377 |
var dim=this.dim=this.surface.getDimensions(); |
378 |
dim.width=dojox.gfx.normalizedLength(dim.width); |
379 |
dim.height=dojox.gfx.normalizedLength(dim.height); |
380 |
df.forIn(this.axes,_1);
|
381 |
_58(this.stack,dim);
|
382 |
var _5b=this.offsets={l:0,r:0,t:0,b:0}; |
383 |
df.forIn(this.axes,function(_5c){ |
384 |
df.forIn(_5c.getOffsets(),function(o,i){
|
385 |
_5b[i]+=o; |
386 |
}); |
387 |
}); |
388 |
df.forIn(this.margins,function(o,i){ |
389 |
_5b[i]+=o; |
390 |
}); |
391 |
this.plotArea={width:dim.width-_5b.l-_5b.r,height:dim.height-_5b.t-_5b.b}; |
392 |
df.forIn(this.axes,_1);
|
393 |
_58(this.stack,this.plotArea); |
394 |
return this; |
395 |
},render:function(){ |
396 |
if(this.theme){ |
397 |
this.theme.clear();
|
398 |
} |
399 |
if(this.dirty){ |
400 |
return this.fullRender(); |
401 |
} |
402 |
this.calculateGeometry();
|
403 |
df.forEachRev(this.stack,function(_5d){ |
404 |
_5d.render(this.dim,this.offsets); |
405 |
},this);
|
406 |
df.forIn(this.axes,function(_5e){ |
407 |
_5e.render(this.dim,this.offsets); |
408 |
},this);
|
409 |
this._makeClean();
|
410 |
if(this.surface.render){ |
411 |
this.surface.render();
|
412 |
} |
413 |
return this; |
414 |
},fullRender:function(){ |
415 |
this.fullGeometry();
|
416 |
var _5f=this.offsets,dim=this.dim; |
417 |
dojo.forEach(this.series,_2);
|
418 |
df.forIn(this.axes,_2);
|
419 |
dojo.forEach(this.stack,_2);
|
420 |
this.surface.clear();
|
421 |
var t=this.theme,_60=t.plotarea&&t.plotarea.fill,_61=t.plotarea&&t.plotarea.stroke; |
422 |
if(_60){
|
423 |
this.surface.createRect({x:_5f.l-1,y:_5f.t-1,width:dim.width-_5f.l-_5f.r+2,height:dim.height-_5f.t-_5f.b+2}).setFill(_60); |
424 |
} |
425 |
if(_61){
|
426 |
this.surface.createRect({x:_5f.l,y:_5f.t,width:dim.width-_5f.l-_5f.r+1,height:dim.height-_5f.t-_5f.b+1}).setStroke(_61); |
427 |
} |
428 |
df.foldr(this.stack,function(z,_62){ |
429 |
return _62.render(dim,_5f),0; |
430 |
},0);
|
431 |
_60=this.fill!==undefined?this.fill:(t.chart&&t.chart.fill); |
432 |
_61=this.stroke!==undefined?this.stroke:(t.chart&&t.chart.stroke); |
433 |
if(_60=="inherit"){ |
434 |
var _63=this.node,_60=new dojo.Color(dojo.style(_63,"backgroundColor")); |
435 |
while(_60.a==0&&_63!=document.documentElement){ |
436 |
_60=new dojo.Color(dojo.style(_63,"backgroundColor")); |
437 |
_63=_63.parentNode; |
438 |
} |
439 |
} |
440 |
if(_60){
|
441 |
if(_5f.l){
|
442 |
this.surface.createRect({width:_5f.l,height:dim.height+1}).setFill(_60); |
443 |
} |
444 |
if(_5f.r){
|
445 |
this.surface.createRect({x:dim.width-_5f.r,width:_5f.r+1,height:dim.height+2}).setFill(_60); |
446 |
} |
447 |
if(_5f.t){
|
448 |
this.surface.createRect({width:dim.width+1,height:_5f.t}).setFill(_60); |
449 |
} |
450 |
if(_5f.b){
|
451 |
this.surface.createRect({y:dim.height-_5f.b,width:dim.width+1,height:_5f.b+2}).setFill(_60); |
452 |
} |
453 |
} |
454 |
if(_61){
|
455 |
this.surface.createRect({width:dim.width-1,height:dim.height-1}).setStroke(_61); |
456 |
} |
457 |
df.forIn(this.axes,function(_64){ |
458 |
_64.render(dim,_5f); |
459 |
}); |
460 |
this._makeClean();
|
461 |
if(this.surface.render){ |
462 |
this.surface.render();
|
463 |
} |
464 |
return this; |
465 |
},delayedRender:function(){ |
466 |
if(!this._delayedRenderHandle){ |
467 |
this._delayedRenderHandle=setTimeout(dojo.hitch(this,function(){ |
468 |
clearTimeout(this._delayedRenderHandle);
|
469 |
this._delayedRenderHandle=null; |
470 |
this.render();
|
471 |
}),this.delayInMs);
|
472 |
} |
473 |
return this; |
474 |
},connectToPlot:function(_65,_66,_67){ |
475 |
return _65 in this.plots?this.stack[this.plots[_65]].connect(_66,_67):null; |
476 |
},fireEvent:function(_68,_69,_6a){ |
477 |
if(_68 in this.runs){ |
478 |
var _6b=this.series[this.runs[_68]].plot; |
479 |
if(_6b in this.plots){ |
480 |
var _6c=this.stack[this.plots[_6b]]; |
481 |
if(_6c){
|
482 |
_6c.fireEvent(_68,_69,_6a); |
483 |
} |
484 |
} |
485 |
} |
486 |
return this; |
487 |
},_makeClean:function(){ |
488 |
dojo.forEach(this.axes,_4);
|
489 |
dojo.forEach(this.stack,_4);
|
490 |
dojo.forEach(this.series,_4);
|
491 |
this.dirty=false; |
492 |
},_makeDirty:function(){ |
493 |
dojo.forEach(this.axes,_5);
|
494 |
dojo.forEach(this.stack,_5);
|
495 |
dojo.forEach(this.series,_5);
|
496 |
this.dirty=true; |
497 |
},_invalidateDependentPlots:function(_6d,_6e){ |
498 |
if(_6d in this.plots){ |
499 |
var _6f=this.stack[this.plots[_6d]],_70,_71=_6e?"vAxis":"hAxis"; |
500 |
if(_6f[_71]){
|
501 |
_70=this.axes[_6f[_71]];
|
502 |
if(_70&&_70.dependOnData()){
|
503 |
_70.dirty=true;
|
504 |
dojo.forEach(this.stack,function(p){ |
505 |
if(p[_71]&&p[_71]==_6f[_71]){
|
506 |
p.dirty=true;
|
507 |
} |
508 |
}); |
509 |
} |
510 |
}else{
|
511 |
_6f.dirty=true;
|
512 |
} |
513 |
} |
514 |
}}); |
515 |
function _72(_73){ |
516 |
return {min:_73.hmin,max:_73.hmax}; |
517 |
}; |
518 |
function _74(_75){ |
519 |
return {min:_75.vmin,max:_75.vmax}; |
520 |
}; |
521 |
function _76(_77,h){ |
522 |
_77.hmin=h.min; |
523 |
_77.hmax=h.max; |
524 |
}; |
525 |
function _78(_79,v){ |
526 |
_79.vmin=v.min; |
527 |
_79.vmax=v.max; |
528 |
}; |
529 |
function _7a(_7b,_7c){ |
530 |
if(_7b&&_7c){
|
531 |
_7b.min=Math.min(_7b.min,_7c.min); |
532 |
_7b.max=Math.max(_7b.max,_7c.max); |
533 |
} |
534 |
return _7b||_7c;
|
535 |
}; |
536 |
function _58(_7d,_7e){ |
537 |
var _7f={},_80={};
|
538 |
dojo.forEach(_7d,function(_81){
|
539 |
var _82=_7f[_81.name]=_81.getSeriesStats();
|
540 |
if(_81.hAxis){
|
541 |
_80[_81.hAxis]=_7a(_80[_81.hAxis],_72(_82)); |
542 |
} |
543 |
if(_81.vAxis){
|
544 |
_80[_81.vAxis]=_7a(_80[_81.vAxis],_74(_82)); |
545 |
} |
546 |
}); |
547 |
dojo.forEach(_7d,function(_83){
|
548 |
var _84=_7f[_83.name];
|
549 |
if(_83.hAxis){
|
550 |
_76(_84,_80[_83.hAxis]); |
551 |
} |
552 |
if(_83.vAxis){
|
553 |
_78(_84,_80[_83.vAxis]); |
554 |
} |
555 |
_83.initializeScalers(_7e,_84); |
556 |
}); |
557 |
}; |
558 |
})(); |
559 |
} |