/*** PlotKit.PlotKit 0.9.1 : PACKED VERSION THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please diff against the source tree, not this file. For more information, . Copyright (c) 2006. Alastair Tse. ***/ try{ if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.DOM)=="undefined"||typeof (MochiKit.Color)=="undefined"||typeof (MochiKit.Format)=="undefined"){ throw ""; } } catch(e){ throw "PlotKit depends on MochiKit.{Base,Color,DOM,Format}"; } MochiKit.Base.update(MochiKit.Color.Color.prototype,{asFillColor:function(){ return this.lighterColorWithLevel(0.3); },asStrokeColor:function(){ return this.darkerColorWithLevel(0.1); },asPointColor:function(){ return this.lighterColorWithLevel(0.1); }}); if(typeof (PlotKit)=="undefined"){ PlotKit={}; } PlotKit.NAME="PlotKit"; PlotKit.VERSION="0.8"; PlotKit.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.toString=function(){ return this.__repr__(); }; if(typeof (PlotKit.Base)=="undefined"){ PlotKit.Base={}; } PlotKit.Base.NAME="PlotKit.Base"; PlotKit.Base.VERSION=PlotKit.VERSION; PlotKit.Base.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.Base.toString=function(){ return this.__repr__(); }; PlotKit.Base.usingPrototype=function(){ try{ return (typeof (Object.extend)=="function"); } catch(e){ return false; } }; MochiKit.Base.update(PlotKit.Base,{roundInterval:function(_1,_2,_3){ var _4=MochiKit.Format.roundToFixed; var _5=_1/_2; return parseFloat(_4(_5,_3)); },collapse:function(_6){ var m=MochiKit.Base; var _8=new Array(); for(var i=0;i<_6.length;i++){ _8=m.concat(_8,_6[i]); } if(PlotKit.Base.usingPrototype()){ delete _8.extend; delete _8.from; delete _8.inspect; } return _8; },uniq:function(_10){ var m=MochiKit.Base; if(!m.isArrayLike(_10)||(_10.length<1)){ return new Array(); } var _11=new Array(); var _12=_10[0]; _11.push(_10[0]); for(var i=1;i<_10.length;i++){ if(m.compare(_10[i],_12)!=0){ _12=_10[i]; _11.push(_10[i]); } } return _11; },colorScheme:function(){ var mb=MochiKit.Base; var mc=MochiKit.Color; var _15=["red","orange","yellow","green","cyan","blue","purple","magenta"]; var _16=function(_17){ return mc.Color[_17+"Color"](); }; return mb.map(_16,_15); },baseDarkPrimaryColors:function(){ var _18=MochiKit.Color.Color.fromHexString; return [_18("#ad3f40"),_18("#ddac2c"),_18("#dfdd0c"),_18("#5276c4"),_18("#739c5a")]; },basePrimaryColors:function(){ var _19=MochiKit.Color.Color.fromHexString; return [_19("#d24c4d"),_19("#f2b32f"),_19("#ece90e"),_19("#5d83da"),_19("#78a15d")]; },baseBlueColors:function(){ var _20=MochiKit.Color.Color.fromHexString; return [_20("#4b6b94"),_20("#5d81b4"),_20("#acbad2")]; },palette:function(_21,_22,_23,_24){ var _25=MochiKit.Base.isUndefinedOrNull; var _26=new Array(); if(_25(_24)){ _24=0.1; } if(_25(_23)){ _23=0.4; } if(_25(_22)){ _22=-0.2; } var _27=_22; while(_27<=_23){ _26.push(_27); _27+=_24; } var _28=function(_29,_30){ return _29.lighterColorWithLevel(_30); }; return MochiKit.Base.map(partial(_28,_21),_26); },excanvasSupported:function(){ if(/MSIE/.test(navigator.userAgent)&&!window.opera){ return true; } return false; },findPosX:function(obj){ var _32=0; if(obj.offsetParent){ while(obj.offsetParent){ _32+=obj.offsetLeft; obj=obj.offsetParent; } }else{ if(obj.x){ _32+=obj.x; } } return _32; },findPosY:function(obj){ var _33=0; if(obj.offsetParent){ while(obj.offsetParent){ _33+=obj.offsetTop; obj=obj.offsetParent; } }else{ if(obj.y){ _33+=obj.y; } } return _33; },isFuncLike:function(obj){ return (typeof (obj)=="function"); }}); PlotKit.Base.map=function(fn,lst){ if(PlotKit.Base.usingPrototype()){ var _36=[]; for(var x in lst){ if(typeof (lst[x])=="function"){ continue; } _36.push(fn(lst[x])); } return _36; }else{ return MochiKit.Base.map(fn,lst); } }; PlotKit.Base.items=function(lst){ if(PlotKit.Base.usingPrototype()){ var _38=[]; for(var x in lst){ if(typeof (lst[x])=="function"){ continue; } _38.push([x,lst[x]]); } return _38; }else{ return MochiKit.Base.items(lst); } }; PlotKit.Base.keys=function(lst){ if(PlotKit.Base.usingPrototype()){ var _39=[]; for(var x in lst){ if(typeof (lst[x])=="function"){ continue; } _39.push(x); } return _39; }else{ return MochiKit.Base.keys(lst); } }; PlotKit.Base.baseColors=function(){ var _40=MochiKit.Color.Color.fromHexString; return [_40("#476fb2"),_40("#be2c2b"),_40("#85b730"),_40("#734a99"),_40("#26a1c5"),_40("#fb8707"),_40("#000000")]; }; PlotKit.Base.officeBaseStyle={"axisLineWidth":2,"axisLabelColor":Color.grayColor(),"axisLineColor":Color.whiteColor(),"padding":{top:5,bottom:10,left:30,right:30}}; MochiKit.Base.update(PlotKit.Base,{officeBlue:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),"backgroundColor":PlotKit.Base.baseColors()[0].lighterColorWithLevel(0.45)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officeRed:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[1]),"backgroundColor":PlotKit.Base.baseColors()[1].lighterColorWithLevel(0.5)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officeGreen:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[2]),"backgroundColor":PlotKit.Base.baseColors()[2].lighterColorWithLevel(0.5)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officePurple:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[3]),"backgroundColor":PlotKit.Base.baseColors()[3].lighterColorWithLevel(0.5)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officeCyan:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[4]),"backgroundColor":PlotKit.Base.baseColors()[4].lighterColorWithLevel(0.5)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officeOrange:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[5]),"backgroundColor":PlotKit.Base.baseColors()[5].lighterColorWithLevel(0.4)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; },officeBlack:function(){ var r={"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[6],0,0.6),"backgroundColor":PlotKit.Base.baseColors()[6].lighterColorWithLevel(0.9)}; MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle); return r; }}); PlotKit.Base.EXPORT=["baseColors","collapse","colorScheme","findPosX","findPosY","officeBaseStyle","officeBlue","officeRed","officeGreen","officePurple","officeCyan","officeOrange","officeBlack","roundInterval","uniq","isFuncLike","excanvasSupported"]; PlotKit.Base.EXPORT_OK=[]; PlotKit.Base.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.Base.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.Base); try{ if(typeof (PlotKit.Base)=="undefined"){ throw ""; } } catch(e){ throw "PlotKit.Layout depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.Base"; } if(typeof (PlotKit.Layout)=="undefined"){ PlotKit.Layout={}; } PlotKit.Layout.NAME="PlotKit.Layout"; PlotKit.Layout.VERSION=PlotKit.VERSION; PlotKit.Layout.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.Layout.toString=function(){ return this.__repr__(); }; PlotKit.Layout.valid_styles=["bar","line","pie","point"]; PlotKit.Layout=function(_42,_43){ this.options={"barWidthFillFraction":0.75,"barOrientation":"vertical","xOriginIsZero":true,"yOriginIsZero":true,"xAxis":null,"yAxis":null,"xTicks":null,"yTicks":null,"xNumberOfTicks":10,"yNumberOfTicks":5,"xTickPrecision":1,"yTickPrecision":1,"pieRadius":0.4}; this.style=_42; MochiKit.Base.update(this.options,_43?_43:{}); if(!MochiKit.Base.isUndefinedOrNull(this.options.xAxis)){ this.minxval=this.options.xAxis[0]; this.maxxval=this.options.xAxis[1]; this.xscale=this.maxxval-this.minxval; }else{ this.minxval=0; this.maxxval=null; this.xscale=null; } if(!MochiKit.Base.isUndefinedOrNull(this.options.yAxis)){ this.minyval=this.options.yAxis[0]; this.maxyval=this.options.yAxis[1]; this.yscale=this.maxyval-this.minyval; }else{ this.minyval=0; this.maxyval=null; this.yscale=null; } this.bars=new Array(); this.points=new Array(); this.slices=new Array(); this.xticks=new Array(); this.yticks=new Array(); this.datasets=new Array(); this.minxdelta=0; this.xrange=1; this.yrange=1; this.hitTestCache={x2maxy:null}; }; PlotKit.Layout.prototype.addDataset=function(_44,_45){ this.datasets[_44]=_45; }; PlotKit.Layout.prototype.removeDataset=function(_46,_47){ delete this.datasets[_46]; }; PlotKit.Layout.prototype.addDatasetFromTable=function(_48,_49,_50,_51,_52){ var _53=MochiKit.Base.isUndefinedOrNull; var _54=MochiKit.DOM.scrapeText; var _55=MochiKit.Format.strip; if(_53(_50)){ _50=0; } if(_53(_51)){ _51=1; } if(_53(_52)){ _52=-1; } var _56=_49.tBodies[0].rows; var _57=new Array(); var _58=new Array(); if(!_53(_56)){ for(var i=0;i<_56.length;i++){ _57.push([parseFloat(_55(_54(_56[i].cells[_50]))),parseFloat(_55(_54(_56[i].cells[_51])))]); if(_52>=0){ _58.push({v:parseFloat(_55(_54(_56[i].cells[_50]))),label:_55(_54(_56[i].cells[_52]))}); } } this.addDataset(_48,_57); if(_52>=0){ this.options.xTicks=_58; } return true; } return false; }; PlotKit.Layout.prototype.evaluate=function(){ this._evaluateLimits(); this._evaluateScales(); if(this.style=="bar"){ if(this.options.barOrientation=="horizontal"){ this._evaluateHorizBarCharts(); }else{ this._evaluateBarCharts(); } this._evaluateBarTicks(); }else{ if(this.style=="line"){ this._evaluateLineCharts(); this._evaluateLineTicks(); }else{ if(this.style=="pie"){ this._evaluatePieCharts(); this._evaluatePieTicks(); } } } }; PlotKit.Layout.prototype.hitTest=function(x,y){ var f=MochiKit.Format.twoDigitFloat; if((this.style=="bar")&&this.bars&&(this.bars.length>0)){ for(var i=0;i=bar.x)&&(x<=bar.x+bar.w)&&(y>=bar.y)&&(y-bar.y<=bar.h)){ return bar; } } }else{ if(this.style=="line"){ if(this.hitTestCache.x2maxy==null){ this._regenerateHitTestCache(); } var _62=x/this.xscale; var _63=this.hitTestCache.xvalues; var _64=null; var _65=null; for(var i=1;i<_63.length;i++){ if(_63[i]>_62){ _64=_63[i-1]; _65=_63[i]; break; } } if((_64!=null)){ var _66=this.hitTestCache.x2maxy[_64]; var _67=this.hitTestCache.x2maxy[_65]; var _68=(1-y)/this.yscale; var _69=(_67-_66)/(_65-_64); var _70=_66+_69*(_62-_64); if(_70>=_68){ var obj={xval:_62,yval:_68,xafter:_65,yafter:_67,xbefore:_64,ybefore:_66,yprojected:_70}; return obj; } } }else{ if(this.style=="pie"){ var _71=Math.sqrt((y-0.5)*(y-0.5)+(x-0.5)*(x-0.5)); if(_71>this.options.pieRadius){ return null; } var _72=Math.atan2(y-0.5,x-0.5)-Math.PI/2; for(var i=0;i=_72){ return _73; } } } } } return null; }; PlotKit.Layout.prototype.rectForX=function(x){ return null; }; PlotKit.Layout.prototype.angleRangeForX=function(x){ return null; }; PlotKit.Layout.prototype._evaluateLimits=function(){ var map=PlotKit.Base.map; var _75=PlotKit.Base.items; var _76=MochiKit.Base.itemgetter; var _77=PlotKit.Base.collapse; var _78=MochiKit.Base.listMin; var _79=MochiKit.Base.listMax; var _80=MochiKit.Base.isUndefinedOrNull; var all=_77(map(_76(1),_75(this.datasets))); if(_80(this.options.xAxis)){ if(this.options.xOriginIsZero){ this.minxval=0; }else{ this.minxval=_78(map(parseFloat,map(_76(0),all))); } this.maxxval=_79(map(parseFloat,map(_76(0),all))); }else{ this.minxval=this.options.xAxis[0]; this.maxxval=this.options.xAxis[1]; this.xscale=this.maxval-this.minxval; } if(_80(this.options.yAxis)){ if(this.options.yOriginIsZero){ this.minyval=0; }else{ this.minyval=_78(map(parseFloat,map(_76(1),all))); } this.maxyval=_79(map(parseFloat,map(_76(1),all))); }else{ this.minyval=this.options.yAxis[0]; this.maxyval=this.options.yAxis[1]; this.yscale=this.maxyval-this.minyval; } }; PlotKit.Layout.prototype._evaluateScales=function(){ var _82=MochiKit.Base.isUndefinedOrNull; this.xrange=this.maxxval-this.minxval; if(this.xrange==0){ this.xscale=1; }else{ this.xscale=1/this.xrange; } this.yrange=this.maxyval-this.minyval; if(this.yrange==0){ this.yscale=1; }else{ this.yscale=1/this.yrange; } }; PlotKit.Layout.prototype._uniqueXValues=function(){ var _83=PlotKit.Base.collapse; var map=PlotKit.Base.map; var _84=PlotKit.Base.uniq; var _85=MochiKit.Base.itemgetter; var _86=PlotKit.Base.items; var _87=map(parseFloat,map(_85(0),_83(map(_85(1),_86(this.datasets))))); _87.sort(MochiKit.Base.compare); return _84(_87); }; PlotKit.Layout.prototype._evaluateBarCharts=function(){ var _88=PlotKit.Base.items; var _89=_88(this.datasets).length; var _90=10000000; var _91=this._uniqueXValues(); for(var i=1;i<_91.length;i++){ _90=Math.min(Math.abs(_91[i]-_91[i-1]),_90); } var _92=0; var _93=0; var _94=0; if(_91.length==1){ _90=1; this.xscale=1; this.minxval=_91[0]; _92=1*this.options.barWidthFillFraction; _93=_92/_89; _94=(1-this.options.barWidthFillFraction)/2; }else{ if(this.xrange==1){ this.xscale=0.5; }else{ if(this.xrange==2){ this.xscale=1/3; }else{ this.xscale=(1-_90/this.xrange)/this.xrange; } } _92=_90*this.xscale*this.options.barWidthFillFraction; _93=_92/_89; _94=_90*this.xscale*(1-this.options.barWidthFillFraction)/2; } this.minxdelta=_90; this.bars=new Array(); var i=0; for(var _95 in this.datasets){ var _96=this.datasets[_95]; if(PlotKit.Base.isFuncLike(_96)){ continue; } for(var j=0;j<_96.length;j++){ var _98=_96[j]; var _99={x:((parseFloat(_98[0])-this.minxval)*this.xscale)+(i*_93)+_94,y:1-((parseFloat(_98[1])-this.minyval)*this.yscale),w:_93,h:((parseFloat(_98[1])-this.minyval)*this.yscale),xval:parseFloat(_98[0]),yval:parseFloat(_98[1]),name:_95}; if((_99.x>=0)&&(_99.x<=1)&&(_99.y>=0)&&(_99.y<=1)){ this.bars.push(_99); } } i++; } }; PlotKit.Layout.prototype._evaluateHorizBarCharts=function(){ var _100=PlotKit.Base.items; var _101=_100(this.datasets).length; var _102=10000000; var _103=this._uniqueXValues(); for(var i=1;i<_103.length;i++){ _102=Math.min(Math.abs(_103[i]-_103[i-1]),_102); } var _104=0; var _105=0; var _106=0; if(_103.length==1){ _102=1; this.xscale=1; this.minxval=_103[0]; _104=1*this.options.barWidthFillFraction; _105=_104/_101; _106=(1-this.options.barWidthFillFraction)/2; }else{ this.xscale=(1-_102/this.xrange)/this.xrange; _104=_102*this.xscale*this.options.barWidthFillFraction; _105=_104/_101; _106=_102*this.xscale*(1-this.options.barWidthFillFraction)/2; } this.minxdelta=_102; this.bars=new Array(); var i=0; for(var _107 in this.datasets){ var _108=this.datasets[_107]; if(PlotKit.Base.isFuncLike(_108)){ continue; } for(var j=0;j<_108.length;j++){ var item=_108[j]; var rect={y:((parseFloat(item[0])-this.minxval)*this.xscale)+(i*_105)+_106,x:0,h:_105,w:((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_107}; if(rect.y<=0){ rect.y=0; } if(rect.y>=1){ rect.y=1; } if((rect.x>=0)&&(rect.x<=1)){ this.bars.push(rect); } } i++; } }; PlotKit.Layout.prototype._evaluateLineCharts=function(){ var _111=PlotKit.Base.items; var _112=_111(this.datasets).length; this.points=new Array(); var i=0; for(var _113 in this.datasets){ var _114=this.datasets[_113]; if(PlotKit.Base.isFuncLike(_114)){ continue; } _114.sort(function(a,b){ return compare(parseFloat(a[0]),parseFloat(b[0])); }); for(var j=0;j<_114.length;j++){ var item=_114[j]; var _117={x:((parseFloat(item[0])-this.minxval)*this.xscale),y:1-((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_113}; if(_117.y<=0){ _117.y=0; } if(_117.y>=1){ _117.y=1; } if((_117.x>=0)&&(_117.x<=1)){ this.points.push(_117); } } i++; } }; PlotKit.Layout.prototype._evaluatePieCharts=function(){ var _118=PlotKit.Base.items; var sum=MochiKit.Iter.sum; var _120=MochiKit.Base.itemgetter; var _121=_118(this.datasets).length; var _122=_118(this.datasets)[0][1]; var _123=sum(map(_120(1),_122)); this.slices=new Array(); var _124=0; for(var i=0;i<_122.length;i++){ var _125=_122[i][1]/_123; var _126=_124*Math.PI*2; var _127=(_124+_125)*Math.PI*2; var _128={fraction:_125,xval:_122[i][0],yval:_122[i][1],startAngle:_126,endAngle:_127}; if(_122[i][1]!=0){ this.slices.push(_128); } _124+=_125; } }; PlotKit.Layout.prototype._evaluateLineTicksForXAxis=function(){ var _129=MochiKit.Base.isUndefinedOrNull; if(this.options.xTicks){ this.xticks=new Array(); var _130=function(tick){ var _132=tick.label; if(_129(_132)){ _132=tick.v.toString(); } var pos=this.xscale*(tick.v-this.minxval); if((pos>=0)&&(pos<=1)){ this.xticks.push([pos,_132]); } }; MochiKit.Iter.forEach(this.options.xTicks,bind(_130,this)); }else{ if(this.options.xNumberOfTicks){ var _134=this._uniqueXValues(); var _135=this.xrange/this.options.xNumberOfTicks; var _136=0; this.xticks=new Array(); for(var i=0;i<=_134.length;i++){ if((_134[i]-this.minxval)>=(_136*_135)){ var pos=this.xscale*(_134[i]-this.minxval); if((pos>1)||(pos<0)){ continue; } this.xticks.push([pos,_134[i]]); _136++; } if(_136>this.options.xNumberOfTicks){ break; } } } } }; PlotKit.Layout.prototype._evaluateLineTicksForYAxis=function(){ var _137=MochiKit.Base.isUndefinedOrNull; if(this.options.yTicks){ this.yticks=new Array(); var _138=function(tick){ var _139=tick.label; if(_137(_139)){ _139=tick.v.toString(); } var pos=1-(this.yscale*(tick.v-this.minyval)); if((pos>=0)&&(pos<=1)){ this.yticks.push([pos,_139]); } }; MochiKit.Iter.forEach(this.options.yTicks,bind(_138,this)); }else{ if(this.options.yNumberOfTicks){ this.yticks=new Array(); var _140=PlotKit.Base.roundInterval; var prec=this.options.yTickPrecision; var _142=_140(this.yrange,this.options.yNumberOfTicks,prec); for(var i=0;i<=this.options.yNumberOfTicks;i++){ var yval=this.minyval+(i*_142); var pos=1-((yval-this.minyval)*this.yscale); if((pos>1)||(pos<0)){ continue; } this.yticks.push([pos,MochiKit.Format.roundToFixed(yval,prec)]); } } } }; PlotKit.Layout.prototype._evaluateLineTicks=function(){ this._evaluateLineTicksForXAxis(); this._evaluateLineTicksForYAxis(); }; PlotKit.Layout.prototype._evaluateBarTicks=function(){ this._evaluateLineTicks(); var _144=function(tick){ return [tick[0]+(this.minxdelta*this.xscale)/2,tick[1]]; }; this.xticks=MochiKit.Base.map(bind(_144,this),this.xticks); if(this.options.barOrientation=="horizontal"){ var _145=this.xticks; this.xticks=this.yticks; this.yticks=_145; var _146=function(tick){ return [1-tick[0],tick[1]]; }; this.xticks=MochiKit.Base.map(_146,this.xticks); } }; PlotKit.Layout.prototype._evaluatePieTicks=function(){ var _147=MochiKit.Base.isUndefinedOrNull; var _148=MochiKit.Format.numberFormatter("#%"); this.xticks=new Array(); if(this.options.xTicks){ var _149=new Array(); for(var i=0;i0){ this.__init__(_158,_159,_160); } }; PlotKit.CanvasRenderer.prototype.__init__=function(_161,_162,_163){ var _164=MochiKit.Base.isUndefinedOrNull; var _165=MochiKit.Color.Color; this.options={"drawBackground":true,"backgroundColor":_165.whiteColor(),"padding":{left:30,right:30,top:5,bottom:10},"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),"strokeColor":_165.whiteColor(),"strokeColorTransform":"asStrokeColor","strokeWidth":0.5,"shouldFill":true,"shouldStroke":true,"drawXAxis":true,"drawYAxis":true,"axisLineColor":_165.blackColor(),"axisLineWidth":0.5,"axisTickSize":3,"axisLabelColor":_165.blackColor(),"axisLabelFont":"Arial","axisLabelFontSize":9,"axisLabelWidth":50,"pieRadius":0.4,"enableEvents":true}; MochiKit.Base.update(this.options,_163?_163:{}); this.layout=_162; this.element=MochiKit.DOM.getElement(_161); this.container=this.element.parentNode; this.isIE=PlotKit.Base.excanvasSupported(); if(this.isIE&&!_164(G_vmlCanvasManager)){ this.IEDelay=0.5; this.maxTries=5; this.renderDelay=null; this.clearDelay=null; this.element=G_vmlCanvasManager.initElement(this.element); } this.height=this.element.height; this.width=this.element.width; if(_164(this.element)){ throw "CanvasRenderer() - passed canvas is not found"; } if(!this.isIE&&!(PlotKit.CanvasRenderer.isSupported(this.element))){ throw "CanvasRenderer() - Canvas is not supported."; } if(_164(this.container)||(this.container.nodeName.toLowerCase()!="div")){ throw "CanvasRenderer() - needs to be enclosed in "; } this.xlabels=new Array(); this.ylabels=new Array(); this.isFirstRender=true; this.area={x:this.options.padding.left,y:this.options.padding.top,w:this.width-this.options.padding.left-this.options.padding.right,h:this.height-this.options.padding.top-this.options.padding.bottom}; MochiKit.DOM.updateNodeAttributes(this.container,{"style":{"position":"relative","width":this.width+"px"}}); }; PlotKit.CanvasRenderer.prototype.render=function(){ if(this.isIE){ try{ if(this.renderDelay){ this.renderDelay.cancel(); this.renderDelay=null; } var _166=this.element.getContext("2d"); } catch(e){ this.isFirstRender=false; if(this.maxTries-->0){ this.renderDelay=MochiKit.Async.wait(this.IEDelay); this.renderDelay.addCallback(bind(this.render,this)); } return; } } if(this.options.drawBackground){ this._renderBackground(); } if(this.layout.style=="bar"){ this._renderBarChart(); this._renderBarAxis(); }else{ if(this.layout.style=="pie"){ this._renderPieChart(); this._renderPieAxis(); }else{ if(this.layout.style=="line"){ this._renderLineChart(); this._renderLineAxis(); } } } }; PlotKit.CanvasRenderer.prototype._renderBarChartWrap=function(data,_168){ var _169=this.element.getContext("2d"); var _170=this.options.colorScheme.length; var _171=this.options.colorScheme; var _172=MochiKit.Base.keys(this.layout.datasets); var _173=_172.length; for(var i=0;i<_173;i++){ var _174=_172[i]; var _175=_171[i%_170]; _169.save(); _169.fillStyle=_175.toRGBString(); if(this.options.strokeColor){ _169.strokeStyle=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _169.strokeStyle=_175[this.options.strokeColorTransform]().toRGBString(); } } _169.lineWidth=this.options.strokeWidth; var _176=function(obj){ if(obj.name==_174){ _168(_169,obj); } }; MochiKit.Iter.forEach(data,bind(_176,this)); _169.restore(); } }; PlotKit.CanvasRenderer.prototype._renderBarChart=function(){ var bind=MochiKit.Base.bind; var _178=function(_179,bar){ var x=this.area.w*bar.x+this.area.x; var y=this.area.h*bar.y+this.area.y; var w=this.area.w*bar.w; var h=this.area.h*bar.h; if((w<1)||(h<1)){ return; } if(this.options.shouldFill){ _179.fillRect(x,y,w,h); } if(this.options.shouldStroke){ _179.strokeRect(x,y,w,h); } }; this._renderBarChartWrap(this.layout.bars,bind(_178,this)); }; PlotKit.CanvasRenderer.prototype._renderLineChart=function(){ var _182=this.element.getContext("2d"); var _183=this.options.colorScheme.length; var _184=this.options.colorScheme; var _185=MochiKit.Base.keys(this.layout.datasets); var _186=_185.length; var bind=MochiKit.Base.bind; var _187=MochiKit.Base.partial; for(var i=0;i<_186;i++){ var _188=_185[i]; var _189=_184[i%_183]; var _190=this.options.strokeColorTransform; _182.save(); _182.fillStyle=_189.toRGBString(); if(this.options.strokeColor){ _182.strokeStyle=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _182.strokeStyle=_189[_190]().toRGBString(); } } _182.lineWidth=this.options.strokeWidth; var _191=function(ctx){ ctx.beginPath(); ctx.moveTo(this.area.x,this.area.y+this.area.h); var _193=function(ctx_,_195){ if(_195.name==_188){ ctx_.lineTo(this.area.w*_195.x+this.area.x,this.area.h*_195.y+this.area.y); } }; MochiKit.Iter.forEach(this.layout.points,_187(_193,ctx),this); ctx.lineTo(this.area.w+this.area.x,this.area.h+this.area.y); ctx.lineTo(this.area.x,this.area.y+this.area.h); ctx.closePath(); }; if(this.options.shouldFill){ bind(_191,this)(_182); _182.fill(); } if(this.options.shouldStroke){ bind(_191,this)(_182); _182.stroke(); } _182.restore(); } }; PlotKit.CanvasRenderer.prototype._renderPieChart=function(){ var _196=this.element.getContext("2d"); var _197=this.options.colorScheme.length; var _198=this.layout.slices; var _199=this.area.x+this.area.w*0.5; var _200=this.area.y+this.area.h*0.5; var _201=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); if(this.isIE){ _199=parseInt(_199); _200=parseInt(_200); _201=parseInt(_201); } for(var i=0;i<_198.length;i++){ var _202=this.options.colorScheme[i%_197]; _196.save(); _196.fillStyle=_202.toRGBString(); var _203=function(){ _196.beginPath(); _196.moveTo(_199,_200); _196.arc(_199,_200,_201,_198[i].startAngle-Math.PI/2,_198[i].endAngle-Math.PI/2,false); _196.lineTo(_199,_200); _196.closePath(); }; if(Math.abs(_198[i].startAngle-_198[i].endAngle)>0.001){ if(this.options.shouldFill){ _203(); _196.fill(); } if(this.options.shouldStroke){ _203(); _196.lineWidth=this.options.strokeWidth; if(this.options.strokeColor){ _196.strokeStyle=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _196.strokeStyle=_202[this.options.strokeColorTransform]().toRGBString(); } } _196.stroke(); } } _196.restore(); } }; PlotKit.CanvasRenderer.prototype._renderBarAxis=function(){ this._renderAxis(); }; PlotKit.CanvasRenderer.prototype._renderLineAxis=function(){ this._renderAxis(); }; PlotKit.CanvasRenderer.prototype._renderAxis=function(){ if(!this.options.drawXAxis&&!this.options.drawYAxis){ return; } var _204=this.element.getContext("2d"); var _205={"style":{"position":"absolute","fontSize":this.options.axisLabelFontSize+"px","zIndex":10,"color":this.options.axisLabelColor.toRGBString(),"width":this.options.axisLabelWidth+"px","overflow":"hidden"}}; _204.save(); _204.strokeStyle=this.options.axisLineColor.toRGBString(); _204.lineWidth=this.options.axisLineWidth; if(this.options.drawYAxis){ if(this.layout.yticks){ var _206=function(tick){ if(typeof (tick)=="function"){ return; } var x=this.area.x; var y=this.area.y+tick[0]*this.area.h; _204.beginPath(); _204.moveTo(x,y); _204.lineTo(x-this.options.axisTickSize,y); _204.closePath(); _204.stroke(); var _207=DIV(_205,tick[1]); _207.style.top=(y-this.options.axisLabelFontSize)+"px"; _207.style.left=(x-this.options.padding.left-this.options.axisTickSize)+"px"; _207.style.textAlign="right"; _207.style.width=(this.options.padding.left-this.options.axisTickSize*2)+"px"; MochiKit.DOM.appendChildNodes(this.container,_207); this.ylabels.push(_207); }; MochiKit.Iter.forEach(this.layout.yticks,bind(_206,this)); } _204.beginPath(); _204.moveTo(this.area.x,this.area.y); _204.lineTo(this.area.x,this.area.y+this.area.h); _204.closePath(); _204.stroke(); } if(this.options.drawXAxis){ if(this.layout.xticks){ var _206=function(tick){ if(typeof (dataset)=="function"){ return; } var x=this.area.x+tick[0]*this.area.w; var y=this.area.y+this.area.h; _204.beginPath(); _204.moveTo(x,y); _204.lineTo(x,y+this.options.axisTickSize); _204.closePath(); _204.stroke(); var _208=DIV(_205,tick[1]); _208.style.top=(y+this.options.axisTickSize)+"px"; _208.style.left=(x-this.options.axisLabelWidth/2)+"px"; _208.style.textAlign="center"; _208.style.width=this.options.axisLabelWidth+"px"; MochiKit.DOM.appendChildNodes(this.container,_208); this.xlabels.push(_208); }; MochiKit.Iter.forEach(this.layout.xticks,bind(_206,this)); } _204.beginPath(); _204.moveTo(this.area.x,this.area.y+this.area.h); _204.lineTo(this.area.x+this.area.w,this.area.y+this.area.h); _204.closePath(); _204.stroke(); } _204.restore(); }; PlotKit.CanvasRenderer.prototype._renderPieAxis=function(){ if(!this.options.drawXAxis){ return; } if(this.layout.xticks){ var _209=new Array(); for(var i=0;iMath.PI*2){ _216=_216-Math.PI*2; }else{ if(_216<0){ _216=_216+Math.PI*2; } } var _217=_210+Math.sin(_216)*(_212+10); var _218=_211-Math.cos(_216)*(_212+10); var _219={"position":"absolute","zIndex":11,"width":_213+"px","fontSize":this.options.axisLabelFontSize+"px","overflow":"hidden","color":this.options.axisLabelColor.toHexString()}; if(_216<=Math.PI*0.5){ _219["textAlign"]="left"; _219["verticalAlign"]="top"; _219["left"]=_217+"px"; _219["top"]=(_218-this.options.axisLabelFontSize)+"px"; }else{ if((_216>Math.PI*0.5)&&(_216<=Math.PI)){ _219["textAlign"]="left"; _219["verticalAlign"]="bottom"; _219["left"]=_217+"px"; _219["top"]=_218+"px"; }else{ if((_216>Math.PI)&&(_216<=Math.PI*1.5)){ _219["textAlign"]="right"; _219["verticalAlign"]="bottom"; _219["left"]=(_217-_213)+"px"; _219["top"]=_218+"px"; }else{ _219["textAlign"]="right"; _219["verticalAlign"]="bottom"; _219["left"]=(_217-_213)+"px"; _219["top"]=(_218-this.options.axisLabelFontSize)+"px"; } } } var _220=DIV({"style":_219},this.layout.xticks[i][1]); this.xlabels.push(_220); MochiKit.DOM.appendChildNodes(this.container,_220); } } }; PlotKit.CanvasRenderer.prototype._renderBackground=function(){ var _221=this.element.getContext("2d"); _221.save(); _221.fillStyle=this.options.backgroundColor.toRGBString(); _221.fillRect(0,0,this.width,this.height); _221.restore(); }; PlotKit.CanvasRenderer.prototype.clear=function(){ if(this.isIE){ try{ if(this.clearDelay){ this.clearDelay.cancel(); this.clearDelay=null; } var _222=this.element.getContext("2d"); } catch(e){ this.isFirstRender=false; this.clearDelay=MochiKit.Async.wait(this.IEDelay); this.clearDelay.addCallback(bind(this.clear,this)); return; } } var _222=this.element.getContext("2d"); _222.clearRect(0,0,this.width,this.height); MochiKit.Iter.forEach(this.xlabels,MochiKit.DOM.removeElement); MochiKit.Iter.forEach(this.ylabels,MochiKit.DOM.removeElement); this.xlabels=new Array(); this.ylabels=new Array(); }; PlotKit.CanvasRenderer.prototype._initialiseEvents=function(){ var _223=MochiKit.Signal.connect; var bind=MochiKit.Base.bind; _223(this.element,"onclick",bind(this.onclick,this)); }; PlotKit.CanvasRenderer.prototype._resolveObject=function(e){ var x=(e.mouse().page.x-PlotKit.Base.findPosX(this.element)-this.area.x)/this.area.w; var y=(e.mouse().page.y-PlotKit.Base.findPosY(this.element)-this.area.y)/this.area.h; var _225=this.layout.hitTest(x,y); if(_225){ return _225; } return null; }; PlotKit.CanvasRenderer.prototype._createEventObject=function(_226,e){ if(_226==null){ return null; } e.chart=_226; return e; }; PlotKit.CanvasRenderer.prototype.onclick=function(e){ var _227=this._resolveObject(e); var _228=this._createEventObject(_227,e); if(_228!=null){ MochiKit.Signal.signal(this,"onclick",_228); } }; PlotKit.CanvasRenderer.prototype.onmouseover=function(e){ var _229=this._resolveObject(e); var _230=this._createEventObject(_229,e); if(_230!=null){ signal(this,"onmouseover",_230); } }; PlotKit.CanvasRenderer.prototype.onmouseout=function(e){ var _231=this._resolveObject(e); var _232=this._createEventObject(_231,e); if(_232==null){ signal(this,"onmouseout",e); }else{ signal(this,"onmouseout",_232); } }; PlotKit.CanvasRenderer.prototype.onmousemove=function(e){ var _233=this._resolveObject(e); var _234=this._createEventObject(_233,e); if((_233==null)&&(this.event_isinside==null)){ return; } if((_233!=null)&&(this.event_isinside==null)){ signal(this,"onmouseover",_234); } if((_233==null)&&(this.event_isinside!=null)){ signal(this,"onmouseout",_234); } if((_233!=null)&&(this.event_isinside!=null)){ signal(this,"onmousemove",_234); } this.event_isinside=_233; }; PlotKit.CanvasRenderer.isSupported=function(_235){ var _236=null; try{ if(MochiKit.Base.isUndefinedOrNull(_235)){ _236=MochiKit.DOM.CANVAS({}); }else{ _236=MochiKit.DOM.getElement(_235); } var _237=_236.getContext("2d"); } catch(e){ var ie=navigator.appVersion.match(/MSIE (\d\.\d)/); var _239=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1); if((!ie)||(ie[1]<6)||(_239)){ return false; } return true; } return true; }; PlotKit.Canvas={}; PlotKit.Canvas.CanvasRenderer=PlotKit.CanvasRenderer; PlotKit.Canvas.EXPORT=["CanvasRenderer"]; PlotKit.Canvas.EXPORT_OK=["CanvasRenderer"]; PlotKit.Canvas.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.Canvas.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.Canvas); try{ if(typeof (PlotKit.Layout)=="undefined"){ throw ""; } } catch(e){ throw "PlotKit depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.Layout"; } PlotKit.SVGRenderer=function(_240,_241,_242){ if(arguments.length>0){ this.__init__(_240,_241,_242); } }; PlotKit.SVGRenderer.NAME="PlotKit.SVGRenderer"; PlotKit.SVGRenderer.VERSION=PlotKit.VERSION; PlotKit.SVGRenderer.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.SVGRenderer.toString=function(){ return this.__repr__(); }; PlotKit.SVGRenderer.SVGNS="http://www.w3.org/2000/svg"; PlotKit.SVGRenderer.prototype.__init__=function(_243,_244,_245){ var _246=MochiKit.Base.isUndefinedOrNull; this.options={"drawBackground":true,"backgroundColor":Color.whiteColor(),"padding":{left:30,right:30,top:5,bottom:10},"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[1]),"strokeColor":Color.whiteColor(),"strokeColorTransform":"asStrokeColor","strokeWidth":0.5,"shouldFill":true,"shouldStroke":true,"drawXAxis":true,"drawYAxis":true,"axisLineColor":Color.blackColor(),"axisLineWidth":0.5,"axisTickSize":3,"axisLabelColor":Color.blackColor(),"axisLabelFont":"Arial","axisLabelFontSize":9,"axisLabelWidth":50,"axisLabelUseDiv":true,"pieRadius":0.4,"enableEvents":true}; MochiKit.Base.update(this.options,_245?_245:{}); this.layout=_244; this.element=MochiKit.DOM.getElement(_243); this.container=this.element.parentNode; this.height=parseInt(this.element.getAttribute("height")); this.width=parseInt(this.element.getAttribute("width")); this.document=document; this.root=this.element; try{ this.document=this.element.getSVGDocument(); this.root=_246(this.document.documentElement)?this.element:this.document.documentElement; } catch(e){ } this.element.style.zIndex=1; if(_246(this.element)){ throw "SVGRenderer() - passed SVG object is not found"; } if(_246(this.container)||this.container.nodeName.toLowerCase()!="div"){ throw "SVGRenderer() - No DIV's around the SVG."; } this.xlabels=new Array(); this.ylabels=new Array(); this.defs=this.createSVGElement("defs"); this.area={x:this.options.padding.left,y:this.options.padding.top,w:this.width-this.options.padding.left-this.options.padding.right,h:this.height-this.options.padding.top-this.options.padding.bottom}; MochiKit.DOM.updateNodeAttributes(this.container,{"style":{"position":"relative","width":this.width+"px"}}); }; PlotKit.SVGRenderer.prototype.render=function(){ if(this.options.drawBackground){ this._renderBackground(); } if(this.layout.style=="bar"){ this._renderBarChart(); this._renderBarAxis(); }else{ if(this.layout.style=="pie"){ this._renderPieChart(); this._renderPieAxis(); }else{ if(this.layout.style=="line"){ this._renderLineChart(); this._renderLineAxis(); } } } }; PlotKit.SVGRenderer.prototype._renderBarOrLine=function(data,_247,_248,_249){ var _250=this.options.colorScheme.length; var _251=this.options.colorScheme; var _252=MochiKit.Base.keys(this.layout.datasets); var _253=_252.length; for(var i=0;i<_253;i++){ var _254=_252[i]; var _255=new Array(); var _256=_251[i%_250]; if(this.options.shouldFill){ _255["fill"]=_256.toRGBString(); }else{ _255["fill"]="none"; } if(this.options.shouldStroke&&(this.options.strokeColor||this.options.strokeColorTransform)){ if(this.options.strokeColor){ _255["stroke"]=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _255["stroke"]=_256[this.options.strokeColorTransform]().toRGBString(); } } _255["strokeWidth"]=this.options.strokeWidth; } if(_248){ _248(_255); } var _257=function(obj){ if(obj.name==_254){ _247(_255,obj); } }; MochiKit.Iter.forEach(data,bind(_257,this)); if(_249){ _249(_255); } } }; PlotKit.SVGRenderer.prototype._renderBarChart=function(){ var bind=MochiKit.Base.bind; var _258=function(_259,bar){ var x=this.area.w*bar.x+this.area.x; var y=this.area.h*bar.y+this.area.y; var w=this.area.w*bar.w; var h=this.area.h*bar.h; this._drawRect(x,y,w,h,_259); }; this._renderBarOrLine(this.layout.bars,bind(_258,this)); }; PlotKit.SVGRenderer.prototype._renderLineChart=function(){ var bind=MochiKit.Base.bind; var _260=function(_261,_262){ this._tempPointsBuffer+=(this.area.w*_262.x+this.area.x)+","+(this.area.h*_262.y+this.area.y)+" "; }; var _263=function(_264){ this._tempPointsBuffer=""; this._tempPointsBuffer+=(this.area.x)+","+(this.area.y+this.area.h)+" "; }; var _265=function(_266){ this._tempPointsBuffer+=(this.area.w+this.area.x)+","+(this.area.h+this.area.y); _266["points"]=this._tempPointsBuffer; var elem=this.createSVGElement("polygon",_266); this.root.appendChild(elem); }; this._renderBarOrLine(this.layout.points,bind(_260,this),bind(_263,this),bind(_265,this)); }; PlotKit.SVGRenderer.prototype._renderPieChart=function(){ var _268=this.options.colorScheme.length; var _269=this.layout.slices; var _270=this.area.x+this.area.w*0.5; var _271=this.area.y+this.area.h*0.5; var _272=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); if(_269.length==1&&(Math.abs(_269[0].startAngle)-Math.abs(_269[0].endAngle)<0.1)){ var _273={"cx":_270,"cy":_271,"r":_272}; var _274=this.options.colorScheme[0]; if(this.options.shouldFill){ _273["fill"]=_274.toRGBString(); }else{ _273["fill"]="none"; } if(this.options.shouldStroke&&(this.options.strokeColor||this.options.strokeColorTransform)){ if(this.options.strokeColor){ _273["stroke"]=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _273["stroke"]=_274[this.options.strokeColorTransform]().toRGBString(); } } _273["style"]="stroke-width: "+this.options.strokeWidth; } this.root.appendChild(this.createSVGElement("circle",_273)); return; } for(var i=0;i<_269.length;i++){ var _273=new Array(); var _274=this.options.colorScheme[i%_268]; if(this.options.shouldFill){ _273["fill"]=_274.toRGBString(); }else{ _273["fill"]="none"; } if(this.options.shouldStroke&&(this.options.strokeColor||this.options.strokeColorTransform)){ if(this.options.strokeColor){ _273["stroke"]=this.options.strokeColor.toRGBString(); }else{ if(this.options.strokeColorTransform){ _273["stroke"]=_274[this.options.strokeColorTransform]().toRGBString(); } } _273["style"]="stroke-width:"+this.options.strokeWidth; } var _275=0; if(Math.abs(_269[i].endAngle-_269[i].startAngle)>Math.PI){ _275=1; } var x1=Math.cos(_269[i].startAngle-Math.PI/2)*_272; var y1=Math.sin(_269[i].startAngle-Math.PI/2)*_272; var x2=Math.cos(_269[i].endAngle-Math.PI/2)*_272; var y2=Math.sin(_269[i].endAngle-Math.PI/2)*_272; var rx=x2-x1; var ry=y2-y1; var _282="M"+_270+","+_271+" "; _282+="l"+x1+","+y1+" "; _282+="a"+_272+","+_272+" 0 "+_275+",1 "+rx+","+ry+" z"; _273["d"]=_282; var elem=this.createSVGElement("path",_273); this.root.appendChild(elem); } }; PlotKit.SVGRenderer.prototype._renderBarAxis=function(){ this._renderAxis(); }; PlotKit.SVGRenderer.prototype._renderLineAxis=function(){ this._renderAxis(); }; PlotKit.SVGRenderer.prototype._renderAxis=function(){ if(!this.options.drawXAxis&&!this.options.drawYAxis){ return; } var _283={"style":{"position":"absolute","textAlign":"center","fontSize":this.options.axisLabelFontSize+"px","zIndex":10,"color":this.options.axisLabelColor.toRGBString(),"width":this.options.axisLabelWidth+"px","overflow":"hidden"}}; var _284={"stroke":this.options.axisLineColor.toRGBString(),"strokeWidth":this.options.axisLineWidth}; if(this.options.drawYAxis){ if(this.layout.yticks){ var _285=function(tick){ var x=this.area.x; var y=this.area.y+tick[0]*this.area.h; this._drawLine(x,y,x-3,y,_284); if(this.options.axisLabelUseDiv){ var _286=DIV(_283,tick[1]); _286.style.top=(y-this.options.axisLabelFontSize)+"px"; _286.style.left=(x-this.options.padding.left+this.options.axisTickSize)+"px"; _286.style.textAlign="left"; _286.style.width=(this.options.padding.left-3)+"px"; MochiKit.DOM.appendChildNodes(this.container,_286); this.ylabels.push(_286); }else{ var _287={y:y+3,x:(x-this.options.padding.left+3),width:(this.options.padding.left-this.options.axisTickSize)+"px",height:(this.options.axisLabelFontSize+3)+"px",fontFamily:"Arial",fontSize:this.options.axisLabelFontSize+"px",fill:this.options.axisLabelColor.toRGBString()}; var _286=this.createSVGElement("text",_287); _286.appendChild(this.document.createTextNode(tick[1])); this.root.appendChild(_286); } }; MochiKit.Iter.forEach(this.layout.yticks,bind(_285,this)); } this._drawLine(this.area.x,this.area.y,this.area.x,this.area.y+this.area.h,_284); } if(this.options.drawXAxis){ if(this.layout.xticks){ var _285=function(tick){ var x=this.area.x+tick[0]*this.area.w; var y=this.area.y+this.area.h; this._drawLine(x,y,x,y+this.options.axisTickSize,_284); if(this.options.axisLabelUseDiv){ var _288=DIV(_283,tick[1]); _288.style.top=(y+this.options.axisTickSize)+"px"; _288.style.left=(x-this.options.axisLabelWidth/2)+"px"; _288.style.textAlign="center"; _288.style.width=this.options.axisLabelWidth+"px"; MochiKit.DOM.appendChildNodes(this.container,_288); this.xlabels.push(_288); }else{ var _289={y:(y+this.options.axisTickSize+this.options.axisLabelFontSize),x:x-3,width:this.options.axisLabelWidth+"px",height:(this.options.axisLabelFontSize+3)+"px",fontFamily:"Arial",fontSize:this.options.axisLabelFontSize+"px",fill:this.options.axisLabelColor.toRGBString(),textAnchor:"middle"}; var _288=this.createSVGElement("text",_289); _288.appendChild(this.document.createTextNode(tick[1])); this.root.appendChild(_288); } }; MochiKit.Iter.forEach(this.layout.xticks,bind(_285,this)); } this._drawLine(this.area.x,this.area.y+this.area.h,this.area.x+this.area.w,this.area.y+this.area.h,_284); } }; PlotKit.SVGRenderer.prototype._renderPieAxis=function(){ if(this.layout.xticks){ var _290=new Array(); for(var i=0;iMath.PI*2){ _297=_297-Math.PI*2; }else{ if(_297<0){ _297=_297+Math.PI*2; } } var _298=_291+Math.sin(_297)*(_293+10); var _299=_292-Math.cos(_297)*(_293+10); var _300={"position":"absolute","zIndex":11,"width":_294+"px","fontSize":this.options.axisLabelFontSize+"px","overflow":"hidden","color":this.options.axisLabelColor.toHexString()}; var _301={"width":_294+"px","fontSize":this.options.axisLabelFontSize+"px","height":(this.options.axisLabelFontSize+3)+"px","fill":this.options.axisLabelColor.toRGBString()}; if(_297<=Math.PI*0.5){ MochiKit.Base.update(_300,{"textAlign":"left","verticalAlign":"top","left":_298+"px","top":(_299-this.options.axisLabelFontSize)+"px"}); MochiKit.Base.update(_301,{"x":_298,"y":(_299-this.options.axisLabelFontSize),"textAnchor":"left"}); }else{ if((_297>Math.PI*0.5)&&(_297<=Math.PI)){ MochiKit.Base.update(_300,{"textAlign":"left","verticalAlign":"bottom","left":_298+"px","top":_299+"px"}); MochiKit.Base.update(_301,{"textAnchor":"left","x":_298,"y":_299}); }else{ if((_297>Math.PI)&&(_297<=Math.PI*1.5)){ MochiKit.Base.update(_300,{"textAlign":"right","verticalAlign":"bottom","left":_298+"px","top":_299+"px"}); MochiKit.Base.update(_301,{"textAnchor":"right","x":_298-_294,"y":_299}); }else{ MochiKit.Base.update(_300,{"textAlign":"left","verticalAlign":"bottom","left":_298+"px","top":_299+"px"}); MochiKit.Base.update(_301,{"textAnchor":"left","x":_298-_294,"y":_299-this.options.axisLabelFontSize}); } } } if(this.options.axisLabelUseDiv){ var _302=DIV({"style":_300},this.layout.xticks[i][1]); this.xlabels.push(_302); MochiKit.DOM.appendChildNodes(this.container,_302); }else{ var _302=this.createSVGElement("text",_301); _302.appendChild(this.document.createTextNode(this.layout.xticks[i][1])); this.root.appendChild(_302); } } } }; PlotKit.SVGRenderer.prototype._renderBackground=function(){ var opts={"stroke":"none","fill":this.options.backgroundColor.toRGBString()}; this._drawRect(0,0,this.width,this.height,opts); }; PlotKit.SVGRenderer.prototype._drawRect=function(x,y,w,h,_304){ var _305={x:x+"px",y:y+"px",width:w+"px",height:h+"px"}; if(_304){ MochiKit.Base.update(_305,_304); } var elem=this.createSVGElement("rect",_305); this.root.appendChild(elem); }; PlotKit.SVGRenderer.prototype._drawLine=function(x1,y1,x2,y2,_306){ var _307={x1:x1+"px",y1:y1+"px",x2:x2+"px",y2:y2+"px"}; if(_306){ MochiKit.Base.update(_307,_306); } var elem=this.createSVGElement("line",_307); this.root.appendChild(elem); }; PlotKit.SVGRenderer.prototype.clear=function(){ while(this.element.firstChild){ this.element.removeChild(this.element.firstChild); } if(this.options.axisLabelUseDiv){ for(var i=0;i=6)&&(!_313)){ var _314=_312["width"]?_312["width"]:"100"; var _315=_312["height"]?_312["height"]:"100"; var eid=_312["id"]?_312["id"]:"notunique"; var html=""; var _318=document.createElement(html); var _319=_318.getSVGDocument().createElementNS(PlotKit.SVGRenderer.SVGNS,"svg"); _319.setAttribute("width",_314); _319.setAttribute("height",_315); _318.getSVGDocument().appendChild(_319); return _318; }else{ return PlotKit.SVGRenderer.prototype.createSVGElement("svg",_312); } }; PlotKit.SVGRenderer.isSupported=function(){ var _320=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1); var _321=navigator.appVersion.match(/MSIE (\d\.\d)/); var _322=navigator.userAgent.match(/AppleWebKit\/(\d+)/); var _323=navigator.userAgent.match(/Opera\/(\d*\.\d*)/); var _324=navigator.userAgent.match(/rv:(\d*\.\d*).*Gecko/); var _325="http://www.w3.org/TR/SVG11/feature#SVG"; if(_321&&(_321[1]>=6)&&!_320){ return document.implementation.hasFeature(_325,"1.1"); } if(_323&&(_323[1]>8.9)){ return true; } if(_324&&(_324>1.7)){ return true; } return false; }; PlotKit.SVG={}; PlotKit.SVG.SVGRenderer=PlotKit.SVGRenderer; PlotKit.SVG.EXPORT=["SVGRenderer"]; PlotKit.SVG.EXPORT_OK=["SVGRenderer"]; PlotKit.SVG.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.SVG.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.SVG); try{ if(typeof (PlotKit.CanvasRenderer)=="undefined"){ throw ""; } } catch(e){ throw "SweetCanvas depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.{Layout, Canvas}"; } if(typeof (PlotKit.SweetCanvasRenderer)=="undefined"){ PlotKit.SweetCanvasRenderer={}; } PlotKit.SweetCanvasRenderer=function(_326,_327,_328){ if(arguments.length>0){ this.__init__(_326,_327,_328); } }; PlotKit.SweetCanvasRenderer.NAME="PlotKit.SweetCanvasRenderer"; PlotKit.SweetCanvasRenderer.VERSION=PlotKit.VERSION; PlotKit.SweetCanvasRenderer.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.SweetCanvasRenderer.toString=function(){ return this.__repr__(); }; PlotKit.SweetCanvasRenderer.prototype=new PlotKit.CanvasRenderer(); PlotKit.SweetCanvasRenderer.prototype.constructor=PlotKit.SweetCanvasRenderer; PlotKit.SweetCanvasRenderer.__super__=PlotKit.CanvasRenderer.prototype; PlotKit.SweetCanvasRenderer.prototype.__init__=function(el,_330,opts){ var _331=PlotKit.Base.officeBlue(); MochiKit.Base.update(_331,opts); PlotKit.SweetCanvasRenderer.__super__.__init__.call(this,el,_330,_331); }; PlotKit.SweetCanvasRenderer.prototype._renderBarChart=function(){ var bind=MochiKit.Base.bind; var _332=Color.blackColor().colorWithAlpha(0.1).toRGBString(); var _333=function(_334,x,y,w,h){ _334.fillStyle=_332; _334.fillRect(x-2,y-2,w+4,h+2); _334.fillStyle=_332; _334.fillRect(x-1,y-1,w+2,h+1); }; var _335=this.options.colorScheme.length; var _336=this.options.colorScheme; var _337=PlotKit.Base.keys(this.layout.datasets); var _338=_337.length; var _339=function(name){ for(var i=0;i<_338;i++){ if(name==_337[i]){ return _336[i%_335]; } } return _336[0]; }; var _340=function(_341,bar){ var x=this.area.w*bar.x+this.area.x; var y=this.area.h*bar.y+this.area.y; var w=this.area.w*bar.w; var h=this.area.h*bar.h; if((w<1)||(h<1)){ return; } _341.save(); _341.shadowBlur=5; _341.shadowColor=Color.fromHexString("#888888").toRGBString(); if(this.isIE){ _341.save(); _341.fillStyle="#cccccc"; _341.fillRect(x-2,y-2,w+4,h+2); _341.restore(); }else{ _333(_341,x,y,w,h); } if(this.options.shouldFill){ _341.fillStyle=_339(bar.name).toRGBString(); _341.fillRect(x,y,w,h); } _341.shadowBlur=0; _341.strokeStyle=Color.whiteColor().toRGBString(); _341.lineWidth=2; if(this.options.shouldStroke){ _341.strokeRect(x,y,w,h); } _341.restore(); }; this._renderBarChartWrap(this.layout.bars,bind(_340,this)); }; PlotKit.SweetCanvasRenderer.prototype._renderLineChart=function(){ var _342=this.element.getContext("2d"); var _343=this.options.colorScheme.length; var _344=this.options.colorScheme; var _345=PlotKit.Base.keys(this.layout.datasets); var _346=_345.length; var bind=MochiKit.Base.bind; for(var i=0;i<_346;i++){ var _347=_345[i]; var _348=_344[i%_343]; var _349=this.options.strokeColorTransform; _342.save(); var _350=function(ctx){ ctx.beginPath(); ctx.moveTo(this.area.x,this.area.y+this.area.h); var _351=function(ctx_,_352){ if(_352.name==_347){ ctx_.lineTo(this.area.w*_352.x+this.area.x,this.area.h*_352.y+this.area.y); } }; MochiKit.Iter.forEach(this.layout.points,partial(_351,ctx),this); ctx.lineTo(this.area.w+this.area.x,this.area.h+this.area.y); ctx.lineTo(this.area.x,this.area.y+this.area.h); ctx.closePath(); }; if(this.options.shouldFill){ _342.save(); if(this.isIE){ _342.fillStyle="#cccccc"; }else{ _342.fillStyle=Color.blackColor().colorWithAlpha(0.2).toRGBString(); } _342.translate(-1,-2); bind(_350,this)(_342); if(this.options.shouldFill){ _342.fill(); } _342.restore(); } _342.shadowBlur=5; _342.shadowColor=Color.fromHexString("#888888").toRGBString(); _342.fillStyle=_348.toRGBString(); _342.lineWidth=2; _342.strokeStyle=Color.whiteColor().toRGBString(); if(this.options.shouldFill){ bind(_350,this)(_342); _342.fill(); } if(this.options.shouldStroke){ bind(_350,this)(_342); _342.stroke(); } _342.restore(); } }; PlotKit.SweetCanvasRenderer.prototype._renderPieChart=function(){ var _353=this.element.getContext("2d"); var _354=this.options.colorScheme.length; var _355=this.layout.slices; var _356=this.area.x+this.area.w*0.5; var _357=this.area.y+this.area.h*0.5; var _358=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); if(this.isIE){ _356=parseInt(_356); _357=parseInt(_357); _358=parseInt(_358); } if(!this.isIE){ _353.save(); var _359=Color.blackColor().colorWithAlpha(0.2); _353.fillStyle=_359.toRGBString(); _353.shadowBlur=5; _353.shadowColor=Color.fromHexString("#888888").toRGBString(); _353.translate(1,1); _353.beginPath(); _353.moveTo(_356,_357); _353.arc(_356,_357,_358+2,0,Math.PI*2,false); _353.closePath(); _353.fill(); _353.restore(); } _353.save(); _353.strokeStyle=Color.whiteColor().toRGBString(); _353.lineWidth=2; for(var i=0;i<_355.length;i++){ var _360=this.options.colorScheme[i%_354]; _353.fillStyle=_360.toRGBString(); var _361=function(){ _353.beginPath(); _353.moveTo(_356,_357); _353.arc(_356,_357,_358,_355[i].startAngle-Math.PI/2,_355[i].endAngle-Math.PI/2,false); _353.lineTo(_356,_357); _353.closePath(); }; if(Math.abs(_355[i].startAngle-_355[i].endAngle)>0.0001){ if(this.options.shouldFill){ _361(); _353.fill(); } if(this.options.shouldStroke){ _361(); _353.stroke(); } } } _353.restore(); }; PlotKit.SweetCanvasRenderer.prototype._renderBackground=function(){ var _362=this.element.getContext("2d"); if(this.layout.style=="bar"||this.layout.style=="line"){ _362.save(); _362.fillStyle=this.options.backgroundColor.toRGBString(); _362.fillRect(this.area.x,this.area.y,this.area.w,this.area.h); _362.strokeStyle=this.options.axisLineColor.toRGBString(); _362.lineWidth=1; var _363=this.layout.yticks; var _364=false; if(this.layout.style=="bar"&&this.layout.options.barOrientation=="horizontal"){ _363=this.layout.xticks; _364=true; } for(var i=0;i<_363.length;i++){ var x1=0; var y1=0; var x2=0; var y2=0; if(_364){ x1=_363[i][0]*this.area.w+this.area.x; y1=this.area.y; x2=x1; y2=y1+this.area.h; }else{ x1=this.area.x; y1=_363[i][0]*this.area.h+this.area.y; x2=x1+this.area.w; y2=y1; } _362.beginPath(); _362.moveTo(x1,y1); _362.lineTo(x2,y2); _362.closePath(); _362.stroke(); } _362.restore(); }else{ PlotKit.SweetCanvasRenderer.__super__._renderBackground.call(this); } }; PlotKit.SweetCanvas={}; PlotKit.SweetCanvas.SweetCanvasRenderer=PlotKit.SweetCanvasRenderer; PlotKit.SweetCanvas.EXPORT=["SweetCanvasRenderer"]; PlotKit.SweetCanvas.EXPORT_OK=["SweetCanvasRenderer"]; PlotKit.SweetCanvas.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.SweetCanvas.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.SweetCanvas); try{ if(typeof (PlotKit.SVGRenderer)=="undefined"){ throw ""; } } catch(e){ throw "SweetSVG depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.{Layout, SVG}"; } if(typeof (PlotKit.SweetSVGRenderer)=="undefined"){ PlotKit.SweetSVGRenderer={}; } PlotKit.SweetSVGRenderer=function(_365,_366,_367){ if(arguments.length>0){ this.__init__(_365,_366,_367); } }; PlotKit.SweetSVGRenderer.NAME="PlotKit.SweetSVGRenderer"; PlotKit.SweetSVGRenderer.VERSION=PlotKit.VERSION; PlotKit.SweetSVGRenderer.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.SweetSVGRenderer.toString=function(){ return this.__repr__(); }; PlotKit.SweetSVGRenderer.prototype=new PlotKit.SVGRenderer(); PlotKit.SweetSVGRenderer.prototype.constructor=PlotKit.SweetSVGRenderer; PlotKit.SweetSVGRenderer.__super__=PlotKit.SVGRenderer.prototype; PlotKit.SweetSVGRenderer.prototype.__init__=function(_368,_369,_370){ var _371=PlotKit.Base.officeBlue(); MochiKit.Base.update(_371,_370); PlotKit.SweetSVGRenderer.__super__.__init__.call(this,_368,_369,_371); }; PlotKit.SweetSVGRenderer.prototype._addDropShadowFilter=function(){ var _372=this.createSVGElement("filter",{x:0,y:0,"id":"dropShadow"}); var _373=this.createSVGElement("feOffset",{"in":"SourceGraphic","dx":0,"dy":0,"result":"topCopy"}); var blur=this.createSVGElement("feGaussianBlur",{"in":"SourceAlpha","StdDeviation":2,"result":"shadow"}); var _375=this.createSVGElement("feOffset",{"in":"shadow","dx":-1,"dy":-2,"result":"movedShadow"}); var _376=this.createSVGElement("feMerge"); var _377=this.createSVGElement("feMergeNode",{"in":"topCopy"}); var _378=this.createSVGElement("feMergeNode",{"in":"movedShadow"}); _376.appendChild(_377); _376.appendChild(_378); _372.appendChild(_373); _372.appendChild(blur); _372.appendChild(_375); _372.appendChild(_376); this.defs.appendChild(_372); }; PlotKit.SweetSVGRenderer.prototype._renderBarChart=function(){ var bind=MochiKit.Base.bind; var _379=Color.blackColor().toRGBString(); var _380="fill:"+_379+";fill-opacity:0.15"; var _381="stroke-width: 2.0; stroke:"+Color.whiteColor().toRGBString(); var _382=function(_383,bar){ var x=this.area.w*bar.x+this.area.x; var y=this.area.h*bar.y+this.area.y; var w=this.area.w*bar.w; var h=this.area.h*bar.h; if((w<1)||(h<1)){ return; } _383["style"]=_381; this._drawRect(x-2,y-1,w+4,h+2,{"style":_380}); this._drawRect(x,y,w,h,_383); }; this._renderBarOrLine(this.layout.bars,bind(_382,this)); }; PlotKit.SweetSVGRenderer.prototype._renderLineChart=function(){ var bind=MochiKit.Base.bind; var _384=Color.blackColor().toRGBString(); var _385="fill:"+_384+";fill-opacity:0.15"; var _386="stroke-width: 2.0; stroke:"+Color.whiteColor().toRGBString(); var _387=function(_388,_389){ this._tempPointsBuffer+=(this.area.w*_389.x+this.area.x)+","+(this.area.h*_389.y+this.area.y)+" "; }; var _390=function(_391){ this._tempPointsBuffer=""; this._tempPointsBuffer+=(this.area.x)+","+(this.area.y+this.area.h)+" "; }; var _392=function(_393){ this._tempPointsBuffer+=(this.area.w+this.area.x)+","+(this.area.h+this.area.y); _393["points"]=this._tempPointsBuffer; _393["stroke"]="none"; _393["transform"]="translate(-2, -1)"; _393["style"]=_385; var _394=this.createSVGElement("polygon",_393); this.root.appendChild(_394); _393["transform"]=""; _393["style"]=_386; var elem=this.createSVGElement("polygon",_393); this.root.appendChild(elem); }; this._renderBarOrLine(this.layout.points,bind(_387,this),bind(_390,this),bind(_392,this)); }; PlotKit.SweetSVGRenderer.prototype._renderPieChart=function(){ var _395=this.area.x+this.area.w*0.5; var _396=this.area.y+this.area.h*0.5; var _397=Color.blackColor().toRGBString(); var _398=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); var _399="fill:"+_397+";fill-opacity:0.15"; var _400=this.createSVGElement("circle",{"style":_399,"cx":_395+1,"cy":_396+1,"r":_398+1}); this.root.appendChild(_400); PlotKit.SweetSVGRenderer.__super__._renderPieChart.call(this); }; PlotKit.SweetSVGRenderer.prototype._renderBackground=function(){ var _401={"fill":this.options.backgroundColor.toRGBString(),"stroke":"none"}; if(this.layout.style=="bar"||this.layout.style=="line"){ this._drawRect(this.area.x,this.area.y,this.area.w,this.area.h,_401); var _402=this.layout.yticks; var _403=false; if(this.layout.style=="bar"&&this.layout.options.barOrientation=="horizontal"){ _402=this.layout.xticks; _403=true; } for(var i=0;i<_402.length;i++){ var x=0; var y=0; var w=0; var h=0; if(_403){ x=_402[i][0]*this.area.w+this.area.x; y=this.area.y; w=1; h=this.area.w; }else{ x=this.area.x; y=_402[i][0]*this.area.h+this.area.y; w=this.area.w; h=1; } this._drawRect(x,y,w,h,{"fill":this.options.axisLineColor.toRGBString()}); } }else{ PlotKit.SweetSVGRenderer.__super__._renderBackground.call(this); } }; PlotKit.SweetSVG={}; PlotKit.SweetSVG.SweetSVGRenderer=PlotKit.SweetSVGRenderer; PlotKit.SweetSVG.EXPORT=["SweetSVGRenderer"]; PlotKit.SweetSVG.EXPORT_OK=["SweetSVGRenderer"]; PlotKit.SweetSVG.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.SweetSVG.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.SweetSVG); try{ if(typeof (PlotKit.CanvasRenderer)=="undefined"){ throw ""; } } catch(e){ throw "PlotKit.EasyPlot depends on all of PlotKit's components"; } if(typeof (PlotKit.EasyPlot)=="undefined"){ PlotKit.EasyPlot={}; } PlotKit.EasyPlot.NAME="PlotKit.EasyPlot"; PlotKit.EasyPlot.VERSION=PlotKit.VERSION; PlotKit.EasyPlot.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; PlotKit.EasyPlot.toString=function(){ return this.__repr__(); }; PlotKit.EasyPlot=function(_404,_405,_406,_407){ this.layout=new Layout(_404,_405); this.divElem=_406; this.width=parseInt(_406.getAttribute("width")); this.height=parseInt(_406.getAttribute("height")); this.deferredCount=0; if(this.width<1){ this.width=this.divElem.width?this.divElem.width:300; } if(this.height<1){ this.height=this.divElem.height?this.divElem.height:300; } if(isArrayLike(_407)){ for(var i=0;i<_407.length;i++){ if(typeof (_407[i])=="string"){ this.deferredCount++; var d=MochiKit.Async.doSimpleXMLHttpRequest(_407[i]); d.addCallback(MochiKit.Base.bind(PlotKit.EasyPlot.onDataLoaded,this)); }else{ if(isArrayLike(_407[i])){ this.layout.addDataset("data-"+i,_407[i]); } } } }else{ if(!isUndefinedOrNull(_407)){ throw "Passed datasources are not Array like"; } } if(CanvasRenderer.isSupported()){ this.element=CANVAS({"id":this.divElem.getAttribute("id")+"-canvas","width":this.width,"height":this.height},""); this.divElem.appendChild(this.element); this.renderer=new SweetCanvasRenderer(this.element,this.layout,_405); }else{ if(SVGRenderer.isSupported()){ this.element=SVGRenderer.SVG({"id":this.divElem.getAttribute("id")+"-svg","width":this.width,"height":this.height,"version":"1.1","baseProfile":"full"},""); this.divElem.appendChild(this.element); this.renderer=new SweetSVGRenderer(this.element,this.layout,_405); } } if((this.deferredCount==0)&&(PlotKit.Base.keys(this.layout.datasets).length>0)){ this.layout.evaluate(); this.renderer.clear(); this.renderer.render(); } }; PlotKit.EasyPlot.onDataLoaded=function(_409){ var _410=new Array(); var _411=_409.responseText.split("\n"); for(var i=0;i<_411.length;i++){ var _412=MochiKit.Format.strip(_411[i]); if((_412.length>1)&&(_412.charAt(0)!="#")){ _410.push(_412.split(",")); } } this.layout.addDataset("data-ajax-"+this.deferredCount,_410); this.deferredCount--; if((this.deferredCount==0)&&(PlotKit.Base.keys(this.layout.datasets).length>0)){ this.layout.evaluate(); this.renderer.clear(); this.renderer.render(); } }; PlotKit.EasyPlot.prototype.reload=function(){ this.layout.evaluate(); this.renderer.clear(); this.renderer.render(); }; PlotKit.EasyPlotModule={}; PlotKit.EasyPlotModule.EasyPlot=PlotKit.EasyPlot; PlotKit.EasyPlotModule.EXPORT=["EasyPlot"]; PlotKit.EasyPlotModule.EXPORT_OK=[]; PlotKit.EasyPlotModule.__new__=function(){ var m=MochiKit.Base; m.nameFunctions(this); this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; }; PlotKit.EasyPlotModule.__new__(); MochiKit.Base._exportSymbols(this,PlotKit.EasyPlotModule);