@fusioncharts/core
Version:
JavaScript Data Visualisation Library
1 lines • 25.5 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _extends=require("@babel/runtime/helpers/extends");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _cartesian=_interopRequireWildcard(require("./cartesian"));var _lib=require("../lib");var _commonApi=require("./common-api");var _safeMax=_interopRequireDefault(require("@fusioncharts/utils/src/array/safe-max"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f=_extends({},null,{default:e});if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}var ROTATED_LABEL_PADDING=3,ROTATED_LABEL_MIN_GAP=10,WWW_STR="WWW",W_STR="W";var CartesainLabelManager=function(_Cartesian){function CartesainLabelManager(){return _Cartesian.apply(this,arguments)||this}(0,_inheritsLoose2.default)(CartesainLabelManager,_Cartesian);var _proto=CartesainLabelManager.prototype;_proto._getHMaxLabelDimention=function _getHMaxLabelDimention(_maxHeight){var axis=this,maxHeight=_maxHeight,axisConfig=axis.config,chart=axis.getFromEnv("chart"),chartConfig=chart.config,smartLabel=chart.getFromEnv("smartLabel"),axisRange=axisConfig.axisRange,labels=axisConfig.labels,labelDisplay=axisConfig.labelDisplay,slantLabel=axisConfig.slantLabel,labelStyle=labels.style,userMaxLabelHeight=axisConfig.maxLabelHeight,increment=axis.getInterval(),staggerLines=axisConfig.staggerLines,labelStep=axisConfig.labelStep,canvasLeft=chartConfig.canvasLeft,canvasRight=chartConfig.canvasRight,rWidthAdjstFactor=staggerLines-2,labelHeightAllotment,sWidthAdjstFactor,staggerLineAvailed,max=axisRange.max,min=axisRange.min,maxTextSize=0,allCategories=axisConfig.tickValues&&axisConfig.tickValues.tickValue,allCategoryLen=allCategories&&allCategories.length,distributedColumns=chart.distributedColumns,labelGap,categoryLength=0,singleCategory,overriddenStyle,intervalWidth,maxLabelObj={text:_lib.UNDEF,width:0,style:_lib.UNDEF},maxLabelHeight=0,smartLabelText,axisXPadding=4,getAllottedWidth,getAllottedHeight,confMeasurement,updateCategoryMeta=_lib.stubFN,finalRotationDecision=_lib.stubFN,reCalculateStaggerLines=_lib.stubFN,testString=WWW_STR,W=W_STR,minPxPerLabel=60,categoryAxisMeasurement={},maxText,countValue,firstValue,firstLabel,lastLabel,i,count,text,value,numberFormatterFn,retObj,cumulativeSum=0,defTextPadding=2,reCalrequired=false,skipCount=0,defaultSpanRadius=2,lastStepX,forceHeight,categoryCalculationInitiated=false,refSmartText,limit,minIrrPx,prevCategory,lastMinIrrStep=Number.POSITIVE_INFINITY,firstCategory,lastCategory,catLength,isZoomed,prevStyleStr,currStyleStr,ticks=axisConfig.ticks,ln,tick,autoWrapLimit,absMaxSmartText,minIrrStep=Number.POSITIVE_INFINITY;if(distributedColumns){for(i=0;i<allCategoryLen;i++){if(allCategories[i+1]){if(allCategories[i].x){allCategories[i].plotWidth=axis.getPixel(allCategories[i+1].x-allCategories[i].x)-axis.getPixel(0)}}else{allCategories[i].plotWidth=axis.getPixel(chartConfig.canvasRight-allCategories[i].x)-axis.getPixel(0)}}}if(axisConfig.tickValues&&(!allCategories||allCategories.length===0)){return{width:0,height:0}}if(labelDisplay==="rotate"){axisConfig.rotateLabels=1}if(!axisConfig.tickValues){axisConfig.irregularCatAxis=false}axisConfig.sWidthAdjstFactor=sWidthAdjstFactor=rWidthAdjstFactor===0?1:rWidthAdjstFactor===1?1.5:rWidthAdjstFactor;smartLabel.useEllipsesOnOverflow(chartConfig.useEllipsesWhenOverflow);smartLabel.setStyle({fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight});function getMarginalDistance(x,position){switch(position.toLowerCase()){case"left":return Math.abs(axis._getCustomPixel(x));case"right":return Math.abs(chartConfig.width-axis._getCustomPixel(x))}}if(axisConfig.irregularCatAxis){allCategories.sort((function(m,n){return m.x-n.x}));for(i=0,categoryLength=allCategories.length;i<categoryLength;i++){singleCategory=allCategories[i];if(typeof lastStepX!=="undefined"){minIrrStep=Math.abs(singleCategory.x-lastStepX);minIrrPx=Math.abs(axis._getCustomPixel(min)-axis._getCustomPixel(min+minIrrStep));smartLabel.setStyle(Object.assign({},singleCategory.style));refSmartText=smartLabel.getOriSize(W);limit=refSmartText.width;if(minIrrPx<limit*1.2){singleCategory.label=_lib.BLANKSTRING;minIrrStep=lastMinIrrStep;continue}prevCategory._individualIWR=minIrrPx;singleCategory._individualIWL=minIrrPx;lastMinIrrStep=minIrrStep}prevCategory=singleCategory;lastStepX=singleCategory.x}if(minIrrStep===Number.POSITIVE_INFINITY){minIrrStep=Math.floor(Math.min(singleCategory.x,max-singleCategory.x));minIrrStep=Math.max(minIrrStep,2*defaultSpanRadius)}for(i=0,categoryLength=allCategories.length;i<categoryLength;i++){singleCategory=allCategories[i];if(!i){singleCategory._individualIWL=Infinity}if(i===categoryLength-1){singleCategory._individualIWR=Infinity}singleCategory.individualIW=Math.min(singleCategory._individualIWL,singleCategory._individualIWR)}intervalWidth=Math.abs(axis._getCustomPixel(min)-axis._getCustomPixel(min+minIrrStep));intervalWidth=Math.min(2*getMarginalDistance(allCategories[0].x,"left"),2*getMarginalDistance(allCategories[categoryLength-1].x,"right"),intervalWidth)}else{intervalWidth=Math.abs(axis._getCustomPixel(min)-axis._getCustomPixel(min+increment))}maxHeight=userMaxLabelHeight||maxHeight;categoryAxisMeasurement.__root__={getHeight:function getHeight(itr){var cat=allCategories[itr],lineHeight=cat._ovrStyle.lineHeight,lineHeightInt=parseInt(lineHeight.replace(/(\d+)px/,"$1"),10);return lineHeightInt},getWidth:function getWidth(){return maxHeight},getCalculatedLabelStep:function getCalculatedLabelStep(allCatArr){var _i=0,_l=allCatArr.length,_maxSpan=Number.NEGATIVE_INFINITY,_maxCatObj={},styleStr,style,label,_cat,_catLabel,key,possibleLabelsNo,labelCount=0,referenceSide,slHeight,rotateLabels=axisConfig.rotateLabels,maxCategory,isWrapIntended=labelDisplay==="wrap"||labelDisplay==="auto",_fStep;for(_i=0;_i<_l;_i++){_cat=allCatArr[_i];_cat.style=_cat.style||{}}if(axisConfig.irregularCatAxis){return axisConfig.labelStep}for(_i=0;_i<_l;_i++){_cat=allCatArr[_i];if(!_cat){continue}_cat.label||(_cat.label="");_catLabel=_cat.oriLabel||_cat.label;overriddenStyle={fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight};labelCount++;_cat.style=_cat.style||{};(0,_lib.extend2)(overriddenStyle,_cat.style);styleStr=overriddenStyle.fontSize+overriddenStyle.fontFamily+overriddenStyle.lineHeight+overriddenStyle.fontWeight;if(_maxCatObj[styleStr]){if(_catLabel.length>_maxCatObj[styleStr].label.length){_maxCatObj[styleStr].label=_catLabel}}else{_maxCatObj[styleStr]={label:_catLabel,style:overriddenStyle}}}for(key in _maxCatObj){if(_maxCatObj.hasOwnProperty(key)){style=_maxCatObj[key].style;label=_maxCatObj[key].label;style.lineHeight=(0,_lib.setLineHeight)(style);smartLabel.setStyle(style);rotateLabels&&(slHeight=parseInt(style.lineHeight,10));smartLabelText=smartLabel.getSmartText(label,_lib.UNDEF,slHeight);if(rotateLabels===0){referenceSide=smartLabelText.width>minPxPerLabel?minPxPerLabel:smartLabelText.width}else{referenceSide=smartLabelText.height}if(referenceSide>_maxSpan){_maxSpan=referenceSide;maxCategory=_maxCatObj[key]}}}if(isWrapIntended){_maxSpan=Math.min(autoWrapLimit,_maxSpan)}possibleLabelsNo=Math.floor(Math.abs(axis._getCustomPixel(max)-axis._getCustomPixel(min))/_maxSpan);_fStep=Math.max(Math.ceil(labelCount/possibleLabelsNo),axisConfig.labelStep);intervalWidth=Math.abs(axis._getCustomPixel(min)-axis._getCustomPixel(min+_fStep));if(isWrapIntended&&rotateLabels===0){smartLabel.setStyle(maxCategory.style);var maxCharDim=(0,_safeMax.default)(Object.values(smartLabel.getOriSize(maxCategory.label).detailObj));if(maxCharDim>intervalWidth-2*axisXPadding){_fStep+=1;intervalWidth=Math.abs(axis._getCustomPixel(min)-axis._getCustomPixel(min+_fStep));return _fStep}}if(labelCount<=possibleLabelsNo){return axisConfig.labelStep}return _fStep}};categoryAxisMeasurement._inProp={};categoryAxisMeasurement.getCopyById=function(id){var cam=this,propStore=cam._inProp,root=cam.__root__,copyStore=propStore.copyStore,copyById;copyStore=copyStore||{};copyById=copyStore[id];if(copyById){return copyById}(0,_lib.extend2)(copyById=copyStore[id]={},root);return copyById};if(axisConfig.tickValues){switch(labelDisplay){case"rotate":if(slantLabel){labels.rotation=300}else{labels.rotation=270}confMeasurement=categoryAxisMeasurement.getCopyById("rotate");break;case"stagger":confMeasurement=categoryAxisMeasurement.getCopyById("stagger");confMeasurement.getHeight=function(categoryIndex){var allCat,cat,catStyle,metrics;allCat=axisConfig.tickValues.tickValue;cat=allCat[categoryIndex];catStyle=cat&&cat.style||(cat.style={});overriddenStyle={fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight};(0,_lib.extend2)(overriddenStyle,catStyle);smartLabel.setStyle(overriddenStyle);metrics=smartLabel.getOriSize(cat.label);return metrics.height};confMeasurement.getWidth=function(cat){axisXPadding=1;return cat.individualIW?cat.individualIW:2*intervalWidth*sWidthAdjstFactor-axisXPadding};reCalculateStaggerLines=function reCalculateStaggerLines(categories){var category,categoryLen=categories.length,lastElement,defLineHeight,lastCSum=0,index,rSum,calStaggerLines,itrStep,smartTestText;smartLabel.setStyle(labelStyle);smartTestText=smartLabel.getOriSize(testString);defLineHeight=smartTestText.height;lastElement=categories[categoryLen-1];if(Math.floor(lastElement._cumulativeSum)<=Math.ceil(categoryLen*(defLineHeight+defTextPadding))){calStaggerLines=Math.floor(maxHeight/defLineHeight);staggerLines=calStaggerLines-staggerLines<0?calStaggerLines:staggerLines}else{calStaggerLines=Math.floor(maxHeight/(defLineHeight+2*defTextPadding));do{lastCSum=0;itrStep=calStaggerLines;for(index=itrStep-1,categoryLen=categories.length;index<categoryLen;){if(categoryLen-index<calStaggerLines){index=categoryLen-1}category=categories[index];rSum=category._cumulativeSum-lastCSum;if(~~rSum>-~maxHeight){reCalrequired=true;break}else{reCalrequired=false}lastCSum=category._cumulativeSum;index+=itrStep}}while(calStaggerLines--&&reCalrequired);calStaggerLines++;staggerLines=Math.min(staggerLines,calStaggerLines)}axisConfig.drawnStaggerLines=staggerLines};updateCategoryMeta=function updateCategoryMeta(categories){var category,catStyle,categoryLen,catLineHeight,index,nonSkipCount=0;for(index=0,categoryLen=categories.length;index<categoryLen;index++){category=categories[index];if(category.stepSkipped){continue}catStyle=category&&category.style||{};if(!(catLineHeight=catStyle.lineHeight)){catLineHeight=labelStyle.lineHeight}staggerLineAvailed=nonSkipCount++%staggerLines;if(staggerLineAvailed){category.labelPadding=catLineHeight.replace(/px/i,"")*staggerLineAvailed}else{category.labelPadding=0}}};break;case"none":confMeasurement=categoryAxisMeasurement.getCopyById("none");confMeasurement.getHeight=_lib.stubFN;confMeasurement.getWidth=_lib.stubFN;finalRotationDecision=_lib.stubFN;if(axisConfig.rotateLabels){if(slantLabel){labels.rotation=300}else{labels.rotation=270}forceHeight=maxHeight}confMeasurement.getCalculatedLabelStep=function(){return axisConfig.labelStep};break;default:confMeasurement=categoryAxisMeasurement.getCopyById("auto");confMeasurement.getHeight=function(){return maxHeight};confMeasurement.getWidth=function(cat){return cat.individualIW?cat.individualIW:intervalWidth-2*axisXPadding};smartLabel.setStyle(maxLabelObj.style);absMaxSmartText=smartLabel.getOriSize(testString);autoWrapLimit=absMaxSmartText.width;finalRotationDecision=function finalRotationDecision(style,categories){var itr,categoryLen,category,catStyle;if(axisConfig.irregularCatAxis){return}smartLabel.setStyle(style);absMaxSmartText=smartLabel.getOriSize(testString);autoWrapLimit=absMaxSmartText.width;if(autoWrapLimit>=intervalWidth&&axisConfig.rotateLabels!==0){labels.rotation=slantLabel?300:270;labels.forceRotate=true;confMeasurement=categoryAxisMeasurement.getCopyById("rotate");getAllottedWidth=confMeasurement.getWidth;getAllottedHeight=confMeasurement.getHeight;maxLabelObj.width=0;for(itr=0,categoryLen=categories.length;itr<categoryLen;itr++){category=categories[itr];if(!(category&&(category.label||category.oriLabel))||(0,_lib.pluckNumber)(category.showlabel,axisConfig.showLabels,1)===0||category.stepSkipped===true){continue}catStyle=category._ovrStyle;smartLabel.setStyle({fontSize:catStyle.fontSize,fontFamily:catStyle.fontFamily,lineHeight:catStyle.lineHeight,fontWeight:catStyle.fontWeight});smartLabelText=smartLabel.getSmartText(category.oriLabel,getAllottedWidth(category),getAllottedHeight(itr));category.label=smartLabelText.text;category.labelTooltext=smartLabelText.tooltext;category._sLabel=smartLabelText;if(maxLabelObj.width<smartLabelText.width){maxLabelObj.text=smartLabelText.text;maxLabelObj.width=smartLabelText.width;maxLabelObj.height=smartLabelText.height;maxLabelObj.style=catStyle}}maxText=maxLabelObj.text}};break}getAllottedWidth=confMeasurement.getWidth;getAllottedHeight=confMeasurement.getHeight;labelStep=axisConfig.labels.step=axisConfig.labelStep=axisConfig._oriLabelStep;labelStep=axisConfig.labels.step=axisConfig.labelStep=confMeasurement.getCalculatedLabelStep(allCategories);firstValue=(0,_cartesian.minimumEnquiry)(allCategories);for(i=firstValue,countValue=0,count=0,categoryLength=allCategories.length;i<categoryLength;i++,countValue++){singleCategory=allCategories[i];if(!(singleCategory&&(singleCategory.label||singleCategory.oriLabel))||(0,_lib.pluckNumber)(singleCategory.showlabel,axisConfig.showLabels,1)===0){continue}categoryCalculationInitiated=true;overriddenStyle={fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight};(0,_lib.extend2)(overriddenStyle,singleCategory.style);overriddenStyle.lineHeight=(0,_lib.setLineHeight)(overriddenStyle);currStyleStr=overriddenStyle.fontSize+overriddenStyle.fontFamily+overriddenStyle.lineHeight+overriddenStyle.fontWeight;if(currStyleStr!==prevStyleStr){smartLabel.setStyle(overriddenStyle);prevStyleStr=currStyleStr}if(countValue%labelStep){singleCategory.stepSkipped=true;singleCategory.appliedSmartLabel=false;skipCount++;continue}else{singleCategory.appliedSmartLabel=true;singleCategory.stepSkipped=false}singleCategory._ovrStyle=overriddenStyle;if(allCategories[i].plotWidth){labelHeightAllotment=Math.max(labelDisplay==="rotate"?allCategories[i].plotWidth-2*ROTATED_LABEL_PADDING:0,getAllottedHeight(i))}else{if(labelDisplay==="rotate"){if(i<categoryLength-1){labelGap=axis.getPixel(i+1)-axis.getPixel(i)-ROTATED_LABEL_MIN_GAP}}else{labelGap=0}if(labelDisplay==="rotate"&&isNaN(+labelGap)){labelGap=chartConfig.canvasWidth/axis.getVisibleLength()-ROTATED_LABEL_PADDING}labelHeightAllotment=Math.max(labelGap,getAllottedHeight(i))}smartLabelText=smartLabel.getSmartText(singleCategory.oriLabel||singleCategory.label,getAllottedWidth(singleCategory),labelHeightAllotment);cumulativeSum+=smartLabelText.height+defTextPadding;axis.components.labels[count++]={config:{width:smartLabelText.width,height:smartLabelText.height,props:{label:{}}}};singleCategory._cumulativeSum=cumulativeSum;singleCategory.oriLabel=singleCategory.oriLabel||singleCategory.label;singleCategory.label=smartLabelText.text;singleCategory.labelTooltext=smartLabelText.tooltext;singleCategory._sLabel=smartLabelText;if(maxLabelObj.width<smartLabelText.width){(0,_lib.extend2)(maxLabelObj,smartLabelText);maxLabelObj.style=overriddenStyle}if(maxLabelHeight<smartLabelText.height){maxLabelHeight=smartLabelText.height}}if(!categoryCalculationInitiated){return{height:0,width:0}}reCalculateStaggerLines(allCategories,skipCount);updateCategoryMeta(allCategories,skipCount);finalRotationDecision(maxLabelObj.style,allCategories);maxText=maxLabelObj.text||"";if(axisConfig.xAxisLabelMode==="mixed"){if(axisConfig.isPercent){numberFormatterFn=chart.getFromEnv("number-formatter").percentValue}else{numberFormatterFn=chart.getFromEnv("number-formatter").xAxis}maxTextSize=maxText.length;for(i=0,ln=ticks&&ticks.length;i<ln;++i){value=ticks[i];text=""+numberFormatterFn.call(chart.getFromEnv("number-formatter"),value,axisConfig.axisIndex);if(text.length>maxTextSize){maxText=text;maxTextSize=text.length}}}maxLabelObj.height=Math.max(maxLabelHeight,maxLabelObj.height||0);catLength=allCategories.length;for(i=0,categoryLength=allCategories.length;i<categoryLength;i++){firstCategory=allCategories[i];if(firstCategory._sLabel){break}}for(categoryLength=allCategories.length,i=categoryLength-1;i>=0;i--){lastCategory=allCategories[i];if(lastCategory._sLabel){break}}isZoomed=axis.getZoom()!==1;if(!labels.rotation&&!isZoomed&&firstCategory._sLabel){axisConfig.axisEndLabelDisplaySpace.left=Math.max(canvasLeft-(axis._getCustomPixel(firstCategory.x||0)-firstCategory._sLabel.width/2),0);axisConfig.axisEndLabelDisplaySpace.right=Math.max(axis._getCustomPixel(lastCategory.x||catLength-1)+lastCategory._sLabel.width/2-canvasRight,0)}else{axisConfig.axisEndLabelDisplaySpace.left=0;axisConfig.axisEndLabelDisplaySpace.right=0}retObj=maxLabelObj}else{if(axisConfig.numberFormatterFn){numberFormatterFn=chart.getFromEnv("number-formatter")[axisConfig.numberFormatterFn]}else if(axisConfig.isPercent){numberFormatterFn=chart.getFromEnv("number-formatter").percentValue}else{numberFormatterFn=chart.getFromEnv("number-formatter").xAxis}for(i=0,ln=ticks&&ticks.length;i<ln;++i){tick=ticks[i];value=(0,_lib.toPrecision)(tick,10);text=""+numberFormatterFn.call(chart.getFromEnv("number-formatter"),value,axisConfig.axisIndex);if(tick===min){firstLabel=text}if(tick===max){lastLabel=text}retObj=smartLabel.getOriSize(text);axis.components.labels[i]={config:{width:retObj.width,height:retObj.height,props:{label:{}}}};if(text.length>maxTextSize){maxText=text;maxTextSize=text.length}}smartLabel.setStyle({fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight});retObj=smartLabel.getOriSize(maxText||"");if(labelDisplay==="rotate"){labels.rotation=270}if(axisConfig.rotateLabels){if(slantLabel){labels.rotation=300}else{labels.rotation=270}}if(!labels.rotation){firstLabel=smartLabel.getOriSize(firstLabel||"");lastLabel=smartLabel.getOriSize(lastLabel||"");axisConfig.axisEndLabelDisplaySpace.left=firstLabel.width/2+2;axisConfig.axisEndLabelDisplaySpace.right=lastLabel.width/2+2}}if(axisConfig.tickValues&&labelDisplay==="stagger"){retObj.height=staggerLines*maxLabelObj.height}retObj.width=forceHeight?Math.min(forceHeight,retObj.width):retObj.width;retObj.width=(0,_lib.pluckNumber)(retObj.width);retObj.maxWidth=(0,_lib.pluckNumber)(retObj.maxWidth);return retObj};_proto._getVMaxLabelDimention=function _getVMaxLabelDimention(_maxWidth){var axis=this,maxWidth=_maxWidth,axisConfig=axis.config,chart=axis.getFromEnv("chart"),chartConfig=chart.config,smartLabel=chart.getFromEnv("smartLabel"),labelStyle=axisConfig.labels.style,useEllipsesWhenOverflow=axisConfig.useEllipsesWhenOverflow,maxLabelWidthPercent=axisConfig.maxLabelWidthPercent,minLabelWidthPercent=axisConfig.minLabelWidthPercent,maxTextSize=0,categories=chart.getFromEnv("dataSource").categories,maxTextDimention={height:0,width:0},maxText,tempMaxWidth,tempMinWidth,i,ln,ticks=axisConfig.ticks,value,text,allCategories,categoryLength,singleCategory,smartLabelText,numberFormatterFn,categoriesStyle={},categoryStyle,singleCategoryStyle;smartLabel.useEllipsesOnOverflow(chartConfig.useEllipsesWhenOverflow);smartLabel.setStyle({fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight});if(axisConfig.tickValues){if(categories){categoriesStyle={fontFamily:categories[0].font,fontSize:categories[0].fontsize,color:categories[0].fontcolor}}if(maxLabelWidthPercent){tempMaxWidth=maxLabelWidthPercent/100*chartConfig.width;if(tempMaxWidth<maxWidth){maxWidth=tempMaxWidth}}if(minLabelWidthPercent){tempMinWidth=minLabelWidthPercent/100*chartConfig.width;if(tempMinWidth>maxWidth){maxWidth=tempMinWidth}}allCategories=axisConfig.tickValues.tickValue;for(i=0,categoryLength=allCategories.length;i<categoryLength;i++){singleCategory=allCategories[i];if((0,_lib.pluckNumber)(singleCategory.showlabel,axisConfig.showLabels)===0){continue}categoryStyle={fontFamily:(0,_lib.pluck)(singleCategory.font,singleCategory.labelfont,categoriesStyle.fontFamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(this.computeFontSize(singleCategory.fontsize),singleCategory.labelfontsize,categoriesStyle.fontSize,labelStyle.fontSize).toString().replace(/px/i,"")+"px",fontWeight:labelStyle.fontWeight==="normal"?(0,_lib.pluckNumber)(singleCategory.fontbold,singleCategory.labelfontbold,0)?"bold":"normal":labelStyle.fontWeight,fontStyle:labelStyle.fontStyle==="normal"?(0,_lib.pluckNumber)(singleCategory.fontitalic,singleCategory.labelfontitalic,0)?"italic":"normal":labelStyle.fontStyle};singleCategoryStyle={fontFamily:(0,_lib.pluck)(categoryStyle.fontFamily,categoriesStyle.fontFamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(categoryStyle.fontSize,categoriesStyle.fontSize,labelStyle.fontSize),fontWeight:(0,_lib.pluck)(categoryStyle.fontWeight,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(categoryStyle.fontStyle,labelStyle.fontStyle)};singleCategoryStyle.lineHeight=(0,_lib.setLineHeight)(singleCategoryStyle);var getStyle=smartLabel.setStyle(singleCategoryStyle),individualLineHeight=getStyle&&getStyle.style&&getStyle.style.lineHeight?getStyle.style.lineHeight:labelStyle.lineHeight;smartLabelText=smartLabel.getSmartText(singleCategory.oriLabel||singleCategory.label,maxWidth,individualLineHeight.toString().replace(/px/i,""),useEllipsesWhenOverflow);axis.components.labels[i]={config:{width:smartLabelText.width,height:smartLabelText.height,props:{label:{}}}};singleCategory.oriLabel=singleCategory.oriLabel||singleCategory.label;singleCategory.label=text=smartLabelText.text;singleCategory.labelTooltext=smartLabelText.tooltext;if(smartLabelText.width>maxTextSize){maxTextDimention=smartLabelText;maxTextSize=smartLabelText.width}}return maxTextDimention}if(axisConfig.numberFormatterFn){numberFormatterFn=chart.getFromEnv("number-formatter")[axisConfig.numberFormatterFn]}else if(axisConfig.isPercent){numberFormatterFn=chart.getFromEnv("number-formatter").yAxisPercentValue}else{numberFormatterFn=chart.getFromEnv("number-formatter").yAxis}for(i=0,ln=ticks&&ticks.length;i<ln;++i){value=(0,_lib.toPrecision)(ticks[i],10);text=""+numberFormatterFn.call(chart.getFromEnv("number-formatter"),value,axisConfig.axisIndex);smartLabelText=smartLabel.getSmartText(text);axis.components.labels[i]={config:{width:smartLabelText.width,height:smartLabelText.height,props:{label:{}}}};if(text.length>maxTextSize){maxText=text;maxTextSize=text.length}}return smartLabel.getOriSize(maxText)};_proto.getCleanValue=function getCleanValue(num,abs){var axis=this,numberFormatter=axis.getFromEnv("number-formatter");return numberFormatter.getCleanValue(num,abs)};_proto.generateMinorTicks=function generateMinorTicks(){if(this)return[]};_proto.setCanvas=function setCanvas(data){var axis=this,axisConfig=axis.config;axisConfig.canvas=data};_proto._adjustNumberFormatter=function _adjustNumberFormatter(interval){var axis=this,axisConfig=axis.config,axisIndex=axisConfig.axisIndex,isVertical=axisConfig.isVertical,chart=axis.getFromEnv("chart"),numberFormatter=chart.getFromEnv("number-formatter"),defaultDecimalPrecision=axisConfig._defaultDecimalPrecision,defaultForceDecimal=axisConfig._defaultForceDecimal,dec,beforeZero=0,formatConfig;if(isVertical||axisConfig.numberFormatterFn==="yAxis"){formatConfig=(numberFormatter.Y[axisIndex]||numberFormatter.Y[0]).yAxisLabelConf}else{formatConfig=numberFormatter.paramX}defaultDecimalPrecision!==_lib.UNDEF?formatConfig.decimalprecision=defaultDecimalPrecision:axisConfig._defaultDecimalPrecision=formatConfig.decimalprecision;defaultForceDecimal!==_lib.UNDEF?formatConfig.forcedecimals=defaultForceDecimal:axisConfig._defaultForceDecimal=formatConfig.forcedecimals;if(parseInt(interval,10)>0){return}dec=interval.toString().split(".")[1];if(dec){beforeZero=dec.match(/^[0]*/)[0].length+1;if(beforeZero>formatConfig.decimalprecision){formatConfig.forcedecimals=1}formatConfig.decimalprecision=Math.max(beforeZero,formatConfig.decimalprecision)}};_proto.setLabelConfig=function setLabelConfig(data){var axis=this,axisConfig=axis.config,labelConfig=axisConfig.labels,prop;for(prop in data){if(data.hasOwnProperty(prop)){labelConfig[prop]=data[prop]}}};return CartesainLabelManager}(_cartesian.default);CartesainLabelManager.prototype._parseLabel=_commonApi._parseLabel;CartesainLabelManager.prototype._drawLabel=_commonApi._drawLabel;CartesainLabelManager.prototype.getTrendLineLimits=_commonApi.getTrendLineLimits;CartesainLabelManager.prototype.setAxisPadding=_commonApi.setAxisPadding;CartesainLabelManager.prototype.getLabel=_commonApi.getLabel;var _default=exports.default=CartesainLabelManager;
;