@fusioncharts/widgets
Version:
FusionCharts JavaScript charting framework
1 lines • 13.6 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _lib=require("@fusioncharts/core/src/lib");var _line=_interopRequireDefault(require("@fusioncharts/charts/src/dataset/line"));var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _index=_interopRequireDefault(require("./index.animation"));var UNDEF,GUTTER_PADDING=2,defined=function defined(obj){return obj!==UNDEF&&obj!==null},drawSparkValues=function drawSparkValues(){var dataSet=this,chart=dataSet.getFromEnv("chart"),chartConf=chart.config,style=chartConf.dataLabelStyle,valuePadding=chartConf.valuepadding+GUTTER_PADDING,dataLabelContainer=dataSet.getContainer("labelGroup"),animationManager=dataSet.getFromEnv("animationManager"),closeValueCheck=dataSet.getGraphicalElement("closeValue"),closeValue,openValueCheck=dataSet.getGraphicalElement("openValue"),openValue,startBracesCheck=dataSet.getGraphicalElement("startBraces"),startBraces,highValueCheck=dataSet.getGraphicalElement("highValue"),highValue,separatorCheck=dataSet.getGraphicalElement("separator"),separator,lowValueCheck=dataSet.getGraphicalElement("lowValue"),lowValue,endBracesCheck=dataSet.getGraphicalElement("endBraces"),endBraces,sparkValues=chartConf.sparkValues||(chartConf.sparkValues={}),SmartLabel=dataSet.getFromEnv("smartLabel"),START_BRACES="[",END_BRACES="]",SEPARATER="|",textAttr={class:"fusioncharts-label","text-anchor":_lib.POSITION_END,fill:style.color,"font-size":style.fontSize,"font-weight":style.fontWeight,"font-style":style.fontStyle,"font-family":style.fontFamily,visibility:"visible"},attr={x:0,y:0};chart.getChildContainer("datalabelsGroup").attr({"clip-rect":null});attr.y=chartConf.canvasHeight*.5+chartConf.canvasTop;attr.x=chartConf.canvasLeft-valuePadding;if(sparkValues.openValue&&sparkValues.openValue.label||openValue){openValue=animationManager.setAnimation({el:openValueCheck||"text",state:"appearing",container:dataLabelContainer,attr:{text:sparkValues.openValue.label,x:attr.x,y:attr.y,fill:sparkValues.openValue.color||textAttr.fill,"text-anchor":_lib.POSITION_END,"line-height":style.lineHeight,"text-bound":[style.backgroundColor,style.borderColor,style.borderThickness,style.borderPadding,style.borderRadius,style.borderDash],visibility:"visible"},label:"label",component:dataSet});if(!openValueCheck){dataSet.addGraphicalElement("openValue",openValue)}}textAttr["text-anchor"]=_lib.POSITION_START;attr.x=chartConf.canvasWidth+chartConf.canvasLeft+valuePadding;if(sparkValues.closeValue&&sparkValues.closeValue.label||closeValue){closeValue=animationManager.setAnimation({el:closeValueCheck||"text",container:dataLabelContainer,state:"appearing",attr:{text:sparkValues.closeValue.label,x:attr.x,y:attr.y,fill:sparkValues.closeValue.color||textAttr.fill,"text-anchor":_lib.POSITION_START,"line-height":style.lineHeight,"text-bound":[style.backgroundColor,style.borderColor,style.borderThickness,style.borderPadding,style.borderRadius,style.borderDash],visibility:"visible"},label:"label",component:dataSet});if(!closeValueCheck){dataSet.addGraphicalElement("closeValue",closeValue)}attr.x+=sparkValues.closeValue.smartObj&&sparkValues.closeValue.smartObj.width+GUTTER_PADDING+valuePadding||0}if(sparkValues.highLowValue&&sparkValues.highLowValue.label||highValue){if(sparkValues.highLowValue&&sparkValues.highLowValue.label===_lib.BLANKSTRING){SEPARATER=START_BRACES=END_BRACES=_lib.BLANKSTRING}SmartLabel.useEllipsesOnOverflow(chartConf.useEllipsesWhenOverflow);SmartLabel.setStyle(style);startBraces=animationManager.setAnimation({el:startBracesCheck||"text",state:"appearing",container:dataLabelContainer,attr:{text:START_BRACES,x:attr.x,y:attr.y,"text-anchor":_lib.POSITION_START,visibility:"visible"},label:"label",component:dataSet});if(!startBracesCheck){dataSet.addGraphicalElement("startBraces",startBraces)}attr.x+=SmartLabel.getSmartText(START_BRACES).width;highValue=animationManager.setAnimation({el:highValueCheck||"text",state:"appearing",container:dataLabelContainer,attr:{text:sparkValues.highValue.label,x:attr.x,y:attr.y,"text-anchor":_lib.POSITION_START,fill:sparkValues.highValue.color||textAttr.fill,visibility:"visible"},label:"label",component:dataSet});if(!highValueCheck){dataSet.addGraphicalElement("highValue",highValue)}attr.x+=SmartLabel.getSmartText(sparkValues.highValue.label).width;separator=animationManager.setAnimation({el:separatorCheck||"text",state:"appearing",container:dataLabelContainer,attr:{text:SEPARATER,x:attr.x,y:attr.y,"text-anchor":_lib.POSITION_START,visibility:"visible"},label:"label",component:dataSet});if(!separatorCheck){dataSet.addGraphicalElement("separator",separator)}attr.x+=SmartLabel.getSmartText(SEPARATER).width;lowValue=animationManager.setAnimation({el:lowValueCheck||"text",container:dataLabelContainer,state:"appearing",attr:{text:sparkValues.lowValue.label,x:attr.x,y:attr.y,"text-anchor":_lib.POSITION_START,fill:sparkValues.lowValue.color||textAttr.fill,visibility:"visible"},label:"label",component:dataSet});if(!lowValueCheck){dataSet.addGraphicalElement("lowValue",lowValue)}attr.x+=SmartLabel.getSmartText(sparkValues.lowValue.label).width;endBraces=animationManager.setAnimation({el:endBracesCheck||"text",state:"appearing",container:dataLabelContainer,attr:{text:END_BRACES,x:attr.x,y:attr.y,"text-anchor":_lib.POSITION_START,visibility:"visible"},label:"label",component:dataSet});if(!endBracesCheck){dataSet.addGraphicalElement("endBraces",endBraces)}}dataSet.labelDrawn=true};(0,_dependencyManager.addDep)({name:"sparklineAnimation",type:"animationRule",extension:_index.default});var SparkLineDataset=function(_LineDataset){function SparkLineDataset(){return _LineDataset.apply(this,arguments)||this}(0,_inheritsLoose2.default)(SparkLineDataset,_LineDataset);var _proto=SparkLineDataset.prototype;_proto.getType=function getType(){return"dataset"};_proto.getName=function getName(){return"sparkLine"};_proto.parseAttributes=function parseAttributes(){_LineDataset.prototype.parseAttributes.call(this);var dataSet=this,chart=dataSet.getFromEnv("chart"),conf=dataSet.config,JSONData=dataSet.config.JSONData,chartAttr=chart.getFromEnv("chart-attrib");conf.showValues=(0,_lib.pluckNumber)(JSONData.showvalues,chartAttr.showvalues,0);conf.linethickness=(0,_lib.pluckNumber)(JSONData.linethickness,chartAttr.linethickness,1)};_proto._setConfigure=function _setConfigure(newDataset){_LineDataset.prototype._setConfigure.call(this);var dataSet=this,chart=dataSet.getFromEnv("chart"),conf=dataSet.config,JSONData=dataSet.config.JSONData,chartAttr=chart.getFromEnv("dataSource").chart,setDataArr=newDataset||JSONData.data,setData,dataObj,xAxis=dataSet.getFromEnv("xAxis"),len=newDataset&&newDataset.data.length||xAxis.getTicksLen(),colorM=dataSet.getFromEnv("color-manager"),chartConf=chart.config,dataStore,config,i,openColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.opencolor,"0099FF")),closeColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.closecolor,"0099FF")),highColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.highcolor,"00CC00")),lowColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.lowcolor,"CC0000")),anchorColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.anchorcolor,colorM.getColor("plotFillColor"))),showOpenAnchor=(0,_lib.pluckNumber)(chartAttr.showopenanchor,chartAttr.drawanchors,chartAttr.showanchors,1),showCloseAnchor=(0,_lib.pluckNumber)(chartAttr.showcloseanchor,chartAttr.drawanchors,chartAttr.showanchors,1),showHighAnchor=(0,_lib.pluckNumber)(chartAttr.showhighanchor,chartAttr.drawanchors,chartAttr.showanchors,1),showLowAnchor=(0,_lib.pluckNumber)(chartAttr.showlowanchor,chartAttr.drawanchors,chartAttr.showanchors,1),anchorAlpha=(0,_lib.pluckNumber)(chartAttr.anchoralpha,100),showAnchors=(0,_lib.pluckNumber)(chartAttr.drawanchors,chartAttr.showanchors,0),defAnchorAlpha=showAnchors?(0,_lib.pluckNumber)(chartAttr.anchoralpha,100):0,lineColor=(0,_lib.pluck)(chartAttr.linecolor,colorM.getColor("plotFillColor")),sparkValues,hasValidValue,highValue,lowValue,pointAnchorAlpha,highDisplayValue,lowDisplayValue,openDisplayValue,macroIndices,parserConfig,closeDisplayValue;dataStore=dataSet.components.data;highValue=conf.maxValue;lowValue=conf.minValue;conf.shadow={opacity:(0,_lib.pluckNumber)(chartAttr.showshadow,0)?conf.alpha/100:0};dataObj=dataStore[0];config=dataObj.config;config.anchorProps.bgColor=(0,_lib.pluck)(dataObj.anchorbgcolor,openColor);config.anchorProps.enabled=!!showOpenAnchor;config.anchorProps.bgAlpha=showOpenAnchor?pointAnchorAlpha:0;if(config.anchorProps.enabled&&config.hoverEffects){config.hoverEffects.anchorColor=(0,_lib.pluck)(chartAttr.openhovercolor,chartAttr.anchorhovercolor,chartAttr.plotfillhovercolor,(0,_lib.getLightColor)(openColor,70));config.hoverEffects.anchorBgAlpha=(0,_lib.pluckNumber)(chartAttr.openhoveralpha,chartAttr.anchorhoveralpha,chartAttr.plotfillhoveralpha,100)}openDisplayValue=config.displayValue;dataObj=dataStore[len-1];config=dataObj.config;config.anchorProps.bgColor=(0,_lib.pluck)(dataObj.anchorbgcolor,closeColor);config.anchorProps.enabled=!!showCloseAnchor;config.anchorProps.bgAlpha=showCloseAnchor?pointAnchorAlpha:0;if(config.anchorProps.enabled&&config.hoverEffects){config.hoverEffects.anchorColor=(0,_lib.pluck)(chartAttr.closehovercolor,chartAttr.anchorhovercolor,chartAttr.plotfillhovercolor,(0,_lib.getLightColor)(closeColor,70));config.hoverEffects.anchorBgAlpha=(0,_lib.pluckNumber)(chartAttr.closehoveralpha,chartAttr.anchorhoveralpha,chartAttr.plotfillhoveralpha,100)}closeDisplayValue=config.displayValue;for(i=0;i<len;i++){dataObj=dataStore[i];config=dataObj.config;setData=setDataArr[i];pointAnchorAlpha=(0,_lib.pluckNumber)(setData.anchorbgalpha,anchorAlpha);conf.maxRadius=-Infinity;if(i!==0&&i!==len-1){config.anchorProps.bgColor=(0,_lib.pluck)(setData.anchorbgcolor,anchorColor);config.anchorProps.bgAlpha=(0,_lib.pluckNumber)(setData.anchorbgalpha,defAnchorAlpha);config.hoverEffects.anchorColor=(0,_lib.parseColor)((0,_lib.pluck)(chartAttr.anchorhovercolor,chartAttr.plotfillhovercolor,(0,_lib.getLightColor)(lineColor,70)));config.hoverEffects.anchorBgAlpha=(0,_lib.pluckNumber)(chartAttr.lowhoveralpha,chartAttr.anchorhoveralpha,chartAttr.plotfillhoveralpha,100)}config.dataLabelStyle=dataSet._configureDataLabelStyle(setData);config.anchorProps.radius=(0,_lib.pluckNumber)(chartAttr.anchorradius,setData.anchorradius,2);config.anchorProps.borderThickness=0;config.hoverEffects.anchorBorderThickness=0;config.hoverEffects.anchorRadius=(0,_lib.pluckNumber)(chartAttr.anchorhoverradius,chartAttr.anchorradius,setData.anchorradius,3);conf.maxRadius=Math.max(config.anchorProps.radius+config.anchorProps.borderThickness/2,conf.maxRadius);if(config.setValue===lowValue){config.anchorProps.bgColor=(0,_lib.pluck)(setData.anchorbgcolor,lowColor);config.hoverEffects.anchorColor=(0,_lib.pluck)(chartAttr.lowhovercolor,chartAttr.anchorhovercolor,chartAttr.plotfillhovercolor,(0,_lib.getLightColor)(lowColor,70));config.hoverEffects.anchorBgAlpha=(0,_lib.pluckNumber)(chartAttr.lowhoveralpha,chartAttr.anchorhoveralpha,chartAttr.plotfillhoveralpha,100);config.anchorProps.enabled=!!showLowAnchor;config.anchorProps.bgAlpha=showLowAnchor?pointAnchorAlpha:0;lowDisplayValue=config.displayValue}if(config.setValue===highValue){config.anchorProps.bgColor=(0,_lib.pluck)(setData.anchorbgcolor,highColor);config.hoverEffects.anchorColor=(0,_lib.pluck)(chartAttr.highhovercolor,chartAttr.anchorhovercolor,chartAttr.plotfillhovercolor,(0,_lib.getLightColor)(highColor,70));config.hoverEffects.anchorBgAlpha=(0,_lib.pluckNumber)(chartAttr.highhoveralpha,chartAttr.anchorhoveralpha,chartAttr.plotfillhoveralpha,100);config.anchorProps.enabled=!!showHighAnchor;config.anchorProps.bgAlpha=showHighAnchor?pointAnchorAlpha:0;highDisplayValue=config.displayValue}if(defined(config.setValue)){hasValidValue=1}config._x=i;config._y=config.setValue}sparkValues=chartConf.sparkValues={openValue:{color:openColor},closeValue:{color:closeColor},highValue:{color:highColor},lowValue:{color:lowColor},highLowValue:{}};if(hasValidValue){sparkValues.openValue.label=(0,_lib.pluckNumber)(chartAttr.showopenvalue,1)?openDisplayValue:_lib.BLANKSTRING;sparkValues.closeValue.label=(0,_lib.pluckNumber)(chartAttr.showclosevalue,1)?closeDisplayValue:_lib.BLANKSTRING;if((0,_lib.pluckNumber)(chartAttr.showhighlowvalue,1)){sparkValues.highLowValue.label="["+highDisplayValue+" | "+lowDisplayValue+"]";sparkValues.highValue.label=highDisplayValue;sparkValues.lowValue.label=lowDisplayValue}}for(i=0;i<len;i++){var dataObject=dataStore[i],configuration=dataObject.config;if(configuration.setTooltext!==UNDEF){macroIndices=[54,55,56,57,58,59,60,61];parserConfig={openValue:sparkValues.openValue.label,openDataValue:sparkValues.openValue.label,closeValue:sparkValues.closeValue.label,closeDataValue:sparkValues.closeValue.label,highValue:sparkValues.highValue.label,highDataValue:sparkValues.highValue.label,lowValue:sparkValues.lowValue.label,lowDataValue:sparkValues.lowValue.label};configuration.toolText=(0,_lib.parseTooltext)(configuration.setTooltext,macroIndices,parserConfig,setData,chartAttr,JSONData);configuration.finalTooltext=configuration.setTooltext=configuration.toolText}}};_proto.draw=function draw(){var dataSet=this;_LineDataset.prototype.draw.call(this);dataSet._drawSparkValues()};_proto._drawSparkValues=function _drawSparkValues(){var dataSet=this;drawSparkValues.call(dataSet)};return SparkLineDataset}(_line.default);var _default=exports.default=SparkLineDataset;