UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 8.98 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _componentInterface=require("../component-interface");var _lib=require("../lib");var BACKGROUNDLOADERROR="backgroundloaderror",BACKGROUNDLOADED="backgroundloaded",UNDEF,IMAGE_STR="image",TEXT_STR="text",POINTER="pointer",NONE=_lib.preDefStr.noneStr,attachLink=function attachLink(element,link){element.on("fc-click",(function(){try{open(link)}catch(err){(top||window).location.href=link}}));element.css({cursor:POINTER,_cursor:POINTER})};var ChartMessage=function(_ComponentInterface){function ChartMessage(){return _ComponentInterface.apply(this,arguments)||this}(0,_inheritsLoose2.default)(ChartMessage,_ComponentInterface);var _proto=ChartMessage.prototype;_proto.getName=function getName(){return"chartMessage"};_proto.configureAttributes=function configureAttributes(obj){_ComponentInterface.prototype.configureAttributes.call(this,obj);var config=this.config;for(var key in obj){if(obj.hasOwnProperty(key)){config[key]=obj[key]}}};_proto._drawBackground=function _drawBackground(imageString,imageAttr){if(imageAttr===void 0){imageAttr={}}var chartMessage=this,config=chartMessage.config,paper=chartMessage.getFromEnv("paper"),chart=chartMessage.getFromEnv("chart"),visible=config.visible,backgroundElement=chartMessage.getGraphicalElement("backgroundElement"),backgroundImage,attrObj,chartConfig,bgImageAttr,prevBackGroundImg=chartMessage.getGraphicalElement("backgroundImage"),chartWidth=chartMessage.getFromEnv("chartWidth"),chartHeight=chartMessage.getFromEnv("chartHeight"),backgroundGroup=chartMessage.getLinkedParent().getChildContainer("messageGroup").show(),bgSWFAlpha=(0,_lib.pluckNumber)(imageAttr.imageAlpha,100),imgClipRect=0+_lib.COMMA+0+_lib.COMMA+chartWidth+_lib.COMMA+chartHeight,bgImageVAlign=(0,_lib.getValidValue)(imageAttr.imageVAlign,_lib.BLANKSTRING).toLowerCase(),bgImageHAlign=(0,_lib.pluck)(imageAttr.imageHAlign,_lib.BLANKSTRING).toLowerCase(),bgImageScale=(0,_lib.pluckNumber)(imageAttr.imageScale,100),chartInstance=chartMessage.getFromEnv("chartInstance"),link=config.messageURL,containerBackgroundColor=(0,_lib.getContainerBackgroundColor)(chartInstance);paper.canvas.style.backgroundColor=containerBackgroundColor;if(bgImageVAlign!==_lib.POSITION_TOP&&bgImageVAlign!==_lib.POSITION_MIDDLE&&bgImageVAlign!==_lib.POSITION_BOTTOM){bgImageVAlign=_lib.POSITION_TOP}if(bgImageHAlign!==_lib.POSITION_LEFT&&bgImageHAlign!==_lib.POSITION_MIDDLE&&bgImageHAlign!==_lib.POSITION_RIGHT){bgImageHAlign=_lib.POSITION_LEFT}attrObj={x:0,y:0,width:chartWidth,height:chartHeight,stroke:NONE};if(!backgroundElement){backgroundElement=paper.rect(backgroundGroup);chartMessage.addGraphicalElement("backgroundElement",backgroundElement)}backgroundElement.attr(attrObj);if(backgroundElement&&link){attachLink(backgroundElement,link)}config.bgImageVAlign=bgImageVAlign;config.bgImageHAlign=bgImageHAlign;config.bgImageScale=bgImageScale;config.bgSWFAlpha=bgSWFAlpha;config.imgClipRect=imgClipRect;if(imageString){if(!(backgroundImage=prevBackGroundImg)){backgroundImage=chartMessage.getFromEnv("paper").image(backgroundGroup);chartMessage.addGraphicalElement("backgroundImage",backgroundImage);backgroundImage.attr({src:imageString});backgroundImage.on("load",(function(){if(!backgroundImage||backgroundImage&&backgroundImage.removed){return}var referenceImage=backgroundImage._.RefImg;chartConfig=chartMessage.getFromEnv("chartConfig");if(!config.isImage||chartConfig!==UNDEF&&!chartConfig.hasChartMessage){return}bgImageAttr=(0,_lib.setImageDisplayMode)(NONE,config.bgImageVAlign,config.bgImageHAlign,config.bgImageScale,0,chartMessage.getFromEnv("chartWidth"),chartMessage.getFromEnv("chartHeight"),referenceImage);(0,_lib.extend2)(bgImageAttr,{opacity:config.bgSWFAlpha*.01,visibility:"visible","clip-rect":config.imgClipRect});backgroundImage.attr(bgImageAttr);visible?backgroundImage.show():backgroundImage.hide();if(backgroundImage&&link){attachLink(backgroundImage,link)}chart.fireChartInstanceEvent(BACKGROUNDLOADED,{url:imageString,bgImageAlpha:config.bgSWFAlpha*100,bgImageDisplayMode:NONE,bgImageVAlign:config.bgImageVAlign,bgImageHAlign:config.bgImageHAlign,bgImageScale:config.bgImageScale,imageWidth:referenceImage.width,imageHeight:referenceImage.height})}));backgroundImage.on("error",(function(e){if(backgroundImage.removed){return}chart.fireChartInstanceEvent(BACKGROUNDLOADERROR,{url:imageString,bgImageAlpha:config.bgSWFAlpha*100,error:e,bgImageDisplayMode:NONE,bgImageVAlign:config.bgImageVAlign,bgImageHAlign:config.bgImageHAlign,bgImageScale:config.bgImageScale},chartInstance)}))}else{backgroundImage.attr({src:imageString})}}};_proto.configure=function configure(obj){_ComponentInterface.prototype.configure.call(this,obj);var chartMessage=this,chartInstance=chartMessage.getFromEnv("chartInstance"),options=chartInstance.options,args=chartInstance.args,config=chartMessage.config,message=config.message,chartObj=config.chartObj,style,strObj=config.strObj=(0,_lib.getImageURL)(typeof message!=="undefined"?message:options.dataEmptyMessage);if(strObj.image){if(!chartObj){style={imageHAlign:(0,_lib.pluck)(args.dataEmptyMessageImageHAlign,options.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:(0,_lib.pluck)(args.dataEmptyMessageImageVAlign,options.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:(0,_lib.pluckNumber)(args.dataEmptyMessageImageAlpha,options.baseChartMessageImageAlpha),imageScale:(0,_lib.pluckNumber)(args.dataEmptyMessageImageScale,options.baseChartMessageImageScale)}}else{style={imageHAlign:(0,_lib.pluck)(chartObj._chartMessageImageStyle.imageHAlign,options.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:(0,_lib.pluck)(chartObj._chartMessageImageStyle.imageVAlign,options.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:(0,_lib.pluckNumber)(chartObj._chartMessageImageStyle.imageAlpha,options.baseChartMessageImageAlpha),imageScale:(0,_lib.pluckNumber)(chartObj._chartMessageImageStyle.imageScale,options.baseChartMessageImageScale)}}config.chartMessageType=IMAGE_STR}else{if(!chartObj){style={"font-family":args.dataEmptyMessageFont||options.baseChartMessageFont,"font-size":args.dataEmptyMessageFontSize||options.baseChartMessageFontSize,fill:args.dataEmptyMessageColor||options.baseChartMessageColor}}else{style={"font-family":chartObj._chartMessageStyle.fontFamily||options.baseChartMessageFont,"font-size":chartObj._chartMessageStyle.fontSize||options.baseChartMessageFontSize,fill:chartObj._chartMessageStyle.color||options.baseChartMessageColor}}config.chartMessageType=TEXT_STR}config.messageURL=options.messageURL;config.chartMessageStyle=style};_proto.manageSpace=function manageSpace(){var chartMessage=this,config=chartMessage.config,height,width,attr,smartText,style=config.chartMessageStyle,smartLabel=chartMessage.getFromEnv("smartLabel"),strObj=config.strObj,chartWidth=chartMessage.getFromEnv("chartWidth"),chartHeight=chartMessage.getFromEnv("chartHeight");width=config.width=Number(chartWidth);height=config.height=Number(chartHeight);if(strObj.image){attr=strObj.string}else{smartLabel.setStyle(style);smartText=smartLabel.getSmartText((0,_lib.parseUnsafeString)(strObj.string),width,height);attr={text:smartText.text,x:width/2,y:height/2}}config.chartMessageAttr=attr};_proto.draw=function draw(){var chartMessage=this,config=chartMessage.config,paper=chartMessage.getFromEnv("paper"),message,visible=config.visible,messageGroup,graphics,isImage=config.isImage=config.chartMessageType==="image",link=config.messageURL,attr=isImage?config.chartMessageAttr:(0,_lib.extend2)(config.chartMessageAttr,config.chartMessageStyle);message=chartMessage.getGraphicalElement("messageText");graphics=chartMessage._graphics;messageGroup=chartMessage.getLinkedParent().getChildContainer("messageGroup").show();if(isImage){chartMessage._drawBackground(config.chartMessageAttr,config.chartMessageStyle)}else if(!message&&config.chartMessageType==="text"){message=chartMessage.addGraphicalElement("messageText",paper.text(attr,messageGroup))}else{graphics.message=message.attr(attr);visible?message.show():message.hide()}if((message||graphics.message)&&link){attachLink(message||graphics.message,link)}chartMessage._hideOtherMessage(isImage)};_proto._hideOtherMessage=function _hideOtherMessage(isImage){var chartMessage=this,backgroundImage,message,backgroundElement;if(isImage){message=chartMessage.getGraphicalElement("messageText");message&&message.hide()}else{backgroundImage=chartMessage.getGraphicalElement("backgroundImage");backgroundElement=chartMessage.getGraphicalElement("backgroundElement");backgroundImage&&backgroundImage.hide();backgroundElement&&backgroundElement.hide()}};_proto.getType=function getType(){return"chartMessage"};return ChartMessage}(_componentInterface.ComponentInterface);var _default=exports.default=ChartMessage;