moodle/lib/yuilib/3.9.0/build/series-bar-stacked/series-bar-stacked-min.js
2013-03-14 08:49:30 +01:00

2 lines
2.8 KiB
JavaScript

/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */
YUI.add("series-bar-stacked",function(e,t){var n=e.Lang;e.StackedBarSeries=e.Base.create("stackedBarSeries",e.BarSeries,[e.StackingUtil],{drawSeries:function(){if(this.get("xcoords").length<1)return;var t=n.isNumber,r=e.clone(this.get("styles").marker),i=r.width,s=r.height,o=this.get("xcoords"),u=this.get("ycoords"),a=0,f=o.length,l=u[0],c=this.get("type"),h=this.get("seriesTypeCollection"),p,d=this.get("order"),v=this.get("graphOrder"),m,g,y,b,w,E,S,x=d===0,T=f*s,N={width:[],height:[]},C=[],k=[],L=this.get("groupMarkers");n.isArray(r.fill.color)&&(E=r.fill.color.concat()),n.isArray(r.border.color)&&(S=r.border.color.concat()),this._createMarkerCache(),T>this.get("height")&&(p=this.get("height")/T,s*=p,s=Math.max(s,1));if(!x){y=h[d-1],b=y.get("negativeBaseValues"),w=y.get("positiveBaseValues");if(!b||!w)x=!0,w=[],b=[]}else b=[],w=[];this.set("negativeBaseValues",b),this.set("positiveBaseValues",w);for(a=0;a<f;++a){l=u[a],m=o[a];if(!t(l)||!t(m)){x&&(w[a]=this._leftOrigin,b[a]=this._leftOrigin),this._markers.push(null);continue}x?(i=Math.abs(m-this._leftOrigin),m>this._leftOrigin?(w[a]=m,b[a]=this._leftOrigin,m-=i):m<this._leftOrigin?(w[a]=this._leftOrigin,b[a]=m):(w[a]=m,b[a]=this._leftOrigin)):m<this._leftOrigin?(m=b[a]-(this._leftOrigin-o[a]),i=b[a]-m,b[a]=m):m>=this._leftOrigin&&(m+=w[a]-this._leftOrigin,i=m-w[a],w[a]=m,m-=i),!isNaN(i)&&i>0?(l-=s/2,L?(N.width[a]=i,N.height[a]=s,C.push(m),k.push(l)):(r.width=i,r.height=s,r.x=m,r.y=l,E&&(r.fill.color=E[a%E.length]),S&&(r.border.color=S[a%S.length]),g=this.getMarker(r,v,a))):L||this._markers.push(null)}L?this._createGroupMarker({fill:r.fill,border:r.border,dimensions:N,xvalues:C,yvalues:k,shape:r.shape}):this._clearMarkerCache()},updateMarkerState:function(t,r){if(this._markers[r]){var i=this._getState(t),s=this.get("ycoords"),o=this._markers[r],u=this.get("styles").marker,a=u.height,f=i=="off"||!u[i]?e.clone(u):e.clone(u[i]),l,c;f.y=s[r]-a/2,f.x=o.get("x"),f.width=o.get("width"),f.id=o.get("id"),l=f.fill.color,c=f.border.color,n.isArray(l)?f.fill.color=l[r%l.length]:f.fill.color=this._getItemColor(f.fill.color,r),n.isArray(c)?f.border.color=c[r%c.length]:f.border.color=this._getItemColor(f.border.color,r),o.set(f)}},_getPlotDefaults:function(){var e={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:24,height:24,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};return e.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill"),e.border.color=this._getDefaultColor(this.get("graphOrder"),"border"),e}},{ATTRS:{type:{value:"stackedBar"},direction:{value:"vertical"},negativeBaseValues:{value:null},positiveBaseValues:{value:null}}})},"3.9.0",{requires:["series-stacked","series-bar"]});