UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 3.68 kB
import{pluck}from'../../lib';export default function(a){const b=/rgba\([\d]+\,[\d]+\,[\d]+\,0\)$/;var c,d=window,e=Math,f=e.cos,g=e.sin,j=e.PI,k=d.parseInt,l=d.parseFloat,i=String,h=Array.prototype.slice,m=/\s*\,\s*/g;a&&a._availableAnimAttrs&&a._availableAnimAttrs.cx&&(a._availableAnimAttrs['scroll-position']=a._availableAnimAttrs.cx),a.define&&a.define([{name:'polypath',polypath:function(){return this.path(c,a._lastArgIfGroup(arguments))},ca:{polypath:function(b,c,d,e,m,n){var o,p,q,s,t;if(o=[],b=k(b,10)||0,c=l(c)||0,d=l(d)||0,e=l(e)||0,m=null===m||isNaN(m)?.5*j:a.rad(m),n=null===n||isNaN(n)?0:l(n),s=m,2<b)switch(p=2*j/b,n){case 0:for(q=0;q<b;q++)o.push('L',c+e*f(-s),d+e*g(-s)),s+=p;o[0]='M',o.push('Z');break;case 1:for(q=0;q<b;q++)o.push('M',c,d,'L',c+e*f(-s),d+e*g(-s)),s+=p;break;default:for(p*=.5,t=e*f(p)*(1-n),q=0;q<b;q++)o.push('L',c+e*f(-s),d+e*g(-s)),s+=p,o.push('L',c+t*f(-s),d+t*g(-s)),s+=p;o[0]='M',o.push('Z');}else 0===e?o.push('M',c,d,'L',c,d,'Z'):o.push('M',c-e,d,'A',e,e,0,0,0,c+e,d,'A',e,e,0,0,0,c-e,d,'Z');return{path:o}},r:function(a){var b=this,c=b.attrs.polypath;return c[3]=a,b.attr('polypath',c),!1}}}]),a.ca['text-bound']=function(d,e,f,g,h,i,j){var k=this,l=k.paper,m=k._.textbound;if(this._origOpacity=j===c?1:j,'text'===this.type)return(!e||'none'===e||b.test(e))&&(!d||'none'===d||b.test(d))?(k._.textbound=m&&m.unfollow(k).remove(),!1):(k.attrs['text-bound']=arguments,f&&a.is(f,'finite')||(f=0),h&&a.is(h,'finite')||(h=0),m||(m=k._.textbound=l.rect(0,0,0,0,k.group).follow(k,a.ca['text-bound'].reposition,'before')),m.attr({stroke:e||'none',"stroke-width":f,fill:d||'none',"shape-rendering":1===f&&'crisp'||'',r:h}),j!==c&&m.attr('opacity',j),i&&m.attr('stroke-dasharray',i),a.ca['text-bound'].reposition.call(m,k.attr(),k),!1)},a.ca['text-bound'].reposition=function(a,b){var c,d,e,f,g,j,k,n,p,q=Math.max,r=this,o={};a.hasOwnProperty('visibility')&&r.attr('visibility',a.visibility);(a.hasOwnProperty('text-bound')||a.hasOwnProperty('x')||a.hasOwnProperty('y')||a.hasOwnProperty('text')||a.hasOwnProperty('text-anchor')||a.hasOwnProperty('text-align')||a.hasOwnProperty('font-size')||a.hasOwnProperty('line-height')||a.hasOwnProperty('vertical-align')||a.hasOwnProperty('transform')||a.hasOwnProperty('rotation')||a.hasOwnProperty('opacity'))&&(c=b.attrs,d=c['text-bound'],e=i(d&&d[3]||'0').split(m),f=l(e[0])||0,g=pluck(l(e[1]),f),j=b.getBBox(),n=j.width,p=j.height,r._origOpacity=b._origOpacity||1,k=l(a.opacity||c.opacity),o.opacity=isNaN(k)?r._origOpacity:r._origOpacity*k,!isNaN(n)&&(o.x=j.x-f,o.y=j.y-g,o.width=q(n+2*f,0),o.height=q(p+2*g,0)),r.attr(o))},a.fn.symbol=function(){var b,d=this,e=arguments,f=e.length-1,g=e[f];return g&&g.constructor===a.el.constructor?e[f]=c:g=c,b=d.path(c,g),b.ca.symbol=a.fn.symbol.ca.symbol,e.length===!!g+0?b:b.attr('symbol',e)},a.fn.getSuggestiveRotation=function(){var a,b,c,d;return a=arguments[0],1===arguments.length?(b=a.angle,c=a.x,d=a.y):(b=a,c=arguments[1],d=arguments[2]),b=b||0,'r'+b+','+c+','+d},a.fn.symbol.cache={"":a._cacher(function(a,b,c,d){return 3<arguments.length?['M',a,b,'h',c,'v',d,'h',-c,'v',-d,'z']:['M',a-c,b-c,'h',c*=2,'v',c,'h',-c,'v',-c,'z']})},a.fn.symbol.ca={symbol:function(b){var c,d,e=this,f=a.is(b,'object')&&1===arguments.length&&!a.is(b,'function')?b:arguments;f===b&&(b=f[0]),c=a.is(b,'function')&&b||a.fn.symbol.cache[b]||a.fn.symbol.cache[''],d=c&&c.apply(a,h.call(f,1)),a.is(d,'array')||a.is(d,'string')?e.attr('path',d):d&&e.attr(d)}},a.addSymbol=function(b,c){var d,e,f=a.fn.symbol.cache,g=[];for(e in d=a.is(c,'function')&&(d={},d[b]=c,d)||b,d)c=d[e],f[e]=a.is(c,'function')&&a._cacher(c,a)||(g.push(e),c);for(e=g.pop();e;)f[e]=f[f[e]],e=g.pop()}}