UNPKG

zingchart

Version:

Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.

8 lines (7 loc) 6.29 kB
/* 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 */ zingchart.setModule("rankflow"),function(){var e,t;ZC.ZCRankFlow=((e=function(){this.AF9="palette",this.C2="#6a921f",this.BP=[],this.KK=!1,this.AGQ=function(){for(var e=(16777215*Math.random()+1<<0).toString(16);e.length<6;)e="0"+e;return"#"+e}}).getDefaults=function(t){var a={};return ZC._cp_(e.B6,a),e.NT[t]&&ZC._cp_(e.NT[t],a),a},e.B6={},e.NT={light:{item:{bold:!0,color:"#808285"},"rank-side":{generated:!0,color:"#fff",bold:!0,"background-color":"#929497"},"rank-overall":{generated:!0,color:"#fff",bold:!0,"background-color":"#57585B"},flow:{generated:!0,shadow:!1}},dark:{item:{bold:!0,color:"#D1D3D4"},"rank-side":{generated:!0,color:"#fff",bold:!0,"background-color":"#929497"},"rank-overall":{generated:!0,color:"#fff",bold:!0,"background-color":"#57585B"},flow:{generated:!0,shadow:!1}},classic:{item:{bold:!0,color:"#D1D2D3"},"rank-side":{generated:!0,color:"#000",bold:!0,"background-color":"#999"},"rank-overall":{generated:!0,color:"#fff",bold:!0,"background-color":"#333"},flow:{generated:!0,shadow:!0}}},e);var a=0,l=0;zingchart.bind(null,"dataparse",function(e,r){var o,n,p,_,i,c,h=zingchart.getLoader(e.id);zingchart.initThemes(h);for(var s=ZC.ZCRankFlow.getDefaults(e.theme),g=0,d=r.graphset.length;g<d;g++)if(r.graphset[g].type&&"rankflow"===r.graphset[g].type){var f=r.graphset[g].type,C=r.graphset[g];ZC._todash_(C);var Z={};C.options&&(Z=C.options[f]||C.options),ZC._todash_(Z);var u=Z.style||{},x=zingchart.getGraphInfo(h,r,g);C.shapes||(C.shapes=[]),C.labels||(C.labels=[]),t=new ZC.ZCRankFlow;var b=!0;null!==ZC._n_(o=Z["global-ranking"])&&(b=ZC._b_(o)),null!==ZC._n_(o=Z["color-type"])&&(t.AF9=o),null!==ZC._n_(o=Z.color)&&(t.C2=ZC.AO.GD(o)),null!==ZC._n_(o=Z.palette)&&(t.BP=o),null!==ZC._n_(o=Z.flat)&&(t.KK=ZC._b_(o));var k=[],v=[],w=C["scale-x"]||{};w.item=C["scale-x"].item||{},(o=w.values)&&(k=o),(o=w.labels)&&(v=o);var y,m,B=C.series;for(n=0;n<B.length;n++)B[n].rank=B[n].rank||n+"";B.sort(function(e,t){return e.rank-t.rank});var R=0,z=0,I=0,A=0,D=0;for(n=0;n<v.length;n++)(m={}).text=v[n],ZC._cp_(s.item,m),ZC._cp_(m,w.item),(y=zingchart.getInstance(h,"textbox")).append(m),y.parse(),R=ZC.BR(R,y.I),I=ZC.BR(I,y.F);for(n=0;n<B.length;n++)_=B[n].style||{},m={text:B[n].text},ZC._cp_(u["item-flow"],m),ZC._cp_(_["item-flow"],m),(y=zingchart.getInstance(h,"textbox")).append(m),y.parse(),R=ZC.BR(R,y.I),z=ZC.BR(z,y.F);for(m={text:n,bold:!0},(y=zingchart.getInstance(h,"textbox")).append(m),y.parse(),(A=ZC.BR(A,y.I))<z&&(A=z),m={generated:!0,text:n,bold:!0,width:2*A},ZC._cp_(u["rank-overall"],m),(y=zingchart.getInstance(h,"textbox")).append(m),y.parse(),(D=ZC.BR(D,y.I))<z&&(D=z),a=B.length,l=ZC.BR(k.length,v.length),n=0;n<a;n++)c=B[n].ranks||[],l=ZC.BR(l,c.length);var F,K=[0,0,0,0];K=[0,0,0,0];if(null!==ZC._n_(o=Z.margin))K=zingchart.getInstance(h,"box").m_(o,"all",x.plotarea.width,x.plotarea.height);x.plotarea.x+=K[3],x.plotarea.y+=K[0],x.plotarea.width-=K[1]+K[3],x.plotarea.height-=K[0]+K[2];var P=20;null!==ZC._n_(o=Z["sep-space"])&&(P=ZC._i_(o)),b?F=(x.plotarea.width-D-P-3*A-(l+1)*R)/(l-1):(P=0,F=(x.plotarea.width-3*A-l*R)/(l-1));var G,N,T=ZC._i_((x.plotarea.height-I-B.length*z)/(B.length+1));if(null!==ZC._n_(o=Z["col-space"])&&(F=ZC._i_(o)),null!==ZC._n_(o=Z["row-space"])&&(T=ZC._i_(o)),G=x.plotarea.x,N=x.plotarea.y,I>0)for(m={generated:!0,bold:!0,text:"OVERALL<br>RANK",flat:!0},ZC._cp_(w.item,m),ZC._cp_(u["label-overall"],m),ZC._cp_({x:G,y:N,width:D+R},m),b&&C.labels.push(m),n=0;n<v.length;n++)G=x.plotarea.x+(b?D+R+P:0)+1.5*A+n*(R+F),N=x.plotarea.y,m={generated:!0,bold:!0},ZC._cp_(w.item,m),ZC._cp_({x:G,y:N,width:R,flat:!0,text:v[n]},m),C.labels.push(m);for(n=0;n<a;n++)G=x.plotarea.x+(b?D+R+P:0),N=x.plotarea.y+I+T+n*(z+T),m={},ZC._cp_(s["rank-side"],m),ZC._cp_(u["rank-left"],m),ZC._cp_({id:"rank_"+(n+1)+"_l",x:G,y:N,width:A,height:z,flat:!0,text:n+1},m),C.labels.push(m),G=x.plotarea.x+(b?D+R+P:0)+2*A+l*(R+F)-F,m={},ZC._cp_(s["rank-side"],m),ZC._cp_(u["rank-right"],m),ZC._cp_({id:"rank_"+(n+1)+"_r",x:G,y:N,width:A,height:z,flat:!0,text:n+1},m),C.labels.push(m),G=x.plotarea.x,m={},ZC._cp_(s["rank-overall"],m),ZC._cp_(u["rank-overall"],m),ZC._cp_({id:"rank_"+(n+1)+"_g",x:G,y:N,width:D,height:z,flat:!0,text:n+1},m),b&&C.labels.push(m);for(n=0;n<B.length;n++){if(_=B[n].style||{},i=t.C2,"palette"===t.AF9)if(t.BP.length>0)i=t.BP[n%t.BP.length];else i=zingchart.getPalette(h,n,"bar")[1];else"random"===t.AF9&&(i=t.AGQ());for(G=x.plotarea.x+D,N=x.plotarea.y+I+T+n*(z+T),-1!==(B[n].ranks||-1)&&(m={generated:!0,"background-color":i,color:"#fff"},ZC._cp_(u["item-overall"],m),ZC._cp_(_["item-overall"],m),ZC._cp_({id:"box_overall_"+n,x:G,y:N,width:R,height:z,flat:t.KK,text:B[n].text},m),b&&C.labels.push(m)),c=B[n].ranks,p=0;p<c.length;p++)if(null!==ZC._n_(c[p])){var L=[];if(G=x.plotarea.x+(b?D+R+P:0)+1.5*A+p*(R+F),N=x.plotarea.y+I+T+(c[p]-1)*(z+T),null!==ZC._n_(c[p+1])){var O=x.plotarea.x+(b?D+R+P:0)+1.5*A+(p+1)*(R+F),E=x.plotarea.y+I+T+(c[p+1]-1)*(z+T);L.push([G,N]),L.push([G+R,N]),L.push([O,E]),L.push([O+R,E]),L.push([O+R,E+z]),L.push([O,E+z]),L.push([G+R,N+z]),L.push([G,N+z])}else L.push([G,N]),L.push([G+R,N]),L.push([G+R,N+z]),L.push([G,N+z]);var M={};M["background-color"]=i,ZC._cp_(s.flow,M),ZC._cp_(C.plot,M),ZC._cp_(B[n],M),ZC._cp_(u.flow,M),ZC._cp_(_.flow,M),ZC._cp_({id:"flow_"+n+"_"+p,type:"poly",points:L,flat:!0,label:{visible:!1}},M),C.shapes.push(M);var Q={"background-color":"#fff",color:"#333","border-width":1,"border-color":"#999",padding:10,text:"%text ranked on %rank at %scale-value"};for(var S in ZC._cp_(u.tooltip,Q),ZC._cp_(_.tooltip,Q),Q.text=Q.text.replace(/%text/gi,B[n].text).replace(/%rank/gi,c[p]).replace(/%scale-value/gi,k[p]),B[n])-1!==S.indexOf("data-")&&(Q.text=Q.text.replace(new RegExp("%"+S,"g"),B[n][S][p]||""));m={generated:!0,color:"#fff"},ZC._cp_(u["item-flow"],m),ZC._cp_(_["item-flow"],m),ZC._cp_({id:"box_"+n+"_"+p,x:G,y:N,width:R,height:z,text:B[n].text,tooltip:Q},m),C.labels.push(m)}}}return r})}();