zingchart
Version:
Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.
8 lines (7 loc) • 11.6 kB
JavaScript
/*
All of the code within the ZingChart software is developed and copyrighted by ZingChart, Inc., and may not be copied,
replicated, or used in any other software or application without prior permission from ZingChart. All usage must coincide with the
ZingChart End User License Agreement which can be requested by email at support@zingchart.com.
Build 2.9.11
*/
ZC.WG.push("pie"),ZC.A3U=ZC.JL.CC({$i:function(i){this.b(i),this.AF="pie",this.AZ=new ZC.A57(this)},A2P:function(i){return i},MS:function(i){switch(i){case"m":return new ZC.T5(this);case"v":return new ZC.W7(this);case"r":return new ZC.A2B(this)}},ACO:function(){var i=this,n=i.MS("m","scale"),e=i.MS("v","scale-v"),t=i.MS("r","scale-r");n.BF="scale",n.K=i.K+"-scale",i.o.series&&i.o.series.length&&i.o.series[0].values&&(n.NH="1x"+i.o.series[0].values.length),e.BF="scale-v",e.K=i.K+"-scale-v",t.BF="scale-r",t.K=i.K+"-scale-r",i.BO.push(n,e,t),i.b()},clear_:function(){-1!==ZC.AV(["svg","vml"],this.H.AC)&&ZC.A5("#"+this.K+" .zc-layer").each(function(){/\-plot-\d+\-bl\-\d+\-/.test(this.id)&&ZC.A5(this).children().each(function(){/\-connector\-path/.test(this.id)&&ZC.Q.EV(this)})})}}),ZC.A57=ZC.LN.CC({$i:function(i){this.b(i);var n=this;n.KO=[],n.P6=[],n.TO=[]},ACU:function(){return new ZC.W6(this)},parseLayout:function(i){var n,e,t,A,C=this;i&&(C.TO=[],C.P6=[]);var a,l=C.A.BM("scale-r"),o=C.A.BM("scale"),r=.9,s=1;C.A3.length>=10&&(s=1),C.A3.length>=20&&(s=1.25),C.A3.length>=30&&(s=1.5);var u=l.DJ;for(n=0,e=C.A3.length;n<e;n++)null!==ZC._n_(C.A3[n].o["ref-angle"])&&(u=C.A3[n].DJ);for(n=0,e=C.A3.length;n<e;n++)if(C.C.E["plot"+n+".visible"]||"hide"===C.C.getToggleAction())for(var c=0,Z=C.A3[n].R.length;c<Z;c++)if(C.A3[n].R[c]){C.YB["n"+c]=C.YB["n"+c]||[];var _,h,B=C.A3[n].R[c];null===ZC._n_(C.P6[c])&&(C.P6[c]=u),_=null!==ZC._n_(A=C.A3[n].o["angle-start"])?ZC._f_(A):C.P6[c],h=C.KO[c],null!==ZC._n_(C.A3[n].o.totals)&&null!==ZC._n_(C.A3[n].o.totals[c])&&(h=C.KO[c]=ZC._f_(C.A3[n].o.totals[c])),t=0===h?_+l.EK*(1/e):0===B.AD&&C.A3[n].TP?_+l.EK*(.005*C.KO[c])/h:_+l.EK*B.AD/h,C.P6[c]=t,B.B4=_,B.BL=t;var f=B.GY(!0);if("out"===f.o.placement&&f.AN){var v=ZC._i_((_+t)/2);C.YB["n"+c][n]=v-u,a=ZC.CY(o.I/2-s*f.I-f.DW-35,o.F/2-s*f.F-f.DW-15),r=ZC.CY(r,2*a/ZC.CY(o.I,o.F))}}if("pie3d"===C.A.AF&&(r*=.75),r=ZC.BQ(.1,ZC.CY(.9,r)),"auto"===o.o["size-factor"]&&(o.JF=r),i)for(var p in C.YB)C.YB[p]=ZC.AO.ACJ(C.YB[p],u)},parse:function(){var i=this;i.A.o.plot&&"auto"===i.A.o.plot.layout&&(null===ZC._n_(i.A.o.plot["ref-angle"])&&(i.A.o.plot["ref-angle"]=-90),i.o.sort(function(i,n){return n.values[0]-i.values[0]})),i.TO=[],i.KO=[],i.P6=[],i.YB={},i.b();for(var n=0,e=i.A3.length;n<e;n++)for(var t=0,A=i.A3[n].R.length;t<A;t++)i.A3[n].R[t]&&i.A3[n].R[t]&&(i.C.E["plot"+n+".visible"]||"hide"===i.C.getToggleAction())&&0===i.A3[n].R[t].AD&&i.A3[n].TP&&(i.KO[t]+=.005*i.KO[t]);i.parseLayout()}}),ZC.W6=ZC.HY.CC({$i:function(i){this.b(i);var n=this;n.AF="pie",n.BO=["scale","scale-v","scale-r"],n.PT=0,n.DJ=0,n.TP=!1,n.A7S=!0,n.C3=null,n.P3="bg"},TY:function(){return new ZC.A8R(this)},parse:function(){var i,n,e=this;null===ZC._n_(e.o["value-box"])&&(e.o["value-box"]={}),"ring"!==e.A.A.o.type&&"ring3d"!==e.A.A.o.type||(e.PT=.35),e.BP=e.O1(),e.C2=e.BP[0],e.A0=e.BP[1],e.AE=e.BP[2],e.BX=e.BP[0],e.B7=e.BP[0],e.NQ(),e.b(),e.C3=new ZC.CZ(e),e.C.A.B8.load(e.C3.o,["graph.plot.value-box.connector",e.AF+".plot.value-box.connector"]),null!==ZC._n_(i=e.C.o.plot)&&null!==ZC._n_(i["value-box"])&&null!==ZC._n_(n=i["value-box"].connector)&&e.C3.append(n),e.C3.append(e.o["value-box"].connector),e.assign_a([["offset","DW","fp"],["slice","PT","fp"],["show-zero","TP","b"],["detach","A7S","b"],["ref-angle","DJ","i"]]),e.DJ%=360;for(var t=0,A=e.R.length;t<A;t++)e.R[t]&&(e.R[t].CO=e.PT,e.R[t]&&(e.C.E["plot"+e.L+".visible"]||"hide"===e.C.getToggleAction())&&(null===ZC._n_(e.A.KO[t])&&(e.A.KO[t]=0),e.A.KO[t]+=ZC._f_(e.R[t].AD)))},paint:function(){var i=this;i.b(),i.KF=i.CQ("bl",0),i.PD(!0)}}),ZC.A8R=ZC.LI.CC({bCXY:!0,U:null,$i:function(i){this.b(i)},parse:function(){this.b()},AB3:function(){this.b();var i=this.C.E;i.update.npv=i.update["node-percent-value"]=this.JX("%npv")},JX:function(i,n,e,t){var A=this,C=A.A.MT();ZC._cp_(n,C),-1===i.indexOf("%npv")&&-1===i.indexOf("%node-percent-value")||null!==ZC._n_(C.decimals)&&-1!==C.decimals||(C.decimals=1);var a=0,l="0";if(A.A.A.KO[A.L]>0&&(l=""+(a=100*A.AD/A.A.A.KO[A.L])),A.A.A.A3.length>1&&A.A.L===A.A.A.A3.length-1){var o=0;if(null===ZC._n_(A.A.o.totals)){for(var r=0;r<A.A.A.A3.length-1;r++)if(A.A.A.A3[r].AN&&null!==ZC._n_(A.A.A.A3[r].R[A.L])){var s=0,u="0";A.A.A.KO[A.L]>0&&(u=""+(s=100*A.A.A.A3[r].R[A.L].AD/A.A.A.KO[A.L])),null!==ZC._n_(C.decimals)&&(u=s.toFixed(ZC.BQ(0,ZC._i_(C.decimals)))),o+=ZC._f_(u)}l=""+(a=Math.max(0,100-o))}}null!==ZC._n_(C.decimals)&&(l=a.toFixed(ZC.BQ(0,ZC._i_(C.decimals))));var c,Z=ZC._f_(A.A.A.KO[A.L]||"0");return c=ZC.AQ.G4(Z,C,A.A),A.CV=[["%node-percent-value",l],["%npv",l],["%pie-total-value",c]],i=A.b(i,n,e,t)},getTooltipPosition:function(i,n){var e,t,A,C=this,a=(C.B4+C.BL)/2%360;switch(n){case"out":t=(e=ZC.AO.BN(C.iX,C.iY,C.AI+C.DW+i.DW,a))[0]+C.BK,A=e[1]+C.BI,a>270&&a<=360?A-=i.F:a>90&&a<=180?t-=i.I:a>180&&a<=270&&(t-=i.I,A-=i.F);break;case"center":t=(e=ZC.AO.BN(C.iX,C.iY,C.CO+.5*(C.AI-C.CO)+C.DW,a))[0]+C.BK,A=e[1]+C.BI;break;default:t=C.iX+C.BK,A=C.iY+C.BI}return{x:t,y:A}},V4:function(i){var n,e=this,t=(e.B4+e.BL)/2%360,A=0;null!==ZC._n_(n=i["offset-r"])&&(A=ZC._f_(ZC._p_(n))),A<1&&(A*=e.AI);var C=ZC.AO.BN(e.iX,e.iY,e.CO+.6*(e.AI-e.CO)+e.DW+A,t);return[C[0],C[1],{reference:e,center:!0}]},ACA:function(){var i=this,n=(i.B4+i.BL)/2%360,e=ZC.AO.BN(i.iX,i.iY,i.CO+.5*(i.AI-i.CO)+i.DW,n);return[e[0],e[1]]},setup:function(){var i=this,n=i.C.BM(i.A.BW("k")[0]),e=i.L%n.H3,t=Math.floor(i.L/n.H3);i.iX=n.iX+e*n.GK+n.GK/2+n.BK,i.iY=n.iY+t*n.GF+n.GF/2+n.BI,i.HZ||(i.copy(i.A),i.E7=i.A.E7,i.DF()&&i.parse(!1),i.HZ=!0)},ABF:function(i){var n,e={},t="out";return null!==ZC._n_(n=i.o.placement)&&(t=n),e.color="out"===t?this.A0:this.C2,e},AC7:function(i){var n,e=this,t="out";null!==ZC._n_(n=i.o.placement)&&(t=n);var A,C,a,l,o,r=i.I,s=i.F,u=(e.B4+e.BL)/2%360,c=u;if("out"===t){u=c=e.A.A.YB["n"+e.L][e.A.L];var Z=function(n,t){t<0&&(t=360+t),t%=360;var A=(o=ZC.AO.BN(e.iX,e.iY,n+e.DW+i.DW+20,t))[0]+i.BK-r/2,C=o[1]+i.BI-s/2;return t>=0&&t<=90||t>=270&&t<=360?A+=r/2+10:A-=r/2+10,[A,C]},_=Z(e.AI,c);A=_[0],C=_[1],e.U=i;var h={x:A,y:C,width:r,height:s},B=zingchart.DEV.SPREADTYPE;l=!0;for(var f=0,v=0,p=-1,O=0,L=0;l&&L<1024;){l=!1;for(var I=0,d=e.A.A.TO.length;I<d;I++)a=e.A.A.TO[I],(ZC.AO.XV(h,a)||h.x+i.I>e.C.P.iX+e.C.P.I||h.x<e.C.P.iX||h.y+i.F>e.C.P.iY+e.C.P.F||h.y<e.C.P.iY)&&(l=!0,0===B?(f+=.4,p*=-1):1===B&&(v+=2),_=Z(e.AI+v,c+f*p),h.x=_[0],h.y=_[1],L++,++O>100&&(O=0,0===B?(f=0,v+=2):1===B&&(v=0,f+=.4,p*=-1)))}A=h.x,C=h.y,u=c+f,a={text:e.A.AM,x:h.x,y:h.y,width:r,height:s,plotindex:e.A.L,nodeindex:e.L},e.A.A.TO.push(a)}else if("in"===t||"radial"===t){var D=e.CO<30?.65:.5;A=(o=ZC._x_(e.B4,2)%360==ZC._x_(e.BL,2)%360?0===e.CO?[e.iX,e.iY]:ZC.AO.BN(e.iX,e.iY,e.CO+.3*(e.AI-e.CO)+e.DW+i.DW,270):ZC.AO.BN(e.iX,e.iY,e.CO+D*(e.AI-e.CO)+e.DW+i.DW,u))[0]-r/2+e.BK,C=o[1]-s/2+e.BI}else if(-1!==t.indexOf("fixed=")){var K=t.split(/=|;|,/),g=(e.AI+e.CO)/2,Y=u;K[1]&&(g=(g=ZC.IL(K[1],!0))>=-1&&g<=1||-1!==K[1].indexOf("%")?e.CO+e.DW+g*(e.AI-e.CO):e.CO+e.DW+g),K[2]&&(Y=(Y=ZC.IL(K[2],!0))>=-1&&Y<=1||-1!==K[2].indexOf("%")?e.B4+Y*(e.BL-e.B4):e.B4+Y),K[3]&&("+"===K[3].charAt(0)||"-"===K[3].charAt(0)?(Y%=360,i.AA=Y+ZC._f_(K[3]),i.AA>90&&i.AA<270&&(i.AA+=180)):i.AA=ZC._f_(K[3])),A=(o=ZC.AO.BN(e.iX,e.iY,g,Y))[0]-r/2,C=o[1]-s/2}else"center"===t&&(A=e.iX-r/2+e.BK,C=e.iY-s/2+e.BI);return l&&(A=-9999,C=-9999,i.AN=!1),null!==ZC._n_(i.o.x)&&(A=i.iX),null!==ZC._n_(i.o.y)&&(C=i.iY),A>=-2&&(A=ZC._a_(A)),C>=-2&&(C=ZC._a_(C)),[ZC._i_(A),ZC._i_(C),u]},appendToValueBox:function(i){var n=this,e={};if("radial"===i.o.placement){var t=.9*ZC._a_(n.AI-n.CO),A=Math.PI*(n.AI+n.CO)*.9*ZC._a_(n.BL-n.B4)/360,C=ZC._i_(Math.max(t,A)/(.75*i.DH));if(null===ZC._n_(i.o.visible)?e.visible=1===n.A.A.A3.length||A>1.25*i.DH:e.visible=i.JC.visible,null===ZC._n_(i.o["max-chars"])&&(e["max-chars"]=C),null===ZC._n_(i.o.angle)){var a=(n.B4+n.BL)/2%360;n.A.A.A3.length>1?A>t?a>0&&a<180?a-=90:a+=90:a>90&&a<270&&(a+=180):a=0,e.angle=a}}return e},GY:function(i,n){var e,t=this,A=t.b(i,n);if(i)return A;if(t.AN&&A.AN&&null!==ZC._n_(A.AM)&&""!==A.AM){var C="out";if(null!==ZC._n_(e=A.o.placement)&&(C=e),"out"===C){var a=!0;if(null!==ZC._n_(e=A.o.connected)&&(a=ZC._b_(e)),a){var l=new ZC.DQ(t.A);l.Z=l.C7=t.A.CQ("bl",0),l.append(t.A.C3.o),l.K=t.K+"-connector",l.B7=t.A0,l.DV="line",l.D=[];var o=A.E.positioninfo,r=(t.B4+t.BL)/2%360,s=ZC.AO.BN(t.iX,t.iY,t.AI+t.DW,r);s[0]+=t.BK,s[1]+=t.BI,l.D.push(s);var u=ZC.AO.BN(t.iX,t.iY,t.AI+t.DW+10,r);u[0]+=t.BK,u[1]+=t.BI,A.iX>=t.iX?"vml"===t.H.AC?l.D.push([o[0],o[1]+A.F/2]):l.D.push([u[0],u[1],o[0],o[1]+A.F/2]):"vml"===t.H.AC?l.D.push([o[0]+A.I+2,o[1]+A.F/2]):l.D.push([u[0],u[1],o[0]+A.I+2,o[1]+A.F/2]),l.parse(),l.J5=function(i){return t.J5(i)},l.DF()&&l.parse(),l.AN&&l.paint()}}}},paint:function(){var i,n=this;if(n.b(),!(n.AD<0)){var e=n.C.BM(n.A.BW("k")[0]);n.setup();var t="pie-sel-"+n.A.L+"-"+n.L;if("undefined"!=typeof n.o.detached&&(n.C.E[t]=ZC._b_(n.o.detached)),n.AI=ZC.CY(e.GF,e.GK)/2,null!==ZC._n_(n.A.o.size)){var A=ZC.IL(n.A.o.size,!1);n.AI=A<=1?n.AI*A:A}else n.AI=e.JF*n.AI;n.CO<=1&&(n.CO*=n.AI),n.CO=Math.max(0,n.CO),n.o.slice=n.CO,n.DW<=1&&(n.DW*=n.AI),n.o["offset-r"]=n.DW,n.C.E[t]&&(n.DW+=ZC._i_(.15*n.AI));var C=n.O=n.A.IG(n,n);if(n.H4(C),n.AD>=0||0===n.A.A.KO[n.L]){var a=new ZC.DQ(n.A);a.K=n.K,a.Z=n.A.CQ("bl",1),a.C7=n.A.CQ("bl",0),a.copy(C);var l=n.iX,o=n.iY;n.DW>0&&(l=(i=ZC.AO.BN(n.iX,n.iY,n.DW,(n.B4+n.BL)/2))[0],o=i[1]),a.iX=l,a.iY=o,a.AI=n.AI,a.o.size=n.AI,a.DV="pie",a.B4=ZC._f_(n.B4),a.BL=ZC._f_(n.BL),a.CO=n.CO,a.E.plotidx=n.A.L,a.E.nodeidx=n.L,a.parse(),n.G6=a;var r=function(){if(!n.A.K9&&n.AN){var i=a.FG(),e=n.C.K+"-node-area "+n.C.K+"-plotset-plot-"+n.A.L+"-node-area zc-node-area",t=ZC.Q.FS("poly",n.A.EA,n.A.IK)+'class="'+e+'" '+n.a11y()+' id="'+n.K+'" coords="'+i+'" />';n.A.A.HD.push(t)}n.A.U&&n.GY()};if(n.AN)if(n.A.GE&&!n.C.HI){var s=a,u={};s.iX=l,s.iY=o,s.B4=n.B4,s.BL=n.BL,u.angleStart=n.B4,u.angleEnd=n.BL,u.x=l,u.y=o;var c,Z=n.A.LA;for(c in s.C5=0,u.alpha=C.C5,2===Z?(s.BL=n.B4,u.angleEnd=n.BL):3===Z?(s.AI=n.CO,u.size=n.AI):4===Z?(i=ZC.AO.BN(n.iX,n.iY,1.2*n.AI,(n.B4+n.BL)/2),s.iX=i[0],s.iY=i[1],u.x=l,u.y=o):5===Z&&(s.B4=s.BL=(n.B4+n.BL)/2,u.angleStart=n.B4,u.angleEnd=n.BL),n.A.FY)s[ZC.E6.GM[ZC.EF(c)]]=n.A.FY[c],u[ZC.EF(c)]=C[ZC.E6.GM[ZC.EF(c)]];if(null===ZC._n_(n.C.EO)&&(n.C.EO={}),null!==ZC._n_(n.C.EO[n.A.L+"-"+n.L]))for(c in n.C.EO[n.A.L+"-"+n.L])s[ZC.E6.GM[ZC.EF(c)]]=n.C.EO[n.A.L+"-"+n.L][c];n.C.EO[n.A.L+"-"+n.L]={},ZC._cp_(u,n.C.EO[n.A.L+"-"+n.L]);var _=new ZC.E6(s,u,n.A.JG,n.A.L8,ZC.E6.RL[n.A.LB],function(){r()});_.AX=n,n.LS(_)}else a.paint(),r()}else n.A.U&&n.GY()}},A12:function(i){var n=this;ZC.move||n.M8({layer:i,type:"shape",initcb:function(){if(this.copy(n),this.iX=n.iX,this.iY=n.iY,n.DW>0){var i=ZC.AO.BN(n.iX,n.iY,n.DW,(n.B4+n.BL)/2);this.iX=i[0],this.iY=i[1]}this.AI=n.AI,this.DV="pie",this.A0=n.A.BP[3],this.AE=n.A.BP[2],this.B4=ZC._f_(n.B4),this.BL=ZC._f_(n.BL),this.CO=n.CO},parsecb:function(){this.o.size=n.AI,this.o.slice=n.CO,this.o["offset-r"]=n.DW}})},X4:function(i,n){var e=this;if(e.b(i,n),"click"===n&&i.which<=1&&e.A.A7S){zingchart.SKIP.ANIMATION=!0,zingchart.SKIP.EVENT=!0;var t="pie-sel-"+e.A.L+"-"+e.L;e.C.E[t]="undefined"==typeof e.C.E[t]||!e.C.E[t],e.C.K8(),zingchart.SKIP.EVENT=!1,zingchart.SKIP.ANIMATION=!1}}});