UNPKG

@fusioncharts/charts

Version:

JavaScript Data Visualisation Library

1 lines 8.2 kB
"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 _commonchartapi=_interopRequireDefault(require("./commonchartapi"));var _lib=require("@fusioncharts/core/src/lib");var CommonSpaceManager=function(_CommonAPI){function CommonSpaceManager(){return _CommonAPI.apply(this,arguments)||this}(0,_inheritsLoose2.default)(CommonSpaceManager,_CommonAPI);var _proto=CommonSpaceManager.prototype;_proto._spaceManager=function _spaceManager(){var availableHeight,iapi=this,config=iapi.config,xAxis=iapi.getChildren("xAxis")&&iapi.getChildren("xAxis")[0],legendPosition=config.legendposition?config.legendposition.split("-"):[],xDepth=config.xDepth,yDepth=config.yDepth,canvasBgDepth=config.canvasBgDepth,allottedSpace,canvasBaseDepth=config.canvasBaseDepth,canvasBasePadding=config.canvasBasePadding,canvas=iapi.getChildren("canvas")[0],canvasBorderWidth=canvas.config.canvasBorderWidth,showRTValue=config.realTimeConfig&&config.realTimeConfig.showRTValue,chartBorderWidth=config.borderWidth,canvasMarginTop=config.canvasMarginTop,canvasMarginBottom=config.canvasMarginBottom,canvasMarginLeft=config.canvasMarginLeft,canvasMarginRight=config.canvasMarginRight,minCanvasHeight=config.minCanvasHeight,minCanvasWidth=config.minCanvasWidth,minChartWidth=config.minChartWidth,minChartHeight=config.minChartHeight,height=config.height,width=config.width,diff,heightAdjust=false,widthAdjust=false,top,bottom,left,right,currentCanvasHeight,currentCanvasWidth,origCanvasTopMargin=config.origCanvasTopMargin,origCanvasBottomMargin=config.origCanvasBottomMargin,origCanvasLeftMargin=config.origCanvasLeftMargin,origCanvasRightMargin=config.origCanvasRightMargin,chartBorderHorizontal,chartBorderVertical,canvasBorderHorizontal,canvasBorderVertical,xAxisSpaceAllocation,sum;if(config.canvasWidth-2*chartBorderWidth<minChartWidth){chartBorderVertical=(config.canvasWidth-minChartWidth)/2}if(config.canvasHeight-2*chartBorderWidth<minChartHeight){chartBorderHorizontal=(config.canvasHeight-minChartHeight)/2}iapi._allocateSpace({top:chartBorderHorizontal||chartBorderWidth,bottom:chartBorderHorizontal||chartBorderWidth,left:chartBorderVertical||chartBorderWidth,right:chartBorderVertical||chartBorderWidth});iapi._manageYAxisSpace();iapi._allocateSpace(iapi._manageActionBarSpace&&iapi._manageActionBarSpace(config.availableHeight*.225)||{});iapi._manageLegendSpace&&config.showLegend&&iapi._manageLegendSpace(allottedSpace);availableHeight=legendPosition[0]===_lib.POSITION_TOP||legendPosition[0]===_lib.POSITION_BOTTOM?config.availableHeight*.6:config.availableWidth*.6;if(yDepth){iapi._allocateSpace({bottom:yDepth});config.shift=xDepth+canvasBasePadding+canvasBaseDepth}if(canvasBgDepth){iapi._allocateSpace({right:canvasBgDepth})}if(config.canvasWidth-2*canvasBorderWidth<minCanvasWidth){canvasBorderVertical=(config.canvasWidth-minCanvasWidth)/2}iapi._allocateSpace({left:canvasBorderVertical||canvasBorderWidth,right:canvasBorderVertical||canvasBorderWidth});if(minCanvasWidth>width-canvasMarginLeft-canvasMarginRight){widthAdjust=true;diff=config.canvasWidth-minCanvasWidth;sum=canvasMarginLeft+canvasMarginRight;canvasMarginLeft=config.canvasMarginLeft=diff*canvasMarginLeft/sum;canvasMarginRight=config.canvasMarginRight=diff*canvasMarginRight/sum}left=canvasMarginLeft>config.canvasLeft?canvasMarginLeft-config.canvasLeft:0;right=canvasMarginRight>width-config.canvasRight?canvasMarginRight+config.canvasRight-width:0;iapi._allocateSpace({left:left,right:right});if(widthAdjust){sum=origCanvasLeftMargin+origCanvasRightMargin;currentCanvasWidth=config.canvasWidth;if(currentCanvasWidth>minCanvasWidth){diff=currentCanvasWidth-minCanvasWidth;left=diff*origCanvasLeftMargin/sum;right=diff*origCanvasRightMargin/sum}iapi._allocateSpace({left:left,right:right})}config.actualCanvasMarginRight=right;config.actualCanvasMarginBottom=bottom;iapi._manageChartMenuBar(availableHeight);availableHeight=config.availableHeight*.2;if(iapi._getSumValueSpace){config.sumValueSpace=iapi._getSumValueSpace(availableHeight);iapi._allocateSpace(config.sumValueSpace)}else{config.sumValueSpace={top:0,right:0}}availableHeight=config.availableHeight*.3;if(config.realtimeEnabled){if(showRTValue){iapi._allocateSpace(iapi._realTimeValuePositioning(availableHeight))}else{iapi._hideRealTimeValue()}}iapi._resetViewPortConfig&&iapi._resetViewPortConfig();iapi._setAxisScale&&iapi._setAxisScale();availableHeight=config.availableHeight*.6;xAxis&&iapi._calculateChartShift("xAxis");config.xAxisSpaceAllocation=xAxisSpaceAllocation=xAxis&&xAxis.placeAxis(availableHeight);xAxis&&iapi._allocateSpace(xAxisSpaceAllocation);if(config.canvasHeight-2*canvasBorderWidth<minCanvasHeight){canvasBorderHorizontal=(config.canvasHeight-minCanvasHeight)/2}iapi._allocateSpace({top:canvasBorderHorizontal||canvasBorderWidth,bottom:canvasBorderHorizontal||canvasBorderWidth});iapi._allocateSpace({bottom:canvasBaseDepth});if(minCanvasHeight>height-canvasMarginTop-canvasMarginBottom){heightAdjust=true;diff=config.canvasHeight-minCanvasHeight;sum=canvasMarginTop+canvasMarginBottom;canvasMarginTop=config.canvasMarginTop=diff*canvasMarginTop/sum;canvasMarginBottom=config.canvasMarginBottom=diff*canvasMarginBottom/sum}top=canvasMarginTop>config.canvasTop?canvasMarginTop-config.canvasTop:0;bottom=canvasMarginBottom>height-config.canvasBottom?canvasMarginBottom+config.canvasBottom-height:0;iapi._allocateSpace({top:top,bottom:bottom});if(heightAdjust){sum=origCanvasTopMargin+origCanvasBottomMargin;currentCanvasHeight=config.canvasHeight;if(currentCanvasHeight>minCanvasHeight){diff=currentCanvasHeight-minCanvasHeight;top=diff*origCanvasTopMargin/sum;bottom=diff*origCanvasBottomMargin/sum}iapi._allocateSpace({top:top,bottom:bottom})}config.actualCanvasMarginTop=top;config.actualCanvasMarginLeft=left;canvas.setDimension({top:config.canvasTop,left:config.canvasLeft,width:config.canvasWidth,height:config.canvasHeight})};_proto._manageYAxisSpace=function _manageYAxisSpace(){var iapi=this,config=iapi.config,yAxisArr=iapi.getChildren("yAxis"),yAxis,i,yAxisSpaceAllocation=[],spaceTakenByAxis;for(i=0;i<(yAxisArr&&yAxisArr.length);i++){yAxis=yAxisArr[i];yAxis&&iapi._calculateChartShift("yAxis");spaceTakenByAxis=yAxis&&yAxis.placeAxis(config.availableWidth*.7)||{};yAxisSpaceAllocation.push({axisIndex:i,spaceTaken:spaceTakenByAxis});yAxis&&iapi._allocateSpace(spaceTakenByAxis)}config.yAxisSpaceAllocation=yAxisSpaceAllocation};_proto._postSpaceManagement=function _postSpaceManagement(){var iapi=this,config=iapi.config,components=iapi.getChildren(),xAxis=components.xAxis&&components.xAxis[0],legend=components.legend&&components.legend[0],xDepth=config.xDepth,i,canvas,canvasArr=iapi.getChildren("canvas");iapi.setAxisDimention&&iapi.setAxisDimention();xAxis&&iapi._allocateXAxisLabelSpace(xAxis);xAxis&&xAxis.shiftLabels(-xDepth,0);legend&&legend.postSpaceManager();for(i=0;i<(canvasArr&&canvasArr.length);i++){canvas=canvasArr[i];canvas.setCanvasPadding()}iapi.setAxisDimention&&iapi.setAxisDimention();iapi.allocateDimensionOfChartMenuBar()};_proto._calculateChartShift=function _calculateChartShift(axisName){var iapi=this,scrollDimensions,scrollBar=iapi.getChildren("scrollBar")&&iapi.getChildren("scrollBar")[0],axis=iapi.getChildren(axisName)&&iapi.getChildren(axisName)[0],scrollBarConfig=scrollBar&&scrollBar.config,isVertical=axis.config.isVertical,allocatedSpace={};if(scrollBar&&!scrollBar.getState("removed")){scrollDimensions=scrollBar.getLogicalSpace();if(scrollDimensions){if(isVertical&&!scrollBarConfig.isHorizontal){iapi.config.shift=scrollDimensions.width+scrollBarConfig.conf.padding;allocatedSpace[scrollBarConfig.isOpposite?"right":"left"]=iapi.config.shift;iapi._allocateSpace(allocatedSpace)}else if(!isVertical&&scrollBarConfig.isHorizontal){iapi.config.shift=scrollDimensions.height+scrollBarConfig.conf.padding;allocatedSpace[scrollBarConfig.isOpposite?"top":"bottom"]=iapi.config.shift;iapi._allocateSpace(allocatedSpace)}}}};return CommonSpaceManager}(_commonchartapi.default);var _default=exports.default=CommonSpaceManager;