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.11 */ zingchart.setModule("rankflow"),function(){var e,t;ZC.ZCRankFlow=((e=function(){this.AF9="palette",this.C2="#6a921f",this.BP=[],this.K9=!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.B8,a),e.NR[t]&&ZC._cp_(e.NR[t],a),a},e.B8={},e.NR={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.AQ.GC(o)),null!==ZC._n_(o=Z.palette)&&(t.BP=o),null!==ZC._n_(o=Z.flat)&&(t.K9=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 z=0,Q=0,I=0,A=0,F=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(),z=ZC.BQ(z,y.I),I=ZC.BQ(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(),z=ZC.BQ(z,y.I),Q=ZC.BQ(Q,y.F);for(m={text:n,bold:!0},(y=zingchart.getInstance(h,"textbox")).append(m),y.parse(),(A=ZC.BQ(A,y.I))<Q&&(A=Q),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(),(F=ZC.BQ(F,y.I))<Q&&(F=Q),a=B.length,l=ZC.BQ(k.length,v.length),n=0;n<a;n++)c=B[n].ranks||[],l=ZC.BQ(l,c.length);var R,D=[0,0,0,0];D=[0,0,0,0];if(null!==ZC._n_(o=Z.margin))D=zingchart.getInstance(h,"box").m_(o,"all",x.plotarea.width,x.plotarea.height);x.plotarea.x+=D[3],x.plotarea.y+=D[0],x.plotarea.width-=D[1]+D[3],x.plotarea.height-=D[0]+D[2];var P=20;null!==ZC._n_(o=Z["sep-space"])&&(P=ZC._i_(o)),b?R=(x.plotarea.width-F-P-3*A-(l+1)*z)/(l-1):(P=0,R=(x.plotarea.width-3*A-l*z)/(l-1));var G,K,N=ZC._i_((x.plotarea.height-I-B.length*Q)/(B.length+1));if(null!==ZC._n_(o=Z["col-space"])&&(R=ZC._i_(o)),null!==ZC._n_(o=Z["row-space"])&&(N=ZC._i_(o)),G=x.plotarea.x,K=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:K,width:F+z},m),b&&C.labels.push(m),n=0;n<v.length;n++)G=x.plotarea.x+(b?F+z+P:0)+1.5*A+n*(z+R),K=x.plotarea.y,m={generated:!0,bold:!0},ZC._cp_(w.item,m),ZC._cp_({x:G,y:K,width:z,flat:!0,text:v[n]},m),C.labels.push(m);for(n=0;n<a;n++)G=x.plotarea.x+(b?F+z+P:0),K=x.plotarea.y+I+N+n*(Q+N),m={},ZC._cp_(s["rank-side"],m),ZC._cp_(u["rank-left"],m),ZC._cp_({id:"rank_"+(n+1)+"_l",x:G,y:K,width:A,height:Q,flat:!0,text:n+1},m),C.labels.push(m),G=x.plotarea.x+(b?F+z+P:0)+2*A+l*(z+R)-R,m={},ZC._cp_(s["rank-side"],m),ZC._cp_(u["rank-right"],m),ZC._cp_({id:"rank_"+(n+1)+"_r",x:G,y:K,width:A,height:Q,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:K,width:F,height:Q,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+F,K=x.plotarea.y+I+N+n*(Q+N),-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:K,width:z,height:Q,flat:t.K9,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?F+z+P:0)+1.5*A+p*(z+R),K=x.plotarea.y+I+N+(c[p]-1)*(Q+N),null!==ZC._n_(c[p+1])){var E=x.plotarea.x+(b?F+z+P:0)+1.5*A+(p+1)*(z+R),M=x.plotarea.y+I+N+(c[p+1]-1)*(Q+N);L.push([G,K]),L.push([G+z,K]),L.push([E,M]),L.push([E+z,M]),L.push([E+z,M+Q]),L.push([E,M+Q]),L.push([G+z,K+Q]),L.push([G,K+Q])}else L.push([G,K]),L.push([G+z,K]),L.push([G+z,K+Q]),L.push([G,K+Q]);var O={};O["background-color"]=i,ZC._cp_(s.flow,O),ZC._cp_(C.plot,O),ZC._cp_(B[n],O),ZC._cp_(u.flow,O),ZC._cp_(_.flow,O),ZC._cp_({id:"flow_"+n+"_"+p,type:"poly",points:L,flat:!0,label:{visible:!1}},O),C.shapes.push(O);var S={"background-color":"#fff",color:"#333","border-width":1,"border-color":"#999",padding:10,text:"%text ranked on %rank at %scale-value"};for(var T in ZC._cp_(u.tooltip,S),ZC._cp_(_.tooltip,S),S.text=S.text.replace(/%text/gi,B[n].text).replace(/%rank/gi,c[p]).replace(/%scale-value/gi,k[p]),B[n])-1!==T.indexOf("data-")&&(S.text=S.text.replace(new RegExp("%"+T,"g"),B[n][T][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:K,width:z,height:Q,text:B[n].text,tooltip:S},m),C.labels.push(m)}}}return r})}();