zingchart
Version:
Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.
8 lines (7 loc) • 7.17 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_ES6
*/
zingchart.setModule("rankflow"),function(){var e,t;ZC.ZCRankFlow=((e=function(){this.AF9="palette",this.C2="#6a921f",this.BP=[],this.KH=!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.O3[t]&&ZC._cp_(e.O3[t],a),a},e.B8={},e.O3={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,r=0,l=null;zingchart.bind(null,"label_click",function(e){var t=zingchart.getLoader(e.id);if(t){var o=zingchart.getGraph(t,e.graphid);if(o&&"rankflow"===o.o.type){if(!l){l={};for(var n=0;n<a;n++)l["s"+n]=!1}if("box_overall_"===e.labelid.substring(0,12)){var _=ZC._i_(e.labelid.split("_")[2]);l["s"+_]=!l["s"+_],function(e){var t,o=[],n=[],_=!1;for(t=0;t<a;t++)_=_||l["s"+t];for(t=0;t<a;t++){for(p=0;p<r;p++)o.push({id:"flow_"+t+"_"+p,alpha:l["s"+t]||!_?1:.25});n.push({id:"box_overall_"+t,alpha:l["s"+t]||!_?1:.25});for(var p=0;p<r;p++)n.push({id:"box_"+t+"_"+p,alpha:l["s"+t]||!_?1:.25,"text-alpha":l["s"+t]||!_?1:.25})}zingchart.exec(e.id,"updateobject",{type:"shape",graphid:e.graphid,data:o,update:!1}),zingchart.exec(e.id,"updateobject",{type:"label",graphid:e.graphid,data:n,update:!1}),zingchart.exec(e.id,"repaintobjects",{graphid:e.graphid})}(e)}}}}),zingchart.bind(null,"dataparse",function(e,l){var o,n,_,p,i,h,c=zingchart.getLoader(e.id);zingchart.initThemes(c);for(var d=ZC.ZCRankFlow.getDefaults(e.theme),g=0,s=l[ZC._[16]].length;g<s;g++)if(l[ZC._[16]][g].type&&"rankflow"===l[ZC._[16]][g].type){var C=l[ZC._[16]][g].type,Z=l[ZC._[16]][g];ZC._todash_(Z);var f={};Z.options&&(f=Z.options[C]||Z.options),ZC._todash_(f);var u=f.style||{},x=zingchart.getGraphInfo(c,l,g);Z.shapes||(Z.shapes=[]),Z[ZC._[10]]||(Z[ZC._[10]]=[]),t=new ZC.ZCRankFlow;var b=!0;null!==ZC._n_(o=f["global-ranking"])&&(b=ZC._b_(o)),null!==ZC._n_(o=f["color-type"])&&(t.AF9=o),null!==ZC._n_(o=f.color)&&(t.C2=ZC.AR.GE(o)),null!==ZC._n_(o=f.palette)&&(t.BP=o),null!==ZC._n_(o=f.flat)&&(t.KH=ZC._b_(o));var k=[],v=[],w=Z[ZC._[50]]||{};w.item=Z[ZC._[50]].item||{},(o=w[ZC._[5]])&&(k=o),(o=w[ZC._[10]])&&(v=o);var y,m,z=Z[ZC._[11]];for(n=0;n<z.length;n++)z[n].rank=z[n].rank||n+"";z.sort(function(e,t){return e.rank-t.rank});var B=0,I=0,Q=0,A=0,F=0;for(n=0;n<v.length;n++)(m={}).text=v[n],ZC._cp_(d.item,m),ZC._cp_(m,w.item),(y=zingchart.getInstance(c,"textbox")).append(m),y.parse(),B=ZC.BQ(B,y.I),Q=ZC.BQ(Q,y.F);for(n=0;n<z.length;n++)p=z[n].style||{},m={text:z[n].text},ZC._cp_(u["item-flow"],m),ZC._cp_(p["item-flow"],m),(y=zingchart.getInstance(c,"textbox")).append(m),y.parse(),B=ZC.BQ(B,y.I),I=ZC.BQ(I,y.F);for(m={text:n,bold:!0},(y=zingchart.getInstance(c,"textbox")).append(m),y.parse(),(A=ZC.BQ(A,y.I))<I&&(A=I),m={generated:!0,text:n,bold:!0,width:2*A},ZC._cp_(u["rank-overall"],m),(y=zingchart.getInstance(c,"textbox")).append(m),y.parse(),(F=ZC.BQ(F,y.I))<I&&(F=I),a=z.length,r=ZC.BQ(k.length,v.length),n=0;n<a;n++)h=z[n].ranks||[],r=ZC.BQ(r,h.length);var D,R=[0,0,0,0];R=[0,0,0,0];if(null!==ZC._n_(o=f.margin))R=zingchart.getInstance(c,"box").m_(o,"all",x.plotarea.width,x.plotarea.height);x.plotarea.x+=R[3],x.plotarea.y+=R[0],x.plotarea.width-=R[1]+R[3],x.plotarea.height-=R[0]+R[2];var P=20;null!==ZC._n_(o=f["sep-space"])&&(P=ZC._i_(o)),b?D=(x.plotarea.width-F-P-3*A-(r+1)*B)/(r-1):(P=0,D=(x.plotarea.width-3*A-r*B)/(r-1));var G,O,K=ZC._i_((x.plotarea.height-Q-z.length*I)/(z.length+1));if(null!==ZC._n_(o=f["col-space"])&&(D=ZC._i_(o)),null!==ZC._n_(o=f["row-space"])&&(K=ZC._i_(o)),G=x.plotarea.x,O=x.plotarea.y,Q>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:O,width:F+B},m),b&&Z[ZC._[10]].push(m),n=0;n<v.length;n++)G=x.plotarea.x+(b?F+B+P:0)+1.5*A+n*(B+D),O=x.plotarea.y,m={generated:!0,bold:!0},ZC._cp_(w.item,m),ZC._cp_({x:G,y:O,width:B,flat:!0,text:v[n]},m),Z[ZC._[10]].push(m);for(n=0;n<a;n++)G=x.plotarea.x+(b?F+B+P:0),O=x.plotarea.y+Q+K+n*(I+K),m={},ZC._cp_(d["rank-side"],m),ZC._cp_(u["rank-left"],m),ZC._cp_({id:"rank_"+(n+1)+"_l",x:G,y:O,width:A,height:I,flat:!0,text:n+1},m),Z[ZC._[10]].push(m),G=x.plotarea.x+(b?F+B+P:0)+2*A+r*(B+D)-D,m={},ZC._cp_(d["rank-side"],m),ZC._cp_(u["rank-right"],m),ZC._cp_({id:"rank_"+(n+1)+"_r",x:G,y:O,width:A,height:I,flat:!0,text:n+1},m),Z[ZC._[10]].push(m),G=x.plotarea.x,m={},ZC._cp_(d["rank-overall"],m),ZC._cp_(u["rank-overall"],m),ZC._cp_({id:"rank_"+(n+1)+"_g",x:G,y:O,width:F,height:I,flat:!0,text:n+1},m),b&&Z[ZC._[10]].push(m);for(n=0;n<z.length;n++){if(p=z[n].style||{},i=t.C2,"palette"===t.AF9)if(t.BP.length>0)i=t.BP[n%t.BP.length];else i=zingchart.getPalette(c,n,"bar")[1];else"random"===t.AF9&&(i=t.AGQ());for(G=x.plotarea.x+F,O=x.plotarea.y+Q+K+n*(I+K),-1!==(z[n].ranks||-1)&&(m={generated:!0,"background-color":i,color:"#fff"},ZC._cp_(u["item-overall"],m),ZC._cp_(p["item-overall"],m),ZC._cp_({id:"box_overall_"+n,x:G,y:O,width:B,height:I,flat:t.KH,text:z[n].text},m),b&&Z[ZC._[10]].push(m)),h=z[n].ranks,_=0;_<h.length;_++)if(null!==ZC._n_(h[_])){var L=[];if(G=x.plotarea.x+(b?F+B+P:0)+1.5*A+_*(B+D),O=x.plotarea.y+Q+K+(h[_]-1)*(I+K),null!==ZC._n_(h[_+1])){var j=x.plotarea.x+(b?F+B+P:0)+1.5*A+(_+1)*(B+D),E=x.plotarea.y+Q+K+(h[_+1]-1)*(I+K);L.push([G,O]),L.push([G+B,O]),L.push([j,E]),L.push([j+B,E]),L.push([j+B,E+I]),L.push([j,E+I]),L.push([G+B,O+I]),L.push([G,O+I])}else L.push([G,O]),L.push([G+B,O]),L.push([G+B,O+I]),L.push([G,O+I]);var H={};H[ZC._[0]]=i,ZC._cp_(d.flow,H),ZC._cp_(Z.plot,H),ZC._cp_(z[n],H),ZC._cp_(u.flow,H),ZC._cp_(p.flow,H),ZC._cp_({id:"flow_"+n+"_"+_,type:"poly",points:L,flat:!0,label:{visible:!1}},H),Z.shapes.push(H);var M={"background-color":"#fff",color:"#333","border-width":1,"border-color":"#999",padding:10,text:"%text ranked on %rank at %scale-value"};for(var N in ZC._cp_(u.tooltip,M),ZC._cp_(p.tooltip,M),M.text=M.text.replace(/%text/gi,z[n].text).replace(/%rank/gi,h[_]).replace(/%scale-value/gi,k[_]),z[n])-1!==N.indexOf("data-")&&(M.text=M.text.replace(new RegExp("%"+N,"g"),z[n][N][_]||""));m={generated:!0,color:"#fff"},ZC._cp_(u["item-flow"],m),ZC._cp_(p["item-flow"],m),ZC._cp_({id:"box_"+n+"_"+_,x:G,y:O,width:B,height:I,text:z[n].text,tooltip:M},m),Z[ZC._[10]].push(m)}}}return l})}();