UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 5.06 kB
import{ComponentInterface}from'../../../../../fc-core/src/component-interface';import{pluck,pluckNumber,getValidValue,preDefStr,getContainerBackgroundColor,toRaphaelColor,chartPaletteStr,getDashStyle,convertColor}from'../../../../../fc-core/src/lib';import{addDep}from'../../../../../fc-core/src/dependency-manager';import backgroundAnimation from'./index.animation';let noneStr,stringConstants={BACKGROUNDLOADED:'BackgroundLoaded',BACKGROUNDLOADERROR:'BackgroundLoadError',clipRectStr:'clip-rect'},POSITION_TOP='top',POSITION_BOTTOM='bottom',POSITION_MIDDLE='middle',POSITION_RIGHT='right',POSITION_LEFT='left',TILE='tile',FILL='fill',FIT='fit',DASH_DEF=noneStr='none',getHandler=function(a){let b=a.config;return{load:function(){let{bgImageDisplayMode:c,bgImageVAlign:d,bgImageHAlign:e,bgImageScale:f,bgSWFAlpha:g,bgSWF:h}=b,i=a.getGraphicalElement('backgroundImage'),j=i._.RefImg,k=a.getFromEnv('chart');k.fireChartInstanceEvent(stringConstants.BACKGROUNDLOADED,{url:h,bgImageAlpha:g,bgImageDisplayMode:c,bgImageVAlign:d,bgImageHAlign:e,bgImageScale:f,imageheight:j.height,imagewidth:j.width})},error:function(c){let{bgImageDisplayMode:d,bgImageVAlign:e,bgImageHAlign:f,bgImageScale:g,bgSWFAlpha:h,bgSWF:i}=b,j=a.getFromEnv('chart');j.fireChartInstanceEvent(stringConstants.BACKGROUNDLOADERROR,{url:i,bgImageAlpha:h,error:c,bgImageDisplayMode:d,bgImageVAlign:e,bgImageHAlign:f,bgImageScale:g})}}},COMMA=',',BLANKSTRING='';addDep({name:'backgroundAnimation',type:'animationRule',extension:backgroundAnimation});class Background extends ComponentInterface{constructor(){super(),this.config.handler=getHandler(this)}getName(){return'background'}getType(){return'background'}_getBackgroundCosmetics(){var a=this,b=a.getFromEnv('chart-attrib'),c=a.getFromEnv('color-manager'),d=a.getFromEnv('chartConfig').is3D,e=d?chartPaletteStr.chart3D:chartPaletteStr.chart2D;return{FCcolor:{color:pluck(b.bgcolor,c.getColor(e.bgColor)),alpha:pluck(b.bgalpha,c.getColor(e.bgAlpha)),angle:pluck(b.bgangle,c.getColor(e.bgAngle)),ratio:pluck(b.bgratio,c.getColor(e.bgRatio))}}}configureAttributes(){var a,b,c,d,e=this,f=e.config,g=e.getFromEnv('chart-attrib'),h=e.getFromEnv('chartConfig'),i=h.is3D,j=e.getFromEnv('color-manager'),k=f.bgImageDisplayMode=pluck(g.bgimagedisplaymode,noneStr).toLowerCase();f.bgSWF=pluck(g.bgimage,g.bgswf),f.bgSWFAlpha=pluckNumber(g.bgimagealpha,g.bgswfalpha,100),b=f.showBorder=pluckNumber(g.showborder,h.showBorder,i?0:1),f.borderWidth=Math.max(b?pluckNumber(g.borderthickness,1):0,0),f.borderRadius=pluckNumber(g.borderradius,0),f.borderDashStyle=pluckNumber(g.borderdashed,0)?getDashStyle(pluckNumber(g.borderdashlen,4),pluckNumber(g.borderdashgap,2),a):DASH_DEF,f.borderAlpha=pluck(g.borderalpha,i?'100':j&&j.getColor('borderAlpha')),f.borderColor=convertColor(pluck(g.bordercolor,i?'#666666':j&&j.getColor('borderColor')),f.borderAlpha),f.bgImageVAlign=c=getValidValue(g.bgimagevalign,BLANKSTRING).toLowerCase(),f.bgImageHAlign=d=(g.bgimagehalign||BLANKSTRING).toLowerCase(),f.bgImageScale=pluckNumber(g.bgimagescale,100),f.containerBackgroundColor=getContainerBackgroundColor(e.getFromEnv('chartInstance')),f.backgroundColor=e._getBackgroundCosmetics(),k===TILE||k===FILL||k===FIT?(c!==POSITION_TOP&&c!==POSITION_MIDDLE&&c!==POSITION_BOTTOM&&(f.bgImageVAlign=POSITION_MIDDLE),d!==POSITION_LEFT&&d!==POSITION_MIDDLE&&d!==POSITION_RIGHT&&(f.bgImageHAlign=POSITION_MIDDLE)):(c!==POSITION_TOP&&c!==POSITION_MIDDLE&&c!==POSITION_BOTTOM&&(f.bgImageVAlign=POSITION_TOP),d!==POSITION_LEFT&&d!==POSITION_MIDDLE&&d!==POSITION_RIGHT&&(f.bgImageHAlign=POSITION_LEFT))}draw(){var a,b,c,d,e,f,g=this,h=g.getFromEnv('paper'),i=g.getGraphicalElement('backgroundElement'),j=g.getGraphicalElement('borderElement'),k=g.config,l=g.getFromEnv('chart'),m=g.getFromEnv('chartConfig'),n=k.backgroundColor,o=g.getFromEnv('animationManager'),p=g.getGraphicalElement('backgroundImage'),q=k.bgSWF,r=l.getChildContainer('backgroundGroup'),s=m.width,t=m.height,u=k.borderWidth||0,v=k.borderRadius,w=k.borderDashStyle,x=k.borderColor,y=k.bgSWFAlpha,z=k.bgImageDisplayMode,A=k.bgImageVAlign,B=k.bgImageHAlign,C=k.bgImageScale;h.canvas.style.backgroundColor=k.containerBackgroundColor,f=s-2*u,e=t-2*u,c={x:u,y:u,width:0>f?0:f,height:0<e?e:0,stroke:preDefStr.noneStr,fill:toRaphaelColor(n)},a=o.setAnimation({el:i||'rect',attr:c,container:r,component:g,label:'rect'}),a.show(),i||g.addGraphicalElement('backgroundElement',a),f=s-u,e=t-u,c={x:u/2,y:u/2,width:0>f?0:f,height:0<e?e:0,stroke:x,"stroke-width":u,"stroke-dasharray":w,fill:preDefStr.noneStr,r:v||0},b=o.setAnimation({el:j||'rect',attr:c,container:r,component:g,label:'rect'}),b.show(),j||g.addGraphicalElement('borderElement',b),q&&!g.getState('removed')?(d=o.setAnimation({el:p||'imagegrid',attr:{imagegrid:[z,A,B,C,u,s,t],src:q,opacity:.01*y,"clip-rect":u+COMMA+u+COMMA+(s-2*u)+COMMA+(t-2*u)},container:r,component:g,label:'imagegrid'}),d.show(),!p&&(g.addGraphicalElement('backgroundImage',d),d.on('load',k.handler.load),d.on('error',k.handler.error))):p&&g.removeGraphicalElement(p)}}export default Background;