UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 5.18 kB
import{ComponentInterface}from'../component-interface';import{extend2,getImageURL,pluckNumber,pluck,parseUnsafeString,BLANKSTRING,getValidValue,getContainerBackgroundColor,POSITION_TOP,POSITION_MIDDLE,POSITION_BOTTOM,POSITION_LEFT,POSITION_RIGHT,preDefStr,setImageDisplayMode,COMMA}from'../lib';let UNDEF,BACKGROUNDLOADERROR='backgroundloaderror',BACKGROUNDLOADED='backgroundloaded',POINTER='pointer',NONE=preDefStr.noneStr,attachLink=function(a,b){a.on('fc-click',function(){try{open(b)}catch(a){(top||window).location.href=b}}),a.css({cursor:POINTER,_cursor:POINTER})};class ChartMessage extends ComponentInterface{getName(){return'chartMessage'}_drawBackground(a,b={}){var c,d,e,f,g=this,h=g.config,i=g.getFromEnv('paper'),j=g.getFromEnv('chart'),k=g.getGraphicalElement('backgroundElement'),l=g.getGraphicalElement('backgroundImage'),m=g.getFromEnv('chartWidth'),n=g.getFromEnv('chartHeight'),o=g.getLinkedParent().getChildContainer('messageGroup').show(),p=pluckNumber(b.imageAlpha,100),q=getValidValue(b.imageVAlign,BLANKSTRING).toLowerCase(),r=pluck(b.imageHAlign,BLANKSTRING).toLowerCase(),s=pluckNumber(b.imageScale,100),t=g.getFromEnv('chartInstance'),u=h.messageURL,v=getContainerBackgroundColor(t);i.canvas.style.backgroundColor=v,q!==POSITION_TOP&&q!==POSITION_MIDDLE&&q!==POSITION_BOTTOM&&(q=POSITION_TOP),r!==POSITION_LEFT&&r!==POSITION_MIDDLE&&r!==POSITION_RIGHT&&(r=POSITION_LEFT),d={x:0,y:0,width:m,height:n,stroke:NONE},k||(k=i.rect(o),g.addGraphicalElement('backgroundElement',k)),k.attr(d),k&&u&&attachLink(k,u),h.bgImageVAlign=q,h.bgImageHAlign=r,h.bgImageScale=s,h.bgSWFAlpha=p,h.imgClipRect=0+COMMA+0+COMMA+m+COMMA+n,a&&((c=l)?c.attr({src:a}):(c=g.getFromEnv('paper').image(o),g.addGraphicalElement('backgroundImage',c),c.attr({src:a}),c.on('load',function(){if(!(!c||c&&c.removed)){let b=c._.RefImg;e=g.getFromEnv('chartConfig'),h.isImage&&(e===UNDEF||e.hasChartMessage)&&(f=setImageDisplayMode(NONE,h.bgImageVAlign,h.bgImageHAlign,h.bgImageScale,0,g.getFromEnv('chartWidth'),g.getFromEnv('chartHeight'),b),extend2(f,{opacity:.01*h.bgSWFAlpha,visibility:'visible',"clip-rect":h.imgClipRect}),c.attr(f).show(),c&&u&&attachLink(c,u),j.fireChartInstanceEvent(BACKGROUNDLOADED,{url:a,bgImageAlpha:100*h.bgSWFAlpha,bgImageDisplayMode:NONE,bgImageVAlign:h.bgImageVAlign,bgImageHAlign:h.bgImageHAlign,bgImageScale:h.bgImageScale,imageWidth:b.width,imageHeight:b.height}))}}),c.on('error',function(b){c.removed||j.fireChartInstanceEvent(BACKGROUNDLOADERROR,{url:a,bgImageAlpha:100*h.bgSWFAlpha,error:b,bgImageDisplayMode:NONE,bgImageVAlign:h.bgImageVAlign,bgImageHAlign:h.bgImageHAlign,bgImageScale:h.bgImageScale},t)})))}setChartMessage(a,b){var c,d,e,f,g,h=this,i=h.getFromEnv('chartInstance'),j=i.options,k=i.args,l=h.config,m=h.getFromEnv('smartLabel'),n=getImageURL('undefined'==typeof a?j.dataEmptyMessage:a),o=h.getFromEnv('chartWidth'),p=h.getFromEnv('chartHeight');d=l.width=+o,c=l.height=+p,n.image?(e=n.string,g=b?{imageHAlign:pluck(b._chartMessageImageStyle.imageHAlign,j.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:pluck(b._chartMessageImageStyle.imageVAlign,j.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:pluckNumber(b._chartMessageImageStyle.imageAlpha,j.baseChartMessageImageAlpha),imageScale:pluckNumber(b._chartMessageImageStyle.imageScale,j.baseChartMessageImageScale)}:{imageHAlign:pluck(k.dataEmptyMessageImageHAlign,j.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:pluck(k.dataEmptyMessageImageVAlign,j.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:pluckNumber(k.dataEmptyMessageImageAlpha,j.baseChartMessageImageAlpha),imageScale:pluckNumber(k.dataEmptyMessageImageScale,j.baseChartMessageImageScale)},l.chartMessageType='image'):(g=b?{"font-family":b._chartMessageStyle.fontFamily||j.baseChartMessageFont,"font-size":b._chartMessageStyle.fontSize||j.baseChartMessageFontSize,fill:b._chartMessageStyle.color||j.baseChartMessageColor}:{"font-family":k.dataEmptyMessageFont||j.baseChartMessageFont,"font-size":k.dataEmptyMessageFontSize||j.baseChartMessageFontSize,fill:k.dataEmptyMessageColor||j.baseChartMessageColor},m.setStyle(g),f=m.getSmartText(parseUnsafeString(n.string),d,c),e={text:f.text,x:d/2,y:c/2},l.chartMessageType='text'),l.messageURL=j.messageURL,l.chartMessageAttr=e,l.chartMessageStyle=g}drawChartMessage(){var a,b,c,d=this,e=d.config,f=d.getFromEnv('paper'),g=e.isImage='image'===e.chartMessageType,h=e.messageURL,i=g?e.chartMessageAttr:extend2(e.chartMessageAttr,e.chartMessageStyle);a=d.getGraphicalElement('messageText'),c=d._graphics,b=d.getLinkedParent().getChildContainer('messageGroup').show(),g?d._drawBackground(e.chartMessageAttr,e.chartMessageStyle):a||'text'!==e.chartMessageType?(c.message=a.attr(i),a.show()):a=d.addGraphicalElement('messageText',f.text(i,b)),(a||c.message)&&h&&attachLink(a||c.message,h),d._hideOtherMessage(g)}_hideOtherMessage(a){var b,c,d,e=this;a?(c=e.getGraphicalElement('messageText'),c&&c.hide()):(b=e.getGraphicalElement('backgroundImage'),d=e.getGraphicalElement('backgroundElement'),b&&b.hide(),d&&d.hide())}_hideChartMessage(){this._hideOtherMessage(!0),this._hideOtherMessage()}getType(){return'chartMessage'}}export default ChartMessage;