UNPKG

@fusioncharts/charts

Version:

JavaScript Data Visualisation Library

1 lines 2.85 kB
"use strict";exports.__esModule=true;exports._manageLegendSpace=_manageLegendSpace;exports.manageGradientLegendSpace=manageGradientLegendSpace;var _lib=require("@fusioncharts/core/src/lib");function _manageLegendSpace(){var iapi=this,config=iapi.config,legend=iapi.getChildren("legend")&&iapi.getChildren("legend")[0],gradientLegend=iapi.getChildren("gLegend")&&iapi.getChildren("gLegend")[0],conf,colorRangeObj=iapi.getFromEnv("dataSource").colorrange,hasLegend=config.hasLegend,spaceTakenByLegend={},hasGradientLegend=iapi.hasGradientLegend,legendPosition,allottedSpace,factor,chartAttr=iapi.getFromEnv("dataSource").chart,mapByCategory=(0,_lib.pluckNumber)(chartAttr.mapbycategory,0),isGradient=hasGradientLegend&&colorRangeObj&&(0,_lib.pluckNumber)(colorRangeObj.gradient);if(isGradient&&!mapByCategory){conf=gradientLegend.conf;hasGradientLegend=true;config.gLegendEnabled=true;legendPosition=conf.legendPosition?conf.legendPosition.split("-"):[];factor=legendPosition[0]===_lib.POSITION_RIGHT||legendPosition[0]===_lib.POSITION_LEFT?.4:.5}else{conf=legend&&legend.config;hasGradientLegend=false;config.gLegendEnabled=false;legendPosition=conf&&conf.legendPos?conf.legendPos.split("-"):[_lib.POSITION_BOTTOM];factor=legendPosition[0]===_lib.POSITION_RIGHT||legendPosition[0]===_lib.POSITION_LEFT?.8:.4}if(legendPosition[0]===_lib.POSITION_ABSOLUTE){allottedSpace=config.availableHeight*.4}else if(legendPosition[0]===_lib.POSITION_RIGHT||legendPosition[0]===_lib.POSITION_LEFT){allottedSpace=config.availableWidth*factor}else{allottedSpace=config.availableHeight*factor}if(hasGradientLegend){spaceTakenByLegend=iapi.manageGradientLegendSpace(allottedSpace)}else{if(hasLegend!==false&&legend&&!legend.getState("removed")){spaceTakenByLegend=legend&&legend._manageLegendPosition(allottedSpace)}}spaceTakenByLegend&&iapi._allocateSpace(spaceTakenByLegend)}function manageGradientLegendSpace(allottedSpace){var iapi=this,config=iapi.config,gradientLegend=iapi.getFromEnv("gLegend"),conf=gradientLegend&&gradientLegend.conf,legendPosition,returnDimension={top:0,bottom:0,left:0,right:0},gLegendPadding,spaceUsed;config.gLegendPadding=(0,_lib.pluckNumber)(iapi.getFromEnv("chart-attrib").legendpadding,10);gLegendPadding=Math.min(config.gLegendPadding,.5*allottedSpace);if(conf){legendPosition=conf.legendPosition?conf.legendPosition.split("-"):[];spaceUsed=gradientLegend.getLogicalSpace(allottedSpace);if(legendPosition[0]===_lib.POSITION_BOTTOM){returnDimension.bottom=(spaceUsed.height||0)+gLegendPadding}else if(legendPosition[0]===_lib.POSITION_TOP){returnDimension.top=(spaceUsed.height||0)+gLegendPadding}else if(legendPosition[0]===_lib.POSITION_LEFT){returnDimension.left=(spaceUsed.width||0)+gLegendPadding}else if(legendPosition[0]!==_lib.POSITION_ABSOLUTE){returnDimension.right=(spaceUsed.width||0)+gLegendPadding}}return returnDimension}