UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 27.2 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 UNDEF;var DEFAULT_DASH_STYLE="none",PXSTRING="px",TRANSFORM="t0,0",DEFAULT_HOVER_ALPHA=30;var GanttProcessAxis=function(_GanttCommonAxis){function GanttProcessAxis(){return _GanttCommonAxis.apply(this,arguments)||this}(0,_inheritsLoose2.default)(GanttProcessAxis,_GanttCommonAxis);var _proto=GanttProcessAxis.prototype;_proto.getName=function getName(){return"GanttProcess"};_proto.configure=function configure(rawAttr){var axisConfig=this.config,colorM=this.getFromEnv("color-manager"),jsonData=this.getFromEnv("dataSource"),chartData=jsonData.chart;_GanttCommonAxis.prototype.configure.call(this,rawAttr);axisConfig.lineColor=(0,_lib.convertColor)((0,_lib.pluck)(chartData.gridbordercolor,colorM.getColor("gridColor")),(0,_lib.pluckNumber)(chartData.gridborderalpha,100));axisConfig.lineThickness=(0,_lib.pluckNumber)(chartData.gridborderthickness,1);axisConfig.lineDashStyle=(0,_lib.pluckNumber)(chartData.gridborderdashed,0)?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(chartData.gridborderdashlen,1),chartData.gridborderdashgap,axisConfig.lineThickness):DEFAULT_DASH_STYLE;axisConfig.plotLineColor=(0,_lib.convertColor)((0,_lib.pluck)(chartData.ganttlinecolor,colorM.getColor("gridColor")),(0,_lib.pluckNumber)(chartData.ganttlinealpha,100));axisConfig.plotLineThickness=(0,_lib.pluckNumber)(chartData.ganttlinethickness,1);axisConfig.plotLineDashStyle=(0,_lib.pluckNumber)(chartData.ganttlinedashed,0)?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(chartData.ganttlinedashlen,1),chartData.ganttlinedashgap,axisConfig.lineThickness):DEFAULT_DASH_STYLE;axisConfig.gridResizeBarColor=(0,_lib.convertColor)((0,_lib.pluck)(chartData.gridresizebarcolor,colorM.getColor("gridResizeBarColor")),(0,_lib.pluckNumber)(chartData.gridresizebaralpha,100));axisConfig.gridResizeBarThickness=(0,_lib.pluckNumber)(chartData.gridresizebarthickness,1);axisConfig.forceRowHeight=(0,_lib.pluckNumber)(chartData.forcerowheight,0);axisConfig.rowHeight=(0,_lib.pluckNumber)(chartData.rowheight,0);axisConfig.hoverColor=(0,_lib.pluck)(chartData.processhoverbandcolor,chartData.hoverbandcolor,colorM.getColor("gridColor"));axisConfig.hoverAlpha=(0,_lib.pluckNumber)(chartData.processhoverbandalpha,chartData.hoverbandalpha,DEFAULT_HOVER_ALPHA);axisConfig.useHover=(0,_lib.pluckNumber)(chartData.showprocesshoverband,chartData.showhoverband,chartData.showhovereffect,1);axisConfig.usePlotHover=(0,_lib.pluckNumber)(chartData.showganttpanehorizontalhoverband);axisConfig.showFullDataTable=(0,_lib.pluckNumber)(chartData.showfulldatatable,1);axisConfig.forceGanttWidthPercent=(0,_lib.pluckNumber)(chartData.forceganttwidthpercent,0);axisConfig.useVerticalScrolling=(0,_lib.pluckNumber)(chartData.useverticalscrolling,1);axisConfig.gridLineHeaderPath="";axisConfig.gridLinePath=""};_proto.setProcess=function setProcess(processes){var axis=this,axisConfig=axis.config,startPad=axisConfig.startPad||0,endPad=axisConfig.endPad||0,processesLen,processesFinal,index,ProcessIndex,processMap;axisConfig.processes={};if(processes){axisConfig.hasProcess=1}else{axisConfig.hasProcess=0;return}processesFinal=axisConfig.processes.process=(0,_lib.extend2)({},processes);(0,_ganttCommon.extractAttribToEnd)(processesFinal,{});processesLen=processesFinal.process.length;processMap=axisConfig.processes.processMap={};axisConfig.processes.processHeightMap={};for(index=0;index<processesLen;index+=1){ProcessIndex=processesFinal.process[index];if(ProcessIndex.id){processMap[ProcessIndex.id.toLowerCase()]={catObj:ProcessIndex,index:index}}}axis.setAxisRange({min:Number((0,_lib.toPrecision)(-startPad,10)),max:Number((0,_lib.toPrecision)(processesLen-1+endPad,10)),tickInterval:Number((0,_lib.toPrecision)(1,10))})};_proto.getProcessPositionByIndex=function getProcessPositionByIndex(idx){var axis=this,axisConfig=axis.config,processHeightMap=axisConfig.processes.processHeightMap;if(processHeightMap[idx]){return processHeightMap[idx]}return false};_proto.getProcessPositionById=function getProcessPositionById(processId){var axis=this,axisConfig=axis.config,process=axisConfig.processes&&axisConfig.processes.processMap[processId],processHeightMap=axisConfig.processes.processHeightMap;if(process){return processHeightMap[process.index]}return false};_proto.setDataTable=function setDataTable(_dataTables){var axis=this,dataTables=_dataTables,axisConfig=axis.config;axisConfig.dataTables={};axisConfig.dataTables.dataTable={};if(dataTables){axisConfig.hasDataTables=1}else{axisConfig.hasDataTables=0;return}(0,_lib.extend2)(axisConfig.dataTables.dataTable,dataTables);dataTables=axisConfig.dataTables.dataTable;(0,_ganttCommon.extractAttribToEnd)(dataTables,{})};_proto.setProcessHeight=function setProcessHeight(){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),chartConfig=chart.config,canvasHeight=chartConfig.canvasHeight,process=axisConfig.processes.process.process,processHeightMap=axisConfig.processes.processHeightMap,processHeight=axisConfig.processMaxHeight,height=0,forceRowHeight=axisConfig.forceRowHeight,rowHeight=axisConfig.rowHeight,processHeightFinal,processLength,i;if(processHeight*process.length<canvasHeight||axisConfig.useVerticalScrolling===0){processHeight=canvasHeight/process.length}if(forceRowHeight===0){if(rowHeight&&rowHeight>processHeight){processHeight=rowHeight}}else{processHeight=rowHeight||processHeight}for(i=0,processLength=process.length;i<processLength;i++){processHeightFinal=(0,_lib.pluckNumber)(process[i].height,processHeight);processHeightMap[i]={top:height,bottom:height+processHeightFinal,height:processHeightFinal};height+=processHeightFinal}return height};_proto.adjustWidth=function adjustWidth(){var axis=this,axisConfig=axis.config,totalWidth=axisConfig.totalWidth,availableWidth=totalWidth,spaceUsed=0,processOnRight=false,dragPadding=20,processVlineArr,attrib,getWidth,processParent,newLeft,dataTables,dataTable,process,i,prevProcessVlineArr;processVlineArr=axisConfig.processVlineArr=[];availableWidth-=dragPadding*(axisConfig.hasDataTables&&axisConfig.dataTables&&axisConfig.dataTables.dataTable&&axisConfig.dataTables.dataTable.datacolumn?axisConfig.dataTables.dataTable.datacolumn.length+1:1);getWidth=function getWidth(width){var retW;availableWidth+=dragPadding;if(width.match(/%/g)){retW=(0,_lib.pluckNumber)(totalWidth*Number(width.replace(/%/g,"")/100),0)}else{retW=(0,_lib.pluckNumber)(width,0)}if(availableWidth<dragPadding){retW=dragPadding}else if(retW>availableWidth){retW=availableWidth}availableWidth-=retW;return retW};if(axisConfig.hasProcess){process=axisConfig.processes.process.process;processParent=axisConfig.processes.process;if(processParent.positioningrid==="right"){processOnRight=true}attrib=process._attrib;newLeft=spaceUsed;spaceUsed+=getWidth(attrib.width||""+(attrib.rightPos-attrib.leftPos));attrib.leftPos=newLeft;attrib.rightPos=spaceUsed;if(!processOnRight){processVlineArr.push({type:"process",ind:0,xPos:attrib.rightPos,left:attrib,leftLimit:attrib.leftPos+dragPadding})}else{spaceUsed=0}}if(axisConfig.hasDataTables){dataTables=axisConfig.dataTables.dataTable.datacolumn;for(i in dataTables){if(!dataTables.hasOwnProperty(i)||i==="_attrib"){continue}dataTable=dataTables[i];attrib=dataTable._attrib;newLeft=spaceUsed;spaceUsed+=getWidth(attrib.width||""+(attrib.rightPos-attrib.leftPos));attrib.leftPos=newLeft;attrib.rightPos=spaceUsed;prevProcessVlineArr=processVlineArr[processVlineArr.length-1];if(prevProcessVlineArr){prevProcessVlineArr.right=attrib;prevProcessVlineArr.rightLimit=attrib.rightPos-dragPadding}processVlineArr.push({type:"dataTable",ind:i,xPos:attrib.rightPos,left:attrib,leftLimit:attrib.leftPos+dragPadding})}}if(axisConfig.hasProcess){if(processOnRight){attrib=process._attrib;attrib.rightPos=spaceUsed+(attrib.rightPos-attrib.leftPos);attrib.leftPos=spaceUsed;spaceUsed+=attrib.rightPos-attrib.leftPos;prevProcessVlineArr=processVlineArr[processVlineArr.length-1];if(prevProcessVlineArr){prevProcessVlineArr.right=attrib;prevProcessVlineArr.rightLimit=attrib.rightPos-dragPadding}}else{processVlineArr.pop()}}axisConfig.totalWidth=spaceUsed};_proto.placeAxis=function placeAxis(maxWidth){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),smartLabel=chart.getFromEnv("smartLabel"),labelStyle=axisConfig.labels.style,nameStyle=axisConfig.name.style,trendStyle=axisConfig.trend.trendStyle,hPadding=4,processHeightPadding=8,maxProcessDimention=0,maxTextSize=0,spaceReturn={left:0,right:0},spaceUsed=0,processOnRight=false,processSpaceUsed=0,processMaxHeight=0,i,text,smartLabelText,processLength,singleProcess,processStyle,processParent,singleProcessStyle,dataTables,dataTable,dataColumn,process,j,textStyle,singleTextStyle,maxTextDimention,preAlocateSpace=0;nameStyle.fontSize=this.computeFontSize(nameStyle.fontSizeWithUnit);nameStyle.lineHeight=(0,_lib.setLineHeight)(nameStyle);trendStyle.fontSize=this.computeFontSize(trendStyle.fontSizeWithUnit);trendStyle.lineHeight=(0,_lib.setLineHeight)(trendStyle);labelStyle.fontSize=this.computeFontSize(labelStyle.fontSizeWithUnit);labelStyle.lineHeight=(0,_lib.setLineHeight)(labelStyle);smartLabel.useEllipsesOnOverflow(chart.config.useEllipsesWhenOverflow);smartLabel.setStyle({fontSize:labelStyle.fontSize,fontFamily:labelStyle.fontFamily,lineHeight:labelStyle.lineHeight,fontWeight:labelStyle.fontWeight});if(axisConfig.forceGanttWidthPercent||axisConfig.showFullDataTable===0){preAlocateSpace=maxWidth/((axisConfig.hasDataTables&&axisConfig.dataTables&&axisConfig.dataTables.dataTable&&axisConfig.dataTables.dataTable.datacolumn?axisConfig.dataTables.dataTable.datacolumn.length:0)+1)}if(axisConfig.hasProcess){process=axisConfig.processes.process.process;processParent=axisConfig.processes.process;if(processParent.positioningrid==="right"){processOnRight=true}if(processParent.headertext){processParent.drawLabel=(0,_lib.parseUnsafeString)(processParent.headertext);processStyle=processParent._attrib;singleProcessStyle={fontFamily:(0,_lib.pluck)(processStyle.headerfontfamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(processStyle.headerfontsize,this.computeFontSize(labelStyle.fontSizeWithUnit).toString()).replace(/px/i,"")+PXSTRING,fontWeight:(0,_lib.pluck)(Number(processStyle.headerisbold)===1?"bold":typeof processStyle.headerisbold==="undefined"?"bold":UNDEF,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(processStyle.headerisitalic?"italic":UNDEF,labelStyle.fontStyle)};singleProcessStyle.lineHeight=(0,_lib.setLineHeight)(singleProcessStyle);smartLabel.setStyle(singleProcessStyle);smartLabelText=smartLabel.getOriSize(processParent.drawLabel);if(smartLabelText.width>maxTextSize){maxProcessDimention=smartLabelText;maxTextSize=smartLabelText.width}}for(i=0,processLength=process.length;i<processLength;i++){singleProcess=process[i];processStyle=singleProcess._attrib;singleProcess.drawLabel=(0,_lib.parseUnsafeString)(singleProcess.label||singleProcess.name);singleProcessStyle={fontFamily:(0,_lib.pluck)(processStyle.fontfamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(processStyle.fontsize,this.computeFontSize(labelStyle.fontSizeWithUnit).toString()).replace(/px/i,"")+PXSTRING,fontWeight:(0,_lib.pluck)(processStyle.isbold?"bold":UNDEF,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(processStyle.isitalic?"italic":UNDEF,labelStyle.fontStyle)};singleProcessStyle.lineHeight=(0,_lib.setLineHeight)(singleProcessStyle);smartLabel.setStyle(singleProcessStyle);smartLabelText=smartLabel.getOriSize(singleProcess.drawLabel);if(smartLabelText.width>maxTextSize){maxProcessDimention=smartLabelText;maxTextSize=smartLabelText.width}if(smartLabelText.height>processMaxHeight){processMaxHeight=smartLabelText.height}}axisConfig.processMaxHeight=processMaxHeight+processHeightPadding;process._attrib.leftPos=spaceUsed;if(!processOnRight){spaceUsed+=preAlocateSpace||maxProcessDimention.width+hPadding}else{processSpaceUsed=preAlocateSpace||maxProcessDimention.width+hPadding}process._attrib.rightPos=spaceUsed}if(axisConfig.hasDataTables){dataTables=axisConfig.dataTables.dataTable.datacolumn;for(i in dataTables){if(!dataTables.hasOwnProperty(i)||i==="_attrib"){continue}dataTable=dataTables[i];maxTextSize=0;if(dataTable.headertext){processStyle=dataTable._attrib;dataTable.drawLabel=(0,_lib.parseUnsafeString)(dataTable.headertext);singleTextStyle={fontFamily:(0,_lib.pluck)(processStyle.headerfontfamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(processStyle.headerfontsize,this.computeFontSize(labelStyle.fontSizeWithUnit).toString()).replace(/px/i,"")+PXSTRING,fontWeight:(0,_lib.pluck)(Number(processStyle.headerisbold)===1?"bold":typeof processStyle.headerisbold==="undefined"?"bold":UNDEF,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(processStyle.headerisitalic?"italic":UNDEF,labelStyle.fontStyle)};singleTextStyle.lineHeight=(0,_lib.setLineHeight)(singleTextStyle);smartLabel.setStyle(singleTextStyle);smartLabelText=smartLabel.getOriSize(dataTable.drawLabel);if(smartLabelText.width>maxTextSize){maxTextDimention=smartLabelText;maxTextSize=smartLabelText.width}}dataColumn=dataTable.text;for(j in dataColumn){if(!dataColumn.hasOwnProperty(j)||j==="_attrib"){continue}text=dataColumn[j];text.drawLabel=(0,_lib.parseUnsafeString)(text.label||text.name);textStyle=text._attrib;singleTextStyle={fontFamily:(0,_lib.pluck)(textStyle.fontfamily,labelStyle.fontFamily),fontSize:(0,_lib.pluck)(textStyle.fontsize,this.computeFontSize(labelStyle.fontSizeWithUnit).toString()).replace(/px/i,"")+PXSTRING,fontWeight:(0,_lib.pluck)(textStyle.isbold?"bold":UNDEF,labelStyle.fontWeight),fontStyle:(0,_lib.pluck)(textStyle.isitalic?"italic":UNDEF,labelStyle.fontStyle)};singleTextStyle.lineHeight=(0,_lib.setLineHeight)(singleTextStyle);smartLabel.setStyle(singleTextStyle);smartLabelText=smartLabel.getOriSize(text.drawLabel);if(smartLabelText.width>maxTextSize){maxTextDimention=smartLabelText;maxTextSize=smartLabelText.width}}dataTables[i]._attrib.leftPos=spaceUsed;spaceUsed+=preAlocateSpace||maxTextDimention.width+hPadding;dataTables[i]._attrib.rightPos=spaceUsed}}if(axisConfig.hasProcess){if(processOnRight){process._attrib.leftPos+=spaceUsed;process._attrib.rightPos+=spaceUsed+processSpaceUsed;spaceUsed+=processSpaceUsed}}axisConfig.totalWidth=spaceUsed;axis.adjustWidth();spaceUsed=axisConfig.totalWidth>maxWidth?maxWidth:axisConfig.totalWidth;axisConfig.totalVisiblelWidth=spaceUsed;spaceReturn.left+=spaceUsed;return spaceReturn};_proto.getProcessLen=function getProcessLen(){return this.config.processes.process.process.length};_proto._drawProcessAndDataTable=function _drawProcessAndDataTable(){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),axisDimention=axisConfig.axisDimention||{},axisStartPosition=axisDimention.x,spaceTaken=axisConfig.totalWidth||0,gridArr=axisConfig.gridArr||(axisConfig.gridArr=[]),canvas=chart.getChildren("canvas")[0],chartConfig=chart.config,animationManager=chart.getFromEnv("animationManager"),canvasTop=canvas.canvasTop||chartConfig.canvasTop,canvasLeft=canvas.canvasLeft||chartConfig.canvasLeft,canvasHeight=canvas.canvasHeight||chartConfig.canvasHeight,canvasWidth=canvas.canvasWidth||chartConfig.canvasWidth,axisBottomGroup=chart.getChildContainer("axisBottomGroup"),totalVisiblelWidth=axisConfig.totalVisiblelWidth,i,process,processLength,dataTables,dataColumn,elemIndex=0,dataTableCounter=0,j,args,topBottom,translateX,labelContainerAttr,headerContainerAttr,ganttPlotHoverBandContainerParent,ganttPlotHoverBandContainer=axis.getContainer("ganttPlotHoverBandContainer"),ganttPlotLineContainer=axis.getContainer("ganttPlotLineContainer"),headerContainer=axis.getContainer("headerContainer"),headerBackContainer=axis.getContainer("headerBackContainer"),headerLineContainer=axis.getContainer("headerLineContainer"),headerTextContainer=axis.getContainer("headerTextContainer"),labelContainer=axis.getContainer("labelContainer"),labelBackContainer=axis.getContainer("labelBackContainer"),labelLineContainer=axis.getContainer("labelLineContainer"),labelTextContainer=axis.getContainer("labelTextContainer"),hotContainer=axis.getContainer("hotContainer");ganttPlotHoverBandContainerParent=axis.getContainer("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},container:axisBottomGroup,component:axis}));headerContainerAttr={name:"gantt-header-container","clip-rect":canvasLeft-axisConfig.totalVisiblelWidth+","+(canvasTop-chartConfig.categorySpaceUsed)+","+axisConfig.totalVisiblelWidth+","+chartConfig.categorySpaceUsed};if(!axisConfig.isDraged){headerContainerAttr.transform=TRANSFORM}else{delete headerContainerAttr.transform}headerContainer=axis.addContainer("headerContainer",animationManager.setAnimation({el:headerContainer||"group",attr:headerContainerAttr,container:axisBottomGroup,component:axis}));if(!headerBackContainer){headerBackContainer=axis.addContainer("headerBackContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-header-back-container"},container:headerContainer,component:axis}))}if(!headerLineContainer){headerLineContainer=axis.addContainer("headerLineContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-header-line-container"},container:headerContainer,component:axis}))}if(!headerTextContainer){headerTextContainer=axis.addContainer("headerTextContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-header-text-container"},container:headerContainer,component:axis}))}labelContainerAttr={name:"gantt-label-container","clip-rect":canvasLeft-axisConfig.totalVisiblelWidth+","+canvasTop+","+axisConfig.totalVisiblelWidth+","+canvasHeight};if(!axisConfig.isDraged){labelContainerAttr.transform=TRANSFORM}else{delete labelContainerAttr.transform}labelContainer=axis.addContainer("labelContainer",animationManager.setAnimation({el:labelContainer||"group",attr:labelContainerAttr,component:axis,container:axisBottomGroup}));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"},container:labelContainer,component:axis}))}if(!labelTextContainer){labelTextContainer=axis.addContainer("labelTextContainer",animationManager.setAnimation({el:"group",attr:{name:"gantt-label-text-container"},container:labelContainer,component:axis}))}axis.addContainer("hotContainer",animationManager.setAnimation({el:hotContainer||"group",attr:{name:"gantt-hot-container","clip-rect":canvasLeft-axisConfig.totalVisiblelWidth+","+(canvasTop-chartConfig.categorySpaceUsed)+","+axisConfig.totalVisiblelWidth+","+(canvasHeight+chartConfig.categorySpaceUsed)},component:axis,container:chart.getContainer("parentgroup")}));axisConfig.gridLinePath="";axisConfig.gridLineHeaderPath="";axisConfig.hoverElemsArr=[];axisConfig.labelHoverEventName={click:"ProcessClick",rollOver:"ProcessRollOver",rollOut:"ProcessRollOut"};if(axisConfig.hasProcess){process=axisConfig.processes.process.process;args={elem:axisConfig.processes.process,elemIndex:elemIndex,dimension:{left:axisStartPosition-spaceTaken+process._attrib.leftPos,right:axisStartPosition-spaceTaken+process._attrib.rightPos,top:canvasTop-chartConfig.categorySpaceUsed,bottom:canvasTop},type:"header"};axis._drawProcessAndDataTableElement(args);elemIndex+=1;gridArr=axisConfig.gridArr=[];for(i=0,processLength=process.length;i<processLength;i++){topBottom=axis.getProcessPositionByIndex(i);args={elem:process[i],elemIndex:elemIndex,pos:i,dimension:{left:axisStartPosition-spaceTaken+process._attrib.leftPos,right:axisStartPosition-spaceTaken+process._attrib.rightPos,top:canvasTop+topBottom.top,bottom:canvasTop+topBottom.bottom},type:"process"};axis._drawProcessAndDataTableElement(args);elemIndex+=1;gridArr.push({y:args.dimension.bottom})}}if(axisConfig.hasDataTables){dataTables=axisConfig.dataTables.dataTable.datacolumn;for(i in dataTables){if(!dataTables.hasOwnProperty(i)||i==="_attrib"){continue}dataTableCounter=0;args={elem:dataTables[i],elemIndex:elemIndex,pos:i,dimension:{left:axisStartPosition-spaceTaken+dataTables[i]._attrib.leftPos,right:axisStartPosition-spaceTaken+dataTables[i]._attrib.rightPos,top:canvasTop-chartConfig.categorySpaceUsed,bottom:canvasTop},type:"header"};axis._drawProcessAndDataTableElement(args);elemIndex+=1;dataColumn=dataTables[i].text;for(j in dataColumn){if(dataTableCounter>=processLength){break}if(dataColumn[j]._attrib&&process[j]&&process[j]._attrib){dataColumn[j]._attrib.hoverbandcolor=process[j]._attrib.hoverbandcolor;dataColumn[j]._attrib.hoverbandalpha=process[j]._attrib.hoverbandalpha;dataColumn[j]._attrib.showhoverband=process[j]._attrib.showhoverband}if(!dataColumn.hasOwnProperty(j)||j==="_attrib"){continue}topBottom=axis.getProcessPositionByIndex(j);args={elem:dataColumn[j],elemIndex:elemIndex,pos:j,dimension:{left:axisStartPosition-spaceTaken+dataTables[i]._attrib.leftPos,right:axisStartPosition-spaceTaken+dataTables[i]._attrib.rightPos,top:canvasTop+topBottom.top,bottom:canvasTop+topBottom.bottom},type:"datatable"};dataTableCounter++;axis._drawProcessAndDataTableElement(args);elemIndex+=1}}if(!axisConfig.drawFromProcessVlineDrag){if(spaceTaken>totalVisiblelWidth){translateX=spaceTaken-totalVisiblelWidth;axis.resetTransletAxis();axis.translateAxis(translateX,UNDEF)}else{axis.resetTransletAxis()}}else{axisConfig.drawFromProcessVlineDrag=false}}axis._drawGridLine();axis._disposeExtraProcessAndDataTableElement(elemIndex)};_proto._drawVerticalLineAndTracker=function _drawVerticalLineAndTracker(){var axis=this,axisConfig=axis.config,chart=axis.getFromEnv("chart"),canvas=axisConfig.canvas,chartConfig=chart.config,axisDimention=axisConfig.axisDimention||{},axisStartPosition=axisDimention.x,spaceTaken=axisConfig.totalWidth||0,canvasTop=canvas.canvasTop||chartConfig.canvasTop,plotLine=axis.components.processVline||(axis.components.processVline=[]),processVlineArr=axisConfig.processVlineArr,trackerGroup=axis.getContainer("hotContainer"),animationManager=axis.getFromEnv("animationManager"),counter=0,TRACKER_W=30,i,ln,path,hotElement,elem,top,hoverLineStyle,lineHotElemStyle,xPos,vHoverLine,dragStart=function dragStart(){var ele=this,data=ele.data("drag-options");data.origX=data.lastX||(data.lastX=0);data.vHoverLine.show();chart.trackerClicked=true;data.draged=false},dragMove=function dragMove(evt){var ele=this,data=ele.data("drag-options"),vLineSetting=data.vLineSetting,dx=typeof evt.data==="string"?+evt.data.substr(0,evt.data.indexOf(",")):evt.data[0]||0,startX=vLineSetting.xPos+dx,leftSideLimit=vLineSetting.leftLimit,rightSideLimit=vLineSetting.rightLimit,transform;if(startX<leftSideLimit){dx=leftSideLimit-vLineSetting.xPos}if(startX>rightSideLimit){dx=rightSideLimit-vLineSetting.xPos}transform={transform:"t"+(data.origX+dx)+","+0};ele.attr(transform);data.vHoverLine.attr(transform);data.draged=true;data.lastX=dx},dragUp=function dragUp(){var ele=this,data=ele.data("drag-options"),vLineSetting=data.vLineSetting,vLineIndex=data.vLineIndex,transform;chart.trackerClicked=false;data.vHoverLine.hide();if(data.draged){axisConfig.isDraged=true;vLineSetting.left.rightPos+=data.lastX||0;vLineSetting.right.leftPos+=data.lastX||0;vLineSetting.xPos+=data.lastX||0;if(processVlineArr[vLineIndex-1]){processVlineArr[vLineIndex-1].rightLimit+=data.lastX||0}if(processVlineArr[vLineIndex+1]){processVlineArr[vLineIndex+1].leftLimit+=data.lastX||0}axisConfig.drawFromProcessVlineDrag=true;axis._drawProcessAndDataTable();axis._drawVerticalLineAndTracker();transform={transform:"t0,0"};ele.attr(transform);data.vHoverLine.attr(transform)}};hoverLineStyle={stroke:axisConfig.gridResizeBarColor,"stroke-width":axisConfig.gridResizeBarThickness};lineHotElemStyle={stroke:_lib.TRACKER_FILL,"stroke-width":TRACKER_W};top=canvasTop-chartConfig.categorySpaceUsed;for(i=0,ln=processVlineArr.length;i<ln;i+=1){if(processVlineArr[i].type==="process"){elem=axisConfig.processes.process.process}else{elem=axisConfig.dataTables.dataTable.datacolumn[processVlineArr[i].ind]}xPos=axisStartPosition-spaceTaken+elem._attrib.rightPos;path=["M",xPos,top,"L",xPos,canvasTop+axisConfig.processTotalHeight];if(plotLine[counter]){vHoverLine=plotLine[counter].graphics.vHoverLine;vHoverLine.attr({path:path}).attr(hoverLineStyle);hotElement=plotLine[counter].graphics.hotElement;hotElement.attr({path:path}).attr(lineHotElemStyle)}else{hoverLineStyle.path=path;vHoverLine=animationManager.setAnimation({el:"path",container:trackerGroup,component:axis,attr:hoverLineStyle});lineHotElemStyle.path=path;hotElement=animationManager.setAnimation({el:"path",container:trackerGroup,component:axis,attr:lineHotElemStyle});plotLine[counter]={};plotLine[counter].graphics={};plotLine[counter].config={};plotLine[counter].graphics.vHoverLine=vHoverLine;plotLine[counter].graphics.hotElement=hotElement}hotElement.show();vHoverLine.hide();hotElement.css("cursor",_lib.hasSVG&&"ew-resize"||"e-resize").drag(dragMove,dragStart,dragUp).data("drag-options",{vHoverLine:plotLine[counter].graphics.vHoverLine,vLineSetting:processVlineArr[i],vLineIndex:i});counter+=1}for(i=counter,ln=plotLine.length;i<ln;i+=1){plotLine[i].graphics.vHoverLine.attr({path:["M",0,0]});plotLine[i].graphics.hotElement.attr({path:["M",0,0]})}};_proto._drawComponents=function _drawComponents(){var axis=this,axisConfig=axis.config;axisConfig.isDraged=false;axis._drawProcessAndDataTable();axisConfig.drawPlotlines&&axis._drawPlotLine();axis._drawVerticalLineAndTracker();axis._drawGridLine()};return GanttProcessAxis}(_ganttCommon.default);var _default=exports.default=GanttProcessAxis;