UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 20.9 kB
"use strict";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 _ganttCommon=_interopRequireWildcard(require("./gantt-common"));var _lib=require("../lib");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 DEFAULT_DASH_STYLE="none",TRANSFORM="t0,0",PXSTRING="px";var UNDEF,DASH_DEF="none",POSITION_START=_lib.preDefStr.POSITION_START,POSITION_TOP=_lib.preDefStr.POSITION_TOP,POSITION_END=_lib.preDefStr.POSITION_END;function prepareTrends(axis){var axisConfig=axis.config,isVertical=axisConfig.isVertical,isOpposit=axisConfig.isOpposit,animationManager=axis.getFromEnv("animationManager"),axisIndex=axisConfig.axisIndex,chartAttr=axis.getFromEnv("chart-attrib"),numberFormatter=axis.getFromEnv("number-formatter"),axisRange=axisConfig.axisRange,max=axisRange.max,min=axisRange.min,maxPx,minPx,style=axisConfig.trend.trendStyle,axisPadding=axisConfig.labelPadding,axisTrendLabelContainer=axisConfig.axisTrendLabelContainer,css={fontFamily:style.fontFamily,fontSize:style.fontSize,lineHeight:style.lineHeight,fontWeight:style.fontWeight,fontStyle:style.fontStyle},vtrendlines=axisConfig.vTrendLines,trendlines=axisConfig.trendLines,checkForLimit=true,drawTrendLabels=axisConfig.drawTrendLabels,axisDimention=axisConfig.axisDimention||{},i,iLim,j,jLen,toolText,chartConfig=axis.getFromEnv("chartConfig"),canvas=axis.getFromEnv("chart").getChildren("canvas")[0],canvasBottom=canvas.config.canvasBottom||chartConfig.canvasBottom,canvasLeft=canvas.config.canvasLeft||chartConfig.canvasLeft,canvasRight=canvas.config.canvasRight||chartConfig.canvasRight,trendlabels=[],trendLabelElement,comTrendLines,isTrendZone,axisDrawingAttrObj,axisTextAttrObj,trendObj,text,valueOnRight,startValue,endValue,startValuePixel,endValuePixel,strokeWidth,fixedTrendLabelPos,fixedTrendLabelPosRight,NFMethodName,getLimit=axis.getVisibleConfig(),trendLabelText=axis.getGraphicalElement("trendlabels")||[];for(i=0;i<trendLabelText.length;i++){trendLabelText[i].remove()}if(axisConfig.hasBreakPoints){getLimit.minValue=axis._getRealBreakValue(getLimit.minValue);getLimit.maxValue=axis._getRealBreakValue(getLimit.maxValue)}checkForLimit=axis._isZoomed();if(!checkForLimit){getLimit.minValue=min;getLimit.maxValue=max}else{maxPx=Math.max(axis.getPixel(getLimit.minValue,{wrtVisible:true}),axis.getPixel(getLimit.maxValue,{wrtVisible:true}));minPx=Math.min(axis.getPixel(getLimit.minValue,{wrtVisible:true}),axis.getPixel(getLimit.maxValue,{wrtVisible:true}))}if(vtrendlines){fixedTrendLabelPos=isOpposit?(axisDimention.opposite||canvasBottom)-(axisConfig.trendBottomPadding||0):(axisDimention.y||canvasBottom)+(axisConfig.trendBottomPadding||0)}else{fixedTrendLabelPos=isOpposit?(axisDimention.opposite||canvasLeft)+(axisPadding||0):(axisDimention.x||canvasLeft)-(axisPadding||0);fixedTrendLabelPosRight=isOpposit?(axisDimention.x||canvasRight)+(axisPadding||0):(axisDimention.opposite||canvasRight)+(axisPadding||0)}comTrendLines=trendlines||vtrendlines;if(comTrendLines){for(j=0,jLen=comTrendLines.length;j<jLen;j+=1){for(i=0,iLim=comTrendLines[j].line&&comTrendLines[j].line.length;i<iLim;i+=1){trendObj=comTrendLines[j].line[i];NFMethodName=isVertical?"yAxis":"xAxis";startValue=trendObj.startvalue||trendObj.value||0;startValue=numberFormatter.getCleanValue((0,_lib.pluck)(trendObj.startvalue,trendObj.value,0));endValue=Number(trendObj.endvalue)||UNDEF;toolText=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(comTrendLines[j].line[i].tooltext,comTrendLines[0].tooltext,axisConfig.trendlineToolText),false));toolText=(0,_lib.parseTooltext)(toolText,[7,15,16,17,18,19],{startValue:startValue,startDataValue:numberFormatter[NFMethodName](startValue,axisIndex),endValue:endValue||startValue,endDataValue:numberFormatter[NFMethodName](endValue||startValue,axisIndex),axisName:axisConfig.axisName},trendObj);if(startValue>max||startValue<min||endValue>max||endValue<min){continue}if(vtrendlines){text=(0,_lib.pluck)((0,_lib.parseUnsafeString)(trendObj.displayvalue),trendObj.start,"");startValuePixel=axis.getPixel(axisConfig.hasBreakPoints?axis._getRelativeBreakValue(startValue):startValue,{wrtVisible:true});isTrendZone=(0,_lib.pluckNumber)(trendObj.istrendzone,axisConfig.isTrendZone,1);endValuePixel=endValue?axis.getPixel(axisConfig.hasBreakPoints?axis._getRelativeBreakValue(endValue):endValue,{wrtVisible:true}):0;if(endValue!==UNDEF&&endValue!==""&&endValue!==startValue&&isTrendZone){axisDrawingAttrObj={fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,axisConfig.trendlineColor),(0,_lib.pluck)(trendObj.alpha,axisConfig.trendlineAlpha,40)),"stroke-width":0};axisTextAttrObj={fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,style.color),(0,_lib.pluck)(trendObj.valuealpha,chartAttr.trendvaluealpha,trendObj.alpha,axisConfig.trendlineAlpha,99)),"vertical-align":POSITION_TOP,text:text,x:startValuePixel+(endValuePixel-startValuePixel)/2,y:fixedTrendLabelPos}}else{strokeWidth=(0,_lib.pluckNumber)(trendObj.thickness,axisConfig.trendlineThickness,1);axisDrawingAttrObj={stroke:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,axisConfig.trendlineColor),(0,_lib.pluck)(trendObj.alpha,axisConfig.trendlineAlpha,99)),"stroke-width":strokeWidth,"stroke-dasharray":(0,_lib.pluck)(trendObj.dashed,axisConfig.trendlinesAreDashed)===_lib.ONESTRING?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(trendObj.dashlen,axisConfig.trendlinesDashLen),(0,_lib.pluckNumber)(trendObj.dashgap,axisConfig.trendlinesDashGap)):DASH_DEF};axisTextAttrObj={fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,style.color),(0,_lib.pluck)(trendObj.valuealpha,chartAttr.trendvaluealpha,trendObj.alpha,axisConfig.trendlineAlpha,99)),"vertical-align":POSITION_TOP,text:text,x:endValue?endValuePixel:startValuePixel,y:fixedTrendLabelPos}}}else if(trendlines){text=(0,_lib.pluck)((0,_lib.parseUnsafeString)(trendObj.displayvalue),trendObj.start,"");valueOnRight=(0,_lib.pluckNumber)(trendObj.valueonright,0);isTrendZone=(0,_lib.pluckNumber)(trendObj.istrendzone,axisConfig.isTrendZone,0);startValuePixel=axis.getPixel(startValue,{wrtVisible:true});endValuePixel=endValue?axis.getPixel(endValue,{wrtVisible:true}):0;if(endValue!==UNDEF&&endValue!==""&&endValue!==startValue&&isTrendZone){axisDrawingAttrObj={fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,axisConfig.trendlineColor),(0,_lib.pluck)(trendObj.alpha,axisConfig.trendlineAlpha,40)),"stroke-width":0};axisTextAttrObj={"text-anchor":valueOnRight?POSITION_START:POSITION_END,fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,style.color),(0,_lib.pluck)(trendObj.valuealpha,chartAttr.trendvaluealpha,trendObj.alpha,axisConfig.trendlineAlpha,99)),text:text,x:valueOnRight?fixedTrendLabelPosRight:fixedTrendLabelPos,y:startValuePixel+(endValuePixel-startValuePixel)/2}}else{strokeWidth=(0,_lib.pluckNumber)(trendObj.thickness,axisConfig.trendlineThickness,1);axisDrawingAttrObj={stroke:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,axisConfig.trendlineColor),(0,_lib.pluck)(trendObj.alpha,axisConfig.trendlineAlpha,99)),"stroke-width":strokeWidth,"stroke-dasharray":(0,_lib.pluck)(trendObj.dashed,axisConfig.trendlinesAreDashed)===_lib.ONESTRING?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(trendObj.dashlen,axisConfig.trendlinesDashLen),(0,_lib.pluckNumber)(trendObj.dashgap,axisConfig.trendlinesDashGap)):DASH_DEF};axisTextAttrObj={"text-anchor":valueOnRight?POSITION_START:POSITION_END,fill:(0,_lib.convertColor)((0,_lib.pluck)(trendObj.color,style.color),(0,_lib.pluck)(trendObj.valuealpha,chartAttr.trendvaluealpha,trendObj.alpha,axisConfig.trendlineAlpha,99)),text:text,x:valueOnRight?fixedTrendLabelPosRight:fixedTrendLabelPos,y:endValue?valueOnRight?endValuePixel:startValuePixel:startValuePixel}}if(checkForLimit&&(!drawTrendLabels||axisTextAttrObj.y>maxPx||axisTextAttrObj.y<minPx)){axisTextAttrObj.text=""}}axisTextAttrObj["text-bound"]=axisTextAttrObj.text?[style.backgroundColor,style.borderColor,style.borderThickness,style.borderPadding,style.borderRadius,style.borderDash]:[];trendLabelElement=animationManager.setAnimation({el:"text",attr:axisTextAttrObj,css:css,container:axisTrendLabelContainer,component:axis}).show();if(!(axisConfig.showTooltip&&toolText)){toolText=""}axis.addComponentInfo("trend",{marker:{isZone:isTrendZone,startValue:startValue,endValue:endValue,fill:axisDrawingAttrObj.fill,stroke:axisDrawingAttrObj.stroke,strokeWidth:axisDrawingAttrObj["stroke-width"],strokeDashArray:axisDrawingAttrObj["stroke-dasharray"],shapeRendering:axisDrawingAttrObj["shape-rendering"]},label:{fill:axisTextAttrObj.fill,text:text,textAnchor:axisTextAttrObj["text-anchor"],textBound:axisTextAttrObj["text-bound"],valueOnRight:(0,_lib.pluckNumber)(trendObj.valueonright,0),toolText:toolText},showOnTop:(0,_lib.pluckNumber)(trendObj.showontop)});trendlabels.push(trendLabelElement)}}}if(trendlabels.length){axis.addGraphicalElement("trendlabels",trendlabels)}}var GanttTimeAxis=function(_GanttCommonAxis){function GanttTimeAxis(){return _GanttCommonAxis.apply(this,arguments)||this}(0,_inheritsLoose2.default)(GanttTimeAxis,_GanttCommonAxis);var _proto=GanttTimeAxis.prototype;_proto.getName=function getName(){return"GanttTimeCategory"};_proto.configure=function configure(rawAttr){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),jsonData=axis.getFromEnv("dataSource"),colorM=chart.getFromEnv("color-manager"),chartData=jsonData.chart,axisAttr;_GanttCommonAxis.prototype.configure.call(this,rawAttr);axisAttr=axisConfig.rawAttr;axisConfig.plotLineColor=axisConfig.lineColor=(0,_lib.convertColor)((0,_lib.pluck)(chartData.ganttlinecolor,colorM.getColor("gridColor")),(0,_lib.pluckNumber)(chartData.ganttlinealpha,100));axisConfig.plotLineThickness=axisConfig.lineThickness=(0,_lib.pluckNumber)(chartData.ganttlinethickness,1);axisConfig.plotLineDashStyle=axisConfig.lineDashStyle=(0,_lib.pluckNumber)(chartData.ganttlinedashed,0)?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(chartData.ganttlinedashlen,1),chartData.ganttlinedashgap,axisConfig.lineThickness):DEFAULT_DASH_STYLE;axisConfig.hoverColor=(0,_lib.pluck)(chartData.categoryhoverbandcolor,chartData.hoverbandcolor,colorM.getColor("gridColor"));axisConfig.hoverAlpha=(0,_lib.pluckNumber)(chartData.categoryhoverbandalpha,chartData.hoverbandalpha,30);axisConfig.useHover=(0,_lib.pluckNumber)(chartData.showcategoryhoverband,chartData.showhoverband,chartData.showhovereffect,1);axisConfig.usePlotHover=(0,_lib.pluckNumber)(chartData.showganttpaneverticalhoverband);axisConfig.trendlinesDashLen=(0,_lib.pluckNumber)(axisAttr.trendlinesDashLen,3);axisConfig.trendlinesDashGap=(0,_lib.pluckNumber)(axisAttr.trendlinesDashGap,3);axisConfig.gridLineHeaderPath="";axisConfig.gridLinePath=""};_proto.setCategory=function setCategory(categories){var numberFormatter=this.getFromEnv("number-formatter"),axisConfig=this.config,startPad=axisConfig.startPad||0,endPad=axisConfig.endPad||0,catLength,categoriesFinal,catObj,startMS,endMS,minTime=Infinity,maxTime=-Infinity,i,j;axisConfig.categories={};if(categories){axisConfig.hasCategory=1}else{axisConfig.hasCategory=0;return}categoriesFinal=axisConfig.categories.category=(0,_lib.extend2)({},categories);(0,_ganttCommon.extractAttribToEnd)(categoriesFinal,{});for(i in categoriesFinal){if(!categoriesFinal.hasOwnProperty(i)||i==="_attrib"){continue}for(j=0,catLength=categoriesFinal[i].category.length;j<catLength;j+=1){catObj=categoriesFinal[i].category[j];startMS=numberFormatter.getDateValue(catObj.start).ms;endMS=numberFormatter.getDateValue(catObj.end).ms;if(isNaN(startMS)){startMS=UNDEF}if(startMS>maxTime){maxTime=startMS}if(startMS<=minTime){minTime=startMS}if(isNaN(endMS)){endMS=UNDEF}if(endMS>maxTime){maxTime=endMS}if(endMS<=minTime){minTime=endMS}}}this.setAxisRange({min:Number((0,_lib.toPrecision)(minTime-startPad,10)),max:Number((0,_lib.toPrecision)(maxTime+endPad,10)),tickInterval:Number((0,_lib.toPrecision)(1,10))})};_proto.placeAxis=function placeAxis(maxHeight){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),chartConfig=chart.config,numberFormatter=axis.getFromEnv("number-formatter"),smartLabel=axis.getFromEnv("smartLabel"),labelStyle=axisConfig.labels.style,vPadding=8,maxTextSize=0,spaceReturn={top:0,bottom:0},spaceUsed=0,categories,category,i,text,smartLabelText,j,textStyle,singleTextStyle,jLen,iLim,maxTextDimention,trendStyle=axisConfig.trend.trendStyle,vtrendlines=axisConfig.vTrendLines,useEllipsesWhenOverflow=axisConfig.useEllipsesWhenOverflow,trendMaxHeight=0,trendSpaceUsed=0,trendObj,axisSmartTrendValue,trendHeight,heightLeft;smartLabel.useEllipsesOnOverflow(chartConfig.useEllipsesWhenOverflow);smartLabel.setStyle({fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight});axisConfig.maxTopSpaceAvailable=chartConfig.canvasTop;if(axisConfig.hasCategory){categories=axisConfig.categories.category;for(i in categories){if(!categories.hasOwnProperty(i)||i==="_attrib"){continue}maxTextSize=0;category=categories[i].category;for(j in category){if(!category.hasOwnProperty(j)||j==="_attrib"){continue}text=category[j];text.drawLabel=(0,_lib.parseUnsafeString)(text.label||text.name);textStyle=text._attrib;singleTextStyle={fontFamily:(0,_lib.pluck)(textStyle.fontfamily,labelStyle.fontFamily).replace(/px/i,"")+PXSTRING,fontSize:(0,_lib.pluck)(textStyle.fontsize,this.computeFontSize(labelStyle.fontSizeWithUnit)),fontWeight:(0,_lib.pluck)(Number(textStyle.isbold)===1?"bold":textStyle.isbold===UNDEF?"bold":UNDEF,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(textStyle.isitalic?"italic":UNDEF,labelStyle.fontStyle)};(0,_lib.setLineHeight)(singleTextStyle);smartLabel.setStyle(singleTextStyle);smartLabelText=smartLabel.getOriSize(text.drawLabel);if(smartLabelText.height>maxTextSize){maxTextDimention=smartLabelText;maxTextSize=smartLabelText.height}}categories[i]._attrib.topPos=spaceUsed;spaceUsed+=maxTextDimention.height+vPadding;categories[i]._attrib.bottomPos=spaceUsed}}heightLeft=maxHeight-spaceUsed;if(axisConfig.drawTrendLines&&axisConfig.drawTrendLabels&&vtrendlines&&axisConfig.isActive){smartLabel.setStyle({fontSize:trendStyle.fontSize,fontFamily:trendStyle.fontFamily,lineHeight:trendStyle.lineHeight,fontWeight:trendStyle.fontWeight});axisConfig.trendBottomPadding=-1;for(j=0,jLen=vtrendlines.length;j<jLen;j+=1){for(i=0,iLim=vtrendlines[j].line.length;i<iLim;i+=1){trendObj=vtrendlines[j].line[i];text=trendObj.origText||trendObj.displayvalue||trendObj.endvalue||trendObj.startvalue||"";text=(0,_lib.parseUnsafeString)(text);trendObj.startvalue=trendObj.start&&numberFormatter.getDateValue(trendObj.start).ms;trendObj.endvalue=trendObj.end&&numberFormatter.getDateValue(trendObj.end).ms;trendObj.origText=text;axisSmartTrendValue=smartLabel.getSmartText(text,chart.canvasWidth,trendStyle.lineHeight,useEllipsesWhenOverflow);trendHeight=axisSmartTrendValue.height+2;if(heightLeft-trendHeight<0){trendObj.displayvalue=""}else{trendObj.displayvalue=axisSmartTrendValue.text;trendMaxHeight=trendMaxHeight<axisSmartTrendValue.height?axisSmartTrendValue.height:trendMaxHeight}if(axisSmartTrendValue.tooltext){trendObj.valueToolText=axisSmartTrendValue.tooltext}else{delete trendObj.valueToolText}}}}axisConfig.totalHeight=spaceUsed;if(trendMaxHeight>0){trendSpaceUsed+=trendMaxHeight+Math.abs(axisConfig.trendBottomPadding||0)}spaceUsed=spaceUsed>maxHeight?maxHeight:spaceUsed;spaceReturn.top+=spaceUsed;spaceReturn.bottom+=trendSpaceUsed;chartConfig.categorySpaceUsed=spaceUsed;return spaceReturn};_proto._drawCategories=function _drawCategories(){var axis=this,axisConfig=axis.config,axisDimention=axisConfig.axisDimention||{},axisStartPosition=axisDimention.y,spaceTaken=axisConfig.totalHeight||0,chart=axis.getFromEnv("chart"),chartConfig=chart.config,animationManager=chart.getFromEnv("animationManager"),numberFormatter=chart.getFromEnv("number-formatter"),canvas=axisConfig.canvas,gridArr=axisConfig.gridArr||(axisConfig.gridArr=[]),canvasLeft=canvas.canvasLeft||chartConfig.canvasLeft,canvasTop=canvas.canvasTop||chartConfig.canvasTop,canvasHeight=canvas.canvasHeight||chartConfig.canvasHeight,canvasWidth=canvas.canvasWidth||chartConfig.canvasWidth,axisBottomGroup=chart.getChildContainer("axisBottomGroup"),i,categories,category,elemIndex=0,j,args,lastRightPos,labelClipHeight,ganttPlotHoverBandContainerParent=axis.getContainer("ganttPlotHoverBandContainerParent"),ganttPlotHoverBandContainer=axis.getContainer("ganttPlotHoverBandContainer"),ganttPlotLineContainer=axis.getContainer("ganttPlotLineContainer"),labelContainer=axis.getContainer("labelContainer"),labelBackContainer=axis.getContainer("labelBackContainer"),labelLineContainer=axis.getContainer("labelLineContainer"),labelTextContainer=axis.getContainer("labelTextContainer"),startms,endms;labelClipHeight=Math.min(spaceTaken,canvasTop-(axisConfig.maxTopSpaceAvailable||0));labelClipHeight=labelClipHeight>0?labelClipHeight:0;if(!ganttPlotHoverBandContainerParent){ganttPlotHoverBandContainerParent=axis.addContainer("ganttPlotHoverBandContainerParent",animationManager.setAnimation({el:"group",attr:{name:"gantt-plot-band-container-parent"},container:axisBottomGroup,component:axis}))}axis.addContainer("ganttPlotHoverBandContainer",animationManager.setAnimation({el:ganttPlotHoverBandContainer||"group",attr:{name:"gantt-plot-band-container","clip-rect":canvasLeft+","+canvasTop+","+canvasWidth+","+canvasHeight},container:ganttPlotHoverBandContainerParent,component:axis}));axis.addContainer("ganttPlotLineContainer",animationManager.setAnimation({el:ganttPlotLineContainer||"group",attr:{name:"gantt-plot-line-container","clip-rect":canvasLeft+","+canvasTop+","+canvasWidth+","+canvasHeight,transform:TRANSFORM},container:axisBottomGroup,component:axis}));labelContainer=axis.addContainer("labelContainer",animationManager.setAnimation({el:labelContainer||"group",attr:{name:"gantt-label-container","clip-rect":canvasLeft+","+(canvasTop-labelClipHeight)+","+canvasWidth+","+labelClipHeight,transform:TRANSFORM},container:axisBottomGroup,component:axis}));if(!labelBackContainer){labelBackContainer=axis.addContainer("labelBackContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-label-back-container"},container:labelContainer,component:axis}))}if(!labelLineContainer){labelLineContainer=axis.addContainer("labelLineContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-label-line-container"},component:axis,container:labelContainer}))}if(!labelTextContainer){labelTextContainer=axis.addContainer("labelTextContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-label-text-container"},container:labelContainer,component:axis}))}axisConfig.gridLinePath="";axisConfig.gridLineHeaderPath="";axisConfig.hoverElemsArr=[];axisConfig.labelHoverEventName={click:"CategoryClick",rollOver:"CategoryRollOver",rollOut:"CategoryRollOut"};if(axisConfig.hasCategory){categories=axisConfig.categories.category;for(i in categories){if(!categories.hasOwnProperty(i)||i==="_attrib"){continue}category=categories[i].category;lastRightPos=UNDEF;gridArr=axisConfig.gridArr=[];for(j in category){startms=numberFormatter.getDateValue(category[j].start).ms;endms=numberFormatter.getDateValue(category[j].end).ms;if(!category.hasOwnProperty(j)||j==="_attrib"||isNaN(startms)||isNaN(endms)){continue}args={elem:category[j],elemIndex:elemIndex,pos:elemIndex,dimension:{left:lastRightPos||axis.getPixel(startms),right:axis.getPixel(endms),top:axisStartPosition-spaceTaken+categories[i]._attrib.topPos,bottom:axisStartPosition-spaceTaken+categories[i]._attrib.bottomPos},type:"category",isHeader:false};lastRightPos=args.dimension.right;axis._drawProcessAndDataTableElement(args);elemIndex+=1;gridArr.push({x:args.dimension.left})}}}axis._drawGridLine();axis._disposeExtraProcessAndDataTableElement(elemIndex)};_proto._drawComponents=function _drawComponents(){var axisConfig=this.config,chartConfig=this.getFromEnv("chartConfig");this._drawCategories();axisConfig.lastTranslate={x:0,y:0};this.translateAxis(-(chartConfig.viewPortConfig.x*chartConfig.viewPortConfig.scaleX),0);axisConfig.drawPlotlines&&this._drawPlotLine();prepareTrends(this);axisConfig.drawTrendLines&&this._drawTrendLine()};return GanttTimeAxis}(_ganttCommon.default);var _default=exports.default=GanttTimeAxis;