@fusioncharts/charts
Version:
JavaScript Data Visualisation Library
1 lines • 74.8 kB
JavaScript
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=exports._removePlots=exports.PATTERN_TYPES=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _lib=require("@fusioncharts/core/src/lib");var _componentInterface=require("@fusioncharts/core/src/component-interface");var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _index=_interopRequireDefault(require("./index.animation"));var _schedular=require("@fusioncharts/core/src/schedular");var _utils=require("../../utils");var PATTERN_TYPES=exports.PATTERN_TYPES=["line","circle","square"];var UNDEF,MOUSEOVER="mouseOver",MOUSEOUT="mouseOut",ROLLOVER="DataPlotRollOver",ROLLOUT="DataPlotRollOut",COLUMN_STR="column",DEFAULT_MIN_PLOTHEIGHT_FORVALUE=0,HTP=_lib.hasTouch?_lib.TOUCH_THRESHOLD_PIXELS:_lib.HOVER_THRESHOLD_PIXELS,dropHash=_lib.regex.dropHash,PLOTBORDERCOLOR="plotBorderColor",PLOTGRADIENTCOLOR="plotGradientColor",SHOWSHADOW="showShadow",POINTER="pointer",EVENTARGS="eventArgs",DEFAULT_CURSOR=_lib.preDefStr.DEFAULT,showHoverEffectStr=_lib.preDefStr.showHoverEffectStr,SETROLLOVERATTR=_lib.preDefStr.setRolloverAttrStr,SETROLLOUTATTR=_lib.preDefStr.setRolloutAttrStr,math=Math,mathMin=math.min,mathMax=math.max,mathAbs=math.abs,crispTop={top:true},crispRight={right:true},crispLeft={left:true},crispBottom={bottom:true},mathCeil=math.ceil,mathRound=math.round,_graphicsIterator=function _graphicsIterator(store,callback){if(store===void 0){store={}}if(typeof callback!=="function"){return}var _loop=function _loop(key){if(store.hasOwnProperty(key)){var elems=store[key];if(Array.isArray(elems)){elems.forEach((function(el){return callback(el,key)}))}else{store[key]&&callback(store[key],key)}}};for(var key in store){_loop(key)}},_rolloverResponseSetter=function _rolloverResponseSetter(chart,data,event,onlyHoverEffect,dataset){var dataGraphics=data.graphics,elem=dataGraphics&&dataGraphics.element,animationManager=chart.getFromEnv("animationManager"),elData=elem&&elem.getData();if(elData.draged!==true){if(elem&&elData.showHoverEffect!==0&&elem.getData){animationManager.setAnimationState(MOUSEOVER);animationManager.setAnimation({el:elem,label:"rect",component:dataset,attr:elem.getData().setRolloverAttr})}!onlyHoverEffect&&elem&&chart.plotEventHandler(elem,event,ROLLOVER)}},_rolloutResponseSetter=function _rolloutResponseSetter(chart,data,event,onlyHoverEffect,dataset){var dataGraphics=data.graphics,elem=dataGraphics&&dataGraphics.element,animationManager=chart.getFromEnv("animationManager"),elData=elem&&elem.getData();if(elData.draged!==true){if(elem&&elData.showHoverEffect!==0){animationManager.setAnimationState(MOUSEOUT);animationManager.setAnimation({el:elem,label:"rect",component:dataset,attr:elem.getData().setRolloutAttr})}!onlyHoverEffect&&elem&&chart.plotEventHandler(elem,event,ROLLOUT)}},createGroup=function createGroup(groupName,parentContainer,dataset){var animationManager=dataset.getFromEnv("animationManager");return animationManager.setAnimation({el:"group",attr:{name:groupName},container:parentContainer,state:"appearing",component:dataset,label:"group"})},_removePlots=exports._removePlots=function _removePlots(removeDataArr,removeElem){if(removeDataArr===void 0){removeDataArr=[]}removeDataArr.forEach((function(removeData){return _graphicsIterator(removeData&&removeData.graphics,removeElem)}));removeDataArr.length=0};(0,_dependencyManager.addDep)({name:"columnAnimation",type:"animationRule",extension:_index.default});var ColumnDataset=function(_ComponentInterface){function ColumnDataset(){var _this;_this=_ComponentInterface.call(this)||this;var ds=_this;ds.components={};ds.components.removeDataArr=[];ds.__hideElem=function(el,type){ds._setRemoveAnim(el,type==="label"?"plotLabel":"rect")};ds.__removeElem=function(el,type){ds.__hideElem(el,type)};ds.config.primitiveType=COLUMN_STR;return _this}(0,_inheritsLoose2.default)(ColumnDataset,_ComponentInterface);var _proto=ColumnDataset.prototype;_proto.getType=function getType(){return"dataset"};_proto.getName=function getName(){return"column"};_proto.__setDefaultConfig=function __setDefaultConfig(){_ComponentInterface.prototype.__setDefaultConfig.call(this);var config=this.config;config.showvalues=UNDEF;config.includeinlegend=1;config.plotfillalpha=UNDEF;config.plotfillangle=UNDEF;config.ratio=UNDEF;config.patternBgColor=_lib.TRACKER_FILL};_proto.preConfigure=function preConfigure(datasetJSON){var dataSet=this;if(!datasetJSON){return false}dataSet.trimData(datasetJSON);dataSet.config.JSONData=datasetJSON;_ComponentInterface.prototype.preConfigure.call(this,datasetJSON)};_proto.setSkippingInfo=function setSkippingInfo(skipInfo){this.addToEnv("skipInfo",skipInfo||{plotsPerBin:1,drawOnlyMap:[],draw:[],hide:[],skippingApplied:false,dragHashMap:[]})};_proto.getSkippingInfo=function getSkippingInfo(){return this.getFromEnv("skipInfo")||{plotsPerBin:1,drawOnlyMap:[],draw:[],hide:[],skippingApplied:false,dragHashMap:[]}};_proto.configure=function configure(datasetJSON){if(!datasetJSON){return false}_ComponentInterface.prototype.configure.call(this,datasetJSON)};_proto.configureAttributes=function configureAttributes(){var dataSet=this,chart=dataSet.getFromEnv("chart"),conf=dataSet.config;dataSet.parseAttributes();dataSet._setConfigure();if(dataSet.getState("visible")&&conf.oldVisible===false){conf.appearing=true}conf.oldVisible=dataSet.getState("visible");dataSet._realTimeConfigure&&dataSet._realTimeConfigure();chart.config.hasLegend!==false&&chart.config.showLegend&&dataSet._addLegend();dataSet.ErrorValueConfigure&&dataSet.ErrorValueConfigure();dataSet.config.YForStackUpdated=false;dataSet.setState("dirty",true)};_proto.parseAttributes=function parseAttributes(){var dataSet=this,chart=dataSet.getFromEnv("chart"),yaxis=chart.getChildren("yAxis")[0],isInverseAxis=yaxis.config.isReverse,conf=dataSet.config,JSONData=dataSet.config.JSONData,chartConfig=chart.config,singleSeries=chartConfig.singleseries,chartAttr=chart.getFromEnv("chart-attrib"),colorM=dataSet.getFromEnv("color-manager"),index=dataSet.getJSONIndex(),plotColor=conf.plotColor=colorM.getPlotColor(index),plotBorderDash=(0,_lib.pluckNumber)(JSONData.dashed,chartAttr.plotborderdashed,0),usePlotGradientColor=(0,_lib.pluckNumber)(chartConfig.useplotgradientcolor,1),plotDashLen,plotDashGap,plotBorderThickness,plotFillAlpha,isBar=chart.isBar,is3D=chartConfig.is3D,isDual=chartConfig.isdual;conf.showTextOutline=(0,_lib.pluckNumber)(chartAttr.textoutline,0);conf.dashed=plotBorderDash;if(isDual){conf.parentYAxis=(0,_lib.pluck)(JSONData.parentyaxis&&JSONData.parentyaxis.toLowerCase(),"p")==="s"?1:0}else{conf.parentYAxis=0}conf.maxValue=-Infinity;conf.minValue=Infinity;conf.minAbsNonZeroValue=Infinity;conf.minAbsNonZeroData={};conf.defaultPadding={left:.5,right:.5};(0,_lib.parseConfiguration)(JSONData,conf,chartConfig,{data:true});conf.seriesname=(0,_lib.parseUnsafeString)(JSONData.seriesname);conf.showValues=(0,_lib.pluckNumber)(JSONData.showvalues,chartAttr.showvalues,1);conf.minplotheightforvalue=(0,_lib.pluckNumber)(JSONData.minplotheightforvalue,chartAttr.minplotheightforvalue,DEFAULT_MIN_PLOTHEIGHT_FORVALUE);conf.showplotborder=(0,_lib.pluckNumber)(chartAttr.showplotborder,is3D?0:1);plotDashLen=chartConfig.plotborderdashlen;plotDashGap=chartConfig.plotborderdashgap;conf.plotfillangle=(0,_lib.pluckNumber)(360-chartAttr.plotfillangle,isBar?180:isInverseAxis?90:270);conf.plotfillalpha=plotFillAlpha=(0,_lib.pluck)(JSONData.alpha,chartAttr.plotfillalpha,_lib.HUNDREDSTRING);conf.plotColor=plotColor=(0,_lib.pluck)(JSONData.color,plotColor);conf.legendSymbolColor=(0,_lib.getFirstColor)(conf.plotColor);conf.plotgradientcolor=(0,_lib.getDefinedColor)(chartAttr.plotgradientcolor,colorM.getColor(PLOTGRADIENTCOLOR));!usePlotGradientColor&&(conf.plotgradientcolor="");conf.plotborderalpha=(0,_lib.pluck)(chartAttr.plotborderalpha,plotFillAlpha,_lib.HUNDREDSTRING);conf.plotbordercolor=(0,_lib.pluck)(chartAttr.plotbordercolor,is3D&&!singleSeries?"#ffffff":colorM.getColor(PLOTBORDERCOLOR));conf.plotborderdashstyle=plotBorderDash?(0,_lib.getDashStyle)(plotDashLen,plotDashGap,plotBorderThickness):"none";conf.showShadow=is3D?(0,_lib.pluckNumber)(chartAttr.showshadow,1):(0,_lib.pluckNumber)(chartAttr.showshadow,colorM.getColor(SHOWSHADOW));conf.definedGroupPadding=mathMax(chartConfig.plotSpacePercent,0);conf.includeinlegend=(0,_lib.pluckNumber)(JSONData.includeinlegend,conf.seriesname?1:0);dataSet.setState("visible",(0,_lib.pluckNumber)(JSONData.visible,!Number(JSONData.initiallyhidden),1)===1);if(dataSet.getState("visible")===true){dataSet._conatinerHidden=false}else{dataSet._containerHidden=true}conf.legendInteractivity=false;dataSet.setState("visible",(0,_lib.pluckNumber)(dataSet.getState("visible"),conf.JSONData.visible,!Number(conf.JSONData.initiallyhidden),1)===1);conf.usePattern=(0,_lib.pluckNumber)(chartConfig.usePattern,0);conf.patternType=PATTERN_TYPES.includes(JSONData.patterntype)?JSONData.patterntype:chartConfig.patternType;conf.patternAngle=(0,_lib.pluckNumber)(JSONData.patternangle,chartAttr.patternangle,conf.patternType===PATTERN_TYPES[0]?40:0);conf.patternDensity=(0,_lib.pluckNumber)(JSONData.patterndensity,chartConfig.patternDensity);conf.patternSize=(0,_lib.pluckNumber)(JSONData.patternsize,conf.patternType===PATTERN_TYPES[0]?2:4);conf.patternAlpha=(0,_lib.pluckNumber)(JSONData.patternalpha,chartConfig.patternAlpha);conf.patternBgColor=(0,_lib.pluck)(JSONData.patternbgcolor,conf.patternBgColor)};_proto.trimData=function trimData(datasetJSON){if(!this.components&&this.components.data&&this.components.data.length){return}var dataSet=this,comps=dataSet.components,config=dataSet.config,context=config&&config.context,isRealTime=dataSet.getFromEnv("chart").isRealTime,prevCatlen=context&&context.prevCatlen,xAxis=dataSet.getFromEnv("xAxis"),currCatLen=isRealTime?0:xAxis.getTicksLen(),catDiff=prevCatlen-currCatLen,prevData=comps&&comps.data,prevDataLength=prevData&&prevData.length,currDataLength=datasetJSON.data&&datasetJSON.data.length||0,dataDiff=prevDataLength-currDataLength,diff,startIndex;if(catDiff>dataDiff){diff=catDiff;startIndex=currCatLen}else{diff=dataDiff;startIndex=currDataLength}if(diff>0){this.removeData(startIndex,diff,false)}};_proto.hidePlots=function hidePlots(){var dataSet=this,components=dataSet.components,dataStore=components.data,dataObj,skipInfo=dataSet.getSkippingInfo(),hideArray=skipInfo.hide,hideLabelArray=skipInfo.hideLabel;hideArray.forEach((function(v){dataObj=dataStore[v];if(dataObj&&dataObj.graphics){_graphicsIterator(dataObj.graphics,dataSet.__removeElem);dataObj&&(dataObj.graphics={})}}));hideLabelArray.forEach((function(v){dataObj=dataStore[v];if(dataObj&&dataObj.graphics){_graphicsIterator(dataObj.graphics,dataSet.__removeElem);dataObj&&(dataObj.graphics={})}}))};_proto._setConfigure=function _setConfigure(newDataset,newIndex){var dataSet=this,chart=dataSet.getFromEnv("chart"),chartConfig=chart.config,conf=dataSet.config,xAxis=dataSet.getFromEnv("xAxis"),isRealTime=chart.isRealTime,numDisplaySets=chartConfig.realTimeConfig&&chartConfig.realTimeConfig.numDisplaySets,categories=dataSet.getFromEnv("dataSource").categories&&dataSet.getFromEnv("dataSource").categories[0]&&dataSet.getFromEnv("dataSource").categories[0].category,catLen=conf.initCatLen=isRealTime?categories&&Array.isArray(categories)&&categories.filter((function(data){return!data.vline})).length||0:xAxis.getTicksLen(),JSONData=conf.JSONData||[],setDataArr=newDataset||JSONData.data,newDataSetLen=newDataset&&newDataset.data.length,len,showplotborder=conf.showplotborder,plotBorderThickness=chartConfig.plotborderthickness,setData,plotIndex,dataObj,dataStore=dataSet.components.data,isDrag=chartConfig.isDrag,i,j,shiftIndex,tempIndex,skippingInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),configureOnly=skippingInfo&&skippingInfo.draw||[],skippingApplied=skippingInfo&&skippingInfo.skippingApplied;shiftIndex=newDataSetLen===UNDEF&&catLen>numDisplaySets?catLen-numDisplaySets:0;len=isRealTime?(0,_lib.pluckNumber)(newDataSetLen,catLen):Math.min(catLen,setDataArr&&setDataArr.length);chartConfig.dragTolerance=isDrag?(showplotborder&&plotBorderThickness>5?plotBorderThickness/2+1:5)+HTP:0;if(!dataStore){dataStore=dataSet.components.data=[]}if(skippingApplied){len=configureOnly.length}for(j=shiftIndex;j<len;j++){i=configureOnly[j]||j;if(newDataset){setData=newDataset&&newDataset.data[i]||{};if(newIndex!==UNDEF){tempIndex=newIndex+i;dataObj=dataStore[tempIndex]}else{tempIndex=dataStore.length-len+i;dataObj=dataStore[tempIndex]}plotIndex=tempIndex}else{setData=setDataArr&&setDataArr[i]||{};i=i-shiftIndex;dataObj=dataStore[i];plotIndex=i}if(!dataObj){dataObj=dataStore[plotIndex]={}}if(!dataObj.config){dataObj.config={};dataObj.graphics={}}dataSet._plotConfigure(plotIndex,setData,newDataSetLen);tempIndex&&tempIndex++}if(skippingApplied){dataSet.addJob("configureRestID",(function(){dataSet._configureRestData()}),_schedular.priorityList.postRender)}};_proto._configureRestData=function _configureRestData(){var dataSet=this,conf=dataSet.config,JSONData=dataSet.config.JSONData,setDataArr=JSONData.data,chartAttr=dataSet.getFromEnv("chart-attrib"),xAxis=dataSet.getFromEnv("xAxis"),catLen=xAxis.getTicksLen(),len=catLen,setData,plotIndex,dataObj,skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),drawOnlyMap=skipInfo.drawOnlyMap,dataStore=dataSet.components.data,i,tempIndex;if(!dataStore){dataStore=dataSet.components.data=[]}conf.maxValue=-Infinity;conf.minValue=Infinity;for(i=0;i<len;i++){if(drawOnlyMap[i]){continue}dataObj=dataStore[i];setData=setDataArr&&setDataArr[i]||{};plotIndex=i;if(setData.tooltext!==UNDEF){setData.tooltext=(0,_lib.parseTooltext)(setData.tooltext,[3],{label:setData.label},setData,chartAttr,JSONData)}if(!dataObj){dataObj=dataStore[i]={}}if(!dataObj.config){dataStore[i].config={}}dataSet._plotConfigure(plotIndex,setData);tempIndex&&tempIndex++}};_proto._plotConfigure=function _plotConfigure(i,setData,newDataSetLen){var dataSet=this,chart=dataSet.getFromEnv("chart"),chartConfig=chart.config,conf=dataSet.config,JSONData=conf.JSONData,singleSeries=chart.config.singleseries,yAxis=dataSet.getFromEnv("yAxis"),xAxis=dataSet.getFromEnv("xAxis"),dataStore=dataSet.components.data,dataObj=dataStore[i],chartAttr=chart.getFromEnv("dataSource").chart,colorM=dataSet.getFromEnv("color-manager"),showplotborder=conf.showplotborder,plotColor=conf.plotColor,showTooltip=chartConfig.showtooltip,yAxisName=chartConfig.yaxisname,xAxisName=chartConfig.xaxisname,tooltipSepChar=chartConfig.tooltipsepchar,seriesNameInTooltip=chartConfig.seriesnameintooltip,formatedVal,parserConfig,setTooltext,seriesname,macroIndices,tempPlotfillAngle,toolText,plotDashLen=chartConfig.plotborderdashlen,plotDashGap=chartConfig.plotborderdashgap,plotBorderThickness=chartConfig.plotborderthickness,isRoundEdges=(0,_lib.pluckNumber)(chartConfig.useroundedges,0),showHoverEffect=chartConfig.plothovereffect,plotfillAngle=conf.plotfillangle,plotFillAlpha,plotFillRatio,plotBorderAlpha,plotBorderDashStyle,initailPlotBorderDashStyle=conf.plotborderdashstyle,setValue,config=dataObj.config,label,colorArr,hoverColor,hoverAlpha,hoverGradientColor,hoverRatio,hoverAngle,hoverBorderColor,hoverBorderAlpha,hoverBorderThickness,hoverBorderDashed,hoverBorderDashGap,hoverBorderDashLen,hoverDashStyle,hoverColorArr,toolTipValue,setDisplayValue,isBar=chart.isBar,is3D=chart.config.is3D,setDataDashed,setDataPlotDashLen,setDataPlotDashGap,origLabel,labelObj,use3dlighting=chartConfig.use3dlighting,numDisplaySets=chartConfig.realTimeConfig&&chartConfig.realTimeConfig.numDisplaySets,diffLen=numDisplaySets-conf.initCatLen,additive=numDisplaySets&&diffLen>=0?diffLen:0,useDataPlotColorForLabels=chartConfig.usedataplotcolorforlabels;if(!chart.isRealTime){showplotborder=(0,_lib.pluck)((0,_lib.pluckNumber)(JSONData.data[i].showplotborder,JSONData.showplotborder),showplotborder);plotBorderThickness=(0,_lib.pluck)((0,_lib.pluckNumber)(JSONData.data[i].plotborderthickness,JSONData.plotborderthickness),plotBorderThickness)}labelObj=xAxis.getLabel(newDataSetLen?i-newDataSetLen:additive+i);config.origLabel=origLabel=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)(labelObj.label));label=config.label=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)(labelObj.tooltext))||origLabel;if(setData.tooltext!==UNDEF){setData.tooltext=(0,_lib.parseTooltext)(setData.tooltext,[3],{label:labelObj.label},setData,chartAttr,JSONData)}config.dataLabelStyle=dataSet._configureDataLabelStyle(setData);config.minplotheightforvalue=(0,_lib.pluckNumber)(setData.minplotheightforvalue,conf.minplotheightforvalue);config.showValue=(0,_lib.pluckNumber)(setData.showvalue,conf.showValues);config.givenPlotShowValue=(0,_lib.pluckNumber)(setData.showvalue);config.setValue=setValue=yAxis.getCleanValue(setData.value,(0,_lib.pluckNumber)(chartConfig.stack100percent));config.setLink=(0,_lib.pluck)(setData.link);config.toolTipValue=toolTipValue=yAxis.dataLabels(setValue);config.setDisplayValue=setDisplayValue=(0,_lib.parseUnsafeString)(setData.displayvalue);config.displayValue=(0,_lib.pluck)(setDisplayValue,toolTipValue);config.dashed=setDataDashed=(0,_lib.pluckNumber)(setData.dashed,conf.dashed);setDataPlotDashLen=(0,_lib.pluckNumber)(setData.dashlen,plotDashLen);setDataPlotDashGap=plotDashGap=(0,_lib.pluckNumber)(setData.dashgap,plotDashGap);config.valuePadding=(0,_lib.pluckNumber)(setData.valuepadding,JSONData.valuepadding,chartConfig.valuepadding);if(setValue!==null){conf.maxValue=mathMax(conf.maxValue,setValue);conf.minValue=mathMin(conf.minValue,setValue);if(setValue!==0&&conf.minAbsNonZeroValue>Math.abs(setValue)){conf.minAbsNonZeroValue=Math.abs(setValue);conf.minAbsNonZeroData=config}}config.plotBorderDashStyle=plotBorderDashStyle=setDataDashed===1?(0,_lib.getDashStyle)(setDataPlotDashLen,setDataPlotDashGap):setDataDashed===0?"none":initailPlotBorderDashStyle;if(singleSeries){plotColor=colorM.getPlotColor((0,_lib.pluckNumber)(i-newDataSetLen,i));plotColor=(0,_lib.pluck)(setData.color,plotColor);useDataPlotColorForLabels&&xAxis.updateTicksValues(i,{labelfontcolor:(0,_lib.convertColor)(plotColor)});plotBorderAlpha=(0,_lib.pluck)((0,_lib.pluckNumber)(JSONData.data[i].plotborderalpha),setData.alpha,setData.borderalpha,conf.plotborderalpha,plotFillAlpha).toString();config.id=setData.id?(0,_lib.pluck)(setData.id,config.id):(0,_lib.getValidValue)((0,_lib.parseUnsafeString)(labelObj.label))}else{plotColor=(0,_lib.pluck)(setData.color,conf.plotColor);if(chart.isRealTime){plotBorderAlpha=(0,_lib.pluck)(setData.alpha,conf.plotborderalpha,plotFillAlpha).toString()}else{plotBorderAlpha=(0,_lib.pluck)((0,_lib.pluckNumber)(JSONData.data[i].plotborderalpha,JSONData.plotborderalpha),setData.alpha,conf.plotborderalpha,plotFillAlpha).toString()}config.id=setData.id?(0,_lib.pluck)(setData.id,config.id):(0,_lib.getValidValue)((0,_lib.parseUnsafeString)(labelObj.label))+"-"+(JSONData.seriesname?JSONData.seriesname:dataSet.getJSONIndex())}plotColor=(0,_lib.hashify)(plotColor);plotFillRatio=(0,_lib.pluck)(setData.ratio,conf.ratio);plotFillAlpha=(0,_lib.pluck)(setData.alpha,conf.plotfillalpha);config.plotFillAlpha=plotFillAlpha;config.plotBorderAlpha=plotBorderAlpha;config.shadow={opacity:conf.showShadow?plotFillAlpha/100:0};if(setValue<0&&!isRoundEdges){tempPlotfillAngle=conf.plotfillangle;plotfillAngle=isBar?180-plotfillAngle:360-plotfillAngle}if(chart.isRealTime){config.plotbordercolor=(0,_lib.pluck)(JSONData.plotbordercolor,conf.plotbordercolor)}else{config.plotbordercolor=(0,_lib.pluck)(JSONData.data[i].plotbordercolor,JSONData.plotbordercolor,conf.plotbordercolor)}if(config.plotbordercolor==="inherit"||conf.usePattern&&!config.plotbordercolor){config.plotbordercolor=plotColor}config.colorArr=colorArr=(0,_lib.getColumnColor)(plotColor+","+conf.plotgradientcolor,plotFillAlpha,plotFillRatio,plotfillAngle,isRoundEdges,config.plotbordercolor,plotBorderAlpha,isBar?1:0,!!is3D);config.originalPlotColor=plotColor;config.patternType=PATTERN_TYPES.includes(setData.patterntype)?setData.patterntype:conf.patternType;config.patternAngle=(0,_lib.pluckNumber)(setData.patternangle,JSONData.patternangle,chartAttr.patternangle,config.patternType===PATTERN_TYPES[0]?40:0);config.patternDensity=(0,_lib.pluckNumber)(setData.patterndensity,conf.patternDensity);config.patternSize=(0,_lib.pluckNumber)(setData.patternsize,JSONData.patternsize,config.patternType===PATTERN_TYPES[0]?2:4);config.patternAlpha=(0,_lib.pluckNumber)(setData.patternalpha,conf.patternAlpha);config.patternBgColor=(0,_lib.pluck)(setData.patternbgcolor,conf.patternBgColor);if(showHoverEffect!==0){hoverColor=(0,_lib.pluck)(setData.hovercolor,JSONData.hovercolor,chartAttr.plotfillhovercolor,chartAttr.columnhovercolor,plotColor);hoverAlpha=(0,_lib.pluck)(setData.hoveralpha,JSONData.hoveralpha,chartAttr.plotfillhoveralpha,chartAttr.columnhoveralpha,plotFillAlpha);hoverGradientColor=(0,_lib.pluck)(setData.hovergradientcolor,JSONData.hovergradientcolor,chartAttr.plothovergradientcolor,conf.plotgradientcolor);!hoverGradientColor&&(hoverGradientColor="");hoverRatio=(0,_lib.pluck)(setData.hoverratio,JSONData.hoverratio,chartAttr.plothoverratio,plotFillRatio);hoverAngle=(0,_lib.pluckNumber)(360-setData.hoverangle,360-JSONData.hoverangle,360-chartAttr.plothoverangle,plotfillAngle);hoverBorderColor=(0,_lib.pluck)(setData.borderhovercolor,JSONData.borderhovercolor,chartAttr.plotborderhovercolor,config.plotbordercolor);hoverBorderAlpha=(0,_lib.pluck)(setData.borderhoveralpha,JSONData.borderhoveralpha,chartAttr.plotborderhoveralpha,chartAttr.plotfillhoveralpha,chartAttr.columnhoveralpha,plotBorderAlpha,plotFillAlpha);hoverBorderThickness=(0,_lib.pluckNumber)(setData.borderhoverthickness,JSONData.borderhoverthickness,chartAttr.plotborderhoverthickness,showplotborder&&plotBorderThickness);hoverBorderDashed=setData.borderhoverdashed||JSONData.borderhoverdashed||chartAttr.plotborderhoverdashed;hoverBorderDashGap=(0,_lib.pluckNumber)(setData.borderhoverdashgap,JSONData.borderhoverdashgap,chartAttr.plotborderhoverdashgap,plotDashLen);hoverBorderDashLen=(0,_lib.pluckNumber)(setData.borderhoverdashlen,JSONData.borderhoverdashlen,chartAttr.plotborderhoverdashlen,plotDashGap);hoverDashStyle=hoverBorderDashed!==UNDEF?Number(hoverBorderDashed)?(0,_lib.getDashStyle)(hoverBorderDashLen,hoverBorderDashGap):"":plotBorderDashStyle;if(chartConfig.drawTrendRegion&&!is3D||showHoverEffect===1&&hoverColor===plotColor){hoverColor=(0,_lib.getLightColor)(hoverColor,70)}hoverColorArr=(0,_lib.getColumnColor)(hoverColor+","+hoverGradientColor,hoverAlpha,hoverRatio,hoverAngle,isRoundEdges,hoverBorderColor,hoverBorderAlpha.toString(),isBar?1:0,!!is3D);config.setRolloutAttr={fill:!is3D?(0,_lib.toRaphaelColor)(colorArr[0]):[(0,_lib.toRaphaelColor)(colorArr[0]),!use3dlighting],stroke:showplotborder?(0,_lib.toRaphaelColor)(colorArr[1]):_lib.TRACKER_FILL,"stroke-width":showplotborder?plotBorderThickness:0,"stroke-dasharray":plotBorderDashStyle};config.setRolloverAttr={fill:!is3D?(0,_lib.toRaphaelColor)(hoverColorArr[0]):[(0,_lib.toRaphaelColor)(hoverColorArr[0]),!use3dlighting],stroke:hoverBorderColor?(0,_lib.toRaphaelColor)(hoverColorArr[1]):_lib.TRACKER_FILL,"stroke-width":hoverBorderThickness,"stroke-dasharray":hoverDashStyle};config.hoverColor=hoverColor;config.hoverAlpha=hoverAlpha;config.hoverBorderColor=hoverBorderColor;config.hoverBorderAlpha=hoverBorderAlpha}formatedVal=config.toolTipValue;config.origToolText=setTooltext=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(setData.tooltext,JSONData.plottooltext,chartAttr.plottooltext),false));if(!showTooltip){toolText=false}else{if(formatedVal===null){toolText=false}else if(setTooltext!==UNDEF){macroIndices=[1,2,3,4,5,6,7];parserConfig={yaxisName:yAxisName,xaxisName:xAxisName,formattedValue:formatedVal,label:label};toolText=(0,_lib.parseTooltext)(setTooltext,macroIndices,parserConfig,setData,chartAttr,JSONData)}else{if(seriesNameInTooltip){seriesname=(0,_lib.getFirstValue)(JSONData&&JSONData.seriesname)}toolText=seriesname?seriesname+tooltipSepChar:"";toolText+=label?label+tooltipSepChar:""}}config.toolText=toolText;config.setTooltext=toolText;tempPlotfillAngle&&(plotfillAngle=tempPlotfillAngle);config._x=i;config._y=setValue};_proto.updateYForStack=function updateYForStack(){var dataSet=this,chartConfig=dataSet.getFromEnv("chartConfig"),showPercentValues=(0,_lib.pluckNumber)(chartConfig.showpercentvalues),showPercentInToolTip=(0,_lib.pluckNumber)(chartConfig.showpercentintooltip),JSONData=dataSet.config.JSONData,chartAttr=dataSet.getFromEnv("chart-attrib"),xAxis=dataSet.getFromEnv("xAxis"),dataObj,config,i,j,len=xAxis.getTicksLen(),components=dataSet.components,dataStore=components.data,setTooltext,stackValues=dataSet.getFromEnv("stackValues"),stackSumValue,negativeValueFactor=showPercentValues||showPercentInToolTip?-1:1,skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),skippingApplied=skipInfo&&skipInfo.skippingApplied,plotDrawArray=skipInfo&&skipInfo.draw||[],plotDrawArrayLength=plotDrawArray&&plotDrawArray.length;if(skippingApplied){len=plotDrawArrayLength}for(j=0;j<len;j++){i=plotDrawArray[j]||j;dataObj=dataStore[i];config=dataObj&&dataObj.config;if(dataObj===UNDEF){continue}setTooltext=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(config.origToolText,JSONData.plottooltext,chartAttr.plottooltext),false));stackSumValue=stackValues[i]&&stackValues[i].positive+negativeValueFactor*stackValues[i].negative||0;config._b=dataSet._parseValues(i,config._b,stackSumValue,setTooltext);if(chartConfig.stack100percent){config._y=config.value+config._b}}};_proto._parseValues=function _parseValues(index,prevY,stackSumValue,setTooltext){var dataSet=this,previousY=prevY,chartConfig=dataSet.getFromEnv("chartConfig"),config=dataSet.components.data[index].config,showPercentValues=(0,_lib.pluckNumber)(chartConfig.showpercentvalues),showPercentInToolTip=(0,_lib.pluckNumber)(chartConfig.showpercentintooltip),visible=dataSet.getState("visible"),setValue=config.setValue,stack100Percent=(0,_lib.pluckNumber)(chartConfig.stack100percent),numberFormatter=dataSet.getFromEnv("number-formatter"),yAxis=dataSet.getFromEnv("yAxis"),setDisplayValue=config.setDisplayValue,formatedPercentValue,percentValue;percentValue=(visible?setValue||0:0)/(stackSumValue||1)*100;formatedPercentValue=numberFormatter.percentValue(percentValue);if(stack100Percent){config.value=percentValue;previousY=(previousY||0)/(stackSumValue||1)*100}if(showPercentInToolTip){config.toolTipValue=formatedPercentValue}if(showPercentValues){!setDisplayValue&&(config.displayValue=formatedPercentValue)}if(setTooltext){config.toolText=(0,_lib.parseTooltext)(config.setTooltext,[14,24,25,112],{percentValue:formatedPercentValue,sum:yAxis.dataLabels(stackSumValue),unformattedSum:stackSumValue})}return previousY};_proto._addLegend=function _addLegend(){var dataset=this,chart=dataset.getFromEnv("chart"),isBar=chart.isBar,chartAttr=dataset.getFromEnv("chart-attrib"),fillColor,lightColor,config,JSONData=dataset.config.JSONData||{},legendItem,conf=dataset.config,color=(0,_lib.getFirstColor)(conf.legendSymbolColor),legend=dataset.getFromEnv("legend"),use3DLighting=!conf.usePattern&&(0,_lib.pluckNumber)(chartAttr.use3dlighting,chartAttr.useplotgradientcolor,1),strokeColor=(0,_lib.getLightColor)(color,60).replace(dropHash,_lib.HASHSTRING);if(conf.includeinlegend){if(use3DLighting){lightColor=(0,_lib.getLightColor)(color,40);fillColor={FCcolor:{color:color+","+color+","+lightColor+","+color+","+color,ratio:"0,30,30,30,10",angle:isBar?0:270,alpha:"100,100,100,100,100"}}}else{fillColor={FCcolor:{color:color,angle:isBar?0:270,ratio:"0",alpha:"100"}}}legendItem=legend.getItem(dataset.config.legendItemId);config={type:dataset.getName(),index:dataset.getJSONIndex(),label:(0,_lib.getFirstValue)(dataset.config.JSONData.seriesname),usePattern:conf.usePattern,legendIconAlpha:(0,_lib.pluckNumber)(JSONData.legendiconalpha),patternAttr:{patternType:conf.patternType,patternAngle:conf.patternAngle,patternDensity:conf.patternDensity,patternSize:conf.patternSize,color:conf.plotColor,patternAlpha:conf.patternAlpha,patternBgColor:conf.patternBgColor,alpha:conf.plotfillalpha}};if(!legendItem){dataset.config.legendItemId=legend.createItem(dataset);legendItem=legend.getItem(dataset.config.legendItemId);dataset.addExtEventListener("fc-click",(function(){legendItem.itemClickFn()}),legendItem)}legendItem.configure(config);legendItem.setStateCosmetics("default",{symbol:{fill:(0,_lib.toRaphaelColor)(fillColor),bgAlpha:(0,_lib.pluckNumber)(JSONData.legendiconbgalpha,JSONData.legendiconalpha,chartAttr.legendiconbgalpha,chartAttr.legendiconalpha,conf.plotfillalpha),borderAlpha:(0,_lib.pluckNumber)(JSONData.legendiconborderalpha,JSONData.legendiconalpha,chartAttr.legendiconborderalpha,chartAttr.legendiconalpha,"100"),rawFillColor:color,stroke:(0,_lib.toRaphaelColor)(strokeColor)}});if(!dataset.getState("visible")){legendItem.setLegendState("hidden")}else{legendItem.removeLegendState("hidden")}}else if(dataset.config.legendItemId){legend.disposeItem(dataset.config.legendItemId)}};_proto.legendInteractivity=function legendInteractivity(legendItem){var _dataSet$config$JSOND,_dataSet$config;var dataSet=this,legend=legendItem.getLinkedParent(),chart=legend.getFromEnv("chart"),visible=dataSet.getState("visible"),dsConfig=dataSet.config;chart.getFromEnv("animationManager").setAnimationState("legendInteraction");dsConfig.legendInteractivity=true;var seriesName=(_dataSet$config$JSOND=dataSet==null||(_dataSet$config=dataSet.config)==null||(_dataSet$config=_dataSet$config.JSONData)==null||(_dataSet$config=_dataSet$config.seriesname)==null?void 0:_dataSet$config.toLowerCase().replace(" ","_"))!=null?_dataSet$config$JSOND:"";var msColumn3DLineDyParent=(0,_utils.findMSColumn3DLineDyParent)(this);if(msColumn3DLineDyParent){var allSeries=msColumn3DLineDyParent.getState("allSeries");msColumn3DLineDyParent.setState("reRender",true);if(visible){msColumn3DLineDyParent.setState(seriesName,allSeries[seriesName]=false)}else{msColumn3DLineDyParent.setState(seriesName,allSeries[seriesName]=true)}}visible?dataSet.hide():dataSet.show();if(_lib.isFirefox){var plotGroup=chart.getChildContainer("plotGroup");plotGroup.attrs["clip-rect"]&&plotGroup.attr({"clip-rect":plotGroup.attrs["clip-rect"]})}if(!dsConfig.drawnEvtListenerAttached){dsConfig.drawnEvtListenerAttached=true;dataSet.addEventListener("drawn",(function(){dsConfig.legendInteractivity=false}))}};_proto.createPinElem=function createPinElem(){var dataset=this,chart=dataset.getFromEnv("chart"),group=arguments[1].group,dataStore=dataset.components.data,element,pinElems=dataset.graphics.pinElems||(dataset.graphics.pinElems=[]),columnGroup=dataset.getLinkedParent().getChildContainer().columnVcanvasGroup,i,pinEl,dataObj;for(i=pinElems.length-1;i>=0;i--){pinElems[i].remove();pinElems.pop()}if(dataset.getState("visible")){for(i=dataset.config.scrollMinVal;i<dataset.config.scrollMaxVal;i++){dataObj=dataStore[i];if(dataObj&&dataObj.graphics){element=dataObj.graphics.element;pinEl=element.clone().attr({transform:["T",-(chart.config._visx+mathAbs(columnGroup.transform()[0][1])),-chart.config.canvasBottom]});group.appendChild(pinEl);pinElems.push(pinEl)}}}};_proto._checkPointerOverColumn=function _checkPointerOverColumn(pX,chartX,chartY){var dataset=this,chart=dataset.getFromEnv("chart"),chartConfig=chart.config,plotBorderThickness=chartConfig.plotborderthickness,showPlotBorder=chartConfig.showplotborder,components=dataset.components,dataStore=components.data,pointObj,pY,dx,dy,hovered,halfPlotBorderThickness,lenDataStore=dataStore&&dataStore.length,i,heightTolerance=0,widthTolerance=0,numBin,binStrtIndex,binStopIndex,dragTolerance=chartConfig.dragTolerance||0,skipInfo=dataset.getSkippingInfo&&dataset.getSkippingInfo(),plotsPerBin=skipInfo.plotsPerBin;numBin=mathCeil(pX/plotsPerBin);binStrtIndex=(numBin-1)*plotsPerBin+1;binStopIndex=binStrtIndex+plotsPerBin-1;binStopIndex=binStopIndex<lenDataStore?binStopIndex:lenDataStore;for(i=binStopIndex;i>=binStrtIndex;i--){pointObj=dataStore[i];if(!pointObj){return}if(pointObj._height<HTP){heightTolerance=HTP}if(pointObj._width<HTP){widthTolerance=HTP}if(!pointObj._xPos&&!pointObj._yPos){continue}pY=pointObj.config.setValue;if(showPlotBorder&&plotBorderThickness!==UNDEF){halfPlotBorderThickness=plotBorderThickness/2}else{plotBorderThickness=halfPlotBorderThickness=0}if(pY!==null){dx=chartX-pointObj._xPos+halfPlotBorderThickness;dy=chartY-pointObj._yPos+halfPlotBorderThickness+(pY>=0?dragTolerance:0);hovered=dx>=-widthTolerance/2&&dx<=(widthTolerance||pointObj._width)+plotBorderThickness&&dy>=-heightTolerance/2&&dy<=(heightTolerance||pointObj._height)+plotBorderThickness+(pY<0?2*dragTolerance:dragTolerance);if(hovered){return{pointIndex:i,hovered:hovered,pointObj:dataStore[i]}}}}};_proto._getHoveredPlot=function _getHoveredPlot(chrtX,chrtY){var dataset=this,chartX=chrtX,chartY=chrtY,chart=dataset.getFromEnv("chart"),isBar=chart.isBar,xAxis=dataset.getFromEnv("xAxis"),x,pX;if(isBar){chartY+=xAxis.getTranslation()}else{chartX+=xAxis.getTranslation()}x=xAxis.getValue(isBar?chartY:chartX);pX=Math.round(x);return pX-x>0?dataset._checkPointerOverColumn(pX,chartX,chartY)||dataset._checkPointerOverColumn(pX-1,chartX,chartY):dataset._checkPointerOverColumn(pX+1,chartX,chartY)||dataset._checkPointerOverColumn(pX,chartX,chartY)};_proto.getPlotInCategoryAt=function getPlotInCategoryAt(chartX,chartY){if(chartX===void 0){chartX=0}if(chartY===void 0){chartY=0}var plots=this.components.data,xAxis=this.getFromEnv("xAxis"),yAxis=this.getFromEnv("yAxis"),translation=xAxis.getTranslation()||0,isDatasetVisible=this.getState("visible"),xCoords,yCoords,foundPlot,categoryAxis,isAxisVertical,hoveredCategoryIndex,hoveredPlotInfo;if(xAxis.getName()==="category"&&xAxis.config.hasCategory){categoryAxis=xAxis}else if(yAxis.getName()==="category"&&yAxis.config.hasCategory){categoryAxis=yAxis}else{return false}isAxisVertical=categoryAxis.config.isVertical;if(isAxisVertical===1){yCoords=chartY+translation}else{xCoords=chartX+translation}if(isAxisVertical===null||typeof isAxisVertical==="undefined")return false;hoveredCategoryIndex=Math.round(categoryAxis.getValue(isAxisVertical?yCoords:xCoords));foundPlot=plots[hoveredCategoryIndex];hoveredPlotInfo=this._getHoveredPlot(chartX,chartY);if(isDatasetVisible&&hoveredPlotInfo){return hoveredPlotInfo}else if(isDatasetVisible&&foundPlot){return{pointIndex:foundPlot._index,hovered:false,pointObj:foundPlot}}return false};_proto._decideTooltipType=function _decideTooltipType(plotIndex,e){var dataset=this,chart=dataset.getFromEnv("chart"),drawTrendRegion=chart.config.drawTrendRegion,components=dataset.components,toolTipController=dataset.getFromEnv("toolTipController"),dataStore=components.data,data=dataStore[plotIndex],toolText=data&&(data.config.finalTooltext||data.config.toolText),currentToolTip=dataset.config.currentToolTip,originalEvent=e.originalEvent;if(toolText&&!drawTrendRegion){if(currentToolTip){if(originalEvent.target&&originalEvent.target.nodeName==="tspan"&&data.graphics&&data.graphics.label&&data.graphics.label.abbrArr&&data.graphics.label.abbrArr.length){toolTipController.hide(currentToolTip)}else{toolTipController.draw(originalEvent,toolText,currentToolTip)}}else{currentToolTip=dataset.config.currentToolTip=toolTipController.draw(originalEvent,toolText)}}};_proto._firePlotEvent=function _firePlotEvent(eventType,plotIndex,e){var dataset=this,chart=dataset.getFromEnv("chart"),components=dataset.components,toolTipController=dataset.getFromEnv("toolTipController"),dataStore=components.data,data=dataStore[plotIndex],setElement=data.graphics&&data.graphics.element,labelElement=data.graphics&&data.graphics.label,toolTip=dataset.config.currentToolTip,config,setLink;if(setElement){config=data.config;setLink=config.setLink;switch(eventType){case"fc-mouseover":dataset._decideTooltipType(plotIndex,e);_rolloverResponseSetter(chart,data,e,UNDEF,this);if(setLink){setElement.css({cursor:POINTER});labelElement&&labelElement.css({cursor:POINTER})}break;case"fc-mouseout":toolTipController.hide(toolTip);_rolloutResponseSetter(chart,data,e,UNDEF,this);if(setLink){setElement.css({cursor:DEFAULT_CURSOR});labelElement&&labelElement.css({cursor:DEFAULT_CURSOR})}break;case"fc-click":chart.plotEventHandler(setElement,e);break;case"fc-mousemove":dataset._decideTooltipType(plotIndex,e)}}};_proto.createContainer=function createContainer(){var dataset=this,dsType=dataset.getType(),chart=dataset.getFromEnv("chart"),parent=dataset.getLinkedParent(),group=dataset.config.primitiveType||dsType,parentContainer,commonElemsParentContainer,anchorElemsParentContainer,commonElemsLineParentContainer,parentShadowContainer;!parent.getChildContainer(group+"VcanvasGroup")&&(group="default");parentContainer=parent.getChildContainer(group+"VcanvasGroup");parentShadowContainer=parent.getChildContainer(group+"ShadowVcanvasGroup");commonElemsParentContainer=parent.getChildContainer("commonElemGroup")||parentContainer;commonElemsLineParentContainer=parent.getChildContainer("commonElemGroupLine");anchorElemsParentContainer=parent.getChildContainer("anchorGroup")||parentContainer;!dataset.getContainer("shadowGroup")&&dataset.addContainer("shadowGroup",createGroup("shadow-group",parentShadowContainer,dataset));!dataset.getContainer("errorShadowGroup")&&dataset.addContainer("errorShadowGroup",createGroup("error-shadow-group",parentShadowContainer,dataset));!dataset.getContainer("commonElemsGroup")&&dataset.addContainer("commonElemsGroup",createGroup("common-elems-group",commonElemsParentContainer,dataset));if(commonElemsLineParentContainer){!dataset.getContainer("commonElemsGroupLine")&&dataset.addContainer("commonElemsGroupLine",createGroup("common-elems-group",commonElemsLineParentContainer,dataset))}else{dataset.removeContainer("commonElemsGroupLine")}!dataset.getContainer("plotGroup")&&dataset.addContainer("plotGroup",createGroup("plot-group",anchorElemsParentContainer,dataset));!dataset.getContainer("errorPlotGroup")&&dataset.addContainer("errorPlotGroup",createGroup("error-plot-group",parentContainer,dataset));chart.hasAnchor&&dataset.getContainer("errorPlotGroup").insertBefore(dataset.getContainer("plotGroup"));!dataset.getContainer("labelGroup")&&dataset.addContainer("labelGroup",createGroup("label-group",parent.getChildContainer("vcanvasLabelGroup"),dataset).attr("class","fusioncharts-datalabels"))};_proto.createCoordinates=function createCoordinates(){var _dataSet$config$JSOND2,_dataSet$config2;var dataSet=this,conf=dataSet.config,dsComponents=dataSet.components,dsData=dsComponents.data,chart=dataSet.getFromEnv("chart"),isBar=chart.isBar,yAxis=dataSet.getFromEnv("yAxis"),xAxis=dataSet.getFromEnv("xAxis"),yBase=yAxis.getAxisBase(),yBasePos=yAxis.getPixel(yBase),isVertical=xAxis.config.isVertical,dataObj,config,previousY,i,j,Px,Py,Pb,xDepth=chart.config.xDepth||0,yDepth=chart.config.yDepth||0,len=dsData.length,components=dataSet.components,groupManager=dataSet.getLinkedParent(),stackConf=groupManager.getstackConf&&groupManager.getstackConf(),dataStore=components.data,skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),skippingApplied=skipInfo&&skipInfo.skippingApplied,plotDrawArray=skipInfo&&skipInfo.draw||[],plotDrawArrayLength=plotDrawArray&&plotDrawArray.length,xPx,yPx,primitiveType=conf.primitiveType,yDepthForLine=chart.config.yDepthForLine;var seriesName=(_dataSet$config$JSOND2=dataSet==null||(_dataSet$config2=dataSet.config)==null||(_dataSet$config2=_dataSet$config2.JSONData)==null||(_dataSet$config2=_dataSet$config2.seriesname)==null?void 0:_dataSet$config2.toLowerCase().replace(" ","_"))!=null?_dataSet$config$JSOND2:"";var type=this.getName()||null;var msColumn3DLineDyParent=(0,_utils.findMSColumn3DLineDyParent)(this);var isOnlyLineChartLeft=false;if(msColumn3DLineDyParent){var allSeries=msColumn3DLineDyParent.getState("allSeries");var reRender=msColumn3DLineDyParent.getState("reRender");if(!reRender){msColumn3DLineDyParent.setState(seriesName,allSeries[seriesName]=true)}if(allSeries){var trueKeys=Object.keys(allSeries).filter((function(key){return allSeries[key]}));isOnlyLineChartLeft=(trueKeys==null?void 0:trueKeys.length)===1&&type==="line"}}!isBar&&(xDepth=-xDepth);isBar&&(yDepth=-yDepth);if(skippingApplied){len=plotDrawArrayLength}for(j=0;j<len;j++){i=plotDrawArray[j]||j;dataObj=dataStore[i];config=dataObj&&dataObj.config;if(dataObj===UNDEF){continue}previousY=config._b;xPx=xAxis.getPixel(stackConf&&stackConf[i]&&stackConf[i].x||config._x);Px=(isFinite(xPx)?xPx:0)+xDepth;yPx=yAxis.getPixel(config._y);Py=isFinite(yPx)?yPx:0;if(primitiveType!=="line"||!yDepthForLine||!isOnlyLineChartLeft){Py+=yDepth}Pb=(previousY?yAxis.getPixel(previousY):yBasePos)+yDepth;if(isVertical){config._Px=Py;config._Py=Px;config._Pby=Px;config._Pbx=Pb}else{config._Px=Px;config._Py=Py;config._Pby=Pb;config._Pbx=Px}if(config.givenPlotShowValue===0){config.showValue=0}else if(config.givenPlotShowValue===1){config.showValue=1}else if(config.givenPlotShowValue!==1&&conf.showValues){if(Math.sqrt((Pb-Py)*(Pb-Py))<config.minplotheightforvalue){config.showValue=0}else{config.showValue=1}}if(dataSet.getLineShift){config._Py+=dataSet.getLineShift("y")}}};_proto.setContainerVisibility=function setContainerVisibility(show){var dataSet=this,containers=dataSet.getContainer(),container;for(container in containers){if(containers.hasOwnProperty(container)){if(dataSet.getState("visible")===false&&(dataSet._conatinerHidden===false||dataSet._conatinerHidden===UNDEF)&&!show){containers[container].hide();dataSet._conatinerHidden=true}else{containers[container].show();dataSet._conatinerHidden=false}}}};_proto.plotAnimManager=function plotAnimManager(dataObj,attrObj,i,length,patternAttr){if(patternAttr===void 0){patternAttr={}}var dataSet=this,chart=dataSet.getFromEnv("chart"),animationManager=chart.getFromEnv("animationManager"),is3D=chart.config.is3D,chartConfig=chart.config,visible=dataSet.getState("visible"),xPos=attrObj.x,setElement,setValue,relativeGroupArray,config,configObj,skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),plotDrawArray=skipInfo&&skipInfo.draw||[],container,isNegative,plotGroup3d=dataSet.getFromEnv("plotGroup3d"),attr;config=dataObj&&dataObj.config;setValue=config&&config.setValue;isNegative=setValue<0;if(is3D){relativeGroupArray=isNegative?plotGroup3d.negativeGroupArray:plotGroup3d.positiveGroupAarray;container=relativeGroupArray[chart.isBar?relativeGroupArray.length-1-i:i]}else{container=dataSet.getContainer("plotGroup")}setElement=dataObj.graphics.element;attr=attrObj;configObj={el:setElement||(is3D?"cubepath":"rect"),container:container,attr:visible&&attr,doNotRemove:true,props:{originalIndex:plotDrawArray[i]||i},index:i,length:length,component:dataSet,label:"rect"};if(!visible){configObj.callback=function(){this.hide()}}dataObj.graphics.element=setElement=animationManager.setAnimation(configObj);if(is3D){setElement.appendTo(container);if(chartConfig.isstacked&&isNegative||!chartConfig.isstacked&&chart.isBar){setElement.toBack()}}setElement.addPattern(patternAttr,dataSet.config.usePattern);if(dataObj.config.setValue!==null){dataSet.getState("visible")&&setElement.show()}else{setElement.remove();delete dataObj.graphics.element}config._oldPx=config._Px;config._oldX=xPos;visible&&(dataObj.oldPrevDataObj=dataObj.prevDataObj)};_proto.flushOnScroll=function flushOnScroll(start,end){var dataSet=this,components=dataSet.components,datum,dataStore=components.data;for(var i=start,len=end-1;i<=len;i++){datum=dataStore[i];if(!(datum&&datum.graphics)){continue}_graphicsIterator(datum.graphics,dataSet.__removeElem);datum.graphics={}}};_proto.removingDraw=function removingDraw(){var dataset=this,datastore=dataset.components.data;datastore.forEach((function(datum){_graphicsIterator(datum.graphics,dataset.__removeElem);delete datum.graphics}));_ComponentInterface.prototype.removingDraw.call(this)};_proto._contextChanged=function _contextChanged(){var catLen;if(!this.config.context){this.config.context={}}var dataset=this,context=dataset.config.context,oldShift=context.shift,xAxis=dataset.getFromEnv("xAxis"),yAxis=dataset.getFromEnv("yAxis"),stringifiedOldLimits=context.axisLimit,stringifiedNewLimits,status=false,newAxisLimit={yAxis:{limit:yAxis.getVisibleConfig()},xAxis:{limit:xAxis.getVisibleConfig()}};newAxisLimit.yAxis.limitPixel={min:yAxis.getPixel(newAxisLimit.yAxis.limit.minValue),max:yAxis.getPixel(newAxisLimit.yAxis.limit.maxValue)};newAxisLimit.xAxis.limitPixel={min:xAxis.getPixel(newAxisLimit.xAxis.limit.minValue),max:xAxis.getPixel(newAxisLimit.xAxis.limit.maxValue)};stringifiedNewLimits=JSON.stringify(newAxisLimit);if(stringifiedOldLimits!==stringifiedNewLimits){context.axisLimit=stringifiedNewLimits;status=true}if(oldShift!==dataset.getFromEnv("shift")){context.shift=dataset.getFromEnv("shift");status=true}if(context.prevColNum!==dataset.getFromEnv("numOfColumns")){context.prevColNum=dataset.getFromEnv("numOfColumns");status=true}if(xAxis.getProcessLen){catLen=xAxis.getProcessLen()}else if(xAxis.getTicksLen){catLen=xAxis.getTicksLen()}if(context.prevCatlen!==catLen){context.prevCatlen=catLen;status=true}if(this.getFromEnv("chart").isRealTime){return true}return status};_proto.calculateScrollRange=function calculateScrollRange(){var dataSet=this,conf=dataSet.config,xAxis=dataSet.getFromEnv("xAxis"),len,catLen=xAxis.getTicksLen(),skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo()||{},skippingApplied=skipInfo.skippingApplied,plotDrawArray=skipInfo.draw||[],labelDrawArray=skipInfo.labelDraw||[],plotDrawArrayLength=plotDrawArray.length;len=skippingApplied?plotDrawArrayLength-1:catLen;conf.scrollMinVal=mathMax(mathRound(xAxis.getVisibleConfig().minValue),0)-1;conf.scrollMaxVal=mathMin(mathRound(xAxis.getVisibleConfig().maxValue)+1,len)+1;len=skippingApplied?labelDrawArray.length-1:catLen;conf.scrollMinValForLabel=mathMax(mathRound(xAxis.getVisibleConfig().minValue),0)-1;conf.scrollMaxValForLabel=mathMin(mathRound(xAxis.getVisibleConfig().maxValue)+1,len)+1};_proto.drawPlots=function drawPlots(){var dataSet=this,chart=dataSet.getFromEnv("chart"),conf=dataSet.config,i,j,chartConfig=chart.config,showHoverEffect=chartConfig.plothovereffect,crispBox,dataObj,setElement,config,dataStore=dataSet.components.data,shadowContainer=dataSet.getContainer("shadowGroup"),trackerConfig,attrObj,scrollMinVal,scrollMaxVal,_oldStartIndex=conf._oldStartIndex,_oldEndIndex=conf._oldEndIndex,fi,skipInfo=dataSet.getSkippingInfo&&dataSet.getSkippingInfo(),plotDrawArray=skipInfo&&skipInfo.draw;scrollMinVal=conf.scrollMinVal;scrollMaxVal=conf.scrollMaxVal;if(scrollMinVal>_oldStartIndex){dataSet.flushOnScroll(_oldStartIndex,scrollMinVal>_oldEndIndex?_oldEndIndex:scrollMinVal)}if(scrollMaxVal<_oldEndIndex){dataSet.flushOnScroll(scrollMaxVal<_oldStartIndex?_oldStartIndex:scrollMaxVal,_oldEndIndex)}conf._oldStartIndex=scrollMinVal;conf._oldEndIndex=scrollMaxVal;for(j=scrollMinVal,fi=scrollMaxVal-1;j<scrollMaxVal;j++,fi--){i=plotDrawArray[j]||j;dataObj=dataStore[i];if(!dataObj){continue}config=dataObj.config;attrObj=config.props.element.attr;dataSet.plotAnimManager(dataObj,attrObj,j,scrollMaxVal,config.props.element.patternAttr);trackerConfig=dataObj.trackerConfig;setElement=dataObj.graphics.element;if(!setElement){continue}setElement.shadow(config.shadow,shadowContainer).data("BBox",crispBox);chart.config.enablemousetracking&&setElement.data(EVENTARGS,trackerConfig.eventArgs).data(showHoverEffectStr,showHoverEffect).data(SETROLLOVERATTR,config.setRolloverAttr||{}).data(SETROLLOUTATTR,config.setRolloutAttr||{})}};_proto.setColumnPosition=function setColumnPosition(){var dataSet=this,columnWidth,shift;if((columnWidth=dataSet.getFromEnv("plotWidth"))===UNDEF){var xAxis=dataSet.getFromEnv("xAxis"),chartConfig=this.getFromEnv("chartConfig"),skippingInfo=dataSet.getSkippingInfo(),offSetColNo=skippingInfo.plotsPerBin,definedGroupPadding=mathMax(chartConfig.plotSpacePercent,0),plotSpacePercent=mathMax((0,_lib.pluckNumber)(definedGroupPadding,20)%100,0),groupPadding=offSetColNo===1?plotSpacePercent/200:0,xAxisZeroPos=xAxis.getPixel(0),xAxisFirstPos=xAxis.getPixel(offSetColNo),chart=dataSet.getFromEnv("chart"),maxColWidth=chart.isBar?chart.config.maxBarHeight:chart.config.maxColWidth,groupMaxWidth=mathAbs(xAxisFirstPos-xAxisZeroPos),groupNetWidth,xPosFirst,xPosNext,isCrisp=true,groupNetGapWidth=4,groupNetHalfWidth,numOfColumns=1;groupNetWidth=(1-definedGroupPadding*.01)*groupMaxWidth||mathMin(groupMaxWidth*(1-groupPadding*2),maxColWidth*(numOfColumns||1));columnWidth=numOfColumns===0?groupNetWidth:groupNetWidth/numOfColumns;groupNetHalfWidth=groupNetWidth/2;xPosFirst=xAxisZeroPos-groupNetHalfWidth;xPosNext=xAxisFirstPos-groupNetHalfWidth;if(xPosNext-(xPosFirst+groupNetWidth)<groupNetGapWidth){isCrisp=false}if(plotSpacePercent===0){isCrisp=true}dataSet.addToEnv("isCrisp",isCrisp)}dataSet.addToEnv("columnWidth",columnWidth);shift=dataSet.getFromEnv("shift")||0;dataSet.addToEnv("columnXShift",shift-dataSet.getFromEnv("columnWidth")/2)};_proto.addDatasetSpecificEvtArgs=function addDatasetSpecificEvtArgs(_dataObj){var dataSet=this,dsConfig=dataSet.config,dataObj=_dataObj,config=dataObj.config,chartConfig=dataSet.getFromEnv("chart").config,trackerConfig=dataObj.trackerConfig,eventArgs=trackerConfig.eventArgs;Object.assign(eventArgs,{color:config.originalPlotColor,gradientColor:dsConfig.plotgradientcolor,alpha:config.plotFillAlpha,borderColor:config.plotbordercolor||dsConfig.plotbordercolor,borderAlpha:config.plotBorderAlpha,borderThickness:chartConfig.plotborderthickness,borderDashed:config.dashed,hoverColor:config.hoverColor,hoverAlpha:config.hoverAlpha,borderHoverColor:config.hoverBorderColor,borderHoverAlpha:config.hoverBorderAlpha});if(dsConfig.usePattern){eventArgs.pattern={patternType:config.patternType,patternColor:config.color,patternBgColor:config.patternBgColor===_lib.TRACKER_FILL?UNDEF:config.patternBgColor};del