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.7 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.16-hf1
*/
ZC.WJ.push("pie"),ZC.A3U=ZC.JM.CD({$i:function(i){this.b(i),this.AF="pie",this.AY=new ZC.A58(this)},A2P:function(i){return i},MT:function(i){switch(i){case"m":return new ZC.TC(this);case"v":return new ZC.WA(this);case"r":return new ZC.A2B(this)}},ACN:function(){var i=this,n=i.MT("m","scale"),e=i.MT("v","scale-v"),A=i.MT("r","scale-r");n.BD="scale",n.K=i.K+"-scale",i.o.series&&i.o.series.length&&i.o.series[0].values&&(n.N5="1x"+i.o.series[0].values.length),e.BD="scale-v",e.K=i.K+"-scale-v",A.BD="scale-r",A.K=i.K+"-scale-r",i.BO.push(n,e,A),i.b()},clear_:function(){-1!==ZC.AV(["svg","vml"],this.G.AC)&&ZC.A4("#"+this.K+" .zc-layer").each(function(){/\-plot-\d+\-bl\-\d+\-/.test(this.id)&&ZC.A4(this).children().each(function(){/\-connector\-path/.test(this.id)&&ZC.Q.EW(this)})})}}),ZC.A58=ZC.LQ.CD({$i:function(i){this.b(i);var n=this;n.KP=[],n.PB=[],n.TT=[]},ACU:function(){return new ZC.W9(this)},parseLayout:function(i){var n,e,A,t,C=this;i&&(C.TT=[],C.PB=[]);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.DL;for(n=0,e=C.A3.length;n<e;n++)null!==ZC._n_(C.A3[n].o["ref-angle"])&&(u=C.A3[n].DL);for(n=0,e=C.A3.length;n<e;n++)if(C.C.E["plot"+n+".visible"]||"hide"===C.C.getToggleAction())for(var B=0,c=C.A3[n].R.length;B<c;B++)if(C.A3[n].R[B]){C.YB["n"+B]=C.YB["n"+B]||[];var Z,_,h=C.A3[n].R[B];null===ZC._n_(C.PB[B])&&(C.PB[B]=u),Z=null!==ZC._n_(t=C.A3[n].o["angle-start"])?ZC._f_(t):C.PB[B],_=C.KP[B],null!==ZC._n_(C.A3[n].o.totals)&&null!==ZC._n_(C.A3[n].o.totals[B])&&(_=C.KP[B]=ZC._f_(C.A3[n].o.totals[B])),A=0===_?Z+l.EM*(1/e):0===h.AD&&C.A3[n].TU?Z+l.EM*(.005*C.KP[B])/_:Z+l.EM*h.AD/_,C.PB[B]=A,h.B4=Z,h.BL=A;var f=h.H1(!0);if("out"===f.o.placement&&f.AP){var v=ZC._i_((Z+A)/2);C.YB["n"+B][n]=v-u,a=ZC.CY(o.I/2-s*f.I-f.DX-35,o.F/2-s*f.F-f.DX-15),r=ZC.CY(r,2*a/ZC.CY(o.I,o.F))}}if("pie3d"===C.A.AF&&(r*=.75),r=ZC.BR(.1,ZC.CY(.9,r)),"auto"===o.o["size-factor"]&&(o.JU=r),i)for(var p in C.YB)C.YB[p]=ZC.AQ.ACI(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.TT=[],i.KP=[],i.PB=[],i.YB={},i.b();for(var n=0,e=i.A3.length;n<e;n++)for(var A=0,t=i.A3[n].R.length;A<t;A++)i.A3[n].R[A]&&i.A3[n].R[A]&&(i.C.E["plot"+n+".visible"]||"hide"===i.C.getToggleAction())&&0===i.A3[n].R[A].AD&&i.A3[n].TU&&(i.KP[A]+=.005*i.KP[A]);i.parseLayout()}}),ZC.W9=ZC.I2.CD({$i:function(i){this.b(i);var n=this;n.AF="pie",n.BO=["scale","scale-v","scale-r"],n.PZ=0,n.DL=0,n.TU=!1,n.A7U=!0,n.C3=null,n.P8="bg"},U3:function(){return new ZC.A8T(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.PZ=.35),e.BP=e.O6(),e.C2=e.BP[0],e.A0=e.BP[1],e.AE=e.BP[2],e.BX=e.BP[4],e.B9=e.BP[4],e.NS(),e.b(),e.C3=new ZC.CZ(e),e.C.A.B6.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","DX","fp"],["slice","PZ","fp"],["show-zero","TU","b"],["detach","A7U","b"],["ref-angle","DL","i"]]),e.DL%=360;for(var A=0,t=e.R.length;A<t;A++)e.R[A]&&(e.R[A].CP=e.PZ,e.R[A]&&(e.C.E["plot"+e.L+".visible"]||"hide"===e.C.getToggleAction())&&(null===ZC._n_(e.A.KP[A])&&(e.A.KP[A]=0),e.A.KP[A]+=ZC._f_(e.R[A].AD)))},paint:function(){var i=this;i.b(),i.KH=i.CS("bl",0),i.PI(!0)}}),ZC.A8T=ZC.LM.CD({bCXY:!0,U:null,$i:function(i){this.b(i)},parse:function(){this.b()},AB2:function(){this.b();var i=this.C.E;i.update.npv=i.update["node-percent-value"]=this.KA("%npv")},KA:function(i,n,e,A){var t=this,C=t.A.MU();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";t.A.A.KP[t.L]>0&&(l=""+(a=100*t.AD/t.A.A.KP[t.L]));for(var o=0,r=0;r<t.A.A.A3.length;r++)t.A.A.A3[r].AP&&null!==ZC._n_(t.A.A.A3[r].R[t.L])&&0!==t.A.A.A3[r].R[t.L].AD&&(o=r);if(t.A.A.A3.length>1&&o===t.A.L){var s=0;if(null===ZC._n_(t.A.o.totals)){for(r=0;r<t.A.A.A3.length;r++)if(r!==t.A.L&&t.A.A.A3[r].AP&&null!==ZC._n_(t.A.A.A3[r].R[t.L])){var u=0,B="0";t.A.A.KP[t.L]>0&&(B=""+(u=100*t.A.A.A3[r].R[t.L].AD/t.A.A.KP[t.L])),null!==ZC._n_(C.decimals)&&(B=u.toFixed(ZC.BR(0,ZC._i_(C.decimals)))),s+=ZC._f_(B)}l=""+(a=Math.max(0,100-s))}}null!==ZC._n_(C.decimals)&&(l=a.toFixed(ZC.BR(0,ZC._i_(C.decimals))));var c,Z=ZC._f_(t.A.A.KP[t.L]||"0");return c=ZC.AO.G5(Z,C,t.A),t.CA=[["%node-percent-value",l],["%npv",l],["%pie-total-value",c]],i=t.b(i,n,e,A)},getTooltipPosition:function(i,n){var e,A,t,C=this,a=(C.B4+C.BL)/2%360;switch(n){case"out":A=(e=ZC.AQ.BN(C.iX,C.iY,C.AI+C.DX+i.DX,a))[0]+C.BK,t=e[1]+C.BJ,a>270&&a<=360?t-=i.F:a>90&&a<=180?A-=i.I:a>180&&a<=270&&(A-=i.I,t-=i.F);break;case"center":A=(e=ZC.AQ.BN(C.iX,C.iY,C.CP+.5*(C.AI-C.CP)+C.DX,a))[0]+C.BK,t=e[1]+C.BJ;break;default:A=C.iX+C.BK,t=C.iY+C.BJ}return{x:A,y:t}},V7:function(i){var n,e=this,A=(e.B4+e.BL)/2%360,t=0;null!==ZC._n_(n=i["offset-r"])&&(t=ZC._f_(ZC._p_(n))),t<1&&(t*=e.AI);var C=ZC.AQ.BN(e.iX,e.iY,e.CP+.6*(e.AI-e.CP)+e.DX+t,A);return[C[0],C[1],{reference:e,center:!0}]},AC9:function(){var i=this,n=(i.B4+i.BL)/2%360,e=ZC.AQ.BN(i.iX,i.iY,i.CP+.5*(i.AI-i.CP)+i.DX,n);return[e[0],e[1]]},setup:function(){var i=this,n=i.C.BM(i.A.BW("k")[0]),e=i.L%n.H7,A=Math.floor(i.L/n.H7);i.iX=n.iX+e*n.GM+n.GM/2+n.BK,i.iY=n.iY+A*n.GH+n.GH/2+n.BJ,i.I3||(i.copy(i.A),i.E6=i.A.E6,i.DH()&&i.parse(!1),i.I3=!0)},ABE:function(i){var n,e={},A="out";return null!==ZC._n_(n=i.o.placement)&&(A=n),e.color="out"===A?this.A0:this.C2,e},AC6:function(i){var n,e=this,A="out";null!==ZC._n_(n=i.o.placement)&&(A=n);var t,C,a,l,o,r=i.I,s=i.F,u=(e.B4+e.BL)/2%360,B=u;if("out"===A){u=B=e.A.A.YB["n"+e.L][e.A.L];var c=function(n,A){A<0&&(A=360+A),A%=360;var t=(o=ZC.AQ.BN(e.iX,e.iY,n+e.DX+i.DX+20,A))[0]+i.BK-r/2,C=o[1]+i.BJ-s/2;return A>=0&&A<=90||A>=270&&A<=360?t+=r/2+10:t-=r/2+10,[t,C]},Z=c(e.AI,B);t=Z[0],C=Z[1],e.U=i;var _={x:t,y:C,width:r,height:s},h=zingchart.DEV.SPREADTYPE;l=!0;for(var f=0,v=0,p=-1,P=0,L=0;l&&L<1024;){l=!1;for(var D=0,I=e.A.A.TT.length;D<I;D++)a=e.A.A.TT[D],(ZC.AQ.VD(_,a)||_.x+i.I>e.C.N.iX+e.C.N.I||_.x<e.C.N.iX||_.y+i.F>e.C.N.iY+e.C.N.F||_.y<e.C.N.iY)&&(l=!0,0===h?(f+=.4,p*=-1):1===h&&(v+=2),Z=c(e.AI+v,B+f*p),_.x=Z[0],_.y=Z[1],L++,++P>100&&(P=0,0===h?(f=0,v+=2):1===h&&(v=0,f+=.4,p*=-1)))}t=_.x,C=_.y,u=B+f,a={text:e.A.AK,x:_.x,y:_.y,width:r,height:s,plotindex:e.A.L,nodeindex:e.L},e.A.A.TT.push(a)}else if("in"===A||"radial"===A){var d=e.CP<30?.65:.5;t=(o=ZC._x_(e.B4,2)%360==ZC._x_(e.BL,2)%360?0===e.CP?[e.iX,e.iY]:ZC.AQ.BN(e.iX,e.iY,e.CP+.3*(e.AI-e.CP)+e.DX+i.DX,270):ZC.AQ.BN(e.iX,e.iY,e.CP+d*(e.AI-e.CP)+e.DX+i.DX,u))[0]-r/2+e.BK,C=o[1]-s/2+e.BJ}else if(-1!==A.indexOf("fixed=")){var X=A.split(/=|;|,/),g=(e.AI+e.CP)/2,K=u;X[1]&&(g=(g=ZC.IO(X[1],!0))>=-1&&g<=1||-1!==X[1].indexOf("%")?e.CP+e.DX+g*(e.AI-e.CP):e.CP+e.DX+g),X[2]&&(K=(K=ZC.IO(X[2],!0))>=-1&&K<=1||-1!==X[2].indexOf("%")?e.B4+K*(e.BL-e.B4):e.B4+K),X[3]&&("+"===X[3].charAt(0)||"-"===X[3].charAt(0)?(K%=360,i.AB=K+ZC._f_(X[3]),i.AB>90&&i.AB<270&&(i.AB+=180)):i.AB=ZC._f_(X[3])),t=(o=ZC.AQ.BN(e.iX,e.iY,g,K))[0]-r/2,C=o[1]-s/2}else"center"===A&&(t=e.iX-r/2+e.BK,C=e.iY-s/2+e.BJ);return l&&(t=-9999,C=-9999,i.AP=!1),null!==ZC._n_(i.o.x)&&(t=i.iX),null!==ZC._n_(i.o.y)&&(C=i.iY),t>=-2&&(t=ZC._a_(t)),C>=-2&&(C=ZC._a_(C)),[ZC._i_(t),ZC._i_(C),u]},appendToValueBox:function(i){var n=this,e={};if("radial"===i.o.placement){var A=.9*ZC._a_(n.AI-n.CP),t=Math.PI*(n.AI+n.CP)*.9*ZC._a_(n.BL-n.B4)/360,C=ZC._i_(Math.max(A,t)/(.75*i.DI));if(null===ZC._n_(i.o.visible)?e.visible=1===n.A.A.A3.length||t>1.25*i.DI:e.visible=!i.J2||i.J2.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?t>A?a>0&&a<180?a-=90:a+=90:a>90&&a<270&&(a+=180):a=0,e.angle=a}}return e},H1:function(i,n){var e,A=this,t=A.b(i,n);if(i)return t;if(A.AP&&t.AP&&null!==ZC._n_(t.AK)&&""!==t.AK){var C="out";if(null!==ZC._n_(e=t.o.placement)&&(C=e),"out"===C){var a=!0;if(null!==ZC._n_(e=t.o.connected)&&(a=ZC._b_(e)),a){var l=new ZC.DT(A.A);l.Z=l.C8=A.A.CS("bl",0),l.append(A.A.C3.o),l.K=A.K+"-connector",l.B9=A.A0,l.DJ="line",l.D=[];var o=t.E.positioninfo,r=(A.B4+A.BL)/2%360,s=ZC.AQ.BN(A.iX,A.iY,A.AI+A.DX,r);s[0]+=A.BK,s[1]+=A.BJ,l.D.push(s);var u=ZC.AQ.BN(A.iX,A.iY,A.AI+A.DX+10,r);u[0]+=A.BK,u[1]+=A.BJ,t.iX>=A.iX?"vml"===A.G.AC?l.D.push([o[0],o[1]+t.F/2]):l.D.push([u[0],u[1],o[0],o[1]+t.F/2]):"vml"===A.G.AC?l.D.push([o[0]+t.I+2,o[1]+t.F/2]):l.D.push([u[0],u[1],o[0]+t.I+2,o[1]+t.F/2]),l.parse(),l.IQ=function(i){return A.IQ(i)},l.DH()&&l.parse(),l.AP&&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 A="pie-sel-"+n.A.L+"-"+n.L;if("undefined"!=typeof n.o.detached&&(n.C.E[A]=ZC._b_(n.o.detached)),n.AI=ZC.CY(e.GH,e.GM)/2,null!==ZC._n_(n.A.o.size)){var t=ZC.IO(n.A.o.size,!1);n.AI=t<=1?n.AI*t:t}else n.AI=e.JU*n.AI;n.CP<=1&&(n.CP*=n.AI),n.CP=Math.max(0,n.CP),n.o.slice=n.CP,n.DX<=1&&(n.DX*=n.AI),n.o["offset-r"]=n.DX,n.C.E[A]&&(n.DX+=ZC._i_(.15*n.AI));var C=n.P=n.A.IJ(n,n);if(n.H8(C),n.AD>=0||0===n.A.A.KP[n.L]){var a=new ZC.DT(n.A);a.K=n.K,a.Z=n.A.CS("bl",1),a.C8=n.A.CS("bl",0),a.copy(C);var l=n.iX,o=n.iY;n.DX>0&&(l=(i=ZC.AQ.BN(n.iX,n.iY,n.DX,(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.DJ="pie",a.B4=ZC._f_(n.B4),a.BL=ZC._f_(n.BL),a.CP=n.CP,a.E.plotidx=n.A.L,a.E.nodeidx=n.L,a.parse(),n.G7=a;var r=function(){if(!n.A.KK&&n.AP){var i=a.F1(),e=n.C.K+"-node-area "+n.C.K+"-plotset-plot-"+n.A.L+"-node-area zc-node-area",A=ZC.Q.FO("poly",n.A.E9,n.A.IE)+'class="'+e+'" '+n.a11y()+' id="'+n.K+'" coords="'+i+'" />';n.A.A.H3.push(A)}n.A.U&&n.H1()},s=!1;if("sunburst"===n.C.o["plugin-type"]&&(s=!0),n.AP||!s)if(n.A.GG&&!n.C.HM){var u=a,B={};u.iX=l,u.iY=o,u.B4=n.B4,u.BL=n.BL,B.angleStart=n.B4,B.angleEnd=n.BL,B.x=l,B.y=o;var c,Z=n.A.LE;for(c in u.C6=0,B.alpha=C.C6,2===Z?(u.BL=n.B4,B.angleEnd=n.BL):3===Z?(u.AI=n.CP,B.size=n.AI):4===Z?(i=ZC.AQ.BN(n.iX,n.iY,1.2*n.AI,(n.B4+n.BL)/2),u.iX=i[0],u.iY=i[1],B.x=l,B.y=o):5===Z&&(u.B4=u.BL=(n.B4+n.BL)/2,B.angleStart=n.B4,B.angleEnd=n.BL),n.A.FY)u[ZC.E8.GO[ZC.EH(c)]]=n.A.FY[c],B[ZC.EH(c)]=C[ZC.E8.GO[ZC.EH(c)]];if(null===ZC._n_(n.C.ER)&&(n.C.ER={}),null!==ZC._n_(n.C.ER[n.A.L+"-"+n.L]))for(c in n.C.ER[n.A.L+"-"+n.L])u[ZC.E8.GO[ZC.EH(c)]]=n.C.ER[n.A.L+"-"+n.L][c];n.C.ER[n.A.L+"-"+n.L]={},ZC._cp_(B,n.C.ER[n.A.L+"-"+n.L]);var _=new ZC.E8(u,B,n.A.JG,n.A.LC,ZC.E8.RQ[n.A.LF],function(){r()});_.AW=n,n.LU(_)}else a.paint(),r()}else n.A.U&&n.H1()}},A15:function(i){var n=this;ZC.move||n.MC({layer:i,type:"shape",initcb:function(){if(this.copy(n),this.iX=n.iX,this.iY=n.iY,n.DX>0){var i=ZC.AQ.BN(n.iX,n.iY,n.DX,(n.B4+n.BL)/2);this.iX=i[0],this.iY=i[1]}this.AI=n.AI,this.DJ="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.CP=n.CP},parsecb:function(){this.o.size=n.AI,this.o.slice=n.CP,this.o["offset-r"]=n.DX}})},X6:function(i,n){var e=this;if(e.b(i,n),"click"===n&&i.which<=1&&e.A.A7U){zingchart.SKIP.ANIMATION=!0,zingchart.SKIP.EVENT=!0;var A="pie-sel-"+e.A.L+"-"+e.L;e.C.E[A]="undefined"==typeof e.C.E[A]||!e.C.E[A],e.C.KC(),zingchart.SKIP.EVENT=!1,zingchart.SKIP.ANIMATION=!1}}});