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.83 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("wordcloud"),function(){var t;ZC.AFW=((t=function(){this.AFD=9,this.AFE=99,this.AFF=2,this.EH=100,this.AFG=15,this.AFH=5,this.ZF=!1,this.ER="word",this.AC6=[],this.AM="",this.aWords=[],this.oWordsMap=null,this.CW="spiral",this.AF9="palette",this.C2="#000",this.bNormalize=!1,this.AGQ=function(){for(var t=(16777215*Math.random()+1<<0).toString(16);t.length<6;)t="0"+t;return"#"+t},this.JX=function(){var t,e,a={};if(""!==this.AM){if("word"===this.ER)t=this.AM.replace(/[\:\;\,\.\{\}\[\]\(\)\?\!\/\=\+\-]/g," ").split(" ");else if("character"===this.ER)for(this.AFF=0,t=[],e=0;e<this.AM.length;e++)" "!==this.AM[e]&&t.push(this.AM[e]);for(e=0;e<t.length;e++){var l=this.bNormalize?t[e].toLowerCase():t[e];if(t[e].length>=this.AFF&&-1===ZC.AV(this.AC6,t[e]))if(this.bNormalize){var o=!1;for(var r in a)r.toLowerCase()===l&&(o=!0,a[r]++);o||(a[t[e]]=1)}else null===ZC._n_(a[t[e]])&&(a[t[e]]=0),a[t[e]]++}}if(this.aWords.length>0)for(this.oWordsMap={},e=0;e<this.aWords.length;e++){var i=this.aWords[e];null!==ZC._n_(i.text)&&(this.oWordsMap[i.text]=i,a[i.text]=i.count||0)}return a},this.intersectRect=function(t,e){return!(e.iX>t.iX+t.I||e.iX+e.I<t.iX||e.iY>t.iY+t.F||e.iY+e.F<t.iY)}}).getDefaults=function(e){var a={};return ZC._cp_(t.B8,a),t.NR[e]&&ZC._cp_(t.NR[e],a),a},t.B8={palette:["#6a921f","#007fa3","#a62b02","#b79007","#563d02","#0b32a0"]},t.NR={light:{palette:["#7CA82B","#29A2CC","#D31E1E","#EF8535","#A14BC9","#A05F18","#265E96","#6B7075"]},dark:{palette:["#7CA82B","#29A2CC","#D31E1E","#EF8535","#A14BC9","#A05F18","#265E96","#6B7075"]}},t),zingchart.bind(null,"dataparse",function(t,e){for(var a,l,o,r,i,n=zingchart.getLoader(t.id),s=0,h=e.graphset.length;s<h;s++)if(e.graphset[s].type&&"wordcloud"===e.graphset[s].type){var p=e.graphset[s].type,C=e.graphset[s],_=ZC.AFW.getDefaults(t.theme),A={};for(C.options&&(A=C.options[p]||C.options),ZC._todash_(A,!0,["words"]),C.labels=C.labels||[],r=C.labels.length-1;r>=0;r--)(C.labels[r]["data-word-cloud"]||C.labels[r].dataWordCloud)&&C.labels.splice(r,1);C.plotarea=C.plotarea||{},null===ZC._n_(C.plotarea.margin)&&(C.plotarea.margin=5);var F=new ZC.AFW;null!==ZC._n_(a=A.text)&&(F.AM=a),null!==ZC._n_(a=A.words)&&(F.aWords=a),null!==ZC._n_(a=A.aspect)&&(F.CW=a),null!==ZC._n_(a=A.ignore)&&(F.AC6=a),null!==ZC._n_(a=A.token)&&(F.ER=a),null!==ZC._n_(a=A["min-length"])&&(F.AFF=ZC._i_(a)),null!==ZC._n_(a=A["min-font-size"])&&(F.AFD=ZC._i_(a)),null!==ZC._n_(a=A["max-font-size"])&&(F.AFE=ZC._i_(a)),null!==ZC._n_(a=A["max-items"])&&(F.EH=ZC._i_(a)),null!==ZC._n_(a=A["color-type"])&&(F.AF9=a),null!==ZC._n_(a=A.color)&&(F.C2=ZC.AQ.GC(a)),null!==ZC._n_(a=A.palette)?F.BP=a:F.BP=_.palette,null!==ZC._n_(a=A["step-angle"])&&(F.AFG=ZC._i_(a)),null!==ZC._n_(a=A["step-radius"])&&(F.AFH=ZC._i_(a)),null!==ZC._n_(a=A.rotate)&&(F.ZF=ZC._b_(a)),null!==ZC._n_(a=A.normalize)&&(F.bNormalize=ZC._b_(a));var f={};null!==ZC._n_(a=A.style)&&ZC._cp_(a,f);var u=zingchart.getInstance(n,"textbox");u.append(f),u.parse(),F.AFD=ZC.BQ(4,F.AFD),F.AFE=ZC.BQ(4,F.AFE),F.AFD>=F.AFE&&(F.AFE=F.AFD+2);var Z=zingchart.getGraphInfo(n,e,s),c=[],d=Z.plotarea.x+Z.plotarea.width/2,g=Z.plotarea.y+Z.plotarea.height/2,W=1;"spiral"===F.CW?W=F.ZF?.65:.55:"flow-top"!==F.CW&&"flow-center"!==F.CW||(F.ZF=!1,W=.75);var E=Z.plotarea.width*Z.plotarea.height*W,w=F.JX(),v=[],b=-Number.MAX_VALUE,x=Number.MAX_VALUE;for(var D in w)v.push({text:D,count:w[D],hits:w[D]});for(v.sort(function(t,e){return t.count<e.count?1:t.count>e.count?-1:0}),-1!==F.EH&&v.splice(F.EH,v.length-F.EH),l=0;l<v.length;l++)b=ZC.BQ(v[l].count,b),x=ZC.CY(v[l].count,x);for(l=0;l<v.length;l++)v[l].count=b===x?50:10+90*(v[l].count-x)/(b-x);var M=function(t){for(l=0;l<v.length;l++)v[l].fontSize=Math.max(F.AFD,ZC._i_(F.AFD+v[l].count/100*(F.AFE-F.AFD))-t),v[l].width=ZC.Q.A47(n.K,v[l].text,u.GH,v[l].fontSize,u.sFontWeight,u.FJ)+u.EQ+u.FN,v[l].height=1.1*v[l].fontSize+u.FM+u.FW};M(0);for(var m=!1;!m;){m=!0;var y=0;for(l=0;l<v.length;l++)y+=v[l].width*v[l].height;y>E&&(m=!1,F.AFE--,F.AFE<=F.AFD+4&&F.AFD--,M(0),(F.AFD<5||F.AFE<5)&&(m=!0))}null===ZC._n_(A["step-radius"])&&(F.AFH=(F.AFE-F.AFD+.25*F.AFD*F.AFF+1)/10);for(var z=!0,B=-1;z&&B<F.AFE-F.AFD;){c=[],C.labels=[],M(B+=1),z=!1;var H,X=0,G=0,N=F.AFE/2,Q=F.AFE/2,R=[];for(l=0,o=v.length;l<o;l++){var k=!0,I=d,Y=g,S=F.C2;switch(F.AF9){case"random":S=F.AGQ();break;case"palette":S=F.BP[l%F.BP.length]}var L=F.ZF?l%4==0||l%4==3?0:90:0,P=!1,J=v[l].text,V={padding:0,dataWordCloud:!0};ZC._cp_(f,V),ZC._cp_({angle:L,"font-size":Math.max(F.AFD,v[l].fontSize-B),text:J,color:S},V),null!==ZC._n_(A.style)&&null!==ZC._n_(a=A.style["hover-state"])&&(V["hover-state"]={},ZC._cp_(a,V["hover-state"]));var U=J;V.tooltip={visible:!1,"background-color":"#fff",color:"#333","border-width":1,"border-color":"#999",padding:10,text:U},null!==ZC._n_(A.style)&&null!==ZC._n_(a=A.style.tooltip)&&ZC._cp_(a,V.tooltip),V.tooltip.text=V.tooltip.text.replace("%text",J).replace("%hits",v[l].hits),F.oWordsMap&&null!==ZC._n_(F.oWordsMap[J])&&(ZC._cp_(F.oWordsMap[J],V),ZC._cp_(F.oWordsMap[J].style,V));var K=0,j=0,q=0,O=F.AFD/2;for("flow-top"===F.CW?q=1:"flow-center"===F.CW&&(q=l%2==0?1:-1),R[l]=0;k&&!z;){var T=v[l].width,$=v[l].height;if("spiral"===F.CW?(I=d+(0===l?0:N)*ZC.EI(X)-T/2,Y=g+(0===l?0:Q)*ZC.EP(X)-$/2):"flow-center"===F.CW?(I=0===l?d-T/2:Z.plotarea.x+K,Y=g-$/2+j):"flow-top"===F.CW&&(I=0===l?d-T/2:Z.plotarea.x+K,Y=Z.plotarea.y+j),90===L&&"flow-top"===F.CW&&(Y=ZC.BQ(Y,Z.plotarea.y+$)),V.x=ZC._i_(I),V.y=ZC._i_(Y),k=!1,90===L){var tt=T;I=ZC._i_(I+T/2-$/2),Y=ZC._i_(Y+$/2-T/2),T=$,$=tt}if(I<Z.plotarea.x||I+T>Z.plotarea.x+Z.plotarea.width||Y<Z.plotarea.y||Y+$>Z.plotarea.y+Z.plotarea.height)if("spiral"===F.CW){if(!(R[l]<200)){P=!0,z=!0;break}R[l]++,k=!0}else if("flow-top"===F.CW||"flow-center"===F.CW){if(I+T>Z.plotarea.x+Z.plotarea.width&&(k=!0,K=-O,j+=q*O),Y+$>Z.plotarea.y+Z.plotarea.height){P=!0;break}if(Y<Z.plotarea.y){P=!0;break}}if(H={iX:I,iY:Y,I:T,F:$,DH:Math.max(v[l].fontSize-B,F.AFD),AM:v[l].text,GH:u.GH},!k)for(r=0,i=c.length;r<i;r++)if(F.intersectRect(c[r],H)){K+=c[r].I,k=!0;break}"spiral"===F.CW?k?(X+=F.AFG)>G+360&&(N+=F.AFH,Q+=F.AFH*(Z.plotarea.height/Z.plotarea.width),X=G=5*l%360):(N=Q=F.AFE/2,X=G=5*l%360):"flow-top"!==F.CW&&"flow-center"!==F.CW||k&&(K+=O)}P||H.iX<Z.plotarea.x||H.iX+H.I>Z.plotarea.x+Z.plotarea.width||H.iY<Z.plotarea.y||H.iY+H.F>Z.plotarea.y+Z.plotarea.height||(c.push(H),C.labels.push(V))}"flow-top"!==F.CW&&"flow-center"!==F.CW||v.length>c.length&&(z=!0)}}return e})}();