@fusioncharts/widgets
Version:
FusionCharts JavaScript charting framework
1 lines • 36.9 kB
JavaScript
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _mscartesian=_interopRequireDefault(require("@fusioncharts/charts/src/chart/_internal/mscartesian"));var _ganttCanvas=_interopRequireDefault(require("../../factories/gantt-canvas"));var _ganttAxis=_interopRequireDefault(require("../../factories/gantt-axis"));var _milestone=_interopRequireDefault(require("../../dataset/gantt/milestone"));var _task=_interopRequireDefault(require("../../dataset/gantt/task"));var _connector=_interopRequireDefault(require("../../dataset/gantt/connector"));var _ganttDataset=_interopRequireDefault(require("../../factories/gantt-dataset"));var _toolbox=require("@fusioncharts/core/src/toolbox");var _timeIntervals=require("@fusioncharts/utils/src/time-intervals");var _lib=require("@fusioncharts/core/src/lib");var UNDEF,mathMax=Math.max,mathMin=Math.min,SLACK_FILL_COLOR="FF5E5E",TASK="task",_scrollBar=function(){var scrollItems=[];return{get:function get(){return scrollItems},clear:function clear(){scrollItems.length=0},add:function add(options,callback){scrollItems.push({conf:options,handler:callback})}}}(),_isOutofTimeRange=function _isOutofTimeRange(multiplier,unit,startTime,endTime){if(multiplier>0){switch(unit){case"y":return+_timeIntervals.timeYear.offset(startTime,multiplier)<endTime;case"m":return+_timeIntervals.timeMonth.offset(startTime,multiplier)<endTime;case"d":return+_timeIntervals.timeDay.offset(startTime,multiplier)<endTime;case"h":return+_timeIntervals.timeHour.offset(startTime,multiplier)<endTime;case"mn":return+_timeIntervals.timeMinute.offset(startTime,multiplier)<endTime;case"s":return+_timeIntervals.timeSecond.offset(startTime,multiplier)<endTime}}};_lib.setAttribDefs&&(0,_lib.setAttribDefs)({showpercentlabel:{type:_lib.attrTypeBool,pAttr:"showpercentlabel"},fontsize:{type:_lib.attrTypeNum},alpha:{type:_lib.attrTypeNum},showborder:{type:_lib.attrTypeBool},borderthickness:{type:_lib.attrTypeNum},borderalpha:{type:_lib.attrTypeNum},showHoverEffect:{type:_lib.attrTypeNum},hoverFillAlpha:{type:_lib.attrTypeNum},slackHoverFillColor:{type:_lib.attrTypeNum},slackHoverFillAlpha:{type:_lib.attrTypeBool},showlabels:{type:_lib.attrTypeBool,pAttr:"showtasknames"},slackfillcolor:{pAttr:"slackfillcolor"},showtasklabels:{type:_lib.attrTypeBool,pAttr:"showtasknames"},showtasknames:{type:_lib.attrTypeBool,pAttr:"showlabels"},showconnectorhovereffect:{type:_lib.attrTypeNum,pAttr:"showhovereffect"},connectorextension:{type:_lib.attrTypeNum},tasklabelspadding:{type:_lib.attrTypeNum},taskdatepadding:{type:_lib.attrTypeNum},showstartdate:{type:_lib.attrTypeNum,pAttr:"showtaskstartdate"},showenddate:{type:_lib.attrTypeNum,pAttr:"showtaskenddate"},showtaskhovereffect:{type:_lib.attrTypeNum,pAttr:"showhovereffect"},useverticalscrolling:{type:_lib.attrTypeNum},taskbarroundradius:{type:_lib.attrTypeNum},showshadow:{type:_lib.attrTypeNum},showslackasfill:{type:_lib.attrTypeNum}});var Gantt=function(_MSCartesian){function Gantt(){var _this;_this=_MSCartesian.call(this)||this;_this._scrollBar=_scrollBar;_this.components={};_this.fireGroupEvent=true;_this.hasInteractiveLegend=false;_this.defaultPaletteOptions=(0,_lib.extend2)((0,_lib.extend2)({},_lib.defaultGaugePaletteOptions),{paletteColors:[["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"],["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"],["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"],["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"],["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"]],bgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAngle:[270,270,270,270,270],bgRatio:["100","100","100","100","100"],bgAlpha:["100","100","100","100","100"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],gridColor:["DDDDDD","D8DCC5","99C4CD","DEC49C","FEC1D0"],gridResizeBarColor:["999999","545454","415D6F","845001","D55979"],categoryBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],dataTableBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["666666","545454","415D6F","845001","D55979"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],plotFillColor:["EEEEEE","D8DCC5","BCD8DE","E9D8BE","FEDAE3"],scrollBarColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"]});_this.registerFactory("canvas",_ganttCanvas.default);_this.registerFactory("axis",_ganttAxis.default,["canvas"]);_this.registerFactory("dataset",_ganttDataset.default,["canvas"]);return _this}(0,_inheritsLoose2.default)(Gantt,_MSCartesian);Gantt.getName=function getName(){return"Gantt"};var _proto=Gantt.prototype;_proto.draw=function draw(){_MSCartesian.prototype.draw.call(this);this.createScrollbarContainer()};_proto.getName=function getName(){return"Gantt"};_proto.__setDefaultConfig=function __setDefaultConfig(){_MSCartesian.prototype.__setDefaultConfig.call(this);var config=this.config;config.alignCaptionWithCanvas=0;config.defaultDatasetType=TASK;config.taskbarroundradius=0;config.taskbarfillmix=" { light-10 }, { dark-20 }, { light-50 }, { light-85 }";config.taskbarfillratio="0,8,84,8";config.showslackasfill=1;config.dateintooltip=1;config.tasklabelsalign=_lib.POSITION_CENTER;config.datepadding=3;config.showtasknames=0;config.showpercentlabel=false;config.showhovereffect=1;config.slackfillcolor=SLACK_FILL_COLOR;config.connectorextension=10;config.tasklabelspadding=2;config.taskdatepadding=3;config.showlabels=UNDEF;config.showtooltip=1;config.showtaskhovereffect=UNDEF;config.useverticalscrolling=1;config.ganttpanedurationunit=UNDEF;config.ganttpaneduration=UNDEF;config.showtaskstartdate=UNDEF;config.showtaskenddate=UNDEF;config.ganttwidthpercent=UNDEF;config.showshadow=1;config.taskhoverfillalpha=_lib.HUNDREDSTRING;config.enablemousetracking=false};_proto._checkInvalidSpecificData=function _checkInvalidSpecificData(){var jsonData=this.getFromEnv("dataSource"),processes=jsonData.processes,process=processes&&processes.process,zeroProcesslen=process&&process.length,tasks=jsonData.tasks,task=tasks&&tasks.task||tasks,zeroTaskLen=task&&task.length,categories=jsonData.categories,category=categories&&categories[0]&&categories[0].category,zeroCatlen=category&&category.length;return!zeroProcesslen||!zeroTaskLen||!zeroCatlen};_proto.parseChartAttr=function parseChartAttr(config){var chartConfig=this.config,chartAttrs=config&&config.chart||this.getFromEnv("chart-attrib");_MSCartesian.prototype.parseChartAttr.call(this,config);chartConfig.showBorder=(0,_lib.pluckNumber)(chartAttrs.showborder,0);chartConfig.alignLegendWithCanvas=0;chartConfig.taskhoverfillalpha=config.chart.taskhoverfillalpha};_proto._feedAxesRawData=function _feedAxesRawData(){var colorM=this.getFromEnv("color-manager"),dataSource=this.getFromEnv("dataSource"),chartAttrs=dataSource.chart,is3d=this.is3d,palleteString=is3d?_lib.chartPaletteStr.chart3D:_lib.chartPaletteStr.chart2D,outCanfontSizeWithUnit=(0,_lib.pluckFontSizeMaintainUnit)(chartAttrs.outcnvbasefontsize,chartAttrs.basefontsize,10);return{xAxisConf:[{isVertical:false,isReverse:false,isOpposit:true,outCanfontFamily:(0,_lib.pluck)(chartAttrs.outcnvbasefont,chartAttrs.basefont,"Verdana,sans"),outCanfontSize:this.computeFontSize(outCanfontSizeWithUnit),outCanfontSizeWithUnit:outCanfontSizeWithUnit,outCancolor:(0,_lib.pluck)(chartAttrs.outcnvbasefontcolor,chartAttrs.basefontcolor,colorM.getColor(palleteString.baseFontColor)).replace(/^#? ([a-f0-9]+)/gi,"#$1"),axisBreaks:chartAttrs.xaxisbreaks,axisNamePadding:chartAttrs.xaxisnamepadding,axisValuePadding:chartAttrs.labelpadding,axisNameFont:chartAttrs.xaxisnamefont,axisNameFontSize:this.computeFontSize(chartAttrs.xaxisnamefontsize),axisNameFontSizeWithUnit:chartAttrs.xaxisnamefontsize,axisNameFontColor:chartAttrs.xaxisnamefontcolor,axisNameFontBold:chartAttrs.xaxisnamefontbold,axisNameFontItalic:chartAttrs.xaxisnamefontitalic,axisNameBgColor:chartAttrs.xaxisnamebgcolor,axisNameBorderColor:chartAttrs.xaxisnamebordercolor,axisNameAlpha:chartAttrs.xaxisnamealpha,axisNameFontAlpha:chartAttrs.xaxisnamefontalpha,axisNameBgAlpha:chartAttrs.xaxisnamebgalpha,axisNameBorderAlpha:chartAttrs.xaxisnameborderalpha,axisNameBorderPadding:chartAttrs.xaxisnameborderpadding,axisNameBorderRadius:chartAttrs.xaxisnameborderradius,axisNameBorderThickness:chartAttrs.xaxisnameborderthickness,axisNameBorderDashed:chartAttrs.xaxisnameborderdashed,axisNameBorderDashLen:chartAttrs.xaxisnameborderdashlen,axisNameBorderDashGap:chartAttrs.xaxisnameborderdashgap,useEllipsesWhenOverflow:chartAttrs.useellipseswhenoverflow,divLineColor:(0,_lib.pluck)(chartAttrs.vdivlinecolor,colorM.getColor(palleteString.divLineColor)),divLineAlpha:(0,_lib.pluck)(chartAttrs.vdivlinealpha,is3d?colorM.getColor("divLineAlpha3D"):colorM.getColor("divLineAlpha")),divLineThickness:(0,_lib.pluckNumber)(chartAttrs.vdivlinethickness,1),divLineIsDashed:Boolean((0,_lib.pluckNumber)(chartAttrs.vdivlinedashed,chartAttrs.vdivlineisdashed,0)),divLineDashLen:(0,_lib.pluckNumber)(chartAttrs.vdivlinedashlen,4),divLineDashGap:(0,_lib.pluckNumber)(chartAttrs.vdivlinedashgap,2),showAlternateGridColor:(0,_lib.pluckNumber)(chartAttrs.showalternatevgridcolor,0),alternateGridColor:(0,_lib.pluck)(chartAttrs.alternatevgridcolor,colorM.getColor("altVGridColor")),alternateGridAlpha:(0,_lib.pluck)(chartAttrs.alternatevgridalpha,colorM.getColor("altVGridAlpha")),numDivLines:(0,_lib.pluckNumber)(chartAttrs.numvdivlines,this.config.numVDivLines),labelFont:chartAttrs.labelfont,labelFontSize:this.computeFontSize(chartAttrs.labelfontsize),labelFontSizeWithUnit:chartAttrs.labelfontsize,labelFontColor:chartAttrs.labelfontcolor,labelFontAlpha:chartAttrs.labelalpha,labelFontBold:chartAttrs.labelfontbold,labelFontItalic:chartAttrs.labelfontitalic,maxLabelHeight:chartAttrs.maxlabelheight,axisName:chartAttrs.xaxisname,axisMinValue:chartAttrs.xaxisminvalue,axisMaxValue:chartAttrs.xaxismaxvalue,setAdaptiveMin:chartAttrs.setadaptivexmin,adjustDiv:chartAttrs.adjustvdiv,labelDisplay:chartAttrs.labeldisplay,showLabels:chartAttrs.showlabels,rotateLabels:chartAttrs.rotatelabels,slantLabel:(0,_lib.pluckNumber)(chartAttrs.slantlabels,chartAttrs.slantlabel),labelStep:(0,_lib.pluckNumber)(chartAttrs.labelstep,chartAttrs.xaxisvaluesstep),showAxisValues:(0,_lib.pluckNumber)(chartAttrs.showxaxisvalues,chartAttrs.showxaxisvalue),showLimits:(0,_lib.pluckNumber)(chartAttrs.showvlimits,this.config.showvlimits),showDivLineValues:(0,_lib.pluckNumber)(chartAttrs.showvdivlinevalues,chartAttrs.showvdivlinevalues),zeroPlaneColor:chartAttrs.vzeroplanecolor,zeroPlaneThickness:chartAttrs.vzeroplanethickness||2,zeroPlaneAlpha:chartAttrs.vzeroplanealpha,showZeroPlaneValue:chartAttrs.showvzeroplanevalue,vTrendLines:dataSource.trendlines,trendlineColor:chartAttrs.trendlinecolor,trendlineToolText:chartAttrs.trendlinetooltext,trendlineThickness:chartAttrs.trendlinethickness,trendlineAlpha:chartAttrs.trendlinealpha,showTrendlinesOnTop:chartAttrs.showtrendlinesontop,showAxisLine:(0,_lib.pluckNumber)(chartAttrs.showxaxisline,chartAttrs.showaxislines,chartAttrs.drawAxisLines,0),axisLineThickness:(0,_lib.pluckNumber)(chartAttrs.xaxislinethickness,chartAttrs.axislinethickness,1),axisLineAlpha:(0,_lib.pluckNumber)(chartAttrs.xaxislinealpha,chartAttrs.axislinealpha,100),axisLineColor:(0,_lib.pluck)(chartAttrs.xaxislinecolor,chartAttrs.axislinecolor,"#000000")}],yAxisConf:[{isVertical:true,isReverse:true,isOpposit:false,outCanfontFamily:(0,_lib.pluck)(chartAttrs.outcnvbasefont,chartAttrs.basefont,"Verdana,sans"),outCanfontSize:this.computeFontSize(outCanfontSizeWithUnit),outCanfontSizeWithUnit:outCanfontSizeWithUnit,outCancolor:(0,_lib.pluck)(chartAttrs.outcnvbasefontcolor,chartAttrs.basefontcolor,colorM.getColor(palleteString.baseFontColor)).replace(/^#? ([a-f0-9]+)/gi,"#$1"),axisBreaks:chartAttrs.yaxisbreaks,axisNamePadding:chartAttrs.yaxisnamepadding,axisValuePadding:chartAttrs.yaxisvaluespadding,axisNameFont:chartAttrs.yaxisnamefont,axisNameFontSize:this.computeFontSize(chartAttrs.yaxisnamefontsize),axisNameFontSizeWithUnit:chartAttrs.yaxisnamefontsize,axisNameFontColor:chartAttrs.yaxisnamefontcolor,axisNameFontBold:chartAttrs.yaxisnamefontbold,axisNameFontItalic:chartAttrs.yaxisnamefontitalic,axisNameBgColor:chartAttrs.yaxisnamebgcolor,axisNameBorderColor:chartAttrs.yaxisnamebordercolor,axisNameAlpha:chartAttrs.yaxisnamealpha,axisNameFontAlpha:chartAttrs.yaxisnamefontalpha,axisNameBgAlpha:chartAttrs.yaxisnamebgalpha,axisNameBorderAlpha:chartAttrs.yaxisnameborderalpha,axisNameBorderPadding:chartAttrs.yaxisnameborderpadding,axisNameBorderRadius:chartAttrs.yaxisnameborderradius,axisNameBorderThickness:chartAttrs.yaxisnameborderthickness,axisNameBorderDashed:chartAttrs.yaxisnameborderdashed,axisNameBorderDashLen:chartAttrs.yaxisnameborderdashlen,axisNameBorderDashGap:chartAttrs.yaxisnameborderdashgap,axisNameWidth:chartAttrs.yaxisnamewidth,useEllipsesWhenOverflow:chartAttrs.useellipseswhenoverflow,rotateAxisName:(0,_lib.pluckNumber)(chartAttrs.rotateyaxisname,1),axisName:chartAttrs.yaxisname,divLineColor:(0,_lib.pluck)(chartAttrs.divlinecolor,colorM.getColor(palleteString.divLineColor)),divLineAlpha:(0,_lib.pluck)(chartAttrs.divlinealpha,is3d?colorM.getColor("divLineAlpha3D"):colorM.getColor("divLineAlpha")),divLineThickness:(0,_lib.pluckNumber)(chartAttrs.divlinethickness,1),divLineIsDashed:Boolean((0,_lib.pluckNumber)(chartAttrs.divlinedashed,chartAttrs.divlineisdashed,0)),divLineDashLen:(0,_lib.pluckNumber)(chartAttrs.divlinedashlen,4),divLineDashGap:(0,_lib.pluckNumber)(chartAttrs.divlinedashgap,2),showAlternateGridColor:(0,_lib.pluckNumber)(chartAttrs.showalternatehgridcolor,1),alternateGridColor:(0,_lib.pluck)(chartAttrs.alternatehgridcolor,colorM.getColor("altHGridColor")),alternateGridAlpha:(0,_lib.pluck)(chartAttrs.alternatehgridalpha,colorM.getColor("altHGridAlpha")),numDivLines:(0,_lib.pluckNumber)(chartAttrs.numdivlines,this.numDivLines),axisMinValue:chartAttrs.yaxisminvalue,axisMaxValue:chartAttrs.yaxismaxvalue,setAdaptiveMin:chartAttrs.setadaptiveymin,adjustDiv:chartAttrs.adjustdiv,labelStep:chartAttrs.yaxisvaluesstep,showAxisValues:(0,_lib.pluckNumber)(chartAttrs.showyaxisvalues,chartAttrs.showyaxisvalue),showLimits:(0,_lib.pluckNumber)(chartAttrs.showlimits,this.showLimits),showDivLineValues:(0,_lib.pluckNumber)(chartAttrs.showdivlinevalues,chartAttrs.showdivlinevalue),zeroPlaneColor:chartAttrs.zeroplanecolor,zeroPlaneThickness:chartAttrs.zeroplanethickness||2,zeroPlaneAlpha:chartAttrs.zeroplanealpha,showZeroPlaneValue:chartAttrs.showzeroplanevalue,trendlineColor:chartAttrs.trendlinecolor,trendlineToolText:chartAttrs.trendlinetooltext,trendlineThickness:chartAttrs.trendlinethickness,trendlineAlpha:chartAttrs.trendlinealpha,showTrendlinesOnTop:chartAttrs.showtrendlinesontop,showAxisLine:(0,_lib.pluckNumber)(chartAttrs.showyaxisline,chartAttrs.showaxislines,chartAttrs.drawAxisLines,0),axisLineThickness:(0,_lib.pluckNumber)(chartAttrs.yaxislinethickness,chartAttrs.axislinethickness,1),axisLineAlpha:(0,_lib.pluckNumber)(chartAttrs.yaxislinealpha,chartAttrs.axislinealpha,100),axisLineColor:(0,_lib.pluck)(chartAttrs.yaxislinecolor,chartAttrs.axislinecolor,"#000000")}]}};_proto._resetViewPortConfig=function _resetViewPortConfig(){var iapi=this;iapi.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}};_proto._setCategories=function _setCategories(){var jsonData=this.getFromEnv("dataSource"),xAxis=this.getChildren("xAxis")[0],yAxis=this.getChildren("yAxis")[0],categories=jsonData.categories,dataTable=jsonData.datatable,processes=jsonData.processes;yAxis.setAxisPadding(.5,.5);yAxis.setProcess(processes);yAxis.setDataTable(dataTable);xAxis.setCategory(categories)};_proto.getDSdef=function getDSdef(dsType){switch(dsType){case"milestone":return _milestone.default;case"connector":return _connector.default;case"task":default:return _task.default}};_proto._createLegendItems=function _createLegendItems(){var iapi=this,dataObj=iapi.getFromEnv("dataSource"),legend=iapi.getFromEnv("legend"),length,i,strokeColor,lightColor,color,fillColor,itemObj,config,prevLen,currLen,legendItemId,legendItems=legend.getChildren("legendItem"),dataLegendItems=dataObj.legend&&dataObj.legend.item||[];!this.config.legendItemIds&&(this.config.legendItemIds=[]);prevLen=legendItems&&legendItems.length||0;currLen=dataLegendItems.length;if(prevLen>currLen){for(i=currLen;i<prevLen;i++){legend.disposeItem(legendItems[i].getId())}legendItems&&legendItems.splice(currLen,prevLen-currLen)}for(i=0,length=dataLegendItems.length;i<length;i++){itemObj=dataLegendItems[i];if(legend.getItem(this.config.legendItemIds[i])){legendItemId=this.config.legendItemIds[i]}else{legendItemId=legend.createItem();this.config.legendItemIds.push(legendItemId)}color=itemObj.color;strokeColor=(0,_lib.getLightColor)(color,60).replace(_lib.dropHash,"#");lightColor=(0,_lib.getLightColor)(color,40);fillColor={FCcolor:{color:color+","+color+","+lightColor+","+color+","+color,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}};config={label:itemObj.label,interactiveLegend:false};legend.getItem(legendItemId).configure(config);legend.getItem(legendItemId).setStateCosmetics("default",{symbol:{fill:(0,_lib.toRaphaelColor)(fillColor),stroke:(0,_lib.toRaphaelColor)(strokeColor)}})}};_proto._spaceManager=function _spaceManager(){var availableHeight,availableWidth,config=this.config,xAxis=this.getChildren("xAxis")[0],yAxis=this.getChildren("yAxis")[0],legend=this.getChildren("legend")[0],legendPosition,allottedSpace,ganttWidthPercent=config.ganttwidthpercent,processWidthPercent=100-(ganttWidthPercent||67),chartBorderWidth=config.borderWidth,spaceUsed,processHeight,totalWidth=0,totalHeight=0;this._resetViewPortConfig();this._allocateSpace({top:chartBorderWidth,bottom:chartBorderWidth,left:chartBorderWidth,right:chartBorderWidth});this._allocateSpace(this._manageActionBarSpace&&this._manageActionBarSpace(config.availableHeight*.225)||{});if(legend){legendPosition=legend.config.legendPos?legend.config.legendPos.split("-"):[]}availableHeight=legendPosition[0]===_lib.POSITION_BOTTOM||legendPosition[0]===_lib.POSITION_TOP?config.canvasHeight*.6:config.canvasWidth*.6;this._manageChartMenuBar(availableHeight);if(legendPosition[0]==="right"||legendPosition[0]==="left"){allottedSpace=config.canvasWidth*.3}else{allottedSpace=config.canvasHeight*.3}config.showLegend&&this._manageLegendSpace(allottedSpace);config.actualCanvasTop=config.canvasTop;config.actualCanvasLeft=config.canvasLeft;availableWidth=config.canvasWidth*(processWidthPercent/100);spaceUsed=yAxis.placeAxis(availableWidth);totalWidth+=(spaceUsed.left||0)+(spaceUsed.right||0);yAxis&&this._allocateSpace(spaceUsed);availableHeight=legendPosition[0]===_lib.POSITION_BOTTOM||legendPosition[0]===_lib.POSITION_TOP?config.canvasHeight*.6:config.canvasWidth*.6;availableHeight=config.canvasHeight*.6;spaceUsed=xAxis.placeAxis(availableHeight);totalHeight+=spaceUsed.top||0;config.totalWidth=totalWidth;config.totalHeight=totalHeight;xAxis&&this._allocateSpace(spaceUsed);processHeight=yAxis&&yAxis.setProcessHeight();yAxis.setAxisConfig({processTotalHeight:processHeight})};_proto._postSpaceManagement=function _postSpaceManagement(){var iapi=this,config=iapi.config,xAxis=this.getChildren("xAxis")[0],yAxis=this.getChildren("yAxis")[0],limits=xAxis.getLimit(),processTotalHeight=yAxis.getAxisConfig("processTotalHeight"),canvasHeight=config.canvasHeight,legend=this.getChildren("legend")[0],xDepth=config.xDepth,canvasConfig=this.getChildren("canvas")[0].config,canvasBorderWidth=canvasConfig.canvasBorderWidth,canvasPadding=canvasConfig.canvasPadding,vScrollBar=iapi.getChildren("vScrollBar")&&iapi.getChildren("vScrollBar")[0],conf=vScrollBar&&vScrollBar.config,vScrollWidth,vScrollEnabled,canvasPaddingLeft=canvasConfig.canvasPaddingLeft,canvasPaddingRight=canvasConfig.canvasPaddingRight,gPaneDuration=Number(config.ganttpaneduration),gPaneDurationUnit=config.ganttpanedurationunit,hProcessScrollBar=iapi.getChildren("hProcessScrollBar")&&iapi.getChildren("hProcessScrollBar")[0],hScrollBar=iapi.getChildren("hScrollBar")&&iapi.getChildren("hScrollBar")[0],hScrollBarHeight=hScrollBar&&hScrollBar.config.height||0,hProcessScrollHeight=hProcessScrollBar&&hProcessScrollBar.config.height||0,totalProcessWidth,totalVisiblelProcessWidth,hScrollEnabled,hProcessScrollEnabled,maxHScrollBarHeight,actualCanvasHeight,axisLength;config.hScrollEnabled=hScrollEnabled=!isNaN(gPaneDuration)&&gPaneDurationUnit!==UNDEF&&_isOutofTimeRange(gPaneDuration,gPaneDurationUnit,limits.min,limits.max);totalProcessWidth=yAxis.getAxisConfig("totalWidth");totalVisiblelProcessWidth=yAxis.getAxisConfig("totalVisiblelWidth");if(totalProcessWidth>totalVisiblelProcessWidth){hProcessScrollEnabled=true}else{hProcessScrollEnabled=false}maxHScrollBarHeight=Math.max(hProcessScrollEnabled?hProcessScrollHeight:0,hScrollEnabled?hScrollBarHeight:0);actualCanvasHeight=canvasHeight-maxHScrollBarHeight;if(processTotalHeight>actualCanvasHeight){vScrollEnabled=true}vScrollWidth=vScrollEnabled?conf.width||0:0;axisLength=config.canvasWidth-(xDepth||0)-Math.max(canvasPaddingLeft,canvasPadding)-Math.max(canvasPaddingRight,canvasPadding)-vScrollWidth;xAxis&&xAxis.setAxisDimention({x:canvasConfig.canvasLeft+(xDepth||0)+Math.max(canvasPaddingLeft,canvasPadding),y:canvasConfig.canvasTop-(config.shift||0),opposite:canvasConfig.canvasTop+canvasConfig.canvasHeight+canvasBorderWidth,axisLength:axisLength});config.currentCanvasWidth=axisLength;yAxis&&yAxis.setAxisDimention({x:canvasConfig.canvasLeft-(config.shift||0),y:canvasConfig.canvasTop,opposite:canvasConfig.canvasRight+canvasBorderWidth,axisLength:config.canvasHeight});iapi._manageScrollbarPosition();config.showLegend&&legend.postSpaceManager();iapi.setScrollDimensions();iapi.allocateDimensionOfChartMenuBar()};_proto.createScrollbarContainer=function createScrollbarContainer(){var iapi=this,childGraphics=iapi.getChildContainer(),graphics=iapi.getContainer(),scrollBarParentGroup=graphics.scrollBarParentGroup,animationManager=iapi.getFromEnv("animationManager");if(!scrollBarParentGroup){scrollBarParentGroup=graphics.scrollBarParentGroup=animationManager.setAnimation({el:"group",attr:{name:"scrollBarParentGroup"},container:graphics.parentgroup,component:iapi});iapi.config.scrollbarContainer=scrollBarParentGroup;scrollBarParentGroup.insertBefore(childGraphics.datalabelsGroup)}};_proto.setScrollDimensions=function setScrollDimensions(){var iapi=this,config=iapi.config,components=iapi.getChildren(),xAxis=components.xAxis[0],axisRange=xAxis.config.axisRange,viewPortConfig=config.viewPortConfig,scrollOptions=config.scrollOptions||(config.scrollOptions={}),max=axisRange.max,min=axisRange.min,vxLength=scrollOptions.horizontalVxLength,hScrollBar=iapi.getChildren("hScrollBar")[0],hScrollBarConfig,hScrollBarAnchor=hScrollBar.getChildren("scrollAnchor")[0],hScrollBarAnchorConfig=hScrollBarAnchor.config,vScrollBar=iapi.getChildren("vScrollBar")[0],vScrollBarConfig,hProcessScrollBar=iapi.getChildren("hProcessScrollBar")[0],hProcessScrollBarConfig,useVerticalScrollBar=config.useverticalscrolling,scrollableLength=max-min,canvasRight=config.canvasRight,scaleX=viewPortConfig.scaleX,scaleY=viewPortConfig.scaleY,canvasLeft,canvasTop,canvasHeight,canvasWidth,canvasConfig,vScrollRatio,windowedCanvasHeight,fullCanvasHeight,vScrollEnabled=config.vScrollEnabled,yAxis=components.yAxis[0],windowedCanvasWidth,vScrollWidth=vScrollEnabled?vScrollBar.config.conf.width:0,fullCanvasWidth,totalProcessWidth,totalVisiblelProcessWidth,graphics=iapi.getContainer(),scrollBarParentGroup;canvasLeft=config.canvasLeft;canvasTop=config.canvasTop;canvasHeight=config.canvasHeight;canvasWidth=config.canvasWidth;canvasConfig=components.canvas[0].config;scrollOptions.viewPortMin=min;scrollOptions.viewPortMax=max;scrollOptions.scrollRatio=vxLength/scrollableLength;windowedCanvasWidth=scrollOptions.windowedCanvasWidth=xAxis.getPixel(vxLength);fullCanvasWidth=scrollOptions.fullCanvasWidth=xAxis.getPixel(max-min)-windowedCanvasWidth;fullCanvasHeight=scrollOptions.fullCanvasHeight=yAxis.getAxisConfig("processTotalHeight");windowedCanvasHeight=scrollOptions.windowedCanvasHeight=canvasHeight;totalProcessWidth=yAxis.getAxisConfig("totalWidth");totalVisiblelProcessWidth=yAxis.getAxisConfig("totalVisiblelWidth");vScrollRatio=1/scaleY;scrollBarParentGroup=graphics.scrollBarParentGroup;if(config.hScrollEnabled!==false){hScrollBarConfig=hScrollBar.config;hScrollBar.setDimension({x:canvasLeft,y:canvasTop+canvasHeight,width:canvasWidth-vScrollWidth});hScrollBarConfig.scrollRatio=1/scaleX;hScrollBarConfig.scrollPosition=hScrollBarAnchorConfig.scrollPosition=viewPortConfig.x*scaleX/(canvasWidth*(scaleX-1));hScrollBarConfig.roundEdges=canvasConfig.isRoundEdges;hScrollBarConfig.fullCanvasWidth=fullCanvasWidth;hScrollBarConfig.windowedCanvasWidth=windowedCanvasWidth;hScrollBarConfig.parentLayer=scrollBarParentGroup}if(vScrollEnabled!==false&&useVerticalScrollBar){vScrollBarConfig=vScrollBar.config;vScrollBar.setDimension({x:canvasRight-vScrollWidth,y:canvasTop,height:canvasHeight});vScrollBarConfig.scrollRatio=vScrollRatio;vScrollBarConfig.roundEdges=canvasConfig.isRoundEdges;vScrollBarConfig.fullCanvasWidth=fullCanvasHeight;vScrollBarConfig.windowedCanvasWidth=windowedCanvasHeight;vScrollBarConfig.parentLayer=scrollBarParentGroup}if(totalVisiblelProcessWidth<totalProcessWidth&&totalVisiblelProcessWidth>0){hProcessScrollBarConfig=hProcessScrollBar.config;hProcessScrollBar.setDimension({x:canvasLeft-totalVisiblelProcessWidth,y:canvasTop+canvasHeight,width:totalVisiblelProcessWidth});hProcessScrollBarConfig.scrollRatio=totalVisiblelProcessWidth/totalProcessWidth;hProcessScrollBarConfig.roundEdges=canvasConfig.isRoundEdges;hProcessScrollBarConfig.fullCanvasWidth=fullCanvasWidth;hProcessScrollBarConfig.windowedCanvasWidth=windowedCanvasWidth;hProcessScrollBarConfig.parentLayer=scrollBarParentGroup}};_proto._setAxisScale=function _setAxisScale(){var iapi=this,components=iapi.getChildren(),config=iapi.config,xAxis=components.xAxis[0],limits=xAxis.getLimit(),max=limits.max,min=limits.min,minDt=new Date(min),yAxis=components.yAxis[0],numberFormatter=iapi.getFromEnv("number-formatter"),gPaneDuration=Number(config.ganttpaneduration),scrollOptions=config.scrollOptions||(config.scrollOptions={}),gPaneDurationUnit=config.ganttpanedurationunit,scaleX,ms=max-min,canvasHeight=config.canvasHeight,scrollToDate=config.scrolltodate,canvasWidth=config.canvasWidth,datems,canvasLeft=config.canvasLeft,hProcessScrollBar=iapi.getChildren("hProcessScrollBar")[0],hScrollBar=iapi.getChildren("hScrollBar")[0],vScrollBar=iapi.getChildren("vScrollBar")[0],maxHScrollBarHeight,hScrollBarHeight=hScrollBar&&hScrollBar.config&&hScrollBar.config.height||0,hProcessScrollHeight=hProcessScrollBar&&hProcessScrollBar.config&&hProcessScrollBar.config.height||0,datePixel,totalWidth=xAxis.getPixel(max)-canvasLeft,processTotalHeight=yAxis.getAxisConfig("processTotalHeight"),totalVisiblelProcessWidth,totalProcessWidth,actualCanvasHeight,width,units;if(!config.hScrollEnabled){hScrollBar.remove()}else{switch(gPaneDurationUnit){case"y":minDt.setFullYear(minDt.getFullYear()+gPaneDuration);break;case"m":minDt.setMonth(minDt.getMonth()+gPaneDuration);break;case"d":minDt.setDate(minDt.getDate()+gPaneDuration);break;case"h":minDt.setHours(minDt.getHours()+gPaneDuration);break;case"mn":minDt.setMinutes(minDt.getMinutes()+gPaneDuration);break;default:minDt.setSeconds(minDt.getSeconds()+gPaneDuration);break}minDt=minDt.getTime();width=xAxis.getPixel(minDt)-canvasLeft;config.hScrollEnabled=true;config.viewPortConfig.scaleX=scaleX=totalWidth/width;scrollOptions.horizontalVxLength=ms/units*gPaneDuration;if(scrollToDate){datems=numberFormatter.getDateValue(scrollToDate).ms;datePixel=xAxis.getPixel(datems);config.viewPortConfig.x=mathMin(datePixel-canvasLeft,canvasWidth*(scaleX-1))/scaleX}if(config.scrollPos>=0){config.xOffset=config.currentCanvasWidth*(scaleX-1)*config.scrollPos;config.viewPortConfig.x=config.xOffset/scaleX}}totalProcessWidth=yAxis.getAxisConfig("totalWidth");totalVisiblelProcessWidth=yAxis.getAxisConfig("totalVisiblelWidth");if(totalProcessWidth>totalVisiblelProcessWidth){config.hProcessScrollEnabled=true}else{config.hProcessScrollEnabled=false;hProcessScrollBar.remove()}maxHScrollBarHeight=mathMax(config.hProcessScrollEnabled?hProcessScrollHeight:0,config.hScrollEnabled?hScrollBarHeight:0);actualCanvasHeight=canvasHeight-maxHScrollBarHeight;if(Math.floor(processTotalHeight)>actualCanvasHeight&&config.useverticalscrolling){config.viewPortConfig.scaleY=processTotalHeight/actualCanvasHeight;config.vScrollEnabled=true}else{config.vScrollEnabled=false;vScrollBar.remove()}};_proto._createToolBoxGantt=function _createToolBoxGantt(){var iapi=this,hScrollBar=iapi.getChildren("hScrollBar")&&iapi.getChildren("hScrollBar")[0],vScrollBar=iapi.getChildren("vScrollBar")&&iapi.getChildren("vScrollBar")[0],hProcessScrollBar=iapi.getChildren("hProcessScrollBar")&&iapi.getChildren("hProcessScrollBar")[0],components=iapi.getChildren(),yAxis=components.yAxis[0],_scrollB=iapi._scrollBar,chartMenuBar=components.chartMenuBar||{},actionBar=components.actionBar,getScrollItems=_scrollB.get,addScrollItems=_scrollB.add,prevPos,hScrollItem,hScrollItem1,vScrollItem;if(chartMenuBar.drawn||actionBar&&actionBar.drawn){return}_scrollB.clear();addScrollItems({isHorizontal:true,scale:1,scrollPosition:0},{scroll:function(ref,isHorizontal){return function(){ref.updateManagerH(arguments[0],isHorizontal)}}(iapi,true),scrollStart:function scrollStart(scrollPosition){prevPos=scrollPosition;iapi.fireChartInstanceEvent("scrollstart",{scrollPosition:scrollPosition})},scrollEnd:function scrollEnd(scrollPosition){iapi.fireChartInstanceEvent("scrollend",{scrollPosition:scrollPosition,prevScrollPosition:prevPos})}});addScrollItems({isHorizontal:false,scale:1,scrollPosition:0},{scroll:function(ref,isHorizontal){return function(){ref.updateManagerV(arguments[0],isHorizontal)}}(iapi,false),scrollStart:function scrollStart(scrollPosition){prevPos=scrollPosition;iapi.fireChartInstanceEvent("scrollstart",{scrollPosition:scrollPosition})},scrollEnd:function scrollEnd(scrollPosition){iapi.fireChartInstanceEvent("scrollend",{scrollPosition:scrollPosition,prevScrollPosition:prevPos})}});addScrollItems({isHorizontal:true,scale:1,scrollPosition:0},{scroll:function(){return function(){yAxis.manageProcessScroll(arguments[0])}}(iapi,true),scrollStart:function scrollStart(scrollPosition){prevPos=scrollPosition;iapi.fireChartInstanceEvent("scrollstart",{scrollPosition:scrollPosition})},scrollEnd:function scrollEnd(scrollPosition){iapi.fireChartInstanceEvent("scrollend",{scrollPosition:scrollPosition,prevScrollPosition:prevPos})}});hScrollItem=getScrollItems()[0];vScrollItem=getScrollItems()[1];hScrollItem1=getScrollItems()[2];if(!hScrollBar){hScrollBar=iapi.attachChild(new _toolbox.ScrollBar,"hScrollBar")}hScrollBar.configure(hScrollItem.conf);hScrollBar.attachEventHandlers(hScrollItem.handler);if(!vScrollBar){vScrollBar=iapi.attachChild(new _toolbox.ScrollBar,"vScrollBar")}vScrollBar.configure(vScrollItem.conf);vScrollBar.attachEventHandlers(vScrollItem.handler);if(!hProcessScrollBar){hProcessScrollBar=iapi.attachChild(new _toolbox.ScrollBar,"hProcessScrollBar")}hProcessScrollBar.configure(hScrollItem1.conf);hProcessScrollBar.attachEventHandlers(hScrollItem1.handler)};_proto._manageScrollbarPosition=function _manageScrollbarPosition(){var iapi=this,config=iapi.config,hScrollEnabled,vScrollEnabled,hScrollBar=iapi.getChildren("hScrollBar")[0],vScrollBar=iapi.getChildren("vScrollBar")[0],hProcessScrollBar=iapi.getChildren("hProcessScrollBar")[0],totalWidth=config.totalWidth||0,totalHeight=config.totalHeight||0,scrollDimensions;iapi._setAxisScale&&iapi._setAxisScale();hScrollBar=iapi.getChildren("hScrollBar")[0];vScrollBar=iapi.getChildren("vScrollBar")[0];hProcessScrollBar=iapi.getChildren("hProcessScrollBar")[0];vScrollEnabled=config.vScrollEnabled;hScrollEnabled=config.hScrollEnabled;scrollDimensions=hScrollBar.getLogicalSpace();config.hScrollHeight=hScrollEnabled===false?0:scrollDimensions.height+vScrollBar.config.padding;scrollDimensions=vScrollBar.getLogicalSpace();config.vScrollWidth=vScrollEnabled!==false?scrollDimensions.width+vScrollBar.config.conf.padding:0;scrollDimensions=hProcessScrollBar.getLogicalSpace();config.hProcessScrollHeight=config.hProcessScrollEnabled?scrollDimensions.height+hProcessScrollBar.config.padding:0;totalHeight+=mathMax(config.hProcessScrollHeight,config.hScrollHeight);iapi._allocateSpace({bottom:mathMax(config.hProcessScrollHeight,config.hScrollHeight)});config.totalWidth=totalWidth;config.totalHeight=totalHeight};_proto.updateManagerH=function updateManagerH(pos){var iapi=this,config=iapi.config,lastXpos=config.lastXpos||(config.lastXpos={x:0,y:0}),viewPortConfig=iapi.config.viewPortConfig,animationManager=iapi.getFromEnv("animationManager"),scaleX=viewPortConfig.scaleX,components=iapi.getChildren(),xAxis=components.xAxis[0],graphics=iapi.getChildContainer(),datasetLayer=graphics.plotGroup,dataLabelContainer=iapi.getChildContainer("datalabelsGroup"),dataLabelsLayer=graphics.datalabelsGroup,trackerGroup=graphics.trackerGroup,xOffset=config.xOffset||0,yOffset=config.yOffset||0,currentCanvasWidth=config.currentCanvasWidth,transformAttr,ganttPlotLineContainer=xAxis.getContainer("ganttPlotLineContainer");config.scrollPos=pos;xOffset=config.xOffset=currentCanvasWidth*(scaleX-1)*pos;xAxis.translateAxis(-xOffset,UNDEF);lastXpos.x=-xOffset;transformAttr="t"+-xOffset+", "+-yOffset;animationManager.setAnimation({el:datasetLayer,attr:{transform:transformAttr},component:iapi});animationManager.setAnimation({el:dataLabelsLayer,attr:{transform:transformAttr},component:iapi});animationManager.setAnimation({el:trackerGroup,attr:{transform:transformAttr},component:iapi});animationManager.setAnimation({el:dataLabelContainer,attr:{transform:transformAttr},component:iapi});animationManager.setAnimation({el:ganttPlotLineContainer,attr:{transform:"t"+-xOffset+", "+0},component:iapi})};_proto.updateManagerV=function updateManagerV(pos){var iapi=this,config=iapi.config,animationManager=iapi.getFromEnv("animationManager"),xOffset=config.xOffset,viewPortConfig=iapi.config.viewPortConfig,components=iapi.getChildren(),yAxis=components.yAxis[0],yOffset=config.yOffset||0,canvasHeight=config.canvasHeight,scaleY=viewPortConfig.scaleY,lastTranslate,dataLabelContainer=iapi.getChildContainer("datalabelsGroup"),labelContainer=yAxis.getContainer("labelContainer"),datatableContainer=iapi.getChildContainer("plotGroup"),ganttPlotHoverBandContainer=yAxis.getContainer("ganttPlotHoverBandContainer"),ganttPlotLineContainer=yAxis.getContainer("ganttPlotLineContainer");yOffset=config.yOffset=canvasHeight*(scaleY-1)*pos;viewPortConfig.y=yOffset/scaleY;lastTranslate=yAxis.config.lastTranslate||(yAxis.config.lastTranslate={x:0,y:0});animationManager.setAnimation({el:labelContainer,attr:{transform:"t"+lastTranslate.x+", "+-yOffset},component:iapi});animationManager.setAnimation({el:ganttPlotHoverBandContainer,attr:{transform:"t"+0+", "+-yOffset},component:iapi});animationManager.setAnimation({el:datatableContainer,attr:{transform:"t"+-xOffset+", "+-yOffset},component:iapi});animationManager.setAnimation({el:dataLabelContainer,attr:{transform:"t"+-xOffset+", "+-yOffset},component:iapi});animationManager.setAnimation({el:ganttPlotLineContainer,attr:{transform:"t"+0+", "+-yOffset},component:iapi})};return Gantt}(_mscartesian.default);var _default=exports.default=Gantt;