zingchart
Version:
Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.
8 lines (7 loc) • 8.1 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("pie3d"),ZC.A5B=ZC.A3U.CC({$i:function(C){this.b(C);var n=this;n.AF="pie3d",n.AZ=new ZC.A86(n),n.CM=new ZC.SO,n.AJ["3d"]=!0,n.AJ["enable-animation"]=!1,n.AJ["x-angle-min"]=15,n.AJ["x-angle-max"]=75,n.AJ["y-angle-min"]=0,n.AJ["y-angle-max"]=0,n.AJ["z-angle-min"]=0,n.AJ["z-angle-max"]=0},clear:function(){this.b(),this.CM.clear()},paint:function(){var C=this;C.b(),C.SD(),C.flatten(),C.Q1(),C.FA.length&&(C.CM.clear(),C.KL(),C.SD()),C.UP(),-1===ZC.AV(C.H.KP,"skip_interactivity")&&C.S1()}}),ZC.A86=ZC.A57.CC({ACU:function(){return new ZC.XI(this)}}),ZC.XI=ZC.W6.CC({$i:function(C){this.b(C);this.AF="pie3d",this.JI=-1},parse:function(){this.b(),this.assign_a([["thickness","JI","ia"]])},TY:function(){return new ZC.A7K(this)}}),ZC.A7K=ZC.LI.CC({bCXY:!0,U:null,$i:function(C){this.b(C)},parse:function(){this.b()},AB3:function(){this.b();var C=this.C.E;C.update.npv=C.update["node-percent-value"]=this.JX("%npv")},JX:function(C,n,A,i){var e=this,t=e.A.MT();ZC._cp_(n,t),-1===C.indexOf("%npv")&&-1===C.indexOf("%node-percent-value")||null!==ZC._n_(t.decimals)&&-1!==t.decimals||(t.decimals=1);var a=0,Z="0";if(e.A.A.KO[e.L]>0&&(Z=""+(a=100*e.AD/e.A.A.KO[e.L])),e.A.A.A3.length>1&&e.A.L===e.A.A.A3.length-1){var r=0;if(null===ZC._n_(e.A.o.totals)){for(var o=0;o<e.A.A.A3.length-1;o++)if(e.A.A.A3[o].AN&&null!==ZC._n_(e.A.A.A3[o].R[e.L])){var s=0,l="0";e.A.A.KO[e.L]>0&&(l=""+(s=100*e.A.A.A3[o].R[e.L].AD/e.A.A.KO[e.L])),null!==ZC._n_(t.decimals)&&(l=s.toFixed(ZC.BQ(0,ZC._i_(t.decimals)))),r+=ZC._f_(l)}Z=""+(a=Math.max(0,100-r))}}null!==ZC._n_(t.decimals)&&(Z=a.toFixed(ZC.BQ(0,ZC._i_(t.decimals))));var u,E=ZC._f_(e.A.A.KO[e.L]||"0");return u=ZC.AQ.G4(E,t,e.A),e.CV=[["%node-percent-value",Z],["%npv",Z],["%pie-total-value",u]],C=e.b(C,n,A,i)},V4:function(C){var n,A=this,i=(A.B4+A.BL)/2%360,e=0;null!==ZC._n_(n=C["offset-r"])&&(e=ZC._f_(ZC._p_(n))),e<1&&(e*=A.AI);var t=new ZC.CF(A.C,(A.CO+.5*(A.AI-A.CO)+A.DW+e)*ZC.EI(i),(A.CO+.5*(A.AI-A.CO)+A.DW+e)*ZC.EP(i),0).ED;return[t[0],t[1],{reference:A,center:!0}]},setup:function(){var C=this,n=C.C.BM(C.A.BW("k")[0]),A=C.L%n.H3,i=Math.floor(C.L/n.H3);C.iX=n.iX+A*n.GK+n.GK/2+n.BK,C.iY=n.iY+i*n.GF+n.GF/2+n.BI,C.HZ||(C.copy(C.A),C.E7=C.A.E7,C.DF()&&C.parse(),C.HZ=!0)},ABF:function(C){var n={},A="out";return null!==ZC._n_(C.o.placement)&&(A=C.o.placement),n.color="out"===A?this.A0:this.C2,n},AC7:function(C){var n,A=this,i="out";null!==ZC._n_(n=C.o.placement)&&(i=n);var e,t,a,Z,r,o=C.I,s=C.F,l=(A.B4+A.BL)/2%360,u=l;if("out"===i){l=u=A.A.A.YB["n"+A.L][A.A.L];var E=function(n,i){i<0&&(i=360+i),i%=360;var e=ZC.AO.BN(A.iX,A.iY,n+A.DW+C.DW+20,i),t=A.C.EZ["x-angle"];t>45&&A.A.A.A3.length>10&&(A.C.EZ["x-angle"]=45+(t-45)/3),r=new ZC.CF(A.C,e[0]-ZC.AP.E4,e[1]-ZC.AP.E5,0),A.C.EZ["x-angle"]=t,e[0]=r.ED[0],e[1]=r.ED[1];var a=e[0]+C.BK-o/2,Z=e[1]+C.BI-s/2;return i>=0&&i<=90||i>=270&&i<=360?a+=o/2+10:a-=o/2+10,[a,Z]},c=E(A.AI,u);e=c[0],t=c[1],A.U=C;var h={x:e,y:t,width:o,height:s},p=zingchart.DEV.SPREADTYPE;Z=!0;for(var f=0,I=0,B=-1,_=0,d=0;Z&&d<1024;){Z=!1;for(var D=0,v=A.A.A.TO.length;D<v;D++)a=A.A.A.TO[D],(ZC.AO.XV(h,a,A.A.A.A3.length>10?-8:-2)||h.x+C.I>A.C.P.iX+A.C.P.I||h.x<A.C.P.iX||h.y+C.F>A.C.P.iY+A.C.P.F||h.y<A.C.P.iY)&&(Z=!0,0===p?(f+=.4,B*=-1):1===p&&(I+=1),c=E(A.AI+I,u+f*B),h.x=c[0],h.y=c[1],d++,++_>100&&(_=0,0===p?(f=0,I+=4):1===p&&(I=0,f+=1,B*=-1)))}e=h.x,t=h.y,l=u+f,a={text:A.A.AM,x:h.x,y:h.y,width:o,height:s,plotindex:A.A.L,nodeindex:A.L},A.A.A.TO.push(a)}else if("in"===i){var O=A.CO<30?.65:.5,L=ZC.AO.BN(A.iX,A.iY,A.CO+O*(A.AI-A.CO)+A.DW+C.DW,l);r=new ZC.CF(A.C,L[0]-ZC.AP.E4,L[1]-ZC.AP.E5,0),L[0]=r.ED[0],L[1]=r.ED[1],e=L[0]+C.BK-o/2,t=L[1]+C.BI-s/2}else"center"===i&&(e=(r=new ZC.CF(A.C,A.iX-ZC.AP.E4,A.iY-ZC.AP.E5,0)).ED[0]+C.BK-o/2,t=r.ED[1]+C.BI-s/2);return Z&&(e=-9999,t=-9999,C.AN=!1),null!==ZC._n_(C.o.x)&&(e=C.iX),null!==ZC._n_(C.o.y)&&(t=C.iY),e>=-2&&(e=ZC._a_(e)),t>=-2&&(t=ZC._a_(t)),[ZC._i_(e),ZC._i_(t),l]},GY:function(C,n){var A,i=this,e=i.b(C,n);if(C)return e;if(i.AN&&e.AN&&null!==ZC._n_(e.AM)&&""!==e.AM){var t="out";if(null!==ZC._n_(e.o.placement)&&(t=e.o.placement),"out"===t){var a=!0;if(null!==ZC._n_(A=e.o.connected)&&(a=ZC._b_(A)),a){var Z=new ZC.DQ(i.A);Z.Z=Z.C7=i.A.CQ("bl",0),Z.append(i.A.C3.o),Z.B7=i.A0,Z.DV="line",Z.D=[];var r=e.E.positioninfo,o=(i.B4+i.BL)/2%360,s=0;o>=0&&o<=180&&(s=i.E.thickness/2);var l=ZC.AO.BN(i.iX,i.iY,i.AI+i.DW+e.DW,o);(l=new ZC.CF(i.C,l[0]-ZC.AP.E4,l[1]-ZC.AP.E5,s).ED)[0]+=i.BK,l[1]+=i.BI,Z.D.push(l);var u=ZC.AO.BN(i.iX,i.iY,i.AI+i.DW+e.DW+20,o);(u=new ZC.CF(i.C,u[0]-ZC.AP.E4,u[1]-ZC.AP.E5,s).ED)[0]+=i.BK,u[1]+=i.BI,e.iX>=i.iX?Z.D.push([u[0],u[1],r[0],r[1]+e.F/2]):Z.D.push([u[0],u[1],r[0]+e.I+2,r[1]+e.F/2]),Z.parse(),Z.J5=function(C){return i.J5(C)},Z.DF()&&Z.parse(),Z.AN&&Z.paint()}}}},paint:function(){var C,n,A,i,e,t,a,Z,r,o=this,s=o.C.CM,l=o.C.BM(o.A.BW("k")[0]),u=o.C.EZ["x-angle"],E=o.C.EZ["y-angle"];o.setup();var c="pie-sel-"+o.A.L+"-"+o.L;if("undefined"!=typeof o.o.detached&&(o.C.E[c]=ZC._b_(o.o.detached)),!(o.AD<0)){var h=ZC.BQ(.7,ZC.EI(u));o.AI=ZC.CY(l.GF/h,l.GK)/2,null!==ZC._n_(o.A.o.size)?o.AI=o.A.AI:o.AI=l.JF*o.AI,o.CO<1&&(o.CO*=o.AI),o.CO=Math.max(0,o.CO),o.o.slice=o.CO,o.DW<1&&(o.DW*=o.AI),o.o["offset-r"]=o.DW;var p=o.A.JI;-1===p&&(p=o.AI/5),o.E.thickness=p;var f=o.iX-ZC.AP.E4,I=o.iY-ZC.AP.E5;o.B4=ZC._i_(o.B4),o.BL=ZC._i_(o.BL);var B=(o.B4+o.BL)/2;o.C.E[c]&&(o.DW+=ZC._i_(.15*o.AI)),o.DW>0&&(f+=o.DW*ZC.EI(B),I+=o.DW*ZC.EP(B));var _=o.O=o.A.IG(o,o);_.DG=o.K+"-3dfacet";var d=new ZC.CZ(o);if(d.copy(_),d.A0=ZC.AQ.JO(ZC.AQ.GC(d.A0)),d.AE=ZC.AQ.JO(ZC.AQ.GC(d.AE)),o.AD>=0||0===o.A.A.KO[o.L]){for(a=[],C=o.B4,a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),0]),C=o.B4;C<=o.BL;C+=1)a.push([f+o.AI*ZC.EI(C),I+o.AI*ZC.EP(C),0]);for(C=o.BL,a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),0]),C=o.BL;C>=o.B4;C-=1)a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),0]);if((n=ZC.DK.D9(_,o.C,a)).K=o.K+"-facet1",s.add(n),A=null,o.B4%360>=0+E&&o.B4%360<180+E||o.BL%360>0+E){Z=o.B4,r=o.BL;var D=function(C,n,i){var e,t=[];for(e=C,t.push([f+o.AI*ZC.EI(e),I+o.AI*ZC.EP(e),0]),e=C;e<=n;e+=1)t.push([f+o.AI*ZC.EI(e),I+o.AI*ZC.EP(e),0]);for(e=n,t.push([f+o.AI*ZC.EI(e),I+o.AI*ZC.EP(e),p]),e=n;e>=C;e-=1)t.push([f+o.AI*ZC.EI(e),I+o.AI*ZC.EP(e),p]);(A=ZC.DK.D9(d,o.C,t)).ME=[.01,1,1,1],A.K=o.K+"-facet2"+i,s.add(A)};Z<180&&r>360?(D(Z=Z<0?Z+360:Z,180,1),D(360,r,2)):(Z=ZC.BQ(Z,r>360?365:5),(r=ZC.CY(r,r>360?535:175))>Z&&D(Z,r,1))}if(t=null,o.CO>0+E&&o.BL>180+E){for(a=[],C=o.B4,Z=o.B4,o.B4<180+E&&o.BL>180+E&&(C=180+E,Z=180+E),a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),0]),C=Z;C<=o.BL;C+=1)a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),0]);for(C=o.BL,a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),p]),C=o.BL;C>=Z;C-=1)a.push([f+o.CO*ZC.EI(C),I+o.CO*ZC.EP(C),p]);(t=ZC.DK.D9(d,o.C,a)).K=o.K+"-facet3",s.add(t)}var v=function(C,n,A){return[[f+C*ZC.EI(A),I+C*ZC.EP(A),0],[f+C*ZC.EI(A),I+C*ZC.EP(A),p],[f+n*ZC.EI(A),I+n*ZC.EP(A),p],[f+n*ZC.EI(A),I+n*ZC.EP(A),0]]};(i=ZC.DK.D9(d,o.C,{points:v(o.CO,o.AI,o.B4),mathpoints:v(o.CO+1,o.AI+1,o.B4-1)})).K=o.K+"-facet4",s.add(i),(e=ZC.DK.D9(d,o.C,{points:v(o.CO,o.AI,o.BL),mathpoints:v(o.CO+1,o.AI+1,o.BL+1)})).K=o.K+"-facet5",s.add(e);var O=o.C.K+"-node-area "+o.C.K+"-plotset-plot-"+o.A.L+"-node-area zc-node-area",L=ZC.Q.FS("poly",o.A.EA)+'class="'+O+'" id="'+o.K,P=o.A.A.HD;P.push(L+'--top" '+o.a11y()+' data-z-sort="1" coords="'+n.FG()+'" />'),A&&P.push(L+'--outer" data-z-sort="1" coords="'+A.FG()+'" />'),(o.CO>0||o.DW>0)&&(t&&P.push(L+'--inner" data-z-sort="2" coords="'+t.FG()+'" />'),P.push(L+'--start" data-z-sort="2" coords="'+i.FG()+'" />',L+'--end" data-z-sort="2" coords="'+e.FG()+'" />'))}o.A.U&&o.GY()}},X4:function(C,n){var A=this;if(A.b(C,n),"click"===n&&C.which<=1&&A.A.A7S){var i="pie-sel-"+A.A.L+"-"+A.L;A.C.E[i]="undefined"==typeof A.C.E[i]||!A.C.E[i],A.C.K8()}}});