@fusioncharts/core
Version:
JavaScript Data Visualisation Library
1 lines • 36.7 kB
JavaScript
exports.__esModule=true;exports.default=void 0;var _lib=require("../lib");var UNDEF,mathAbs=Math.abs,mathPow=Math.pow,mathRound=Math.round,ONESTRING="1",BLANK="",ZEROSTRING="0",DECIMALSTRING=".",COMMASTRING=",",MINUSSTR="-",TWOSTRING="2",AUTOSTRING="auto",rtlHexCode="",formatNumber,formatNumberScale,convertNumberSeps,formatDecimals,formatCommas,numberFormatDefaults={formatnumber:ONESTRING,formatnumberscale:ONESTRING,forcenumberscale:ZEROSTRING,defaultnumberscale:BLANK,numberscaleunit:["K","M"],numberscalevalue:[1e3,1e3],numberprefix:BLANK,numbersuffix:BLANK,decimals:BLANK,forcedecimals:ZEROSTRING,yaxisvaluedecimals:TWOSTRING,decimalseparator:DECIMALSTRING,thousandseparator:COMMASTRING,thousandseparatorposition:[3],indecimalseparator:BLANK,inthousandseparator:BLANK,sformatnumber:ONESTRING,sformatnumberscale:ZEROSTRING,sforcenumberscale:ZEROSTRING,sdefaultnumberscale:BLANK,snumberscaleunit:["K","M"],snumberscalevalue:[1e3,1e3],snumberprefix:BLANK,snumbersuffix:BLANK,sdecimals:TWOSTRING,sforcedecimals:ZEROSTRING,syaxisvaluedecimals:TWOSTRING,xFormatNumber:ZEROSTRING,xFormatNumberScale:ZEROSTRING,xforcenumberscale:ZEROSTRING,xDefaultNumberScale:BLANK,xNumberScaleUnit:["K","M"],xNumberScaleValue:[1e3,1e3],xNumberPrefix:BLANK,xNumberSuffix:BLANK},numberFormatOverrides={mscombidy2d:{formatnumberscale:ONESTRING}};var NumberFormatter=function(){function NumberFormatter(chart,customAttrs){var nf=this,chartName=chart.getName&&chart.getName(),csConfigBuffer,csConf=nf.csConf=(0,_lib.extend2)({},numberFormatDefaults),overrideConf=numberFormatOverrides[chartName];nf.cleaneValueCacheStore={};nf.percentStrCacheStore={};if(overrideConf){csConfigBuffer=(0,_lib.extend2)(csConf,overrideConf);csConf=csConfigBuffer}this.linkedItems={chart:chart};nf.configure(customAttrs)}var _proto=NumberFormatter.prototype;_proto.setDefaults=function setDefaults(){var chart=this.linkedItems.chart,chartName=chart.getName&&chart.getName(),csConf=this.csConf=(0,_lib.extend2)({},numberFormatDefaults),overrideConf=numberFormatOverrides[chartName];if(overrideConf){(0,_lib.extend2)(csConf,overrideConf)}};_proto.configure=function configure(customAttrs){var nf=this,chart=nf.linkedItems.chart,chartAttrs=customAttrs||chart.getFromEnv("chart-attrib"),chartName=chart.getName&&chart.getName(),chartConf=chart.config,csConf=nf.csConf,isMultyAxis,numberscaleunit,snumberscaleunit,xnumberscaleunit,ticknumberscaleunit,ynumberscaleunit,numberscalevalue,xnumberscalevalue,ticknumberscalevalue,ynumberscalevalue,thousandseparatorposition,snumberscalevalue,paramLabels,paramLabels2,param1,param2,baseConf,length,value,lastValue,scaleRecursively,sScaleRecursively,xScaleRecursively,maxScaleRecursion,sMaxScaleRecursion,xMaxScaleRecursion,scaleSeparator,sScaleSeparator,xScaleSeparator;if(!chartConf){chartConf=chart}nf.csConf=csConf;nf.useScaleRecursively=chartConf.useScaleRecursively;if((0,_lib.getValidValue)(chartAttrs.numberscaleunit)){numberscaleunit=chartAttrs.numberscaleunit.split(COMMASTRING)}if(snumberscaleunit=(0,_lib.getValidValue)(chartAttrs.snumberscaleunit,chartAttrs.numberscaleunit)){snumberscaleunit=snumberscaleunit.split(COMMASTRING)}if(xnumberscaleunit=(0,_lib.getValidValue)(chartAttrs.xnumberscaleunit,chartAttrs.numberscaleunit)){xnumberscaleunit=xnumberscaleunit.split(COMMASTRING)}if(ticknumberscaleunit=(0,_lib.getValidValue)(chartAttrs.ticknumberscaleunit,chartAttrs.numberscaleunit)){ticknumberscaleunit=ticknumberscaleunit.split(COMMASTRING)}if(ynumberscaleunit=(0,_lib.getValidValue)(chartAttrs.ynumberscaleunit,chartAttrs.numberscaleunit)){ynumberscaleunit=ynumberscaleunit.split(COMMASTRING)}if((0,_lib.getValidValue)(chartAttrs.numberscalevalue)){numberscalevalue=chartAttrs.numberscalevalue.split(COMMASTRING)}if(snumberscalevalue=(0,_lib.getValidValue)(chartAttrs.snumberscalevalue,chartAttrs.numberscalevalue)){snumberscalevalue=snumberscalevalue.split(COMMASTRING)}if(xnumberscalevalue=(0,_lib.getValidValue)(chartAttrs.xnumberscalevalue,chartAttrs.numberscalevalue)){xnumberscalevalue=xnumberscalevalue.split(COMMASTRING)}if(ticknumberscalevalue=(0,_lib.getValidValue)(chartAttrs.ticknumberscalevalue,chartAttrs.numberscalevalue)){ticknumberscalevalue=ticknumberscalevalue.split(COMMASTRING)}if(ynumberscalevalue=(0,_lib.getValidValue)(chartAttrs.ynumberscalevalue,chartAttrs.numberscalevalue)){ynumberscalevalue=ynumberscalevalue.split(COMMASTRING)}if((0,_lib.getValidValue)(chartAttrs.thousandseparatorposition)){thousandseparatorposition=chartAttrs.thousandseparatorposition.split(COMMASTRING);length=thousandseparatorposition.length;lastValue=numberFormatDefaults.thousandseparatorposition[0];while(length--){value=parseInt(thousandseparatorposition[length],10);if(value<=0){value=lastValue}lastValue=thousandseparatorposition[length]=value}}scaleRecursively=(0,_lib.pluckNumber)(chartAttrs.scalerecursively,0);sScaleRecursively=(0,_lib.pluckNumber)(chartAttrs.sscalerecursively,scaleRecursively);xScaleRecursively=(0,_lib.pluckNumber)(chartAttrs.xscalerecursively,scaleRecursively);maxScaleRecursion=(0,_lib.pluckNumber)(chartAttrs.maxscalerecursion,-1);sMaxScaleRecursion=(0,_lib.pluckNumber)(chartAttrs.smaxscalerecursion,maxScaleRecursion);xMaxScaleRecursion=(0,_lib.pluckNumber)(chartAttrs.xmaxscalerecursion,maxScaleRecursion);scaleSeparator=(0,_lib.getValidValue)(chartAttrs.scaleseparator," ");sScaleSeparator=(0,_lib.getValidValue)(chartAttrs.sscaleseparator,scaleSeparator);xScaleSeparator=(0,_lib.getValidValue)(chartAttrs.xscaleseparator,scaleSeparator);if(!maxScaleRecursion){maxScaleRecursion=-1}nf.baseConf=baseConf={cacheStore:[],formatnumber:(0,_lib.pluck)(chartAttrs.formatnumber,csConf.formatnumber),formatnumberscale:(0,_lib.pluck)(chartAttrs.formatnumberscale,chartConf.formatnumberscale,csConf.formatnumberscale),forcenumberscale:(0,_lib.pluck)(chartAttrs.forcenumberscale,csConf.forcenumberscale),defaultnumberscale:(0,_lib.getFirstValue)(chartAttrs.defaultnumberscale,csConf.defaultnumberscale),numberscaleunit:(0,_lib.pluck)(numberscaleunit,csConf.numberscaleunit).concat(),numberscalevalue:(0,_lib.pluck)(numberscalevalue,csConf.numberscalevalue).concat(),numberprefix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(chartAttrs.numberprefix,csConf.numberprefix)),numbersuffix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(chartAttrs.numbersuffix,csConf.numbersuffix)),decimalprecision:parseInt(chartAttrs.decimals===AUTOSTRING?csConf.decimalprecision:(0,_lib.pluck)(chartAttrs.decimals,chartAttrs.decimalprecision,chartConf.decimals,csConf.decimals,chartConf.decimalprecision,csConf.decimalprecision),10),forcedecimals:(0,_lib.pluck)(chartAttrs.forcedecimals,csConf.forcedecimals),decimalseparator:(0,_lib.pluck)(chartAttrs.decimalseparator,csConf.decimalseparator),thousandseparator:(0,_lib.pluck)(chartAttrs.thousandseparator,csConf.thousandseparator),thousandseparatorposition:(0,_lib.pluck)(thousandseparatorposition,csConf.thousandseparatorposition),indecimalseparator:(0,_lib.getFirstValue)(chartAttrs.indecimalseparator,csConf.indecimalseparator),inthousandseparator:(0,_lib.getFirstValue)(chartAttrs.inthousandseparator,csConf.inthousandseparator),scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator,hasrtltext:chartAttrs.hasrtltext};if((0,_lib.getValidValue)(baseConf.inthousandseparator)){nf.baseConf._REGinthousandseparator=new RegExp((0,_lib.regescape)(baseConf.inthousandseparator),"g")}if((0,_lib.getValidValue)(baseConf.indecimalseparator)){nf.baseConf._REGindecimalseparator=new RegExp((0,_lib.regescape)(baseConf.indecimalseparator))}nf.Y=[];if(!isMultyAxis){paramLabels={cacheStore:[],formatnumber:baseConf.formatnumber,formatnumberscale:baseConf.formatnumberscale,forcenumberscale:baseConf.forcenumberscale,defaultnumberscale:baseConf.defaultnumberscale,numberscaleunit:baseConf.numberscaleunit.concat(),numberscalevalue:baseConf.numberscalevalue.concat(),numberprefix:baseConf.numberprefix,numbersuffix:baseConf.numbersuffix,decimalprecision:baseConf.decimalprecision,forcedecimals:baseConf.forcedecimals,decimalseparator:baseConf.decimalseparator,thousandseparator:baseConf.thousandseparator,thousandseparatorposition:baseConf.thousandseparatorposition,indecimalseparator:baseConf.indecimalseparator,inthousandseparator:baseConf.inthousandseparator,scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator,hasrtltext:baseConf.hasrtltext};if(!chartConf.useScaleRecursively||(paramLabels.numberscalevalue&¶mLabels.numberscalevalue.length)!==(paramLabels.numberscaleunit&¶mLabels.numberscaleunit.length)){paramLabels.scalerecursively=scaleRecursively=0}param1={cacheStore:[],formatnumber:paramLabels.formatnumber,formatnumberscale:paramLabels.formatnumberscale,forcenumberscale:paramLabels.forcenumberscale,defaultnumberscale:paramLabels.defaultnumberscale,numberscaleunit:paramLabels.numberscaleunit.concat(),numberscalevalue:paramLabels.numberscalevalue.concat(),numberprefix:paramLabels.numberprefix,numbersuffix:paramLabels.numbersuffix,decimalprecision:parseInt((0,_lib.pluck)(chartAttrs.yaxisvaluedecimals,paramLabels.decimalprecision,2),10),forcedecimals:(0,_lib.pluck)(chartAttrs.forceyaxisvaluedecimals,paramLabels.forcedecimals),decimalseparator:paramLabels.decimalseparator,thousandseparator:paramLabels.thousandseparator,thousandseparatorposition:paramLabels.thousandseparatorposition.concat(),indecimalseparator:paramLabels.indecimalseparator,inthousandseparator:paramLabels.inthousandseparator,scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator,hasrtltext:paramLabels.hasrtltext};param2={cacheStore:[],formatnumber:(0,_lib.pluck)(chartAttrs.sformatnumber,numberFormatDefaults.sformatnumber),formatnumberscale:(0,_lib.pluck)(chartAttrs.sformatnumberscale,numberFormatDefaults.sformatnumberscale),forcenumberscale:(0,_lib.pluck)(chartAttrs.sforcenumberscale,numberFormatDefaults.sforcenumberscale),defaultnumberscale:(0,_lib.getFirstValue)(chartAttrs.sdefaultnumberscale,paramLabels.defaultnumberscale),numberscaleunit:(0,_lib.pluck)(snumberscaleunit,numberFormatDefaults.snumberscaleunit).concat(),numberscalevalue:(0,_lib.pluck)(snumberscalevalue,numberFormatDefaults.snumberscalevalue).concat(),numberprefix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(chartAttrs.snumberprefix,numberFormatDefaults.snumberprefix)),numbersuffix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(chartAttrs.snumbersuffix,numberFormatDefaults.snumbersuffix)),decimalprecision:parseInt((0,_lib.pluck)(chartAttrs.syaxisvaluedecimals,chartAttrs.sdecimals,chartAttrs.decimals,numberFormatDefaults.sdecimals),10),forcedecimals:(0,_lib.pluck)(chartAttrs.forcesyaxisvaluedecimals,chartAttrs.sforcedecimals,chartAttrs.forcedecimals,numberFormatDefaults.sforcedecimals),decimalseparator:(0,_lib.pluck)(chartAttrs.decimalseparator,numberFormatDefaults.decimalseparator),thousandseparator:(0,_lib.pluck)(chartAttrs.thousandseparator,numberFormatDefaults.thousandseparator),thousandseparatorposition:paramLabels.thousandseparatorposition.concat(),indecimalseparator:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.indecimalseparator,numberFormatDefaults.indecimalseparator)),inthousandseparator:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.inthousandseparator,numberFormatDefaults.inthousandseparator)),scalerecursively:sScaleRecursively,maxscalerecursion:sMaxScaleRecursion,scaleseparator:sScaleSeparator,hasrtltext:paramLabels.hasrtltext};paramLabels2=(0,_lib.extend2)({},param2);paramLabels2.decimalprecision=parseInt((0,_lib.pluck)(chartAttrs.sdecimals,chartAttrs.decimals,chartAttrs.syaxisvaluedecimals,numberFormatDefaults.sdecimals),10);paramLabels2.forcedecimals=(0,_lib.pluck)(chartAttrs.sforcedecimals,chartAttrs.forcedecimals,chartAttrs.forcesyaxisvaluedecimals,numberFormatDefaults.sforcedecimals);paramLabels2.cacheStore=[];if(!chartConf.useScaleRecursively||(param2.numberscalevalue&¶m2.numberscalevalue.length)!==(param2.numberscaleunit&¶m2.numberscaleunit.length)){param2.scalerecursively=sScaleRecursively=0}if(/^(bubble|scatter|selectscatter|zoomscatter)$/gi.test(chartName)){param1.formatnumber=(0,_lib.pluck)(chartAttrs.yformatnumber,param1.formatnumber);param1.formatnumberscale=(0,_lib.pluck)(chartAttrs.yformatnumberscale,param1.formatnumberscale);param1.forcenumberscale=(0,_lib.pluck)(chartAttrs.yforcenumberscale,param1.forcenumberscale);param1.defaultnumberscale=(0,_lib.getFirstValue)(chartAttrs.ydefaultnumberscale,param1.defaultnumberscale);param1.numberscaleunit=(0,_lib.pluck)(ynumberscaleunit,param1.numberscaleunit);param1.numberscalevalue=(0,_lib.pluck)(ynumberscalevalue,param1.numberscalevalue);param1.numberprefix=(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ynumberprefix,param1.numberprefix));param1.numbersuffix=(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ynumbersuffix,param1.numbersuffix));paramLabels.formatnumber=(0,_lib.pluck)(chartAttrs.yformatnumber,paramLabels.formatnumber);paramLabels.formatnumberscale=(0,_lib.pluck)(chartAttrs.yformatnumberscale,paramLabels.formatnumberscale);paramLabels.forcenumberscale=(0,_lib.pluck)(chartAttrs.yforcenumberscale,paramLabels.forcenumberscale);paramLabels.defaultnumberscale=(0,_lib.getFirstValue)(chartAttrs.ydefaultnumberscale,paramLabels.defaultnumberscale);paramLabels.numberscaleunit=(0,_lib.pluck)(chartAttrs.ynumberscaleunit,paramLabels.numberscaleunit.concat());paramLabels.numberscalevalue=(0,_lib.pluck)(chartAttrs.ynumberscalevalue,paramLabels.numberscalevalue.concat());paramLabels.numberprefix=(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ynumberprefix,paramLabels.numberprefix));paramLabels.numbersuffix=(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ynumbersuffix,paramLabels.numbersuffix))}if(/^(pie2d|pie3d|doughnut2d|doughnut3d|marimekko|pareto2d|pareto3d)$/.test(chartName)){paramLabels.decimalprecision=(0,_lib.pluck)(chartAttrs.decimals,TWOSTRING)}if(scaleRecursively){paramLabels.numberscalevalue.push(1);paramLabels.numberscaleunit.unshift(paramLabels.defaultnumberscale);param1.numberscalevalue.push(1);param1.numberscaleunit.unshift(param1.defaultnumberscale)}if(sScaleRecursively){param2.numberscalevalue.push(1);param2.numberscaleunit.unshift(param2.defaultnumberscale);paramLabels2.numberscalevalue.push(1);paramLabels2.numberscaleunit.unshift(paramLabels2.defaultnumberscale)}nf.Y[0]={yAxisLabelConf:param1,dataLabelConf:paramLabels};nf.Y[1]={yAxisLabelConf:param2,dataLabelConf:paramLabels2};nf.paramLabels=paramLabels;nf.param1=param1;nf.param2=param2;nf.paramLabels2=paramLabels2}nf.paramX={cacheStore:[],formatnumber:(0,_lib.pluck)(chartAttrs.xformatnumber,baseConf.formatnumber),formatnumberscale:(0,_lib.pluck)(chartAttrs.xformatnumberscale,baseConf.formatnumberscale),forcenumberscale:(0,_lib.pluck)(chartAttrs.xforcenumberscale,baseConf.forcenumberscale),defaultnumberscale:(0,_lib.getFirstValue)(chartAttrs.xdefaultnumberscale,baseConf.defaultnumberscale),numberscaleunit:(0,_lib.pluck)(xnumberscaleunit,baseConf.numberscaleunit.concat()),numberscalevalue:(0,_lib.pluck)(xnumberscalevalue,baseConf.numberscalevalue.concat()),numberprefix:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.xnumberprefix,baseConf.numberprefix)),numbersuffix:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.xnumbersuffix,baseConf.numbersuffix)),decimalprecision:parseInt((0,_lib.pluck)(chartAttrs.xaxisvaluedecimals,chartAttrs.xaxisvaluesdecimals,baseConf.decimalprecision,2),10),forcedecimals:(0,_lib.pluck)(chartAttrs.forcexaxisvaluedecimals,0),decimalseparator:baseConf.decimalseparator,thousandseparator:baseConf.thousandseparator,thousandseparatorposition:baseConf.thousandseparatorposition.concat(),indecimalseparator:baseConf.indecimalseparator,inthousandseparator:baseConf.inthousandseparator,scalerecursively:xScaleRecursively,maxscalerecursion:xMaxScaleRecursion,scaleseparator:xScaleSeparator};nf.paramLegend=(0,_lib.extend2)((0,_lib.extend2)({},baseConf),{cacheStore:[],decimalprecision:parseInt((0,_lib.pluckNumber)(chartAttrs.legendvaluedecimals,baseConf.decimalprecision,2),10),forcedecimals:(0,_lib.pluckNumber)(chartAttrs.legendvalueforcedecimals,baseConf.forcedecimals,0),formatnumberscale:(0,_lib.pluck)(chartAttrs.legendvalueformatnumberscale,baseConf.formatnumberscale),forcenumberscale:(0,_lib.pluck)(chartAttrs.legendvalueforcenumberscale,baseConf.forcenumberscale),formatnumber:(0,_lib.pluck)(chartAttrs.legendvalueformatnumber,baseConf.formatnumber)});if(scaleRecursively){nf.paramLegend.numberscalevalue.push(1);nf.paramLegend.numberscaleunit.unshift(nf.paramLegend.defaultnumberscale)}if(!chartConf.useScaleRecursively||(nf.paramX.numberscalevalue&&nf.paramX.numberscalevalue.length)!==(nf.paramX.numberscaleunit&&nf.paramX.numberscaleunit.length)){nf.paramX.scalerecursively=xScaleRecursively=0}if(xScaleRecursively){nf.paramX.numberscalevalue.push(1);nf.paramX.numberscaleunit.unshift(nf.paramX.defaultnumberscale)}nf.paramScale={cacheStore:[],formatnumber:(0,_lib.pluck)(chartAttrs.tickformatnumber,baseConf.formatnumber),formatnumberscale:(0,_lib.pluck)(chartAttrs.tickformatnumberscale,baseConf.formatnumberscale),forcenumberscale:(0,_lib.pluck)(chartAttrs.tickforcenumberscale,baseConf.forcenumberscale),defaultnumberscale:(0,_lib.getFirstValue)(chartAttrs.tickdefaultnumberscale,baseConf.defaultnumberscale),numberscaleunit:(0,_lib.pluck)(ticknumberscaleunit,baseConf.numberscaleunit.concat()),numberscalevalue:(0,_lib.pluck)(ticknumberscalevalue,baseConf.numberscalevalue.concat()),numberprefix:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ticknumberprefix,baseConf.numberprefix)),numbersuffix:(0,_lib.parseUnsafeString)((0,_lib.pluck)(chartAttrs.ticknumbersuffix,baseConf.numbersuffix)),decimalprecision:parseInt((0,_lib.pluck)(chartAttrs.tickvaluedecimals,baseConf.decimalprecision,TWOSTRING),10),forcedecimals:(0,_lib.pluck)(chartAttrs.forcetickvaluedecimals,baseConf.forcedecimals,0),decimalseparator:baseConf.decimalseparator,thousandseparator:baseConf.thousandseparator,thousandseparatorposition:baseConf.thousandseparatorposition.concat(),indecimalseparator:baseConf.indecimalseparator,inthousandseparator:baseConf.inthousandseparator,scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator};if(scaleRecursively){nf.paramScale.numberscalevalue.push(1);nf.paramScale.numberscaleunit.unshift(nf.paramScale.defaultnumberscale)}nf.timeConf={inputDateFormat:(0,_lib.pluck)(chartAttrs.inputdateformat,chartAttrs.dateformat,"mm/dd/yyyy"),outputDateFormat:(0,_lib.pluck)(chartAttrs.outputdateformat,chartAttrs.inputdateformat,chartAttrs.dateformat,"mm/dd/yyyy"),days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],daySuffix:["","st","nd","rd","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","st","nd","rd","th","th","th","th","th","th","th","st"]};nf.cleaneValueCacheStore={};nf.percentStrCacheStore={}};_proto.dispose=function dispose(){var nf=this;if(nf.Y){delete nf.Y}if(nf.cleaneValueCacheStore){delete nf.cleaneValueCacheStore}if(nf.percentStrCacheStore){delete nf.percentStrCacheStore}if(nf.paramLabels){delete nf.paramLabels}if(nf.param1){delete nf.param1}if(nf.param2){delete nf.param2}if(nf.paramLabels2){delete nf.paramLabels2}if(nf.csConf){delete nf.csConf}if(nf.chart){delete nf.chart}if(nf.baseConf){delete nf.baseConf}if(nf.timeConf){delete nf.timeConf}if(nf.paramX){delete nf.paramX}if(nf.paramScale){delete nf.paramScale}};_proto.parseMLAxisConf=function parseMLAxisConf(axisObj,_index){var baseConf=this.baseConf,csConf=this.csConf,scaleRecursively=(0,_lib.pluckNumber)(axisObj.scalerecursively,baseConf.scalerecursively),maxScaleRecursion=(0,_lib.pluckNumber)(axisObj.maxscalerecursion,baseConf.maxscalerecursion),scaleSeparator=(0,_lib.getValidValue)(axisObj.scaleseparator,baseConf.scaleseparator),paramLabels,numberscaleunit,numberscalevalue,param,thousandseparatorposition,length,value,lastValue,index=(0,_lib.pluckNumber)(_index,this.Y.length);if((0,_lib.getValidValue)(axisObj.numberscaleunit)){numberscaleunit=axisObj.numberscaleunit.split(COMMASTRING)}if((0,_lib.getValidValue)(axisObj.numberscalevalue)){numberscalevalue=axisObj.numberscalevalue.split(COMMASTRING)}if(!maxScaleRecursion){maxScaleRecursion=-1}if((0,_lib.getValidValue)(axisObj.thousandseparatorposition)){thousandseparatorposition=axisObj.thousandseparatorposition.split(COMMASTRING);length=thousandseparatorposition.length;lastValue=numberFormatDefaults.thousandseparatorposition[0];while(length--){value=(0,_lib.pluckNumber)(mathAbs(thousandseparatorposition[length]));if(!value){value=lastValue}else{lastValue=value}thousandseparatorposition[length]=value}}paramLabels={cacheStore:[],formatnumber:(0,_lib.pluck)(axisObj.formatnumber,baseConf.formatnumber),formatnumberscale:(0,_lib.pluck)(axisObj.formatnumberscale,baseConf.formatnumberscale),forcenumberscale:(0,_lib.pluck)(axisObj.forcenumberscale,baseConf.forcenumberscale),defaultnumberscale:(0,_lib.getFirstValue)(axisObj.defaultnumberscale,baseConf.defaultnumberscale),numberscaleunit:(0,_lib.pluck)(numberscaleunit,baseConf.numberscaleunit).concat(),numberscalevalue:(0,_lib.pluck)(numberscalevalue,baseConf.numberscalevalue).concat(),numberprefix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(axisObj.numberprefix,baseConf.numberprefix)),numbersuffix:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(axisObj.numbersuffix,baseConf.numbersuffix)),forcedecimals:(0,_lib.pluck)(axisObj.forcedecimals,baseConf.forcedecimals),decimalprecision:parseInt(axisObj.decimals===AUTOSTRING?csConf.decimalprecision:(0,_lib.pluck)(axisObj.decimals,baseConf.decimalprecision),10),decimalseparator:(0,_lib.pluck)(axisObj.decimalseparator,baseConf.decimalseparator),thousandseparator:(0,_lib.pluck)(axisObj.thousandseparator,baseConf.thousandseparator),thousandseparatorposition:(0,_lib.pluck)(thousandseparatorposition,baseConf.thousandseparatorposition),indecimalseparator:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(axisObj.indecimalseparator,baseConf.indecimalseparator)),inthousandseparator:(0,_lib.parseUnsafeString)((0,_lib.getFirstValue)(axisObj.inthousandseparator,baseConf.inthousandseparator)),scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator};if(!this.useScaleRecursively||(paramLabels.numberscalevalue&¶mLabels.numberscalevalue.length)!==(paramLabels.numberscaleunit&¶mLabels.numberscaleunit.length)){paramLabels.scalerecursively=scaleRecursively=0}param={cacheStore:[],formatnumber:paramLabels.formatnumber,formatnumberscale:paramLabels.formatnumberscale,forcenumberscale:paramLabels.forcenumberscale,defaultnumberscale:paramLabels.defaultnumberscale,numberscaleunit:paramLabels.numberscaleunit.concat(),numberscalevalue:paramLabels.numberscalevalue.concat(),numberprefix:paramLabels.numberprefix,numbersuffix:paramLabels.numbersuffix,decimalprecision:parseInt((0,_lib.pluck)(axisObj.yaxisvaluedecimals,paramLabels.decimalprecision,2),10),forcedecimals:(0,_lib.pluck)(axisObj.forceyaxisvaluedecimals,paramLabels.forcedecimals),decimalseparator:paramLabels.decimalseparator,thousandseparator:paramLabels.thousandseparator,thousandseparatorposition:paramLabels.thousandseparatorposition.concat(),indecimalseparator:paramLabels.indecimalseparator,inthousandseparator:paramLabels.inthousandseparator,scalerecursively:scaleRecursively,maxscalerecursion:maxScaleRecursion,scaleseparator:scaleSeparator};if(scaleRecursively){paramLabels.numberscalevalue.push(1);paramLabels.numberscaleunit.unshift(paramLabels.defaultnumberscale);param.numberscalevalue.push(1);param.numberscaleunit.unshift(param.defaultnumberscale)}this.Y[index]={dataLabelConf:paramLabels,yAxisLabelConf:param}};_proto.percentValue=function percentValue(num){var rtn=this.percentStrCacheStore[num],precision;if(rtn===UNDEF){precision=isNaN(this.paramLabels.decimalprecision)?"2":this.paramLabels.decimalprecision;rtn=this.percentStrCacheStore[num]=formatCommas(formatDecimals(num,precision,this.paramLabels.forcedecimals),this.paramLabels.decimalseparator,this.paramLabels.thousandseparator,this.paramLabels.thousandseparatorposition)+"%"}return rtn};_proto.yAxisPercentValue=function yAxisPercentValue(num,axisIndex){window.th=this;var formatterConf=this.Y[axisIndex]||(axisIndex?this.Y[1]:this.Y[0]),rtn,precision;formatterConf=formatterConf&&formatterConf.yAxisLabelConf||this.baseConf;rtn=formatterConf.cacheStore[num];if(rtn===UNDEF){precision=isNaN(formatterConf.decimalprecision)?"2":formatterConf.decimalprecision;rtn=formatterConf.cacheStore[num]=formatCommas(formatDecimals(num,precision,formatterConf.forcedecimals),formatterConf.decimalseparator,formatterConf.thousandseparator,formatterConf.thousandseparatorposition)+"%"}return rtn};_proto.getCleanValue=function getCleanValue(numStr,abs){var rtn=this.cleaneValueCacheStore[numStr],num;if(rtn===UNDEF||abs){num=convertNumberSeps(numStr,this.baseConf);this.cleaneValueCacheStore[numStr]=rtn=isNaN(num)?null:abs?mathAbs(num):num}return rtn};_proto.dataLabels=function dataLabels(num,axisIndex){var formatterConf=this.Y[axisIndex]||(axisIndex?this.Y[1]:this.Y[0]),rtn;formatterConf=formatterConf&&formatterConf.dataLabelConf||this.baseConf;rtn=formatterConf.cacheStore[num];if(rtn===UNDEF){rtn=formatterConf.cacheStore[num]=formatNumber(num,formatterConf)}return rtn};_proto.formatValue=function formatValue(num){var formatterConf=this.baseConf,rtn;rtn=formatterConf.cacheStore[num];if(rtn===UNDEF){rtn=formatterConf.cacheStore[num]=formatNumber(num,formatterConf)}return rtn};_proto.yAxis=function yAxis(num,axisIndex){var formatterConf=this.Y[axisIndex]||(axisIndex?this.Y[1]:this.Y[0]),rtn;formatterConf=formatterConf&&formatterConf.yAxisLabelConf||this.baseConf;rtn=formatterConf.cacheStore[num];if(rtn===UNDEF){rtn=formatterConf.cacheStore[num]=formatNumber(num,formatterConf,true)}return rtn};_proto.xAxis=function xAxis(num){var rtn=this.paramX.cacheStore[num];if(rtn===UNDEF){rtn=this.paramX.cacheStore[num]=formatNumber(num,this.paramX,true)}return rtn};_proto.sYAxis=function sYAxis(num){var formatterConf=this.Y[1],rtn;formatterConf=formatterConf&&formatterConf.yAxisLabelConf||this.baseConf;rtn=formatterConf.cacheStore[num];if(rtn===UNDEF){rtn=formatterConf.cacheStore[num]=formatNumber(num,formatterConf)}return rtn};_proto.scale=function scale(num){var rtn=this.paramScale.cacheStore[num];if(rtn===UNDEF){rtn=this.paramScale.cacheStore[num]=formatNumber(num,this.paramScale)}return rtn};_proto.legendValue=function legendValue(num){var rtn=this.paramLegend.cacheStore[num];if(rtn===UNDEF){rtn=this.paramLegend.cacheStore[num]=formatNumber(num,this.paramLegend)}return rtn};_proto.legendPercentValue=function legendPercentValue(num){var rtn=this.percentStrCacheStore[num],paramLegend=this.paramLegend,precision;if(rtn===UNDEF){precision=isNaN(paramLegend.decimalprecision)?"2":paramLegend.decimalprecision;rtn=this.percentStrCacheStore[num]=formatCommas(formatDecimals(num,precision,paramLegend.forcedecimals),paramLegend.decimalseparator,paramLegend.thousandseparator,paramLegend.thousandseparatorposition)+"%"}return rtn};_proto.getDateValue=function getDateValue(_date){var dataObj,hour,min,sec,ms,date=_date;if(date&&!/\//.test(this.timeConf.inputDateFormat)){date=date.replace(new RegExp(this.timeConf.inputDateFormat.replace(/[a-z]/gi,BLANK).slice(0,1),"g"),"/")}date=/^dd/.test(this.timeConf.inputDateFormat)&&date&&date.replace(/(\d{1,2})\/(\d{1,2})\/(\d{2,4})/,"$2/$1/$3")||date;if(/\s24:/.test(date)){date=date.replace(/\s24:/," 00:");dataObj=new Date(date);dataObj.setDate(dataObj.getDate()+1)}else{dataObj=new Date(date)}ms=dataObj.getTime();if(!ms&&date&&/\:/.test(date)){date=date.split(":");hour=(0,_lib.pluckNumber)(date[0],0);min=(0,_lib.pluckNumber)(date[1],0);sec=(0,_lib.pluckNumber)(date[2],0);hour=hour>23?hour===24&&min===0&&sec===0?hour:23:hour;min=min>59?59:min;sec=sec>59?59:sec;dataObj=new Date;dataObj.setHours(hour);dataObj.setMinutes(min);dataObj.setSeconds(sec);ms=dataObj.getTime()}return{ms:ms,date:dataObj}};_proto.getFormattedDate=function getFormattedDate(date,format){var D=typeof date==="object"&&date||new Date(date),timeConf=this.timeConf,output=(0,_lib.pluck)(format,timeConf.outputDateFormat),year=D.getFullYear(),month=D.getMonth(),day=D.getDate(),nday=D.getDay(),min=D.getMinutes(),sec=D.getSeconds(),hours=D.getHours();min=min>9?BLANK+min:ZEROSTRING+min;sec=sec>9?BLANK+sec:ZEROSTRING+sec;hours=hours>9?BLANK+hours:ZEROSTRING+hours;output.match(/dnl/)&&(output=output.replace(/dnl/gi,timeConf.days[nday]));output.match(/dns/)&&(output=output.replace(/dns/gi,timeConf.days[nday]&&timeConf.days[nday].substr(0,3)));output.match(/dd/)&&(output=output.replace(/dd/gi,day));output.match(/mnl/)&&(output=output.replace(/mnl/gi,timeConf.months[month]));output.match(/mns/)&&(output=output.replace(/mns/gi,timeConf.months[month]&&timeConf.months[month].substr(0,3)));output.match(/mm/)&&(output=output.replace(/mm/gi,month+1));output.match(/yyyy/)&&(output=output.replace(/yyyy/gi,year));output.match(/yy/)&&(output=output.replace(/yy/gi,(year%1e3%100+"").replace(/^(\d)$/,"0$1")));output.match(/hh12/)&&(output=output.replace(/hh12/gi,hours%12||12));output.match(/hh/)&&(output=output.replace(/hh/gi,hours));output.match(/mn/)&&(output=output.replace(/mn/gi,min));output.match(/ss/)&&(output=output.replace(/ss/gi,sec));output.match(/ampm/)&&(output=output.replace(/ampm/gi,hours<12?"AM":"PM"));output.match(/ds/)&&(output=output.replace(/ds/gi,timeConf.daySuffix[day]));return output};return NumberFormatter}();formatNumber=function formatNumber(_num,attributes,isAxisValue){var strNum,strScale,numList,scaleList,upperIndex,tempNum,tempStr,i,valueArr,decimalPlaceLen,objNum,num=_num;if(num===null){return}num=Number(num);strNum=num+BLANK;if(Number(attributes.formatnumberscale)===1){strScale=attributes.defaultnumberscale}else{strScale=BLANK}valueArr=strNum.split(DECIMALSTRING)[1];decimalPlaceLen=valueArr?valueArr.length:attributes.forcedecimals?TWOSTRING:BLANK;if(Number(attributes.formatnumberscale)===1){objNum=formatNumberScale(num,attributes.defaultnumberscale,attributes.numberscalevalue,attributes.numberscaleunit,attributes.scalerecursively,attributes.forcenumberscale);strNum=objNum.value;num=objNum.value;strScale=objNum.scale}if(attributes.scalerecursively&&attributes.formatnumberscale!==0&&attributes.formatnumberscale!=="0"){numList=objNum.value;scaleList=objNum.scale;upperIndex=Number(attributes.maxscalerecursion)===-1?numList.length:Math.min(numList.length,attributes.maxscalerecursion);if(Number(attributes.formatnumber)===1){strNum=_lib.BLANKSTRING;for(i=0;i<upperIndex;i++){tempNum=i===0?numList[i]:Math.abs(numList[i]);tempStr=tempNum+BLANK;if(i===upperIndex-1){tempStr=formatDecimals(tempNum,(0,_lib.pluck)(attributes.decimalprecision,decimalPlaceLen),attributes.forcedecimals)}strNum=strNum+formatCommas(tempStr,attributes.decimalseparator,attributes.thousandseparator,attributes.thousandseparatorposition)+scaleList[i]+(i<upperIndex-1?attributes.scaleseparator:_lib.BLANKSTRING)}}else{strNum=_lib.BLANKSTRING;for(i=0;i<upperIndex;i++){strNum=strNum+(i===0?numList[i]:Math.abs(numList[i])+BLANK)+scaleList[i]+(i<upperIndex-1?attributes.scaleseparator:"")}}strNum=(attributes.numberprefix||BLANK)+strNum+(attributes.numbersuffix||BLANK)}else{if(Number(attributes.formatnumber)===1){strNum=formatDecimals(num,(0,_lib.pluck)(attributes.decimalprecision,decimalPlaceLen),attributes.forcedecimals);strNum=formatCommas(strNum,attributes.decimalseparator,attributes.thousandseparator,attributes.thousandseparatorposition,isAxisValue)}if(attributes.hasrtltext&&attributes.hasrtltext===1){strNum=(attributes.numbersuffix||BLANK)+rtlHexCode+strNum+strScale+(attributes.numberprefix||BLANK)}else{strNum=(attributes.numberprefix||BLANK)+strNum+strScale+(attributes.numbersuffix||BLANK)}}return strNum};formatNumberScale=function formatNumberScale(_intNum,defaultNumberScale,numScaleValues,numScaleUnits,scaleRecursively,_forceNumberScale){var objRtn={},strScale=defaultNumberScale,recLowerScaleValue,recTempVal,i=0,numScaleValue,THOUSAND=1e3,arrValues=[],arrScales=[],carry,intNum=_intNum,forceNumberScale=(0,_lib.pluckNumber)(_forceNumberScale)||0;if(scaleRecursively){recLowerScaleValue=(0,_lib.pluckNumber)(numScaleValues[0])||THOUSAND;for(i=0;i<numScaleValues.length;i++){numScaleValue=(0,_lib.pluckNumber)(numScaleValues[i])||THOUSAND;if(Math.abs(Number(intNum))>=numScaleValue&&i<numScaleValues.length-1){carry=intNum%numScaleValue;intNum=(intNum-carry)/numScaleValue;if(i===0&&carry!==0&&numScaleUnits[i]===BLANK&&forceNumberScale){arrValues.push(carry/recLowerScaleValue);arrScales.push(numScaleUnits[1]||BLANK)}else if(carry!==0){if(i===1&&defaultNumberScale===BLANK&&forceNumberScale){recTempVal=carry+(arrValues.length?arrValues.pop():0);arrScales.pop();arrValues.push(recTempVal)}else{arrValues.push(carry)}arrScales.push(numScaleUnits[i])}}else{if(i===0&&defaultNumberScale===BLANK&&forceNumberScale){intNum=Number(intNum)/recLowerScaleValue;arrValues.push(intNum);arrScales.push(numScaleUnits[1]||BLANK)}else{if(i===1&&defaultNumberScale===BLANK&&forceNumberScale){recTempVal=intNum+(arrValues.length?arrValues.pop():0);arrScales.pop();arrValues.push(recTempVal)}else{arrValues.push(intNum)}arrScales.push(numScaleUnits[i])}break}}arrValues.reverse();arrScales.reverse();objRtn.value=arrValues;objRtn.scale=arrScales}else{if(numScaleValues.length===numScaleUnits.length){for(i=0;i<numScaleValues.length;i++){numScaleValue=(0,_lib.pluckNumber)(numScaleValues[i])||THOUSAND;if(numScaleValue&&Math.abs(Number(intNum))>=numScaleValue){strScale=numScaleUnits[i]||BLANK;intNum=Number(intNum)/numScaleValue}else{if(i===0&&defaultNumberScale===BLANK&&forceNumberScale){strScale=numScaleUnits[0]||BLANK;intNum=Number(intNum)/numScaleValue}break}}}objRtn.value=intNum;objRtn.scale=strScale}return objRtn};formatDecimals=function formatDecimals(_intNum,_decimalPrecision,forceDecimals){var tenToPower,strRounded,parts,paddingNeeded,i,intNum=_intNum,decimalPrecision=_decimalPrecision;if(decimalPrecision<=0){return intNum.toFixed(0)}if(isNaN(decimalPrecision)){intNum=intNum+BLANK;if(intNum.length>12&&intNum.indexOf(DECIMALSTRING)!==-1){decimalPrecision=12-intNum.split(DECIMALSTRING)[0].length;tenToPower=mathPow(10,decimalPrecision);strRounded=mathRound(intNum*tenToPower)/tenToPower+BLANK;intNum=strRounded}return intNum}tenToPower=mathPow(10,decimalPrecision);if(intNum<0){strRounded=-(mathRound(-intNum*tenToPower)/tenToPower)+BLANK}else{strRounded=mathRound(intNum*tenToPower)/tenToPower+BLANK}if(Number(forceDecimals)===1){if(strRounded.indexOf(DECIMALSTRING)===-1){strRounded+=".0"}parts=strRounded.split(DECIMALSTRING);paddingNeeded=decimalPrecision-parts[1].length;for(i=1;i<=paddingNeeded;i++){strRounded+=ZEROSTRING}}return strRounded};formatCommas=function formatCommas(strNum,decimalseparator,thousandseparator,thSepPos,isAxisValue){var intNum=Number(strNum),strDecimalPart=BLANK,boolIsNegative=false,strNumberFloor=BLANK,formattedNumber=BLANK,startPos=0,endPos=0,minExponentialValue=1e15,fractionDigits,strNumberLen,sepPosLen,sepDigit;if(isNaN(intNum)){return BLANK}if(intNum>minExponentialValue){if(isAxisValue){fractionDigits=1}else{fractionDigits=14}return intNum.toExponential(fractionDigits)}startPos=0;endPos=strNum.length;if(strNum.indexOf(DECIMALSTRING)!==-1){strDecimalPart=strNum.substring(strNum.indexOf(DECIMALSTRING)+1,strNum.length);endPos=strNum.indexOf(DECIMALSTRING)}if(intNum<0){boolIsNegative=true;startPos=1}strNumberFloor=strNum.substring(startPos,endPos);strNumberLen=strNumberFloor.length;sepPosLen=thSepPos.length-1;sepDigit=thSepPos[sepPosLen];if(strNumberLen<sepDigit){formattedNumber=strNumberFloor}else{while(strNumberLen>=sepDigit){formattedNumber=(strNumberLen-sepDigit?thousandseparator:BLANK)+strNumberFloor.substr(strNumberLen-sepDigit,sepDigit)+formattedNumber;strNumberLen-=sepDigit;sepDigit=(sepPosLen-=1)<=0?thSepPos[0]:thSepPos[sepPosLen];if(strNumberLen<sepDigit){formattedNumber=strNumberFloor.substring(strNumberLen,0)+formattedNumber}}}if(strDecimalPart!==BLANK){formattedNumber=formattedNumber+decimalseparator+strDecimalPart}if(boolIsNegative===true){formattedNumber=MINUSSTR+formattedNumber}return formattedNumber};convertNumberSeps=function convertNumberSeps(_num,conf){var num=_num;num=num+BLANK;if(conf._REGinthousandseparator){num=num.replace(conf._REGinthousandseparator,BLANK)}if(conf._REGindecimalseparator){num=num.replace(conf._REGindecimalseparator,DECIMALSTRING)}num=parseFloat(num);return isFinite(num)?num:NaN};var _default=exports.default=NumberFormatter;
;