zingchart
Version:
Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.
8 lines (7 loc) • 16.6 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.16-hf1_ES6
*/
zingchart.setModule("bubble-pack"),function(){function e(e,t,i,r){this.iX=e,this.iY=t,this.iR=i,this.H8=r}function t(e){this.oNext=null,this.oPrev=null,this.oValue=e}function i(){this.oFirst=null,this.EQ=null}i.prototype.setup=function(e){for(var t=0;t<e.length;t++)this.add(e[t])},i.prototype.isEmpty=function(){return null===ZC._n_(this.oFirst)},i.prototype.add=function(e){var i=new t(e);null===ZC._n_(this.oFirst)?(this.oFirst=i,this.EQ=i):(i.oPrev=this.EQ,this.EQ.oNext=i,this.EQ=this.EQ.oNext)},i.prototype.remove=function(e){if(this.oFirst.oValue===e)null!==ZC._n_(this.oFirst.oNext)?(this.oFirst=this.oFirst.oNext,this.oFirst.oPrev=null):(this.oFirst=null,this.EQ=null);else if(this.EQ.oValue===e)null!==ZC._n_(this.EQ.oPrev)?(this.EQ=this.EQ.oPrev,this.EQ.oNext=null):(this.oFirst=null,this.EQ=null);else if(!this.isEmpty())for(var t=this.oFirst;null!==ZC._n_(t);){if(t.oValue===e){t.oPrev.oNext=t.oNext,t.oNext.oPrev=t.oPrev;break}t=t.oNext}},i.prototype.insertAfter=function(e,i){if(!this.isEmpty())for(var r=this.oFirst;null!==ZC._n_(r);){if(r.oValue===i.oValue){var n=new t(e);n.oPrev=r,n.oNext=r.oNext,null!==ZC._n_(r.oNext)&&(r.oNext.oPrev=n),r.oNext=n,null===ZC._n_(n.oNext)&&(this.EQ=n);break}r=r.oNext}},i.prototype.iterate=function(e){var t=[];if(!this.isEmpty())for(var i=this.oFirst;null!==ZC._n_(i);)e.call(this,i)&&t.push(i),i=i.oNext;return t};var r=function(){};r.prototype.distanceBetweenNodes=function(e,t){return Math.sqrt((e.iX-t.iX)*(e.iX-t.iX)+(e.iY-t.iY)*(e.iY-t.iY))},r.prototype.distanceFromOrigin=function(e){return Math.sqrt(e.iX*e.iX+e.iY*e.iY)},r.prototype.createNewNode=function(t,i,r){var n=Math.atan2(i.iY-t.iY,i.iX-t.iX),a=Math.acos((this.distanceBetweenNodes(t,i)*this.distanceBetweenNodes(t,i)+(t.iR+r)*(t.iR+r)-(i.iR+r)*(i.iR+r))/(2*(t.iR+r)*this.distanceBetweenNodes(t,i))),o=new e(t.iX+(t.iR+r)*Math.cos(n+a),t.iY+(t.iR+r)*Math.sin(n+a),r,0),l=new e(t.iX+(t.iR+r)*Math.cos(n-a),t.iY+(t.iR+r)*Math.sin(n-a),r,0);return o.H8=this.distanceFromOrigin(o),l.H8=this.distanceFromOrigin(l),[o,l]},r.prototype.setup=function(t,r,n){var a=[new e(0,0,t,0),new e(t+r,0,r,0)],o=this.createNewNode(a[0],a[1],n);o[0].iY<0?a.push(o[0]):a.push(o[1]);var l=t+r,u=t+n,s=r+n,h=(l+u+s)/2,p=Math.sqrt(h*(h-l)*(h-u)*(h-s)),c=l+p/(h-l),f=u+p/(h-u),g=s+p/(h-s),d=c+f+g;f/=d,g/=d;for(var _=(c/=d)*a[2].iX+f*a[1].iX+g*a[0].iX,v=c*a[2].iY+f*a[1].iY+g*a[0].iY,x=0;x<a.length;x++)a[x].iX=a[x].iX-_,a[x].iY=a[x].iY-v,a[x].H8=this.distanceFromOrigin(a[x]);var C=new i;C.setup(a);var b=null,Z=Number.MAX_VALUE;return C.iterate(function(e){e.oValue.H8<Z&&(Z=e.oValue.H8,b=e)}),[a,b,C]},r.prototype.candidateNode=function(e,t,i){var r=e.oNext;null===ZC._n_(r)&&(r=i.oFirst);var n=this.createNewNode(e.oValue,r.oValue,t);return(n[0].iX-e.oValue.iX)*(r.oValue.iY-e.oValue.iY)-(n[0].iY-e.oValue.iY)*(r.oValue.iX-e.oValue.iX)<0?n[0]:n[1]},r.prototype.distanceToNode=function(e,t,i,r,n){for(var a=0,o=t;a+=2*o.oValue.iR,(o=o===r.oFirst?r.EQ:o.oPrev)!==e;);return[a,n-a-2*e.oValue.iR]},r.prototype.checkIntersect=function(e,t,i){var r=t.oNext;null===ZC._n_(r)&&(r=i.oFirst);var n=null,a=0,o=this,l=i.iterate(function(t){return o.distanceBetweenNodes(e,t.oValue)-(t.oValue.iR+e.iR)<-1e-8});if(0===l.length)return[n,a];var u=0;i.iterate(function(e){u+=2*e.oValue.iR});for(var s=[],h=[],p=0;p<l.length;p++){var c=this.distanceToNode(l[p],t,r,i,u);s.push(c),h.push(Math.min(c[0],c[1]))}var f=Number.MAX_VALUE,g=[],d=Number.MAX_VALUE;for(p=0;p<h.length;p++)h[p]<d&&(d=h[p],g=s[p],f=p);return[n=l[f],a=g[0]<g[1]?-1:1]},r.prototype.removeNodesAhead=function(e,t,i){for(;t.oNext!==e;)if(t!==i.EQ)i.remove(t.oNext.oValue);else{if(i.oFirst===e)break;i.remove(i.oFirst.oValue)}},r.prototype.removeNodesBehind=function(e,t,i){for(;t.oPrev!==e;)if(t!==i.oFirst)i.remove(t.oPrev.oValue);else{if(i.EQ===e)break;i.remove(i.EQ.oValue)}},r.prototype.modifyFrontChain=function(e,t,i,r){if(0===r)return[t,!1];if(-1===r){var n=t.oNext;null===ZC._n_(n)&&(n=i.oFirst),this.removeNodesBehind(e,n,i),t=e}else this.removeNodesAhead(e,t,i);return[t,!0]},r.prototype.resolveIntersections=function(e,t,i){for(var r,n=!0;n;){r=this.candidateNode(e,t,i);var a=this.checkIntersect(r,e,i),o=a[0],l=a[1],u=this.modifyFrontChain(o,e,i,l);e=u[0],n=u[1]}return[e,r]},r.prototype.getClosestNode=function(e,t){var i=this.distanceFromOrigin(e.oValue),r=this;return t.iterate(function(t){var n=r.distanceFromOrigin(t.oValue);n<i&&(e=t,i=n)}),e},r.prototype.pack=function(e){for(var t,i=this.setup(e[0],e[1],e[2]),r=i[0],n=i[1],a=i[2],o=[],l=0;l<e.length;l++){var u=e[l];if(l<3)o.push([r[l].iX,r[l].iY,r[l].iR]);else{n=this.getClosestNode(n,a);var s=this.resolveIntersections(n,u,a);n=s[0],t=s[1],a.insertAfter(t,n),o.push([t.iX,t.iY,t.iR])}}return o};var n=function(e,t,i,r){return[e+i*Math.cos(2*r*Math.PI/360),t+i*Math.sin(2*r*Math.PI/360)]},a=function(e){return 360*e/(2*Math.PI)},o=function(e,t,i){i.padding;for(var r,n=0;n<t.length;n++)if(r=Math.sqrt((e.x-t[n].x)*(e.x-t[n].x)+(e.y-t[n].y)*(e.y-t[n].y)),Math.round(r-e.r-t[n].r)<0)return!1;return!0},l=function(e,t,i){for(var r,l,u,s=e.r,h=i.padding,p=!1,c=[],f=0;f<t.length-1;f++)for(var g=f;g<t.length;g++){var d=Math.sqrt((t[f].x-t[g].x)*(t[f].x-t[g].x)+(t[f].y-t[g].y)*(t[f].y-t[g].y));if(f!==g&&Math.floor(Math.abs(d-t[f].r-t[g].r))<=h){var _,v,x,C,b,Z=(s+t[g].r)*(s+t[g].r)-(s+t[f].r)*(s+t[f].r),y=t[f].r+t[g].r,m=(Z+y*y)/(2*y),z=Math.sqrt((s+t[g].r)*(s+t[g].r)-m*m),M=(r=t[f],l=t[g],void 0,[u=(r.y-l.y)/(r.x-l.x),r.y-u*r.x,Math.atan((l.y-r.y)/(l.x-r.x))]);C=(x=n(t[g].x,t[g].y,m,a(M[2])))[0],b=x[1],(C<Math.min(t[f].x,t[g].x)||C>Math.max(t[f].x,t[g].x)||b<Math.min(t[f].y,t[g].y)||b>Math.max(t[f].y,t[g].y))&&(C=(x=n(t[g].x,t[g].y,m,a(M[2])+180))[0],b=x[1]),_={x:(v=n(C,b,z,a(M[2])+90))[0],y:v[1],r:s,padding:h,idx:e.idx,info:e},o(_,t,i)&&(c.push(_),p=!0),_={x:(v=n(C,b,z,a(M[2])+270))[0],y:v[1],r:s,padding:h,idx:e.idx,info:e},o(_,t,i)&&(c.push(_),p=!0)}}return c.sort(function(e,t){return Math.sqrt((e.x-i.x)*(e.x-i.x)+(e.y-i.y)*(e.y-i.y))-Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y))}),c.length&&t.push(c[0]),p};zingchart.plugins.bubblepack=zingchart.plugins.bubblepack||{},zingchart.plugins.bubblepack.info=zingchart.plugins.bubblepack.info||{},zingchart.plugins.bubblepack.cache=zingchart.plugins.bubblepack.cache||{};var u=function(e,t,i){if(""!==t.uid&&zingchart.plugins.bubblepack.cache[t.uid])return zingchart.plugins.bubblepack.cache[t.uid];var n=t.r,a=t.x,o=t.y,u=t.padding,s=t.maxItems||999,h=t.minSize||1.5,p=zingchart.plugins.bubblepack.info.groups[i]||{};e.sort(function(e,t){return e.group&&t.group?e.group===t.group?parseFloat(t[ZC._[9]])-parseFloat(e[ZC._[9]]):null!==ZC._n_(p[e.group])&&null!==ZC._n_(p[t.group])?p[e.group]-p[t.group]:e.group<t.group?1:e.group>t.group?-1:0:parseFloat(t[ZC._[9]])-parseFloat(e[ZC._[9]])});var c=Math.min(s,e.length),f=[];for(v=0;v<c;v++)e[v].r=e[v]._r_=Math.sqrt(parseFloat(e[v][ZC._[9]])/Math.PI)+u/2,e[v].idx=v,f[v]=e[v].r;var g="fast"===t.mode||"auto"===t.mode&&c>128;c<3&&(g=!1),0===u&&(t.padding=u=1);var d=[];if(g)for(var _=(new r).pack(f),v=0;v<_.length;v++)d.push({x:_[v][0],y:_[v][1],r:_[v][2],idx:v,info:e[v]});else if(c>1){var x=e[0].r+e[1].r+u/2;for(d.push({x:a-x+e[0].r,y:o,r:e[0].r,idx:0,info:e[0]}),d.push({x:a+x-e[1].r,y:o,r:e[1].r,idx:1,info:e[1]}),v=2;v<c;v++)e[v].r>=h&&l(e[v],d,t)}else d.push({x:a,y:o,r:e[0].r-u,idx:0,info:e[0]});if(g){var C=[0,0,0];for(v=0;v<d.length;v++){var b=Math.PI*d[v].r*d[v].r;C[0]+=d[v].x*b,C[1]+=d[v].y*b,C[2]+=b}var Z=C[0]/C[2],y=C[1]/C[2];for(v=0;v<d.length;v++)d[v].x-=Z,d[v].y-=y}var m,z,M,N=0;for(v=0;v<d.length;v++)m=d[v].x,z=d[v].y,g||(m-=a,z-=o),M=Math.sqrt(m*m+z*z),N=Math.max(N,M+d[v].r);var k=n/N;for(v=0;v<d.length;v++)if(g){F=t.x,E=t.y;m=d[v].x,z=d[v].y;V=Math.atan2(z,m);M=Math.sqrt(m*m+z*z),M*=k,d[v].x=F+M*Math.cos(V),d[v].y=E+M*Math.sin(V),d[v].r=d[v].r*k}else{var F=t.x-n,E=t.y-n;d[v].x-=n,d[v].y-=n,m=d[v].x-F,z=d[v].y-E;var V=Math.atan2(z,m);M=Math.sqrt(m*m+z*z),M*=k,d[v].x=F+M*Math.cos(V)+n,d[v].y=E+M*Math.sin(V)+n,d[v].r=d[v].r*k}return""!==t.uid&&(zingchart.plugins.bubblepack.cache[t.uid]=d),d},s=function(e,t){var i=ZC.IX(e.x||"0",!1);i<=1&&(i=t.x+t.width*i);var r=ZC.IX(e.y||"0",!1);r<=1&&(r=t.y+t.height*r);var n=ZC.IX(e[ZC._[19]]||"0",!1);n<=1&&(n=t.width*n);var a=ZC.IX(e[ZC._[20]]||"0",!1);return a<=1&&(a=t.height*a),{x:i+n/2,y:r+a/2,r:Math.min(n,a)/2}};zingchart.bind(null,"dataparse",function(e,t){for(var i,r,n,a,o=0,l=t[ZC._[16]].length;o<l;o++)if(t[ZC._[16]][o].type&&"bubble-pack"===t[ZC._[16]][o].type){var u=t[ZC._[16]][o].type;t[ZC._[16]][o]["plugin-type"]=u;var s=t[ZC._[16]][o];zingchart.normalize(s),s.type="null";var h={};s.options&&(h=s.options[u]||s.options),ZC._todash_(h),s[ZC._[11]]=s[ZC._[11]]||[];var p=h["text-attr"]||"text",c=h["value-attr"]||ZC._[9];if(!(s[ZC._[11]]instanceof Array)){var f=[],g={},d=function(e,t){var i=(e.text||e.name||e[p]).toLowerCase().replace(/[^a-z0-9_]+/gi,"");g[i]?i+=g[i]++:g[i]=1;var r={id:i,text:e.text||e.name||e[p]||i,value:e[ZC._[9]]||e[ZC._[21]]||e[c],parent:t||""};if(f.push(r),e.children)for(var n=0;n<e.children.length;n++)d(e.children[n],i)};d(s[ZC._[11]]),s[ZC._[11]]=f}for(i=0;i<s[ZC._[11]].length;i++)s[ZC._[11]][i].text=s[ZC._[11]][i].text||s[ZC._[11]][i].name||s[ZC._[11]][i][p],s[ZC._[11]][i][ZC._[9]]=s[ZC._[11]][i][ZC._[9]]||s[ZC._[11]][i][ZC._[21]]||s[ZC._[11]][i][c];var _=h["group-filter"]||[];for(zingchart.plugins.bubblepack.info.groups=zingchart.plugins.bubblepack.info.groups||{},zingchart.plugins.bubblepack.info.size=zingchart.plugins.bubblepack.info.size||{},zingchart.plugins.bubblepack.info.size[e.id]=s[ZC._[11]].length,zingchart.plugins.bubblepack.info.groups[e.id]={},i=0;i<_.length;i++)zingchart.plugins.bubblepack.info.groups[e.id][_[i]]=i;var v=_.length;for(i=0;i<s[ZC._[11]].length;i++)if(s[ZC._[11]][i].group&&null===ZC._n_(zingchart.plugins.bubblepack.info.groups[e.id][s[ZC._[11]][i].group])&&(zingchart.plugins.bubblepack.info.groups[e.id][s[ZC._[11]][i].group]=v++),null!==ZC._n_(s[ZC._[11]][i].parent))for(r=0;r<s[ZC._[11]].length;r++)s[ZC._[11]][r].id===s[ZC._[11]][i].parent&&(s[ZC._[11]][i].pidx=r,s[ZC._[11]][r].children=s[ZC._[11]][r].children||[],s[ZC._[11]][r].children.push(i));for(var x=!0,C=[];x;)for(x=!1,i=0;i<s[ZC._[11]].length;i++)if(null!==ZC._n_(s[ZC._[11]][i].parent)&&(n=s[ZC._[11]][i].parent,-1===ZC.AV(C,n))){var b=0,Z=!0;for(a=-1,r=0;r<s[ZC._[11]].length;r++)s[ZC._[11]][r].id===n&&(a=r,s[ZC._[11]][i].pidx=r),null!==ZC._n_(s[ZC._[11]][r].parent)&&s[ZC._[11]][r].parent===n&&(null!==ZC._n_(s[ZC._[11]][r][ZC._[9]])?b+=ZC._f_(s[ZC._[11]][r][ZC._[9]]):Z=!1);if(Z&&-1!==a){s[ZC._[11]][a][ZC._[9]]=b,C.push(n),x=!0;continue}}for(var y=!0;y;)for(y=!1,i=0;i<s[ZC._[11]].length;i++)null===ZC._n_(s[ZC._[11]][i].level)&&(null===ZC._n_(s[ZC._[11]][i].parent)||""===s[ZC._[11]][i].parent?s[ZC._[11]][i].level=0:(a=s[ZC._[11]][i].pidx,null!==ZC._n_(a)&&(null===ZC._n_(s[ZC._[11]][a].level)?y=!0:s[ZC._[11]][i].level=ZC._i_(s[ZC._[11]][a].level)+1)));s.plotarea=s.plotarea||{},ZC._inj_(s.plotarea,{margin:"40 10 10 10","mask-tolerance":[0,0]})}return t});var h=function(e){var t,i,r=zingchart.getLoader(e.loader.id),n=zingchart.getGraph(r,e.graphid),a=n.o;if("bubble-pack"===a["plugin-type"]){var o=zingchart.getGraphInfo(r,r.o,n.L),l=o.plotarea;a.shapes=a.shapes||[];var h={};if(a.options&&(h=a.options["bubble-pack"]||a.options),ZC._todash_(h),e.shape&&null!==ZC._n_(h.active)&&!ZC._b_(h.active))return;var p=h.palette||["#FFEC94","#FFAEAE","#B0E57C","#B4D8E7","#FCCB8E"],c=a[ZC._[11]]||[],f=ZC._f_(ZC._c_(h.padding,1)),g=ZC._c_(h.mode,"auto"),d=ZC._i_(ZC._c_(h["min-level"],0)),_=ZC._i_(ZC._c_(h["max-items"],999)),v=h.filter||[],x=h["group-filter"]||[],C=ZC._f_(ZC._c_(h["min-size"],.5)),b=h.containers||{},Z=h.format||{},y=[].concat(v),m=d,z=e["data-top"]||"";if(""===z){var M="",N=0;for(t=0;t<c.length;t++)c[t].parent&&""!==c[t].parent||(M=c[t].id,N++);1===N&&(z=M)}null!==ZC._n_(e["data-level"])&&(d=e["data-level"],z===e["data-id"]&&d--),null!==ZC._n_(e["data-id"])&&(z===e["data-id"]?(v=[e["data-parent"]],z=e["data-parent"]):(v=[e["data-id"]],z=e["data-id"])),d<m&&(d=m,v=[].concat(y));var k,F,E,V=[],X=ZC._i_(l.x+l.width/2),w=ZC._i_(l.y+l.height/2),Y=ZC._i_(Math.min(l.width/2,l.height/2)),P=0;for(t=0;t<c.length;t++)P=Math.max(P,c[t].level);ZC._n_(h["max-level"])&&(P=ZC._i_(h["max-level"]));for(var A=d;A<=P;A++){for(F={},t=0;t<c.length;t++)if(c[t].level===A){if(E=c[t].parent||"0",A===d){var R=c[t].id;E=b[R]?R:"0"}F[E]=F[E]||[],(!v.length||c[t].level!==d||v.length&&-1!==ZC.AV(v,c[t].id))&&(""===c[t].group||!x.length||x.length&&-1!==ZC.AV(x,c[t].group))&&F[E].push(c[t])}for(E in F){var I=z+"/"+E+"/"+d+"/"+P;if(F[E].length){if(A===d)b[E]?((k=s(b[E],l)).padding=f,k.minSize=C,k.uid="",k.mode=g):k={uid:I,x:X,y:w,r:Y,level:A,maxItems:_,minSize:C,padding:f,mode:g};else{k=null;for(var Q=0;Q<V.length;Q++)V[Q].info.id===E&&(k={uid:I,x:V[Q].x,y:V[Q].y,r:V[Q].r,level:A,maxItems:_,minSize:C,padding:f,mode:g})}k&&(V=V.concat(u(F[E],k,e.id)))}}}var q=[],B={};for(t=0;t<V.length;t++){var O=V[t].info.level;null===ZC._n_(B[O])&&(B[O]=0),B[O]=Math.max(B[O],V[t].r)}for(t=0;t<V.length;t++){var H=V[t].r-f/2;if(H>=C){var L=V[t].info,S=zingchart.formatNumber(L.value,Z),j=L.text||"",T=j,U=S,G=1;""!==j&&(G=Math.min(29,Math.floor(2*H*1.25/Math.max(3,j.length)))),G<10&&(j=j.substring(0,3)+"...",(G=Math.min(29,Math.floor(2*H*1.25/Math.max(3,j.length))))<10&&(j="",S=""));var D=1;""!==S&&(D=Math.min(19,Math.floor(2*H*1.25/Math.max(3,S.length)))),D<10&&(S=""),H<10&&(j=S="");var J=p[V[t].info.level%p.length];V[t].info.group&&(J=null!==ZC._n_(i=zingchart.plugins.bubblepack.info.groups[e.id][V[t].info.group])?p[(V[t].info.level+i)%p.length]:"#"+ZC.YC.md5(V[t].info.group).substring(0,6));var K={type:"circle",id:"bp_"+V[t].info.id,"data-id":V[t].info.id,"data-level":V[t].info.level,"data-parent":V[t].info.parent,"data-top":z,cls:"bp_item","border-width":1,"border-color":"#999","background-color":J,alpha:1,"text-align":"center",cursor:"hand",size:H,x:V[t].x,y:V[t].y,"hover-state":{"border-width":1,"border-color":"#000","background-color":"none"},label:{fontSize:D,text:""},tooltip:{text:"%fullname<br>%fullvalue"}};V[t].info.children&&0!==V[t].info.children.length&&V[t].info.level!==P||(K.label={text:'<span style="font-size:%fontsizepx">%name</span><br><span style="font-size:%fontsizepx">%value</span>'}),ZC._cp_(h.item,K),ZC._cp_(h["item-level-"+V[t].info.level],K),ZC._cp_(h["item-group-"+V[t].info.group],K),ZC._cp_(h["item-id-"+V[t].info.id],K);O=V[t].info.level;var W=40*V[t].r/B[O];J=K[ZC._[0]],K[ZC._[0]]=ZC.AP.Q3(J,W);var $=null;for(var ee in K.label.text=K.label.text.replace(/%fontsizename/g,G).replace(/%fontsizevalue/g,D).replace(/%fullname/g,T).replace(/%name/g,j).replace(/%fullvalue/g,U).replace(/%value/g,S),K.tooltip.text=K.tooltip.text.replace(/%fullname/g,T).replace(/%name/g,j).replace(/%fullvalue/g,U).replace(/%value/g,S),V[t].info)0===ee.indexOf("data-")&&($=new RegExp("%"+ee,"g"),K.label.text=K.label.text.replace($,V[t].info[ee]),K.tooltip.text=K.tooltip.text.replace($,V[t].info[ee]));$=new RegExp("%data-([a-zA-Z0-9]+)","g"),K.label.text=K.label.text.replace($,""),K.tooltip.text=K.tooltip.text.replace($,""),$=new RegExp("<br><span(.+?)></span>","g"),K.label.text=K.label.text.replace($,""),(G<8||"<br>"===K.label.text)&&(K.label.text=""),q.push(K)}}zingchart.exec(e.id,"removeobject",{type:"shape",graphid:o.graph.index,cls:"bp_item"}),zingchart.exec(e.id,"addobject",{type:"shape",graphid:o.graph.index,data:q})}};zingchart.bind(null,"gcomplete",function(e){h(e)}),zingchart.bind(null,"shape_click",function(e){if(!e["data-flat"]){for(var t in ZC.cache.data)-1!==t.indexOf("area-score-"+e.id)&&delete ZC.cache.data[t];zingchart.plugins.bubblepack.info.size[e.id]>500&&zingchart.exec(e.id,"disable",{}),window.setTimeout(function(){h(e),zingchart.exec(e.id,"enable",{})},1)}}),zingchart.extendAPI("bubblepack.setdata",function(e,t){zingchart.plugins.bubblepack.cache={},zingchart.plugins.bubblepack.info.groups[e]={},zingchart.plugins.bubblepack.info.size[e]={},zingchart.exec(e,"setdata",{data:t.data||{}})}),zingchart.extendAPI("bubblepack.clearcache",function(e,t){zingchart.plugins.bubblepack.cache={},zingchart.plugins.bubblepack.info.groups[e]={},zingchart.plugins.bubblepack.info.size[e]={}})}();