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.14 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
*/
zingchart.setModule("rankflow"),function(){var e,a;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(a){var t={};return ZC._cp_(e.B8,t),e.NR[a]&&ZC._cp_(e.NR[a],t),t},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 t=0,l=0,r=null;zingchart.bind(null,"label_click",function(e){var a=zingchart.getLoader(e.id);if(a){var o=zingchart.getGraph(a,e.graphid);if(o&&"rankflow"===o.o.type){if(!r){r={};for(var n=0;n<t;n++)r["s"+n]=!1}if("box_overall_"===e.labelid.substring(0,12)){var p=ZC._i_(e.labelid.split("_")[2]);r["s"+p]=!r["s"+p],function(e){var a,o=[],n=[],p=!1;for(a=0;a<t;a++)p=p||r["s"+a];for(a=0;a<t;a++){for(i=0;i<l;i++)o.push({id:"flow_"+a+"_"+i,alpha:r["s"+a]||!p?1:.25});n.push({id:"box_overall_"+a,alpha:r["s"+a]||!p?1:.25});for(var i=0;i<l;i++)n.push({id:"box_"+a+"_"+i,alpha:r["s"+a]||!p?1:.25,"text-alpha":r["s"+a]||!p?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,r){var o,n,p,i,_,h,c=zingchart.getLoader(e.id);zingchart.initThemes(c);for(var s=ZC.ZCRankFlow.getDefaults(e.theme),d=0,g=r.graphset.length;d<g;d++)if(r.graphset[d].type&&"rankflow"===r.graphset[d].type){var f=r.graphset[d].type,C=r.graphset[d];ZC._todash_(C);var Z={};C.options&&(Z=C.options[f]||C.options),ZC._todash_(Z);var u=Z.style||{},b=zingchart.getGraphInfo(c,r,d);C.shapes||(C.shapes=[]),C.labels||(C.labels=[]),a=new ZC.ZCRankFlow;var x=!0;null!==ZC._n_(o=Z["global-ranking"])&&(x=ZC._b_(o)),null!==ZC._n_(o=Z["color-type"])&&(a.AF9=o),null!==ZC._n_(o=Z.color)&&(a.C2=ZC.AQ.GC(o)),null!==ZC._n_(o=Z.palette)&&(a.BP=o),null!==ZC._n_(o=Z.flat)&&(a.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,z=C.series;for(n=0;n<z.length;n++)z[n].rank=z[n].rank||n+"";z.sort(function(e,a){return e.rank-a.rank});var B=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(c,"textbox")).append(m),y.parse(),B=ZC.BQ(B,y.I),I=ZC.BQ(I,y.F);for(n=0;n<z.length;n++)i=z[n].style||{},m={text:z[n].text},ZC._cp_(u["item-flow"],m),ZC._cp_(i["item-flow"],m),(y=zingchart.getInstance(c,"textbox")).append(m),y.parse(),B=ZC.BQ(B,y.I),Q=ZC.BQ(Q,y.F);for(m={text:n,bold:!0},(y=zingchart.getInstance(c,"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(c,"textbox")).append(m),y.parse(),(F=ZC.BQ(F,y.I))<Q&&(F=Q),t=z.length,l=ZC.BQ(k.length,v.length),n=0;n<t;n++)h=z[n].ranks||[],l=ZC.BQ(l,h.length);var R,D=[0,0,0,0];D=[0,0,0,0];if(null!==ZC._n_(o=Z.margin))D=zingchart.getInstance(c,"box").m_(o,"all",b.plotarea.width,b.plotarea.height);b.plotarea.x+=D[3],b.plotarea.y+=D[0],b.plotarea.width-=D[1]+D[3],b.plotarea.height-=D[0]+D[2];var P=20;null!==ZC._n_(o=Z["sep-space"])&&(P=ZC._i_(o)),x?R=(b.plotarea.width-F-P-3*A-(l+1)*B)/(l-1):(P=0,R=(b.plotarea.width-3*A-l*B)/(l-1));var G,K,L=ZC._i_((b.plotarea.height-I-z.length*Q)/(z.length+1));if(null!==ZC._n_(o=Z["col-space"])&&(R=ZC._i_(o)),null!==ZC._n_(o=Z["row-space"])&&(L=ZC._i_(o)),G=b.plotarea.x,K=b.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+B},m),x&&C.labels.push(m),n=0;n<v.length;n++)G=b.plotarea.x+(x?F+B+P:0)+1.5*A+n*(B+R),K=b.plotarea.y,m={generated:!0,bold:!0},ZC._cp_(w.item,m),ZC._cp_({x:G,y:K,width:B,flat:!0,text:v[n]},m),C.labels.push(m);for(n=0;n<t;n++)G=b.plotarea.x+(x?F+B+P:0),K=b.plotarea.y+I+L+n*(Q+L),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=b.plotarea.x+(x?F+B+P:0)+2*A+l*(B+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=b.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),x&&C.labels.push(m);for(n=0;n<z.length;n++){if(i=z[n].style||{},_=a.C2,"palette"===a.AF9)if(a.BP.length>0)_=a.BP[n%a.BP.length];else _=zingchart.getPalette(c,n,"bar")[1];else"random"===a.AF9&&(_=a.AGQ());for(G=b.plotarea.x+F,K=b.plotarea.y+I+L+n*(Q+L),-1!==(z[n].ranks||-1)&&(m={generated:!0,"background-color":_,color:"#fff"},ZC._cp_(u["item-overall"],m),ZC._cp_(i["item-overall"],m),ZC._cp_({id:"box_overall_"+n,x:G,y:K,width:B,height:Q,flat:a.K9,text:z[n].text},m),x&&C.labels.push(m)),h=z[n].ranks,p=0;p<h.length;p++)if(null!==ZC._n_(h[p])){var N=[];if(G=b.plotarea.x+(x?F+B+P:0)+1.5*A+p*(B+R),K=b.plotarea.y+I+L+(h[p]-1)*(Q+L),null!==ZC._n_(h[p+1])){var j=b.plotarea.x+(x?F+B+P:0)+1.5*A+(p+1)*(B+R),E=b.plotarea.y+I+L+(h[p+1]-1)*(Q+L);N.push([G,K]),N.push([G+B,K]),N.push([j,E]),N.push([j+B,E]),N.push([j+B,E+Q]),N.push([j,E+Q]),N.push([G+B,K+Q]),N.push([G,K+Q])}else N.push([G,K]),N.push([G+B,K]),N.push([G+B,K+Q]),N.push([G,K+Q]);var M={};M["background-color"]=_,ZC._cp_(s.flow,M),ZC._cp_(C.plot,M),ZC._cp_(z[n],M),ZC._cp_(u.flow,M),ZC._cp_(i.flow,M),ZC._cp_({id:"flow_"+n+"_"+p,type:"poly",points:N,flat:!0,label:{visible:!1}},M),C.shapes.push(M);var O={"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,O),ZC._cp_(i.tooltip,O),O.text=O.text.replace(/%text/gi,z[n].text).replace(/%rank/gi,h[p]).replace(/%scale-value/gi,k[p]),z[n])-1!==S.indexOf("data-")&&(O.text=O.text.replace(new RegExp("%"+S,"g"),z[n][S][p]||""));m={generated:!0,color:"#fff"},ZC._cp_(u["item-flow"],m),ZC._cp_(i["item-flow"],m),ZC._cp_({id:"box_"+n+"_"+p,x:G,y:K,width:B,height:Q,text:z[n].text,tooltip:O},m),C.labels.push(m)}}}return r})}();