UNPKG

@fusioncharts/maps

Version:

FusionCharts JavaScript charting framework

1 lines 33.6 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 _mscartesian=_interopRequireDefault(require("@fusioncharts/charts/src/chart/_internal/mscartesian"));var _componentInterface=require("@fusioncharts/core/src/component-interface");var defaultPaletteOption=_interopRequireWildcard(require("@fusioncharts/charts/src/_internal/color-utils/chart-palette-colors"));var _domEvent=_interopRequireDefault(require("@fusioncharts/core/src/dom-event"));var _eventApi=require("@fusioncharts/core/src/event-api");var _lib=require("@fusioncharts/core/src/lib");var _mapsDataset=_interopRequireDefault(require("../../factories/maps-dataset"));var _canvas=_interopRequireDefault(require("@fusioncharts/charts/src/factories/canvas"));var _colorrange=_interopRequireDefault(require("@fusioncharts/charts/src/factories/colorrange"));var _legendmanager=_interopRequireDefault(require("@fusioncharts/charts/src/factories/legendmanager"));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 defaultPaletteOptions=(0,_lib.extend2)({foregroundcolor:"333333",foregroundalpha:"100",foregrounddarkcolor:"111111",foregrounddarkalpha:"100",foregroundlightcolor:"666666",foregroundlightalpha:"100",backgroundlightcolor:"FFFFFF",backgroundlightalpha:"100",backgroundlightangle:90,backgroundlightratio:"",backgroundcolor:"FFFFCC",backgroundalpha:"100",backgrounddarkcolor:"ffcc66",backgrounddarkalpha:"100",backgrounddarkangle:270,backgrounddarkratio:"",shadow:1},defaultPaletteOption),zeroCommaHundredStr="0,100",MAP_STR="Map",MAPS_STR="maps",GEO_STR="geo",RIGHT_STR="right",colorPaletteMapGlobal={basefontcolor:"foregroundcolor",bordercolor:"foregrounddarkcolor",borderalpha:"foregrounddarkalpha",bgcolor:"backgroundlightcolor",bgalpha:"backgroundlightalpha",bgangle:"backgroundlightangle",bgratio:"backgroundlightratio",canvasbordercolor:"foregrounddarkcolor",canvasborderalpha:"foregrounddarkalpha",canvasbgcolor:"backgroundlightcolor",canvasbgalpha:"backgroundlightalpha",canvasbgangle:"backgroundlightangle",canvasbgratio:"backgroundlightratio",tooltipbordercolor:"foregrounddarkcolor",tooltipborderalpha:"foregrounddarkalpha",tooltipbgcolor:"backgroundlightcolor",tooltipbgalpha:"backgroundlightalpha",tooltipfontcolor:"foregroundcolor",legendbordercolor:"foregrounddarkcolor",legendborderalpha:"foregrounddarkalpha",markerbordercolor:"foregroundlightcolor",markerborderalpha:"foregroundlightalpha",markerfillcolor:"backgrounddarkcolor",markerfillalpha:"backgrounddarkalpha",markerfillangle:"backgrounddarkangle",markerfillratio:"backgrounddarkratio",plotfillcolor:"backgroundcolor",plotfillalpha:"backgroundalpha",plotfillangle:"backgroundangle",plotfillratio:"backgroundratio",plothoverfillcolor:"backgrounddarkcolor",plothoverfillalpha:"backgrounddarkalpha",plothoverfillangle:"backgrounddarkangle",plothoverfillratio:"backgrounddarkratio",plotbordercolor:"foregroundcolor",plotborderalpha:"foregroundalpha",shadow:"shadow"},eiMethodsGlobal={getMapName:function getMapName(){var chart=this,iapi=chart.jsVars.instanceAPI,mapName=iapi.getName().toLowerCase();return mapName},getEntityList:function getEntityList(){var chart=this,iapi=chart.jsVars.instanceAPI,datasets=iapi.getDatasets()||[],i,entities,dataset,len=datasets.length,entityList=[],data,entityObj,config,name;for(i=0;i<len;i++){dataset=datasets[i]||[];name=dataset.getName();if(name==="entities"){entities=dataset;break}}data=entities.components.data;len=data.length;for(i in data){if(data.hasOwnProperty(i)){entityObj=data[i]||{};config=entityObj.config||{};entityList.push({id:config.id,originalId:config.originalId||config.id,label:config.label,shortlabel:config.shortLabel,value:config.value,formattedValue:config.formattedValue,toolText:config.toolText})}}return entityList},getMapAttribute:function getMapAttribute(){var chartObj=this;(0,_eventApi.raiseWarning)(this,"12061210581","run","JavaScriptRenderer~getMapAttribute()",'Use of deprecated "getMapAttribute()". Replace with "getChartAttribute()".');return chartObj.getChartAttribute.apply(chartObj,arguments)},exportMap:function exportMap(){var chartObj=this;(0,_eventApi.raiseWarning)(this,"12061210581","run","JavaScriptRenderer~exportMap()",'Use of deprecated "exportMap()". Replace with "exportChart()".');return chartObj.exportChart&&chartObj.exportChart.apply(chartObj,arguments)},addMarker:function addMarker(options){var iapi=this.jsVars.instanceAPI,datasets=iapi.getDatasets()||[],len=datasets.length,i,dataset,markers,name;for(i=0;i<len;i++){dataset=datasets[i]||[];name=dataset.getName();if(name==="markers"){markers=dataset;break}}if(markers&&!markers.addMarkerItem(options)){(0,_eventApi.raiseWarning)(this,"1309264086","run","MapsRenderer~addMarker()","Failed to add marker. Check the options and try again.")}},updateMarker:function updateMarker(id,options){var iapi=this.jsVars.instanceAPI,datasets=iapi.getDatasets()||[],newId,len=datasets.length,i,dataset,markers,name;for(i=0;i<len;i++){dataset=datasets[i]||[];name=dataset.getName();if(name==="markers"){markers=dataset;break}}if(markers&&id){newId=(id+BLANK).toLowerCase();markers.updateMarkerItem(newId,options)}},removeMarker:function removeMarker(id){var iapi=this.jsVars.instanceAPI,datasets=iapi.getDatasets()||[],len=datasets.length,newId,i,dataset,markers,name;for(i=0;i<len;i++){dataset=datasets[i]||[];name=dataset.getName();if(name==="markers"){markers=dataset;break}}if(id){newId=(id+BLANK).toLowerCase();markers._removeMarkerItem(newId)}}},UNDEF,DASH_DEF="none",COMMASPACE=", ",BLANK="",POSITION_BOTTOM="bottom",SHAPE_CIRCLE="circle",math=window.Math,mathMin=math.min,mathMax=math.max,isWithinCanvas=function isWithinCanvas(e,chart){var mousePos=(0,_lib.getMouseCoordinate)(chart.getFromEnv("chart-container"),e,chart),chartX=mousePos.chartX,chartY=mousePos.chartY,chartConfig=chart.config,minX=chartConfig.canvasLeft,minY=chartConfig.canvasTop,maxX=chartConfig.canvasLeft+chartConfig.canvasWidth,maxY=chartConfig.canvasHeight+chartConfig.canvasTop;mousePos.insideCanvas=false;mousePos.originalEvent=e;if(chartX>minX&&chartX<maxX&&chartY>minY&&chartY<maxY){mousePos.insideCanvas=true}return mousePos};var ColorPalette=function(_ComponentInterface){function ColorPalette(hash,index){var _this;_this=_ComponentInterface.call(this)||this;_this.subpalette=_lib.BLANKSTRING;_this.key=_lib.BLANKSTRING;_this.index=index;var key;for(key in hash){_this.subpalette=defaultPaletteOptions[hash[key]];_this[key]=_this.subpalette instanceof Array?_this.subpalette[index]:_this.subpalette;_this.key=key}return _this}(0,_inheritsLoose2.default)(ColorPalette,_ComponentInterface);return ColorPalette}(_componentInterface.ComponentInterface);var Maps=function(_MSCartesian){function Maps(){var _this2;_this2=_MSCartesian.call(this)||this;_this2.friendlyName=MAP_STR;_this2.revision=1;_this2.hasCanvas=true;_this2.standaloneInit=false;_this2.defaultDatasetType=MAPS_STR;_this2.defaultSeriesType=GEO_STR;_this2.fireGroupEvent=true;_this2.legendposition=RIGHT_STR;_this2.hasGradientLegend=true;_this2.isMap=true;_this2.defaultPaletteOptions={paletteColors:[["A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101","FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:[zeroCommaHundredStr,zeroCommaHundredStr,zeroCommaHundredStr,zeroCommaHundredStr,zeroCommaHundredStr],bgAlpha:["100","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["545454","60634E","415D6F","845001","68001B"],plotFillColor:["545454","60634E","415D6F","845001","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50]};_this2.colorPaletteMap=colorPaletteMapGlobal;_this2.eiMethods=eiMethodsGlobal;_this2.registerFactory("legend",_legendmanager.default,["canvas"]);_this2.registerFactory("axis",_lib.stubFN,["canvas"]);_this2.registerFactory("colormanager-decider",_colorrange.default,["legend"]);_this2.registerFactory("dataset",_mapsDataset.default,["colormanager-decider"]);_this2.registerFactory("canvas",_canvas.default);return _this2}(0,_inheritsLoose2.default)(Maps,_MSCartesian);var _proto=Maps.prototype;_proto._checkInvalidSpecificData=function _checkInvalidSpecificData(){this.config.invalid=false;return false};_proto.__setDefaultConfig=function __setDefaultConfig(){_MSCartesian.prototype.__setDefaultConfig.call(this);var config=this.config;!config.baseWidth&&(config.baseWidth=400);!config.baseHeight&&(config.baseHeight=300);!config.baseScaleFactor&&(config.baseScaleFactor=1)};Maps.getName=function getName(){return"maps"};Maps.getType=function getType(){return"chartAPI"};_proto.getName=function getName(){return this.config.name||"GEO"};_proto.getType=function getType(){return"chartAPI"};_proto.configureAttributes=function configureAttributes(dataObj){var iapi=this,colorPalette=iapi.getChildren("colorPalette")&&iapi.getChildren("colorPalette")[0],chartAttrs;chartAttrs=dataObj.chart=dataObj.chart||dataObj.graph||dataObj.map||{};iapi.jsonData=dataObj;if(!colorPalette){colorPalette=new ColorPalette(this.colorPaletteMap,(chartAttrs.palette>0&&chartAttrs.palette<6?chartAttrs.palette:(0,_lib.pluckNumber)(iapi.paletteIndex,1))-1);iapi.attachChild(colorPalette,"colorPalette")}iapi.config.skipCanvasDrawing=true;_MSCartesian.prototype.configureAttributes.call(this,dataObj);iapi._parseBackgroundCosmetics()};_proto.parseChartAttr=function parseChartAttr(dataObj){var iapi=this,config,jsonData=iapi.jsonData,chartAttrs=jsonData.chart||jsonData.map,markerAttrs=jsonData.markers,palette=new ColorPalette(this.colorPaletteMap,(chartAttrs.palette>0&&chartAttrs.palette<6?chartAttrs.palette:(0,_lib.pluckNumber)(iapi.paletteIndex,1))-1),inCancolor,inCanFontFamily,inCanFontSize,style,entityBorderColor=(0,_lib.pluck)(chartAttrs.entitybordercolor,chartAttrs.bordercolor,palette.plotbordercolor),entityFillColor=(0,_lib.pluck)(chartAttrs.entityfillcolor,chartAttrs.fillcolor,palette.plotfillcolor),entityFillAlpha=(0,_lib.pluck)(chartAttrs.entityfillalpha,chartAttrs.fillalpha,palette.plotfillalpha),entityFillRatio=(0,_lib.pluck)(chartAttrs.entityfillratio,chartAttrs.fillratio,palette.plotfillratio),entityFillAngle=(0,_lib.pluck)(chartAttrs.entityfillangle,chartAttrs.fillangle,palette.plotfillangle),nullEntityColor=(0,_lib.pluck)(chartAttrs.nullentityfillcolor,chartAttrs.nullentitycolor,entityFillColor),markerDataEnabled=(0,_lib.pluckNumber)(chartAttrs.usevaluesformarkers,jsonData.markers&&jsonData.markers.items&&jsonData.markers.items.length,!(jsonData.markers&&jsonData.markers.application&&jsonData.markers.application.length&&jsonData.markers.definition&&jsonData.markers.definition.length));_MSCartesian.prototype.parseChartAttr.call(this,dataObj);config=iapi.config;config.origMarginTop=(0,_lib.pluckNumber)(chartAttrs.charttopmargin,chartAttrs.maptopmargin,11);config.origMarginLeft=(0,_lib.pluckNumber)(chartAttrs.chartleftmargin,chartAttrs.mapleftmargin,11);config.origMarginBottom=(0,_lib.pluckNumber)(chartAttrs.chartbottommargin,chartAttrs.mapbottommargin,37);config.origMarginRight=(0,_lib.pluckNumber)(chartAttrs.chartrightmargin,chartAttrs.maprightmargin,11);config.labelsOnTop=(0,_lib.pluckNumber)(chartAttrs.entitylabelsontop,1);style=config.style;inCancolor=style.inCancolor;inCanFontFamily=style.inCanfontFamily;inCanFontSize=style.inCanfontSize;config.entityOpts={baseScaleFactor:config.baseScaleFactor,dataLabels:{style:{fontFamily:inCanFontFamily,fontSize:inCanFontSize,lineHeight:style.inCanLineHeight,color:(0,_lib.pluck)(chartAttrs.entitylabelcolor,style.inCancolor),bgColor:(0,_lib.pluck)(chartAttrs.entitylabelbgcolor)||BLANK,borderColor:(0,_lib.pluck)(chartAttrs.entitylabelbordercolor)||BLANK}},fillColor:entityFillColor,fillAlpha:entityFillAlpha,fillRatio:entityFillRatio,fillAngle:entityFillAngle,borderColor:entityBorderColor,borderAlpha:(0,_lib.pluck)(chartAttrs.entityborderalpha,chartAttrs.borderalpha,iapi.borderAlpha,"100"),borderThickness:(0,_lib.pluckNumber)(chartAttrs.showentityborder,chartAttrs.showborder,1)?(0,_lib.pluckNumber)(chartAttrs.entityborderthickness,chartAttrs.borderthickness,1):0,scaleBorder:(0,_lib.pluckNumber)(chartAttrs.scaleentityborder,chartAttrs.scaleborder,0),hoverFillColor:(0,_lib.pluck)(chartAttrs.entityfillhovercolor,chartAttrs.hoverfillcolor,chartAttrs.hovercolor,palette.plothoverfillcolor),hoverFillAlpha:(0,_lib.pluck)(chartAttrs.entityfillhoveralpha,chartAttrs.hoverfillalpha,chartAttrs.hoveralpha,palette.plothoverfillalpha),hoverFillRatio:(0,_lib.pluck)(chartAttrs.entityfillhoverratio,chartAttrs.hoverfillratio,chartAttrs.hoverratio,palette.plothoverfillratio),hoverFillAngle:(0,_lib.pluck)(chartAttrs.entityfillhoverangle,chartAttrs.hoverfillangle,chartAttrs.hoverangle,palette.plothoverfillangle),hoverBorderThickness:(0,_lib.pluck)(chartAttrs.entityborderhoverthickness,chartAttrs.hoverborderthickness),hoverBorderColor:(0,_lib.pluck)(chartAttrs.entityborderhovercolor,entityBorderColor,palette.plotbordercolor),hoverBorderAlpha:(0,_lib.pluck)(chartAttrs.entityborderhoveralpha,palette.plotborderalpha),nullEntityColor:nullEntityColor,nullEntityAlpha:(0,_lib.pluck)(chartAttrs.nullentityfillalpha,chartAttrs.nullentityalpha,entityFillAlpha),nullEntityRatio:(0,_lib.pluck)(chartAttrs.nullentityfillratio,chartAttrs.nullentityratio,entityFillRatio),nullEntityAngle:(0,_lib.pluck)(chartAttrs.nullentityfillangle,chartAttrs.nullentityangle,entityFillAngle),connectorColor:(0,_lib.pluck)(chartAttrs.labelconnectorcolor,chartAttrs.connectorcolor,inCancolor),connectorAlpha:(0,_lib.pluck)(chartAttrs.labelconnectoralpha,chartAttrs.connectoralpha,"100"),connectorThickness:(0,_lib.pluckNumber)(chartAttrs.labelconnectorthickness,chartAttrs.borderthickness,1),showHoverEffect:(0,_lib.pluckNumber)(chartAttrs.showentityhovereffect,chartAttrs.usehovercolor,chartAttrs.showhovereffect,1),hoverOnNull:(0,_lib.pluckNumber)(chartAttrs.hoveronnull,chartAttrs.entityhoveronnull,1),labelPadding:(0,_lib.pluckNumber)(chartAttrs.labelpadding,5),showLabels:(0,_lib.pluckNumber)(chartAttrs.showlabels,1),labelsOnTop:(0,_lib.pluckNumber)(chartAttrs.entitylabelsontop,1),includeNameInLabels:(0,_lib.pluckNumber)(chartAttrs.includenameinlabels,1),includeValueInLabels:(0,_lib.pluckNumber)(chartAttrs.includevalueinlabels,0),useSNameInTooltip:(0,_lib.pluckNumber)(chartAttrs.usesnameintooltip,0),useShortName:(0,_lib.pluckNumber)(chartAttrs.usesnameinlabels,1),labelSepChar:(0,_lib.pluck)(chartAttrs.labelsepchar,COMMASPACE),showTooltip:(0,_lib.pluckNumber)(chartAttrs.showentitytooltip,chartAttrs.showtooltip,1),tooltipSepChar:(0,_lib.pluck)(chartAttrs.tooltipsepchar,", "),tooltext:chartAttrs.entitytooltext,hideNullEntities:(0,_lib.pluckNumber)(chartAttrs.hidenullentities,0),showHiddenEntityBorder:(0,_lib.pluckNumber)(chartAttrs.showhiddenentityborder,1),showNullEntityBorder:(0,_lib.pluckNumber)(chartAttrs.shownullentityborder,1),hiddenEntityColor:(0,_lib.pluck)(chartAttrs.hiddenentitycolor,chartAttrs.hiddenentityfillcolor,chartAttrs.hiddenentityalpha||chartAttrs.hiddenentityfillalpha?nullEntityColor:"ffffff"),hiddenEntityAlpha:(0,_lib.pluck)(chartAttrs.hiddenentityalpha,chartAttrs.hiddenentityfillalpha,.001),shadow:(0,_lib.pluckNumber)(chartAttrs.showshadow,iapi.defaultPlotShadow,palette.shadow)};config.markerOpts={dataLabels:{style:{fontFamily:(0,_lib.pluck)(chartAttrs.markerfont,inCanFontFamily),fontSize:(0,_lib.pluckNumber)(chartAttrs.markerfontsize,parseInt(inCanFontSize,10)),fontColor:(0,_lib.pluck)(chartAttrs.markerlabelcolor,chartAttrs.markerfontcolor,inCancolor),labelBgColor:(0,_lib.pluck)(chartAttrs.markerlabelbgcolor)||BLANK,labelBorderColor:(0,_lib.pluck)(chartAttrs.markerlabelbordercolor)||BLANK}},showTooltip:(0,_lib.pluckNumber)(chartAttrs.showmarkertooltip,chartAttrs.showtooltip,1),showLabels:(0,_lib.pluckNumber)(chartAttrs.showmarkerlabels,chartAttrs.showlabels,1),showHoverEffect:(0,_lib.pluckNumber)(chartAttrs.showmarkerhovereffect,1),labelPadding:(0,_lib.pluck)(chartAttrs.markerlabelpadding,"5"),labelWrapWidth:(0,_lib.pluckNumber)(chartAttrs.markerlabelwrapwidth,0),labelWrapHeight:(0,_lib.pluckNumber)(chartAttrs.markerlabelwrapheight,0),fillColor:(0,_lib.pluck)(chartAttrs.markerfillcolor,chartAttrs.markerbgcolor,palette.markerfillcolor),fillAlpha:(0,_lib.pluck)(chartAttrs.markerfillalpha,palette.markerfillalpha),fillAngle:(0,_lib.pluck)(chartAttrs.markerfillangle,palette.markerfillangle),fillRatio:(0,_lib.pluck)(chartAttrs.markerfillratio,palette.markerfillratio),fillPattern:(0,_lib.pluck)(chartAttrs.markerfillpattern,palette.markerbgpattern),hoverFillColor:chartAttrs.markerfillhovercolor,hoverFillAlpha:chartAttrs.markerfillhoveralpha,hoverFillRatio:chartAttrs.markerfillhoverratio,hoverFillAngle:chartAttrs.markerfillhoverangle,borderThickness:(0,_lib.pluck)(chartAttrs.markerborderthickness,1),borderColor:(0,_lib.pluck)(chartAttrs.markerbordercolor,palette.markerbordercolor),borderAlpha:(0,_lib.pluckNumber)(chartAttrs.markerborderalpha,palette.markerborderalpha),hoverBorderThickness:chartAttrs.markerborderhoverthickness,hoverBorderColor:chartAttrs.markerborderhovercolor,hoverBorderAlpha:chartAttrs.markerborderhoveralpha,radius:(0,_lib.pluckNumber)(chartAttrs.markerradius&&(0,_lib.trimString)(chartAttrs.markerradius),7),shapeId:(0,_lib.pluck)(chartAttrs.defaultmarkershape,SHAPE_CIRCLE),labelSepChar:(0,_lib.pluck)(chartAttrs.labelsepchar,COMMASPACE),tooltipSepChar:(0,_lib.pluck)(chartAttrs.tooltipsepchar,", "),autoScale:(0,_lib.pluckNumber)(chartAttrs.autoscalemarkers,0),tooltext:(0,_lib.pluck)(markerAttrs&&markerAttrs.tooltext,chartAttrs.markertooltext),dataEnabled:markerDataEnabled,valueToRadius:(0,_lib.pluckNumber)(chartAttrs.markerradiusfromvalue,1),valueMarkerAlpha:(0,_lib.pluck)(chartAttrs.valuemarkeralpha,"75"),hideNull:(0,_lib.pluckNumber)(chartAttrs.hidenullmarkers,0),nullRadius:(0,_lib.pluckNumber)(chartAttrs.nullmarkerradius,chartAttrs.markerradius,7),adjustViewPort:(0,_lib.pluckNumber)(chartAttrs.adjustviewportformarkers,0),startAngle:(0,_lib.pluckNumber)(chartAttrs.markerstartangle,90),maxRadius:(0,_lib.pluckNumber)(chartAttrs.maxmarkerradius,0),minRadius:(0,_lib.pluckNumber)(chartAttrs.minmarkerradius,0),applyAll:(0,_lib.pluckNumber)(chartAttrs.applyallmarkers,0),shadow:(0,_lib.pluckNumber)(chartAttrs.showmarkershadow,chartAttrs.showshadow,0)};config.connectorOpts={showHoverEffect:(0,_lib.pluckNumber)(chartAttrs.showconnectorhovereffect,1),thickness:(0,_lib.pluckNumber)(chartAttrs.connectorthickness,chartAttrs.markerconnthickness,"2"),color:(0,_lib.pluck)(chartAttrs.connectorcolor,chartAttrs.markerconncolor,palette.markerbordercolor),alpha:(0,_lib.pluck)(chartAttrs.connectoralpha,chartAttrs.markerconnalpha,"100"),hoverThickness:(0,_lib.pluckNumber)(chartAttrs.connectorhoverthickness,chartAttrs.connectorthickness,chartAttrs.markerconnthickness,"2"),hoverColor:(0,_lib.pluck)(chartAttrs.connectorhovercolor,chartAttrs.connectorcolor,chartAttrs.markerconncolor,palette.markerbordercolor),hoverAlpha:(0,_lib.pluck)(chartAttrs.connectorhoveralpha,chartAttrs.connectoralpha,chartAttrs.markerconnalpha,"100"),dashed:(0,_lib.pluckNumber)(chartAttrs.connectordashed,chartAttrs.markerconndashed,0),dashLen:(0,_lib.pluckNumber)(chartAttrs.connectordashlen,chartAttrs.markerconndashlen,3),dashGap:(0,_lib.pluckNumber)(chartAttrs.connectordashgap,chartAttrs.markerconndashgap,2),font:(0,_lib.pluck)(chartAttrs.connectorfont,chartAttrs.markerconnfont,inCanFontFamily),fontColor:(0,_lib.pluck)(chartAttrs.connectorlabelcolor,chartAttrs.connectorfontcolor,chartAttrs.markerconnfontcolor,inCancolor),fontSize:(0,_lib.pluckNumber)(chartAttrs.connectorfontsize,chartAttrs.markerconnfontsize,parseInt(inCanFontSize,10)),showLabels:(0,_lib.pluckNumber)(chartAttrs.showconnectorlabels,chartAttrs.showmarkerlabels,chartAttrs.showlabels,1),labelBgColor:(0,_lib.pluck)(chartAttrs.connectorlabelbgcolor,chartAttrs.markerconnlabelbgcolor,palette.plotfillcolor),labelBorderColor:(0,_lib.pluck)(chartAttrs.connectorlabelbordercolor,chartAttrs.markerconnlabelbordercolor,palette.markerbordercolor),shadow:(0,_lib.pluckNumber)(chartAttrs.showconnectorshadow,chartAttrs.showmarkershadow,chartAttrs.showshadow,0),showTooltip:(0,_lib.pluckNumber)(chartAttrs.showconnectortooltip,chartAttrs.showmarkertooltip,chartAttrs.showtooltip,1),tooltext:(0,_lib.pluck)(markerAttrs&&markerAttrs.connectortooltext,chartAttrs.connectortooltext),hideOpen:(0,_lib.pluckNumber)(chartAttrs.hideopenconnectors,1)};config.adjustViewPortForMarkers=(0,_lib.pluckNumber)(chartAttrs.adjustviewportformarkers,markerDataEnabled)};_proto._attachMouseEvents=function _attachMouseEvents(){var iapi=this,listeners=iapi.getFromEnv("eventListeners"),containerElem=iapi.getFromEnv("chart-container");listeners.push(_domEvent.default.listen(containerElem,_lib.hasTouch?"touchstart":"click",Maps.searchMouseMove,iapi));listeners.push(_domEvent.default.listen(window.document,_lib.hasTouch?"touchstart":"mousemove",Maps.searchMouseMove,iapi))};_proto._dispose=function _dispose(){var iapi=this,containerElem=iapi.getFromEnv("chart-container");if(_lib.hasTouch){_domEvent.default.unlisten(containerElem,"touchstart",Maps.searchMouseMove);_domEvent.default.unlisten(window.document,"touchstart",Maps.searchMouseMove)}_domEvent.default.unlisten(containerElem,"click",Maps.searchMouseMove);_domEvent.default.unlisten(window.document,"mousemove",Maps.searchMouseMove);_MSCartesian.prototype._dispose.call(this)};Maps.searchMouseMove=function searchMouseMove(e){var mousePos,chart=e.data,chartConfig=chart.config,datasets=chart.getDatasets(),markers=datasets[1],toolTipController=markers&&markers.getFromEnv("toolTipController"),currentToolTip=markers&&markers.config.currentToolTip,lastHoveredPoint=chart.config.lastHoveredPoint,lastMouseCoordinate={};if(!chart.getFromEnv("chart-container")||chart.config.lastInteractionEvent===e.originalEvent){return}chart.config.lastInteractionEvent=e.originalEvent;if((mousePos=isWithinCanvas(e,chart))&&mousePos.insideCanvas){chartConfig.lastMouseEvent=e;lastMouseCoordinate={x:mousePos.chartX,y:mousePos.chartY};chart._searchNearestNeighbour(lastMouseCoordinate,e)}else{lastHoveredPoint&&markers&&markers.hoverOutFn(lastHoveredPoint.element);chart.config.lastHoveredPoint=null;toolTipController&&toolTipController.hide(currentToolTip)}};_proto._searchNearestNeighbour=function _searchNearestNeighbour(point,event){var iapi=this,datasets=iapi.getDatasets(),markers=datasets[1],kdPoint;if(markers){if(!markers.components.kDTree){return}kdPoint=markers.getElement(point);if(kdPoint){markers.highlightPoint(kdPoint,event)}else{markers.highlightPoint(false,event)}}};_proto._createLayers=function _createLayers(){_MSCartesian.prototype._createLayers.call(this);this._attachMouseEvents()};_proto._parseBackgroundCosmetics=function _parseBackgroundCosmetics(){var iapi=this,background=iapi.getChildren("background")[0],config=background.config,palette=iapi.getChildren("colorPalette")[0],chartAttrs=iapi.getFromEnv("chart-attrib"),showBorder;showBorder=config.showBorder=(0,_lib.pluckNumber)(chartAttrs.showcanvasborder,1);config.borderWidth=showBorder?(0,_lib.pluckNumber)(chartAttrs.canvasborderthickness,1):0;config.borderRadius=config.borderRadius=(0,_lib.pluckNumber)(chartAttrs.canvasborderradius,0);config.borderDashStyle=config.borderDashStyle=(0,_lib.pluckNumber)(chartAttrs.borderdashed,0)?(0,_lib.getDashStyle)((0,_lib.pluckNumber)(chartAttrs.borderdashlen,4),(0,_lib.pluckNumber)(chartAttrs.borderdashgap,2)):DASH_DEF;config.borderAlpha=(0,_lib.pluck)(chartAttrs.canvasborderalpha,palette.borderAlpha);config.borderColor=config.borderColor=(0,_lib.convertColor)((0,_lib.pluck)(chartAttrs.canvasbordercolor,palette&&palette.borderColor),config.borderAlpha)};_proto._getBackgroundCosmetics=function _getBackgroundCosmetics(){var iapi=this,chartAttrs=iapi.getFromEnv("chart-attrib")||iapi.jsonData.map,palette=iapi.getChildren("colorPalette")[0];return{FCcolor:{color:(0,_lib.pluck)(chartAttrs.bgcolor,chartAttrs.canvasbgcolor,palette.bgcolor),alpha:(0,_lib.pluck)(chartAttrs.bgalpha,chartAttrs.canvasbgalpha,palette.bgalpha),angle:(0,_lib.pluck)(chartAttrs.bgangle,chartAttrs.canvasbgangle,palette.bgangle),ratio:(0,_lib.pluck)(chartAttrs.bgratio,chartAttrs.canvasbgratio,palette.bgratio)}}};_proto._parseCanvasCosmetics=function _parseCanvasCosmetics(){_MSCartesian.prototype._parseCanvasCosmetics.call(this);var iapi=this,config=iapi.config,chartAttrs=iapi.getFromEnv("chart-attrib")||iapi.jsonData.map,canvasConfig=iapi.getChildren("canvas")[0].config;config.origMarginTop=(0,_lib.pluckNumber)(chartAttrs.maptopmargin,11);config.origMarginLeft=(0,_lib.pluckNumber)(chartAttrs.mapleftmargin,11);config.origMarginBottom=(0,_lib.pluckNumber)(chartAttrs.mapbottommargin,37);config.origMarginRight=(0,_lib.pluckNumber)(chartAttrs.maprightmargin,11);config.origCanvasLeftMargin=(0,_lib.pluckNumber)(chartAttrs.canvasleftmargin,0);config.origCanvasRightMargin=(0,_lib.pluckNumber)(chartAttrs.canvasrightmargin,0);config.origCanvasTopMargin=(0,_lib.pluckNumber)(chartAttrs.canvastopmargin,0);config.origCanvasBottomMargin=(0,_lib.pluckNumber)(chartAttrs.canvasbottommargin,0);canvasConfig.canvasBorderRadius=(0,_lib.pluckNumber)(chartAttrs.canvasborderradius,0);canvasConfig.origCanvasTopPad=(0,_lib.pluckNumber)(chartAttrs.canvastoppadding,0);canvasConfig.origCanvasBottomPad=(0,_lib.pluckNumber)(chartAttrs.canvasbottompadding,0);canvasConfig.origCanvasLeftPad=(0,_lib.pluckNumber)(chartAttrs.canvasleftpadding,0);canvasConfig.origCanvasRightPad=(0,_lib.pluckNumber)(chartAttrs.canvasrightpadding,0)};_proto.preliminaryScaling=function preliminaryScaling(){var iapi=this,jsonData=iapi.jsonData,markerArray=jsonData.markers&&jsonData.markers.items||[],i=markerArray&&markerArray.length||0,minX=Infinity,minY=Infinity,maxX=-Infinity,maxY=-Infinity,x,y,item;while(i--){item=markerArray[i];x=Number(item.x);y=Number(item.y);minX=mathMin(minX,x);minY=mathMin(minY,y);maxX=mathMax(maxX,x);maxY=mathMax(maxY,y)}return{x:minX,y:minY,x1:maxX,y1:maxY}};_proto.getScalingParameters=function getScalingParameters(wg,hg,wv,hv){var iapi=this,aspR=wg/hg,widthScaleR=wv/(wg*iapi.config.baseScaleFactor),heightScaleR=hv/(hg*iapi.config.baseScaleFactor),translateX=0,translateY=0,scaleFactor,strokeWidth;if(widthScaleR>heightScaleR){scaleFactor=heightScaleR;translateX+=(wv-hv*aspR)/2;strokeWidth=200/(hg*scaleFactor)}else{scaleFactor=widthScaleR;translateY+=(hv-wv/aspR)/2;strokeWidth=200/(wg*scaleFactor)}return{scaleFactor:scaleFactor,strokeWidth:strokeWidth,translateX:translateX,translateY:translateY}};_proto.calculateMarkerBounds=function calculateMarkerBounds(scaleFactor,xOffset,yOffset){var iapi=this,config=iapi.config,markerOptions=config.markerOpts,datasets=iapi.getDatasets(),limits=iapi.getDataLimits(),dataMin=limits.dataMin,dataMax=limits.dataMax,hideNull=markerOptions.hideNull,nullRadius=markerOptions.nullRadius,v2r=markerOptions.valueToRadius,markerDataset,markerConf,minR,maxR,markerArray,i,name,dataset,len,minX=Infinity,minY=Infinity,maxX=-Infinity,maxY=-Infinity,x,y,r,definition,item;for(i=0,len=datasets.length;i<len;i++){dataset=datasets[i];name=dataset.getName();if(name==="markers"){markerDataset=dataset}}if(markerDataset){markerDataset.calculateMarkerRadiusLimits();markerConf=markerDataset.config||{};minR=markerConf.minRadius;maxR=markerConf.maxRadius;markerArray=markerDataset.components&&markerDataset.components.markerObjs||{};for(i in markerArray){item=markerArray[i];config=item.config;definition=config.definition||{};if(config.cleanValue!==null){if(v2r&&definition.radius===UNDEF){config.radius=minR+(maxR-minR)*(config.cleanValue-dataMin)/(dataMax-dataMin)}}else{if(hideNull){config.__hideMarker=true}else if(config.radius===null){config.radius=nullRadius}continue}r=Number(config.radius);x=(Number(definition.x)+xOffset)*scaleFactor;y=(Number(definition.y)+yOffset)*scaleFactor;minX=mathMin(minX,x-r);minY=mathMin(minY,y-r);maxX=mathMax(maxX,x+r);maxY=mathMax(maxY,y+r)}}return{x:minX,y:minY,x1:maxX,y1:maxY}};_proto._spaceManager=function _spaceManager(){var availableHeight,iapi=this,config=iapi.config,legend=iapi.getChildren("legend")&&iapi.getChildren("legend")[0],gLegend=iapi.getChildren("gLegend")&&iapi.getChildren("gLegend")[0],legendPosition=legend&&legend.config.legendPos?legend.config.legendPos.split("-"):gLegend&&gLegend.conf.legendPosition?gLegend.conf.legendPosition.split("-"):[],initSpace,chartAttrs=iapi.getFromEnv("chart-attrib"),showBorder=config.showBorder,translateX=config.origMarginLeft,translateY=config.origMarginTop,wg=iapi.config.baseWidth,hg=iapi.config.baseHeight,scalingParams,wv,hv,sFactor,extraMarkerSpace={},xDifference=0,yDifference=0,initHv,initWv,allottedSpace,topSpace,markerOptions=config.markerOpts,chartBorderWidth=config.borderWidth=showBorder?(0,_lib.pluckNumber)(chartAttrs.borderthickness,1):0;iapi._allocateSpace({top:chartBorderWidth,bottom:chartBorderWidth,left:chartBorderWidth,right:chartBorderWidth});iapi._allocateSpace(iapi._manageActionBarSpace&&iapi._manageActionBarSpace(config.availableHeight*.225)||{});if(legendPosition[0]==="right"||legendPosition[0]==="left"){allottedSpace=config.canvasWidth*.3}else{allottedSpace=config.canvasHeight*.3}initSpace=legendPosition[0]===_lib.POSITION_TOP||legendPosition[0]===POSITION_BOTTOM?config.canvasHeight:config.canvasWidth;config.showLegend&&iapi._manageLegendSpace(allottedSpace);availableHeight=legendPosition[0]===POSITION_BOTTOM||legendPosition[0]===_lib.POSITION_TOP?config.canvasHeight*.225:config.canvasWidth*.225;if(legendPosition[0]==="top"){translateY+=initSpace-config.canvasHeight}topSpace=iapi._manageChartMenuBar(availableHeight);if(legendPosition[0]==="left"){translateX+=initSpace-config.canvasWidth}wv=config.canvasWidth;hv=config.canvasHeight;if(markerOptions.dataEnabled){if(config.adjustViewPortForMarkers){extraMarkerSpace=iapi.preliminaryScaling();if(extraMarkerSpace.x1>wg){wg=extraMarkerSpace.x1}if(extraMarkerSpace.x<0){wg+=-extraMarkerSpace.x;xDifference=-extraMarkerSpace.x}if(extraMarkerSpace.y1>hg){hg=extraMarkerSpace.y1}if(extraMarkerSpace.y<0){hg+=-extraMarkerSpace.y;yDifference=-extraMarkerSpace.y}scalingParams=iapi.getScalingParameters(wg,hg,wv,hv);extraMarkerSpace=iapi.calculateMarkerBounds(scalingParams.scaleFactor*iapi.config.baseScaleFactor,xDifference,yDifference);initHv=hv;initWv=wv;if(extraMarkerSpace.x<0){translateX+=-extraMarkerSpace.x;wv+=extraMarkerSpace.x}if(extraMarkerSpace.y<0){translateY+=-extraMarkerSpace.y;hv+=extraMarkerSpace.y}if(extraMarkerSpace.x1>initWv){wv-=extraMarkerSpace.x1-initWv}if(extraMarkerSpace.y1>initHv){hv-=extraMarkerSpace.y1-initHv}}else{scalingParams=iapi.getScalingParameters(wg,hg,wv,hv);iapi.calculateMarkerBounds(scalingParams.scaleFactor*iapi.config.baseScaleFactor,xDifference,yDifference)}scalingParams=iapi.getScalingParameters(wg,hg,wv,hv);translateX+=xDifference*scalingParams.scaleFactor*iapi.config.baseScaleFactor;translateY+=yDifference*scalingParams.scaleFactor*iapi.config.baseScaleFactor}else{scalingParams=iapi.getScalingParameters(wg,hg,wv,hv)}iapi.config.scalingParams=scalingParams;sFactor=scalingParams.scaleFactor;scalingParams.translateX=scalingParams.translateX+translateX;scalingParams.translateY=scalingParams.translateY+translateY+topSpace.top||0;scalingParams.sFactor=sFactor*iapi.config.baseScaleFactor*100/100;scalingParams.transformStr=["t",scalingParams.translateX,",",scalingParams.translateY,"s",sFactor,",",sFactor,",0,0"].join("");iapi.config.annotationConfig={id:"Geo",showbelow:0,autoscale:0,grpxshift:scalingParams.translateX?scalingParams.translateX:0,grpyshift:scalingParams.translateY?scalingParams.translateY:0,xscale:(sFactor?sFactor*iapi.config.baseScaleFactor:1)*100,yscale:(sFactor?sFactor*iapi.config.baseScaleFactor:1)*100,scaletext:1,options:{useTracker:true}}};_proto.getDataLimits=function getDataLimits(){var iapi=this,datasets=iapi.getDatasets(),length=datasets.length,dataset,dataMin=+Infinity,dataMax=-Infinity,limits,i;for(i=0;i<length;i++){dataset=datasets[i];limits=dataset.getDataLimits();dataMin=mathMin(dataMin,limits.min);dataMax=mathMax(dataMax,limits.max)}return{dataMin:dataMin,dataMax:dataMax}};_proto.getEntityPaths=function getEntityPaths(copy){var returnObj={},ents=this.config.entities,id;if(copy){for(id in ents){returnObj[id]=ents[id]}return returnObj}return ents};_proto.checkComplete=function checkComplete(){var iapi=this;if(iapi.config.entityFlag&&iapi.config.entitiesReady){iapi.config.entityFlag=false;iapi.config.markersDrawn=true;iapi.fireChartInstanceEvent("internal.mapdrawingcomplete",{renderer:iapi})}};return Maps}(_mscartesian.default);var _default=exports.default=Maps;