Best JavaScript code snippet using playwright-internal
fusioncharts.maps.js
Source:fusioncharts.maps.js
1!function(e) {2 "object" == typeof module && "undefined" != typeof module.exports ? module.exports = e : e()3}((function() {4 (window.webpackJsonpFusionCharts = window.webpackJsonpFusionCharts || []).push([[14], {5 1193: function(e, t, o) {6 "use strict";7 var r = o(187);8 t.__esModule = !0,9 t["default"] = void 0;10 var a = r(o(1194));11 t.Maps = a["default"];12 var n = {13 name: "maps",14 type: "package",15 requiresFusionCharts: !0,16 extension: function(e) {17 return e.addDep(a["default"])18 }19 };20 t["default"] = n21 },22 1194: function(e, t, o) {23 "use strict";24 var r = o(191)25 , a = o(187);26 t.__esModule = !0,27 t["default"] = void 0;28 var n = a(o(207))29 , l = a(o(519))30 , i = o(208)31 , s = r(o(431))32 , c = a(o(195))33 , h = o(200)34 , d = o(193)35 , u = a(o(1195))36 , p = a(o(420))37 , g = a(o(1006))38 , f = a(o(1010))39 , m = (0,40 d.extend2)({41 foregroundcolor: "333333",42 foregroundalpha: "100",43 foregrounddarkcolor: "111111",44 foregrounddarkalpha: "100",45 foregroundlightcolor: "666666",46 foregroundlightalpha: "100",47 backgroundlightcolor: "FFFFFF",48 backgroundlightalpha: "100",49 backgroundlightangle: 90,50 backgroundlightratio: "",51 backgroundcolor: "FFFFCC",52 backgroundalpha: "100",53 backgrounddarkcolor: "ffcc66",54 backgrounddarkalpha: "100",55 backgrounddarkangle: 270,56 backgrounddarkratio: "",57 shadow: 158 }, s)59 , b = {60 basefontcolor: "foregroundcolor",61 bordercolor: "foregrounddarkcolor",62 borderalpha: "foregrounddarkalpha",63 bgcolor: "backgroundlightcolor",64 bgalpha: "backgroundlightalpha",65 bgangle: "backgroundlightangle",66 bgratio: "backgroundlightratio",67 canvasbordercolor: "foregrounddarkcolor",68 canvasborderalpha: "foregrounddarkalpha",69 canvasbgcolor: "backgroundlightcolor",70 canvasbgalpha: "backgroundlightalpha",71 canvasbgangle: "backgroundlightangle",72 canvasbgratio: "backgroundlightratio",73 tooltipbordercolor: "foregrounddarkcolor",74 tooltipborderalpha: "foregrounddarkalpha",75 tooltipbgcolor: "backgroundlightcolor",76 tooltipbgalpha: "backgroundlightalpha",77 tooltipfontcolor: "foregroundcolor",78 legendbordercolor: "foregrounddarkcolor",79 legendborderalpha: "foregrounddarkalpha",80 markerbordercolor: "foregroundlightcolor",81 markerborderalpha: "foregroundlightalpha",82 markerfillcolor: "backgrounddarkcolor",83 markerfillalpha: "backgrounddarkalpha",84 markerfillangle: "backgrounddarkangle",85 markerfillratio: "backgrounddarkratio",86 plotfillcolor: "backgroundcolor",87 plotfillalpha: "backgroundalpha",88 plotfillangle: "backgroundangle",89 plotfillratio: "backgroundratio",90 plothoverfillcolor: "backgrounddarkcolor",91 plothoverfillalpha: "backgrounddarkalpha",92 plothoverfillangle: "backgrounddarkangle",93 plothoverfillratio: "backgrounddarkratio",94 plotbordercolor: "foregroundcolor",95 plotborderalpha: "foregroundalpha",96 shadow: "shadow"97 }98 , k = {99 getMapName: function() {100 return this.jsVars.instanceAPI.getName().toLowerCase()101 },102 getEntityList: function() {103 var e, t, o, r, a, n = this.jsVars.instanceAPI.getDatasets() || [], l = n.length, i = [];104 for (e = 0; e < l; e++)105 if ("entities" === (o = n[e] || []).getName()) {106 t = o;107 break108 }109 for (e in l = (r = t.components.data).length,110 r)111 r.hasOwnProperty(e) && (a = (r[e] || {}).config || {},112 i.push({113 id: a.id,114 originalId: a.originalId || a.id,115 label: a.label,116 shortlabel: a.shortLabel,117 value: a.value,118 formattedValue: a.formattedValue,119 toolText: a.toolText120 }));121 return i122 },123 getMapAttribute: function() {124 var e = this;125 return (0,126 h.raiseWarning)(this, "12061210581", "run", "JavaScriptRenderer~getMapAttribute()", 'Use of deprecated "getMapAttribute()". Replace with "getChartAttribute()".'),127 e.getChartAttribute.apply(e, arguments)128 },129 exportMap: function() {130 var e = this;131 return (0,132 h.raiseWarning)(this, "12061210581", "run", "JavaScriptRenderer~exportMap()", 'Use of deprecated "exportMap()". Replace with "exportChart()".'),133 e.exportChart && e.exportChart.apply(e, arguments)134 },135 addMarker: function(e) {136 var t, o, r, a = this.jsVars.instanceAPI.getDatasets() || [], n = a.length;137 for (t = 0; t < n; t++)138 if ("markers" === (o = a[t] || []).getName()) {139 r = o;140 break141 }142 r && !r.addMarkerItem(e) && (0,143 h.raiseWarning)(this, "1309264086", "run", "MapsRenderer~addMarker()", "Failed to add marker. Check the options and try again.")144 },145 updateMarker: function(e, t) {146 var o, r, a, n, l = this.jsVars.instanceAPI.getDatasets() || [], i = l.length;147 for (r = 0; r < i; r++)148 if ("markers" === (a = l[r] || []).getName()) {149 n = a;150 break151 }152 n && e && (o = (e + v).toLowerCase(),153 n.updateMarkerItem(o, t))154 },155 removeMarker: function(e) {156 var t, o, r, a, n = this.jsVars.instanceAPI.getDatasets() || [], l = n.length;157 for (o = 0; o < l; o++)158 if ("markers" === (r = n[o] || []).getName()) {159 a = r;160 break161 }162 e && (t = (e + v).toLowerCase(),163 a._removeMarkerItem(t))164 }165 }166 , v = ""167 , C = window.Math168 , y = C.min169 , F = C.max170 , w = function(e) {171 function t(t, o) {172 var r, a;173 for (a in (r = e.call(this) || this).subpalette = d.BLANKSTRING,174 r.key = d.BLANKSTRING,175 r.index = o,176 t)177 r.subpalette = m[t[a]],178 r[a] = r.subpalette instanceof Array ? r.subpalette[o] : r.subpalette,179 r.key = a;180 return r181 }182 return (0,183 n["default"])(t, e),184 t185 }(i.ComponentInterface)186 , A = function(e) {187 function t() {188 var t;189 return (t = e.call(this) || this).friendlyName = "Map",190 t.revision = 1,191 t.hasCanvas = !0,192 t.standaloneInit = !1,193 t.defaultDatasetType = "maps",194 t.defaultSeriesType = "geo",195 t.fireGroupEvent = !0,196 t.legendposition = "right",197 t.hasGradientLegend = !0,198 t.isMap = !0,199 t.defaultPaletteOptions = {200 paletteColors: [["A6A6A6", "CCCCCC", "E1E1E1", "F0F0F0"], ["A7AA95", "C4C6B7", "DEDFD7", "F2F2EE"], ["04C2E3", "66E7FD", "9CEFFE", "CEF8FF"], ["FA9101", "FEB654", "FED7A0", "FFEDD5"], ["FF2B60", "FF6C92", "FFB9CB", "FFE8EE"]],201 bgColor: ["FFFFFF", "CFD4BE,F3F5DD", "C5DADD,EDFBFE", "A86402,FDC16D", "FF7CA0,FFD1DD"],202 bgAngle: [270, 270, 270, 270, 270],203 bgRatio: ["0,100", "0,100", "0,100", "0,100", "0,100"],204 bgAlpha: ["100", "60,50", "40,20", "20,10", "30,30"],205 toolTipBgColor: ["FFFFFF", "FFFFFF", "FFFFFF", "FFFFFF", "FFFFFF"],206 toolTipBorderColor: ["545454", "545454", "415D6F", "845001", "68001B"],207 baseFontColor: ["555555", "60634E", "025B6A", "A15E01", "68001B"],208 tickColor: ["333333", "60634E", "025B6A", "A15E01", "68001B"],209 trendColor: ["545454", "60634E", "415D6F", "845001", "68001B"],210 plotFillColor: ["545454", "60634E", "415D6F", "845001", "68001B"],211 borderColor: ["767575", "545454", "415D6F", "845001", "68001B"],212 borderAlpha: [50, 50, 50, 50, 50]213 },214 t.colorPaletteMap = b,215 t.eiMethods = k,216 t.registerFactory("legend", f["default"], ["canvas"]),217 t.registerFactory("axis", d.stubFN, ["canvas"]),218 t.registerFactory("colormanager-decider", g["default"], ["legend"]),219 t.registerFactory("dataset", u["default"], ["colormanager-decider"]),220 t.registerFactory("canvas", p["default"]),221 t222 }223 (0,224 n["default"])(t, e);225 var o = t.prototype;226 return o._checkInvalidSpecificData = function() {227 return this.config.invalid = !1,228 !1229 }230 ,231 o.__setDefaultConfig = function() {232 e.prototype.__setDefaultConfig.call(this);233 var t = this.config;234 !t.baseWidth && (t.baseWidth = 400),235 !t.baseHeight && (t.baseHeight = 300),236 !t.baseScaleFactor && (t.baseScaleFactor = 1)237 }238 ,239 t.getName = function() {240 return "maps"241 }242 ,243 t.getType = function() {244 return "chartAPI"245 }246 ,247 o.getName = function() {248 return this.config.name || "GEO"249 }250 ,251 o.getType = function() {252 return "chartAPI"253 }254 ,255 o.configureAttributes = function(t) {256 var o, r = this.getChildren("colorPalette") && this.getChildren("colorPalette")[0];257 o = t.chart = t.chart || t.graph || t.map || {},258 this.jsonData = t,259 r || (r = new w(this.colorPaletteMap,(o.palette > 0 && o.palette < 6 ? o.palette : (0,260 d.pluckNumber)(this.paletteIndex, 1)) - 1),261 this.attachChild(r, "colorPalette")),262 this.config.skipCanvasDrawing = !0,263 e.prototype.configureAttributes.call(this, t),264 this._parseBackgroundCosmetics()265 }266 ,267 o.parseChartAttr = function(t) {268 var o, r, a, n, l, i = this.jsonData, s = i.chart || i.map, c = i.markers, h = new w(this.colorPaletteMap,(s.palette > 0 && s.palette < 6 ? s.palette : (0,269 d.pluckNumber)(this.paletteIndex, 1)) - 1), u = (0,270 d.pluck)(s.entitybordercolor, s.bordercolor, h.plotbordercolor), p = (0,271 d.pluck)(s.entityfillcolor, s.fillcolor, h.plotfillcolor), g = (0,272 d.pluck)(s.entityfillalpha, s.fillalpha, h.plotfillalpha), f = (0,273 d.pluck)(s.entityfillratio, s.fillratio, h.plotfillratio), m = (0,274 d.pluck)(s.entityfillangle, s.fillangle, h.plotfillangle), b = (0,275 d.pluck)(s.nullentityfillcolor, s.nullentitycolor, p), k = (0,276 d.pluckNumber)(s.usevaluesformarkers, i.markers && i.markers.items && i.markers.items.length, !(i.markers && i.markers.application && i.markers.application.length && i.markers.definition && i.markers.definition.length));277 e.prototype.parseChartAttr.call(this, t),278 (o = this.config).origMarginTop = (0,279 d.pluckNumber)(s.charttopmargin, s.maptopmargin, 11),280 o.origMarginLeft = (0,281 d.pluckNumber)(s.chartleftmargin, s.mapleftmargin, 11),282 o.origMarginBottom = (0,283 d.pluckNumber)(s.chartbottommargin, s.mapbottommargin, 11),284 o.origMarginRight = (0,285 d.pluckNumber)(s.chartrightmargin, s.maprightmargin, 11),286 o.labelsOnTop = (0,287 d.pluckNumber)(s.entitylabelsontop, 1),288 r = (l = o.style).inCancolor,289 a = l.inCanfontFamily,290 n = l.inCanfontSize,291 o.entityOpts = {292 baseScaleFactor: o.baseScaleFactor,293 dataLabels: {294 style: {295 fontFamily: a,296 fontSize: n,297 lineHeight: l.inCanLineHeight,298 color: (0,299 d.pluck)(s.entitylabelcolor, l.inCancolor),300 bgColor: (0,301 d.pluck)(s.entitylabelbgcolor) || v,302 borderColor: (0,303 d.pluck)(s.entitylabelbordercolor) || v304 }305 },306 fillColor: p,307 fillAlpha: g,308 fillRatio: f,309 fillAngle: m,310 borderColor: u,311 borderAlpha: (0,312 d.pluck)(s.entityborderalpha, s.borderalpha, this.borderAlpha, "100"),313 borderThickness: (0,314 d.pluckNumber)(s.showentityborder, s.showborder, 1) ? (0,315 d.pluckNumber)(s.entityborderthickness, s.borderthickness, 1) : 0,316 scaleBorder: (0,317 d.pluckNumber)(s.scaleentityborder, s.scaleborder, 0),318 hoverFillColor: (0,319 d.pluck)(s.entityfillhovercolor, s.hoverfillcolor, s.hovercolor, h.plothoverfillcolor),320 hoverFillAlpha: (0,321 d.pluck)(s.entityfillhoveralpha, s.hoverfillalpha, s.hoveralpha, h.plothoverfillalpha),322 hoverFillRatio: (0,323 d.pluck)(s.entityfillhoverratio, s.hoverfillratio, s.hoverratio, h.plothoverfillratio),324 hoverFillAngle: (0,325 d.pluck)(s.entityfillhoverangle, s.hoverfillangle, s.hoverangle, h.plothoverfillangle),326 hoverBorderThickness: (0,327 d.pluck)(s.entityborderhoverthickness, s.hoverborderthickness),328 hoverBorderColor: (0,329 d.pluck)(s.entityborderhovercolor, u, h.plotbordercolor),330 hoverBorderAlpha: (0,331 d.pluck)(s.entityborderhoveralpha, h.plotborderalpha),332 nullEntityColor: b,333 nullEntityAlpha: (0,334 d.pluck)(s.nullentityfillalpha, s.nullentityalpha, g),335 nullEntityRatio: (0,336 d.pluck)(s.nullentityfillratio, s.nullentityratio, f),337 nullEntityAngle: (0,338 d.pluck)(s.nullentityfillangle, s.nullentityangle, m),339 connectorColor: (0,340 d.pluck)(s.labelconnectorcolor, s.connectorcolor, r),341 connectorAlpha: (0,342 d.pluck)(s.labelconnectoralpha, s.connectoralpha, "100"),343 connectorThickness: (0,344 d.pluckNumber)(s.labelconnectorthickness, s.borderthickness, 1),345 showHoverEffect: (0,346 d.pluckNumber)(s.showentityhovereffect, s.usehovercolor, s.showhovereffect, 1),347 hoverOnNull: (0,348 d.pluckNumber)(s.hoveronnull, s.entityhoveronnull, 1),349 labelPadding: (0,350 d.pluckNumber)(s.labelpadding, 5),351 showLabels: (0,352 d.pluckNumber)(s.showlabels, 1),353 labelsOnTop: (0,354 d.pluckNumber)(s.entitylabelsontop, 1),355 includeNameInLabels: (0,356 d.pluckNumber)(s.includenameinlabels, 1),357 includeValueInLabels: (0,358 d.pluckNumber)(s.includevalueinlabels, 0),359 useSNameInTooltip: (0,360 d.pluckNumber)(s.usesnameintooltip, 0),361 useShortName: (0,362 d.pluckNumber)(s.usesnameinlabels, 1),363 labelSepChar: (0,364 d.pluck)(s.labelsepchar, ", "),365 showTooltip: (0,366 d.pluckNumber)(s.showentitytooltip, s.showtooltip, 1),367 tooltipSepChar: (0,368 d.pluck)(s.tooltipsepchar, ", "),369 tooltext: s.entitytooltext,370 hideNullEntities: (0,371 d.pluckNumber)(s.hidenullentities, 0),372 showHiddenEntityBorder: (0,373 d.pluckNumber)(s.showhiddenentityborder, 1),374 showNullEntityBorder: (0,375 d.pluckNumber)(s.shownullentityborder, 1),376 hiddenEntityColor: (0,377 d.pluck)(s.hiddenentitycolor, s.hiddenentityfillcolor, s.hiddenentityalpha || s.hiddenentityfillalpha ? b : "ffffff"),378 hiddenEntityAlpha: (0,379 d.pluck)(s.hiddenentityalpha, s.hiddenentityfillalpha, .001),380 shadow: (0,381 d.pluckNumber)(s.showshadow, this.defaultPlotShadow, h.shadow)382 },383 o.markerOpts = {384 dataLabels: {385 style: {386 fontFamily: (0,387 d.pluck)(s.markerfont, a),388 fontSize: (0,389 d.pluckNumber)(s.markerfontsize, parseInt(n, 10)),390 fontColor: (0,391 d.pluck)(s.markerlabelcolor, s.markerfontcolor, r),392 labelBgColor: (0,393 d.pluck)(s.markerlabelbgcolor) || v,394 labelBorderColor: (0,395 d.pluck)(s.markerlabelbordercolor) || v396 }397 },398 showTooltip: (0,399 d.pluckNumber)(s.showmarkertooltip, s.showtooltip, 1),400 showLabels: (0,401 d.pluckNumber)(s.showmarkerlabels, s.showlabels, 1),402 showHoverEffect: (0,403 d.pluckNumber)(s.showmarkerhovereffect, 1),404 labelPadding: (0,405 d.pluck)(s.markerlabelpadding, "5"),406 labelWrapWidth: (0,407 d.pluckNumber)(s.markerlabelwrapwidth, 0),408 labelWrapHeight: (0,409 d.pluckNumber)(s.markerlabelwrapheight, 0),410 fillColor: (0,411 d.pluck)(s.markerfillcolor, s.markerbgcolor, h.markerfillcolor),412 fillAlpha: (0,413 d.pluck)(s.markerfillalpha, h.markerfillalpha),414 fillAngle: (0,415 d.pluck)(s.markerfillangle, h.markerfillangle),416 fillRatio: (0,417 d.pluck)(s.markerfillratio, h.markerfillratio),418 fillPattern: (0,419 d.pluck)(s.markerfillpattern, h.markerbgpattern),420 hoverFillColor: s.markerfillhovercolor,421 hoverFillAlpha: s.markerfillhoveralpha,422 hoverFillRatio: s.markerfillhoverratio,423 hoverFillAngle: s.markerfillhoverangle,424 borderThickness: (0,425 d.pluck)(s.markerborderthickness, 1),426 borderColor: (0,427 d.pluck)(s.markerbordercolor, h.markerbordercolor),428 borderAlpha: (0,429 d.pluckNumber)(s.markerborderalpha, h.markerborderalpha),430 hoverBorderThickness: s.markerborderhoverthickness,431 hoverBorderColor: s.markerborderhovercolor,432 hoverBorderAlpha: s.markerborderhoveralpha,433 radius: (0,434 d.pluckNumber)(s.markerradius && (0,435 d.trimString)(s.markerradius), 7),436 shapeId: (0,437 d.pluck)(s.defaultmarkershape, "circle"),438 labelSepChar: (0,439 d.pluck)(s.labelsepchar, ", "),440 tooltipSepChar: (0,441 d.pluck)(s.tooltipsepchar, ", "),442 autoScale: (0,443 d.pluckNumber)(s.autoscalemarkers, 0),444 tooltext: (0,445 d.pluck)(c && c.tooltext, s.markertooltext),446 dataEnabled: k,447 valueToRadius: (0,448 d.pluckNumber)(s.markerradiusfromvalue, 1),449 valueMarkerAlpha: (0,450 d.pluck)(s.valuemarkeralpha, "75"),451 hideNull: (0,452 d.pluckNumber)(s.hidenullmarkers, 0),453 nullRadius: (0,454 d.pluckNumber)(s.nullmarkerradius, s.markerradius, 7),455 adjustViewPort: (0,456 d.pluckNumber)(s.adjustviewportformarkers, 0),457 startAngle: (0,458 d.pluckNumber)(s.markerstartangle, 90),459 maxRadius: (0,460 d.pluckNumber)(s.maxmarkerradius, 0),461 minRadius: (0,462 d.pluckNumber)(s.minmarkerradius, 0),463 applyAll: (0,464 d.pluckNumber)(s.applyallmarkers, 0),465 shadow: (0,466 d.pluckNumber)(s.showmarkershadow, s.showshadow, 0)467 },468 o.connectorOpts = {469 showHoverEffect: (0,470 d.pluckNumber)(s.showconnectorhovereffect, 1),471 thickness: (0,472 d.pluckNumber)(s.connectorthickness, s.markerconnthickness, "2"),473 color: (0,474 d.pluck)(s.connectorcolor, s.markerconncolor, h.markerbordercolor),475 alpha: (0,476 d.pluck)(s.connectoralpha, s.markerconnalpha, "100"),477 hoverThickness: (0,478 d.pluckNumber)(s.connectorhoverthickness, s.connectorthickness, s.markerconnthickness, "2"),479 hoverColor: (0,480 d.pluck)(s.connectorhovercolor, s.connectorcolor, s.markerconncolor, h.markerbordercolor),481 hoverAlpha: (0,482 d.pluck)(s.connectorhoveralpha, s.connectoralpha, s.markerconnalpha, "100"),483 dashed: (0,484 d.pluckNumber)(s.connectordashed, s.markerconndashed, 0),485 dashLen: (0,486 d.pluckNumber)(s.connectordashlen, s.markerconndashlen, 3),487 dashGap: (0,488 d.pluckNumber)(s.connectordashgap, s.markerconndashgap, 2),489 font: (0,490 d.pluck)(s.connectorfont, s.markerconnfont, a),491 fontColor: (0,492 d.pluck)(s.connectorlabelcolor, s.connectorfontcolor, s.markerconnfontcolor, r),493 fontSize: (0,494 d.pluckNumber)(s.connectorfontsize, s.markerconnfontsize, parseInt(n, 10)),495 showLabels: (0,496 d.pluckNumber)(s.showconnectorlabels, s.showmarkerlabels, s.showlabels, 1),497 labelBgColor: (0,498 d.pluck)(s.connectorlabelbgcolor, s.markerconnlabelbgcolor, h.plotfillcolor),499 labelBorderColor: (0,500 d.pluck)(s.connectorlabelbordercolor, s.markerconnlabelbordercolor, h.markerbordercolor),501 shadow: (0,502 d.pluckNumber)(s.showconnectorshadow, s.showmarkershadow, s.showshadow, 0),503 showTooltip: (0,504 d.pluckNumber)(s.showconnectortooltip, s.showmarkertooltip, s.showtooltip, 1),505 tooltext: (0,506 d.pluck)(c && c.connectortooltext, s.connectortooltext),507 hideOpen: (0,508 d.pluckNumber)(s.hideopenconnectors, 1)509 },510 o.adjustViewPortForMarkers = (0,511 d.pluckNumber)(s.adjustviewportformarkers, k)512 }513 ,514 o._attachMouseEvents = function() {515 var e = this.getFromEnv("eventListeners")516 , o = this.getFromEnv("chart-container");517 e.push(c["default"].listen(o, d.hasTouch ? "touchstart" : "click", t.searchMouseMove, this)),518 e.push(c["default"].listen(window.document, d.hasTouch ? "touchstart" : "mousemove", t.searchMouseMove, this))519 }520 ,521 o._dispose = function() {522 var o = this.getFromEnv("chart-container");523 d.hasTouch && (c["default"].unlisten(o, "touchstart", t.searchMouseMove),524 c["default"].unlisten(window.document, "touchstart", t.searchMouseMove)),525 c["default"].unlisten(o, "click", t.searchMouseMove),526 c["default"].unlisten(window.document, "mousemove", t.searchMouseMove),527 e.prototype._dispose.call(this)528 }529 ,530 t.searchMouseMove = function(e) {531 var t, o = e.data, r = o.config, a = o.getDatasets()[1], n = a && a.getFromEnv("toolTipController"), l = a && a.config.currentToolTip, i = o.config.lastHoveredPoint, s = {};532 o.getFromEnv("chart-container") && o.config.lastInteractionEvent !== e.originalEvent && (o.config.lastInteractionEvent = e.originalEvent,533 (t = function(e, t) {534 var o = (0,535 d.getMouseCoordinate)(t.getFromEnv("chart-container"), e, t)536 , r = o.chartX537 , a = o.chartY538 , n = t.config539 , l = n.canvasLeft540 , i = n.canvasTop541 , s = n.canvasLeft + n.canvasWidth542 , c = n.canvasHeight + n.canvasTop;543 return o.insideCanvas = !1,544 o.originalEvent = e,545 r > l && r < s && a > i && a < c && (o.insideCanvas = !0),546 o547 }(e, o)) && t.insideCanvas ? (r.lastMouseEvent = e,548 s = {549 x: t.chartX,550 y: t.chartY551 },552 o._searchNearestNeighbour(s, e)) : (i && a && a.hoverOutFn(i.element),553 o.config.lastHoveredPoint = null,554 n && n.hide(l)))555 }556 ,557 o._searchNearestNeighbour = function(e, t) {558 var o, r = this.getDatasets()[1];559 if (r) {560 if (!r.components.kDTree)561 return;562 (o = r.getElement(e)) ? r.highlightPoint(o, t) : r.highlightPoint(!1, t)563 }564 }565 ,566 o._createLayers = function() {567 e.prototype._createLayers.call(this),568 this._attachMouseEvents()569 }570 ,571 o._parseBackgroundCosmetics = function() {572 var e, t = this.getChildren("background")[0].config, o = this.getChildren("colorPalette")[0], r = this.getFromEnv("chart-attrib");573 e = t.showBorder = (0,574 d.pluckNumber)(r.showcanvasborder, 1),575 t.borderWidth = e ? (0,576 d.pluckNumber)(r.canvasborderthickness, 1) : 0,577 t.borderRadius = t.borderRadius = (0,578 d.pluckNumber)(r.canvasborderradius, 0),579 t.borderDashStyle = t.borderDashStyle = (0,580 d.pluckNumber)(r.borderdashed, 0) ? (0,581 d.getDashStyle)((0,582 d.pluckNumber)(r.borderdashlen, 4), (0,583 d.pluckNumber)(r.borderdashgap, 2)) : "none",584 t.borderAlpha = (0,585 d.pluck)(r.canvasborderalpha, o.borderAlpha),586 t.borderColor = t.borderColor = (0,587 d.convertColor)((0,588 d.pluck)(r.canvasbordercolor, o && o.borderColor), t.borderAlpha)589 }590 ,591 o._getBackgroundCosmetics = function() {592 var e = this.getFromEnv("chart-attrib") || this.jsonData.map593 , t = this.getChildren("colorPalette")[0];594 return {595 FCcolor: {596 color: (0,597 d.pluck)(e.bgcolor, e.canvasbgcolor, t.bgcolor),598 alpha: (0,599 d.pluck)(e.bgalpha, e.canvasbgalpha, t.bgalpha),600 angle: (0,601 d.pluck)(e.bgangle, e.canvasbgangle, t.bgangle),602 ratio: (0,603 d.pluck)(e.bgratio, e.canvasbgratio, t.bgratio)604 }605 }606 }607 ,608 o._parseCanvasCosmetics = function() {609 e.prototype._parseCanvasCosmetics.call(this);610 var t = this.config611 , o = this.getFromEnv("chart-attrib") || this.jsonData.map612 , r = this.getChildren("canvas")[0].config;613 t.origMarginTop = (0,614 d.pluckNumber)(o.maptopmargin, 11),615 t.origMarginLeft = (0,616 d.pluckNumber)(o.mapleftmargin, 11),617 t.origMarginBottom = (0,618 d.pluckNumber)(o.mapbottommargin, 11),619 t.origMarginRight = (0,620 d.pluckNumber)(o.maprightmargin, 11),621 t.origCanvasLeftMargin = (0,622 d.pluckNumber)(o.canvasleftmargin, 0),623 t.origCanvasRightMargin = (0,624 d.pluckNumber)(o.canvasrightmargin, 0),625 t.origCanvasTopMargin = (0,626 d.pluckNumber)(o.canvastopmargin, 0),627 t.origCanvasBottomMargin = (0,628 d.pluckNumber)(o.canvasbottommargin, 0),629 r.canvasBorderRadius = (0,630 d.pluckNumber)(o.canvasborderradius, 0),631 r.origCanvasTopPad = (0,632 d.pluckNumber)(o.canvastoppadding, 0),633 r.origCanvasBottomPad = (0,634 d.pluckNumber)(o.canvasbottompadding, 0),635 r.origCanvasLeftPad = (0,636 d.pluckNumber)(o.canvasleftpadding, 0),637 r.origCanvasRightPad = (0,638 d.pluckNumber)(o.canvasrightpadding, 0)639 }640 ,641 o.preliminaryScaling = function() {642 for (var e, t, o, r = this.jsonData, a = r.markers && r.markers.items || [], n = a && a.length || 0, l = Infinity, i = Infinity, s = -Infinity, c = -Infinity; n--; )643 o = a[n],644 e = Number(o.x),645 t = Number(o.y),646 l = y(l, e),647 i = y(i, t),648 s = F(s, e),649 c = F(c, t);650 return {651 x: l,652 y: i,653 x1: s,654 y1: c655 }656 }657 ,658 o.getScalingParameters = function(e, t, o, r) {659 var a, n, l = e / t, i = o / (e * this.config.baseScaleFactor), s = r / (t * this.config.baseScaleFactor), c = 0, h = 0;660 return i > s ? (c += (o - r * l) / 2,661 n = 200 / (t * (a = s))) : (h += (r - o / l) / 2,662 n = 200 / (e * (a = i))),663 {664 scaleFactor: a,665 strokeWidth: n,666 translateX: c,667 translateY: h668 }669 }670 ,671 o.calculateMarkerBounds = function(e, t, o) {672 var r, a, n, l, i, s, c, h, d, u, p, g, f = this.config, m = f.markerOpts, b = this.getDatasets(), k = this.getDataLimits(), v = k.dataMin, C = k.dataMax, w = m.hideNull, A = m.nullRadius, E = m.valueToRadius, L = Infinity, x = Infinity, N = -Infinity, S = -Infinity;673 for (s = 0,674 h = b.length; s < h; s++)675 "markers" === (c = b[s]).getName() && (r = c);676 if (r)677 for (s in r.calculateMarkerRadiusLimits(),678 n = (a = r.config || {}).minRadius,679 l = a.maxRadius,680 i = r.components && r.components.markerObjs || {})681 g = (f = i[s].config).definition || {},682 null !== f.cleanValue ? (E && void 0 === g.radius && (f.radius = n + (l - n) * (f.cleanValue - v) / (C - v)),683 p = Number(f.radius),684 d = (Number(g.x) + t) * e,685 u = (Number(g.y) + o) * e,686 L = y(L, d - p),687 x = y(x, u - p),688 N = F(N, d + p),689 S = F(S, u + p)) : w ? f.__hideMarker = !0 : null === f.radius && (f.radius = A);690 return {691 x: L,692 y: x,693 x1: N,694 y1: S695 }696 }697 ,698 o._spaceManager = function() {699 var e, t, o, r, a, n, l, i, s, c, h = this.config, u = this.getChildren("legend") && this.getChildren("legend")[0], p = this.getChildren("gLegend") && this.getChildren("gLegend")[0], g = u && u.config.legendPos ? u.config.legendPos.split("-") : p && p.conf.legendPosition ? p.conf.legendPosition.split("-") : [], f = this.getFromEnv("chart-attrib"), m = h.showBorder, b = h.origMarginLeft, k = h.origMarginTop, v = this.config.baseWidth, C = this.config.baseHeight, y = {}, F = 0, w = 0, A = h.markerOpts, E = h.borderWidth = m ? (0,700 d.pluckNumber)(f.borderthickness, 1) : 0;701 this._allocateSpace({702 top: E,703 bottom: E,704 left: E,705 right: E706 }),707 this._allocateSpace(this._manageActionBarSpace && this._manageActionBarSpace(.225 * h.availableHeight) || {}),708 s = "right" === g[0] || "left" === g[0] ? .3 * h.canvasWidth : .3 * h.canvasHeight,709 t = g[0] === d.POSITION_TOP || "bottom" === g[0] ? h.canvasHeight : h.canvasWidth,710 h.showLegend && this._manageLegendSpace(s),711 e = "bottom" === g[0] || g[0] === d.POSITION_TOP ? .225 * h.canvasHeight : .225 * h.canvasWidth,712 "top" === g[0] && (k += t - h.canvasHeight),713 c = this._manageChartMenuBar(e),714 "left" === g[0] && (b += t - h.canvasWidth),715 r = h.canvasWidth,716 a = h.canvasHeight,717 A.dataEnabled ? (h.adjustViewPortForMarkers ? ((y = this.preliminaryScaling()).x1 > v && (v = y.x1),718 y.x < 0 && (v += -y.x,719 F = -y.x),720 y.y1 > C && (C = y.y1),721 y.y < 0 && (C += -y.y,722 w = -y.y),723 o = this.getScalingParameters(v, C, r, a),724 l = a,725 i = r,726 (y = this.calculateMarkerBounds(o.scaleFactor * this.config.baseScaleFactor, F, w)).x < 0 && (b += -y.x,727 r += y.x),728 y.y < 0 && (k += -y.y,729 a += y.y),730 y.x1 > i && (r -= y.x1 - i),731 y.y1 > l && (a -= y.y1 - l)) : (o = this.getScalingParameters(v, C, r, a),732 this.calculateMarkerBounds(o.scaleFactor * this.config.baseScaleFactor, F, w)),733 b += F * (o = this.getScalingParameters(v, C, r, a)).scaleFactor * this.config.baseScaleFactor,734 k += w * o.scaleFactor * this.config.baseScaleFactor) : o = this.getScalingParameters(v, C, r, a),735 this.config.scalingParams = o,736 n = o.scaleFactor,737 o.translateX = o.translateX + b,738 o.translateY = o.translateY + k + c.top || 0,739 o.sFactor = n * this.config.baseScaleFactor * 100 / 100,740 o.transformStr = ["t", o.translateX, ",", o.translateY, "s", n, ",", n, ",0,0"].join(""),741 this.config.annotationConfig = {742 id: "Geo",743 showbelow: 0,744 autoscale: 0,745 grpxshift: o.translateX ? o.translateX : 0,746 grpyshift: o.translateY ? o.translateY : 0,747 xscale: 100 * (n ? n * this.config.baseScaleFactor : 1),748 yscale: 100 * (n ? n * this.config.baseScaleFactor : 1),749 scaletext: 1,750 options: {751 useTracker: !0752 }753 }754 }755 ,756 o.getDataLimits = function() {757 var e, t, o = this.getDatasets(), r = o.length, a = +Infinity, n = -Infinity;758 for (t = 0; t < r; t++)759 e = o[t].getDataLimits(),760 a = y(a, e.min),761 n = F(n, e.max);762 return {763 dataMin: a,764 dataMax: n765 }766 }767 ,768 o.getEntityPaths = function(e) {769 var t, o = {}, r = this.config.entities;770 if (e) {771 for (t in r)772 o[t] = r[t];773 return o774 }775 return r776 }777 ,778 o.checkComplete = function() {779 this.config.entityFlag && this.config.entitiesReady && (this.config.entityFlag = !1,780 this.config.markersDrawn = !0,781 this.fireChartInstanceEvent("internal.mapdrawingcomplete", {782 renderer: this783 }))784 }785 ,786 t787 }(l["default"]);788 t["default"] = A789 },790 1195: function(e, t, o) {791 "use strict";792 var r = o(187);793 t.__esModule = !0,794 t["default"] = function(e) {795 var t, o = e.getFromEnv("dataSource"), r = o.data || {}, s = o.markers;796 (0,797 a.componentFactory)(e, i["default"], "mapGroup"),798 t = e.getChildren("mapGroup")[0],799 (0,800 a.datasetFactory)(t, n["default"], "entities", 1, [r]),801 s ? (0,802 a.datasetFactory)(t, l["default"], "markers", 1, [s]) : e.getDatasets()[1] && e.getDatasets()[1].remove()803 }804 ;805 var a = o(193)806 , n = r(o(1196))807 , l = r(o(1198))808 , i = r(o(1199))809 },810 1196: function(e, t, o) {811 "use strict";812 var r = o(187);813 t.__esModule = !0,814 t["default"] = void 0;815 var a, n = r(o(207)), l = o(208), i = r(o(269)), s = o(201), c = r(o(1197)), h = o(193), d = o(205), u = r(o(552)), p = (0,816 s.getDep)("redraphael", "plugin"), g = window.navigator.userAgent, f = /msie/i.test(g) && !window.opera, m = window.Math, b = m.min, k = m.max, v = /stroke/gi, C = /AppleWebKit/.test(g), y = m.ceil, F = function(e, t) {817 var o = t ? (0,818 h.extend2)(e.FCcolor, t, !1, !0) : {819 FCcolor: e820 };821 return o.toString = h.toRaphaelColor,822 o823 }, w = function(e, t) {824 var o, r, a = {};825 if (r = t || 1,826 !e || "object" != typeof e)827 return a;828 for (o in e)829 v.test(o) || ("stroke-width" === o ? (a[o] = Number(e[o]) / r,830 C && (a[o] = a[o] && y(a[o]) || 0)) : a[o] = e[o]);831 return a832 }, A = {833 right: function() {834 return arguments[1]835 },836 left: function(e, t) {837 return e - t838 },839 center: function(e, t) {840 return 2 * b(t, e - t)841 }842 }, E = {843 top: function() {844 return arguments[1]845 },846 middle: function(e, t) {847 return 2 * b(t, e - t)848 },849 bottom: function(e, t) {850 return e - t851 }852 }, L = function(e, t) {853 e && e.graphics.outlines.attr(t)854 };855 (0,856 s.addDep)({857 name: "mapsAnimation",858 type: "animationRule",859 extension: c["default"]860 }),861 (0,862 u["default"])(p);863 var x = function(e) {864 function t() {865 var t;866 return (t = e.call(this) || this).components = {},867 t868 }869 (0,870 n["default"])(t, e);871 var o = t.prototype;872 return o.getName = function() {873 return "entities"874 }875 ,876 o.getType = function() {877 return "dataset"878 }879 ,880 o.configureAttributes = function(e) {881 if (e) {882 this.JSONData = {883 data: e884 };885 var o, r, n, l, i, s, c, d, u = this, p = u.getFromEnv("chart").jsonData, g = u.config, f = p.map || p.chart, m = [], b = u.getFromEnv("colorManager"), k = p.entitydef || [];886 for (i in !g.attachEvent && b && (u.addExtEventListener("legendUpdate", (function() {887 if ("legend" === (d = arguments[1]).component)888 u.legendInteractivity(d.legendItem, d.colorObj);889 else890 for (m = d.maxMinArray,891 s = m.length,892 c = 0; c < s; c++)893 u.updateEntityColors(m[c].min, m[c].max)894 }895 ), b),896 g.attachEvent = !0),897 o = p.data && p.data[0] && p.data[0].data ? u.JSONData = p.data[0].data || [] : u.JSONData = p.data || [],898 g.useSNameAsId = (0,899 h.pluckNumber)(f.usesnameasid, 0),900 this._redefineEntities(k),901 r = u.components.data,902 g.showTooltip = (0,903 h.pluckNumber)(f.showtooltip, 1),904 g.showHoverEffect = (0,905 h.pluckNumber)(f.showhovereffect, 0),906 o = function(e) {907 for (var t, o = e && e.length || 0, r = {}; o--; )908 (t = e[o]).id !== a && (r[t.id.toLowerCase()] = t);909 return r910 }(o),911 u.calculateDataLimits(),912 !p.colorrange && u._detachChild(u.getChildren("colorRange") && u.getChildren("colorRange")[0]),913 r)914 n = o[i],915 l = r[i],916 n ? this._configureEntity(i, l, (0,917 h.imprint)(t._sanitizeEntityOptions((0,918 h.extend2)({}, n)), l.config)) : this._configureEntity(i, l, l.config)919 }920 }921 ,922 o.updateEntityColors = function(e, t) {923 var o, r, a, n, l, i = this.components.data, s = this.getFromEnv("chart").config.entityOpts, c = s.nullEntityAlpha, h = s.nullEntityColor, d = F({924 fill: h,925 alpha: c926 }), u = {927 "fill-opacity": 0928 };929 for (n in i)930 i.hasOwnProperty(n) && (a = (r = (o = i[n]).config).cleanValue,931 l = {932 "fill-opacity": (r.alphaArr || [])[0] / 100 || 1933 },934 null == a ? (L(o, d),935 o.hidden = !1) : a < e || a > t ? (L(o, u),936 o.hidden = !0) : (L(o, l),937 o.hidden = !1))938 }939 ,940 o.legendInteractivity = function(e, t) {941 var o, r, a, n, l, i, s = this.getFromEnv("chart"), c = this.components.data, h = e.config, d = e.hasState("hidden"), u = this.getFromEnv("colorManager"), p = {}, g = {942 "fill-opacity": 0943 };944 for (o in s.getFromEnv("animationManager").setAnimationState("legendInteraction"),945 c)946 c.hasOwnProperty(o) && (a = (h = (r = c[o]).config).cleanValue,947 i = u.getColorObj(a),948 n = h.visibleEntityAttr,949 p["fill-opacity"] = n["fill-opacity"],950 l = d ? p : g,951 t.code === (!i.outOfRange && i.code) && (r.hidden = !d,952 L(r, l),953 d ? e && e.removeLegendState("hidden") : e.setLegendState("hidden")))954 }955 ,956 o.calculateDataLimits = function() {957 var e, t, o, r, a = this.getFromEnv("chart"), n = this.config, l = a.jsonData.data || [], i = this.getFromEnv("number-formatter"), s = +Infinity, c = -Infinity;958 for (r = 0,959 o = l.length; r < o; r++)960 t = l[r].value,961 e = i.getCleanValue(t),962 s = b(s, e),963 c = k(c, e);964 n.max = c,965 n.min = s966 }967 ,968 o._configureEntity = function(e, t, o) {969 var r, n, l, i, s, c, d, u, p, g, f, m, b, k, v, C, y, w, A, E, L, x, N = this.getFromEnv("chart"), S = this.config, _ = this.getFromEnv("number-formatter"), T = N.config.entityOpts, I = t.config, M = t.labelConfig, O = o.value, B = I.cleanValue = _.getCleanValue(O), P = I.formattedValue = B !== a ? _.dataLabels(B) : a, D = (0,970 h.pluckNumber)(o.showtooltip, T.showTooltip), R = this._getDefaultTooltip(t, o, this), j = {971 formattedValue: P,972 sName: o.shortLabel,973 lName: o.label974 }, V = T.dataLabels.style, G = I.toolText = D ? (0,975 h.parseUnsafeString)((0,976 h.pluck)((0,977 h.parseTooltext)((0,978 h.pluck)(o.tooltext, T.tooltext, R), [1, 2, 7, 38, 39], j, o)), !1) : "", H = I.borderColor = (0,979 h.pluck)(o.bordercolor, T.borderColor), W = I.borderAlpha = (0,980 h.pluck)(o.borderalpha, T.borderAlpha), z = I.borderThickness = (0,981 h.pluckNumber)(o.borderthickness, T.borderThickness), X = T.hoverOnNull, Y = I.useHoverColor = (0,982 h.pluckNumber)(o.showhovereffect, o.usehovercolor, X ? T.showHoverEffect : isNaN(O) ? 0 : T.showHoverEffect), K = I.labelAlignment, J = this.getFromEnv("colorManager");983 if (t.hidden = !1,984 I.showLabel = (0,985 h.pluckNumber)(o.showlabel, T.showLabels),986 I.labelPadding = (0,987 h.pluckNumber)(o.labelpadding, T.labelPadding),988 I.fontFamily = (0,989 h.pluck)(o.font, V.fontFamily),990 I.fontSize = (0,991 h.pluckNumber)(parseInt(o.fontsize, 10), parseInt(V.fontSize, 10)),992 I.fontBold = (0,993 h.pluckNumber)(o.fontbold, 0),994 I.fontColor = (0,995 h.pluck)(o.labelcolor, o.fontcolor, V.color),996 I.labelBgColor = (0,997 h.pluck)(o.labelbgcolor, V.bgColor) || "",998 I.labelBorderColor = (0,999 h.pluck)(o.labelbordercolor, V.borderColor) || "",1000 I.connectorColor = (0,1001 h.pluck)(o.labelconnectorcolor, T.connectorColor),1002 I.connectorAlpha = (0,1003 h.pluck)(o.labelconnectoralpha, T.connectorAlpha),1004 I.hoverBorderThickness = (0,1005 h.pluckNumber)(o.borderhoverthickness, o.hoverborderthickness, T.hoverBorderThickness),1006 I.hoverBorderColor = (0,1007 h.pluck)(o.borderhovercolor, o.hoverbordercolor, T.hoverBorderColor, I.borderColor),1008 I.hoverBorderAlpha = (0,1009 h.pluck)(o.borderhoveralpha, o.hoverborderalpha, T.hoverBorderAlpha, I.borderAlpha),1010 I.connectorThickness = (0,1011 h.pluckNumber)(o.labelconnectorthickness, T.connectorThickness),1012 I.origConnectorThickness = I.connectorThickness,1013 I.borderThickness = z,1014 I.link = o.link,1015 I.isVisible = !0,1016 I.id = e,1017 I.originalId = o.origId,1018 null !== B && (r = J && J.getColor(B)) && !r.outOfRange && (C = r.code,1019 r.oriAlpha !== a && (y = r.oriAlpha + "")),1020 (0,1021 h.pluck)(o.color, o.alpha, o.angle, o.ratio) !== a ? (s = (0,1022 h.pluck)(o.color, C, T.fillColor),1023 c = (0,1024 h.pluck)(o.alpha, y, T.fillAlpha),1025 d = (0,1026 h.pluck)(o.angle, T.fillAngle),1027 u = (0,1028 h.pluck)(o.ratio, T.fillRatio),1029 p = F({1030 color: s,1031 alpha: c,1032 angle: d,1033 ratio: u1034 })) : (k = F({1035 color: (0,1036 h.pluck)(C, T.fillColor),1037 alpha: (0,1038 h.pluck)(y, T.fillAlpha),1039 angle: (0,1040 h.pluck)(T.fillAngle),1041 ratio: (0,1042 h.pluck)(T.fillRatio)1043 }),1044 b = F({1045 color: (0,1046 h.pluck)(T.nullEntityColor),1047 alpha: (0,1048 h.pluck)(T.nullEntityAlpha),1049 angle: (0,1050 h.pluck)(T.nullEntityAngle),1051 ratio: (0,1052 h.pluck)(T.nullEntityRatio)1053 }),1054 s = (p = null === B ? b : k).FCcolor.color,1055 c = p.FCcolor.alpha,1056 d = p.FCcolor.angle,1057 u = p.FCcolor.ratio),1058 "" === G && (S.showTooltip = 0),1059 I.visibleEntityAttr = {1060 stroke: (0,1061 h.convertColor)(H, W),1062 fill: (I.fillColor = p).toString(),1063 "fill-opacity": c / 1001064 },1065 x = c.split(","),1066 I.alphaArr = x,1067 Y && ((0,1068 h.pluck)(o.fillhovercolor, o.fillhoveralpha, o.fillhoverangle, o.fillhoverratio, o.hoverfillcolor, o.hoverfillalpha, o.hoverfillratio, o.hoverfillangle) !== a ? (s = (0,1069 h.pluck)(o.fillhovercolor, o.hoverfillcolor, T.hoverFillColor),1070 c = (0,1071 h.pluck)(o.fillhoveralpha, o.hoverfillalpha, T.hoverFillAlpha),1072 d = (0,1073 h.pluck)(o.fillhoverangle, o.hoverfillangle, T.hoverFillAngle),1074 u = (0,1075 h.pluck)(o.fillhoverratio, o.hoverfillratio, T.hoverFillRatio),1076 v = F({1077 color: s,1078 alpha: c,1079 angle: d,1080 ratio: u1081 })) : (T.hoverColorObject || (T.hoverColorObject = F({1082 color: T.hoverFillColor,1083 alpha: T.hoverFillAlpha,1084 angle: T.hoverFillAngle,1085 ratio: T.hoverFillRatio1086 })),1087 v = T.hoverColorObject),1088 I.hoverColor = v),1089 !M && (M = t.labelConfig = {}),1090 g = I.fontColor,1091 f = I.fontFamily,1092 m = I.fontBold,1093 G = I.toolText,1094 n = I.link,1095 K ? (l = K[0],1096 i = K[1]) : (l = "center",1097 i = "middle"),1098 M.align = l,1099 M.vAlign = i,1100 M.fontColor = g,1101 M.bgColor = I.labelBgColor,1102 M.borderColor = I.labelBorderColor,1103 M.fontFamily = f,1104 M.fontBold = m,1105 M.toolText = G,1106 M.link = n,1107 "object" == typeof I.options)1108 for (w = I.entityLabels = I.entityLabels || [],1109 L = (E = I.labels || []).length; L--; )1110 w[L] || (w[L] = {1111 config: {}1112 }),1113 M = w[L].config,1114 (K = E[L].labelAlignment) ? (l = K[0],1115 i = K[1]) : (l = "center",1116 i = "middle"),1117 M.align = l,1118 M.vAlign = i,1119 M.displayValue = this.getDisplayValue(t, E[L], I.options.isDataEnabled, !L, o),1120 M.toolText = G,1121 M.align = l,1122 M.vAlign = i,1123 M.bgColor = I.labelBgColor,1124 M.borderColor = I.labelBorderColor,1125 M.fontColor = g,1126 M.fontFamily = f,1127 M.fontBold = m,1128 M.toolText = G;1129 else1130 A = {1131 shortText: I.shortLabel,1132 text: I.label1133 },1134 M.displayValue = this.getDisplayValue(t, A, !0, !0, o)1135 }1136 ,1137 o.getDisplayValue = function(e, t, o, r, n) {1138 var l, i = this.getFromEnv("chart").config.entityOpts, s = e.config, c = s.cleanValue, d = s.formattedValue, u = i.labelSepChar;1139 return o ? r && "undefined" != typeof n.displayvalue ? l = n.displayvalue : (l = (0,1140 h.pluck)(i.includeNameInLabels ? i.useShortName ? t.shortText : t.text : ""),1141 i.includeValueInLabels && null !== c && (l = l === a ? d : l + u + d)) : l = s.label,1142 l1143 }1144 ,1145 t._sanitizeEntityOptions = function(e) {1146 return delete e.outlines,1147 delete e.label,1148 delete e.shortlabel,1149 delete e.labelposition,1150 delete e.labelalignment,1151 delete e.labelconnectors,1152 e1153 }1154 ,1155 o._redefineEntities = function(e) {1156 var t, o, r, a, n, l, i, s, c, d, u, p, g = this.config, f = {}, m = {}, b = this.getFromEnv("chart").config.entities, k = g.useSNameAsId, v = 0;1157 for (t = e.length; t--; )1158 if (r = (o = e[t]).internalid,1159 a = o.newid ? o.newid : r,1160 n = o.sname,1161 l = o.lname,1162 p = b[r],1163 r = (0,1164 h.trimString)(r),1165 a = (a = (0,1166 h.trimString)(a)) && a.toLowerCase(),1167 p) {1168 for (u in f[a] = s = {1169 origId: r1170 },1171 m[r] = !0,1172 p)1173 s[u] = p[u];1174 s.shortLabel = n || p.shortLabel,1175 s.label = l || p.label,1176 s.showhovereffect = o.showhovereffect,1177 s.fillhovercolor = o.fillhovercolor,1178 s.fillhoveralpha = o.fillhoveralpha,1179 s.fillhoverangle = o.fillhoverangle,1180 s.fillhoverratio = o.fillhoverratio,1181 s.borderhoverthickness = o.borderhoverthickness1182 }1183 for (i in (d = this.components.data) || (d = this.components.data = {}),1184 f)1185 d[i = i.toLowerCase()] || (d[i] = {1186 config: {}1187 }),1188 d[i].config = f[i],1189 v += 1;1190 for (i in c = d,1191 b)1192 if (s = b[i],1193 !m[i = (0,1194 h.trimString)(i)]) {1195 for (u in k ? ((p = c[s.shortLabel.toLowerCase()]) || (p = c[s.shortLabel.toLowerCase()] = {}),1196 p.config = {},1197 p.origId = s.shortLabel) : ((p = c[i.toLowerCase()]) || (p = c[i.toLowerCase()] = {}),1198 p.config = {},1199 p.config.origId = i),1200 s)1201 p.config[u] = s[u];1202 v += 11203 }1204 g.entityCount = v1205 }1206 ,1207 o.draw = function() {1208 var e = this.config1209 , t = this.getFromEnv("chart")1210 , o = h.hasSVG ? 200 : 10;1211 this.createContainer(),1212 this.config.ready = !1,1213 e.BATCH_SIZE = o,1214 e.labelBatchSize = h.hasSVG ? 200 : 20,1215 this._batchRender()(0),1216 t.config.entityFlag = !0,1217 t.checkComplete()1218 }1219 ,1220 o._batchRender = function() {1221 var e, t, o, r, n, l = this, i = l.config, s = l.getFromEnv("chart").config.entities.firstEntity, c = l.components.data, h = i.BATCH_SIZE, u = i.entityKeys = s ? l._getKeys(s, c) : Object.keys(c), p = i.entityLength = u.length;1222 return function g(i) {1223 for (e = i,1224 o = 0; u[e] !== a; )1225 if (t = c[u[e]],1226 n = l.drawEntity(t, h),1227 o += n,1228 t.config.drawn && ((r = e === p - 1 ? t : c[u[e - 1]]) && (r.config.drawn = !1,1229 r.config.outlineStartIndex = a),1230 e++),1231 o >= h) {1232 l.addJob("entityDraw", g.bind(l, e), d.priorityList.entitydraw);1233 break1234 }1235 e === p && (l._addEventListenersToEntities(0),1236 l.initComplete())1237 }1238 }1239 ,1240 o._addEventListenersToEntities = function(e) {1241 var t, o, r, a = this.components.data, n = this.config, l = n.BATCH_SIZE, i = n.entityKeys, s = n.entityLength, c = 0;1242 for (t = e; t < s; t++)1243 if ((r = (o = a[i[t]]).config.options) && !1 === r.isDataEnabled || this.addMouseGestures(o),1244 ++c === l) {1245 this.addJob("_addEventListenersToEntities", this._addEventListenersToEntities.bind(this, t), d.priorityList.entitydraw);1246 break1247 }1248 }1249 ,1250 t._getKeys = function(e, t) {1251 for (var o = [e], r = e; t[r]; )1252 r = t[r].nextId,1253 o.push(r);1254 return o1255 }1256 ,1257 o._getDefaultTooltip = function(e, t) {1258 var o, r, n = e.config.cleanValue, l = e.config.formattedValue, i = this.getFromEnv("chart").config.entityOpts;1259 if ("object" == typeof e.config.options) {1260 if (!(r = t.labels && t.labels[0]))1261 return a;1262 o = (i.useSNameInTooltip ? r.shortText : r.text) + (null === n ? "" : i.tooltipSepChar + l)1263 } else1264 o = (i.useSNameInTooltip ? t.shortLabel : t.label) + (null === n ? "" : i.tooltipSepChar + l);1265 return o1266 }1267 ,1268 o.drawEntity = function(e, t) {1269 var o, r, n, l, i, s, c, d, u = this.getFromEnv("chart"), p = u.getFromEnv("animationManager"), g = e.config, m = h.hasSVG || !f ? "litepath" : "path", b = u.config.entityOpts, k = g.outlines, v = this.getFromEnv("toolTipController"), C = this.getLinkedParent().getChildContainer("plot"), y = this.getLinkedParent().getChildContainer("plotShadow"), F = g.toolText, A = b.shadow, E = [], L = {};1270 if (this._configureEntityDrawingParams(e),1271 r = (g = e.config).visibleEntityAttr,1272 d = g.shadowOptions,1273 o = g.outlineStartIndex === a ? k.length : g.outlineStartIndex,1274 e.graphics || (e.graphics = {}),1275 s = 0,1276 E = g.outlinePath || (g.outlinePath = []),1277 c = g.customStrokeWidthModifier,1278 "object" == typeof g.options) {1279 for (; o--; )1280 if (E = k[o].outline,1281 n = !0 === g.options.isDataEnabled ? r : (0,1282 h.extend2)((0,1283 h.extend2)({}, r), w(k[o].style, c)),1284 (l = e.graphics.outlines) || (l = e.graphics.outlines = []),1285 !l[o] && (l[o] = {}),1286 i = l[o].outline,1287 n[m] = E,1288 (i = l[o].outline = p.setAnimation({1289 el: m,1290 container: C,1291 attr: n,1292 component: this,1293 label: "path"1294 })).shadow(!!A && d, y),1295 v.enableToolTip(i, F),1296 s++,1297 g.outlineStartIndex = o,1298 s === t)1299 return s;1300 return g.drawn = !0,1301 s1302 }1303 for (; o--; )1304 if (E = k[o].concat(E),1305 s++,1306 g.outlineStartIndex = o,1307 s === t)1308 return g.outlinePath = E,1309 s;1310 return !e.graphics.outlines && (r[m] = E),1311 Object.assign(L, r, e.hidden && {1312 "fill-opacity": 01313 } || {}),1314 e.graphics.outlines = p.setAnimation({1315 el: e.graphics.outlines || m,1316 container: C,1317 attr: L,1318 component: this,1319 label: "path"1320 }),1321 g.drawn = !0,1322 g.outlineStartIndex = 0,1323 g.outlinePath = [],1324 e.graphics.outlines.shadow(!!A && d, y),1325 v.enableToolTip(e.graphics.outlines, F),1326 s1327 }1328 ,1329 o._configureEntityDrawingParams = function(e) {1330 var t, o = this.getFromEnv("chart"), r = e.config, a = o.config.entityOpts, n = o.config.scalingParams, l = !f || h.hasSVG, i = n.scaleFactor, s = n.strokeWidth, c = (l ? o.baseScaleFactor : 1) * s, d = 1 === a.scaleBorder, u = r.borderThickness, p = r.alphaArr, g = r.origConnectorThickness, b = r.hoverBorderThickness, v = r.visibleEntityAttr, C = v["fill-opacity"];1331 r.shadowOptions = {1332 scalefactor: [i, i * o.config.baseScaleFactor],1333 opacity: k.apply(m, p) / 100,1334 useFilter: 01335 },1336 r.fillOpacity = e.hidden ? 0 : C,1337 l ? (u = r.entityBorderThickness = d ? u * c : u / i,1338 g /= i,1339 t = d ? i : n.sFactor,1340 b && (b = r.hoverBorderThickness = d ? b * c : b / i)) : (u = d ? u * s : u,1341 t = d ? n.scaleFactor : o.baseScaleFactor),1342 r.entityBorderThickness = u,1343 r.connectorThickness = g,1344 r.customStrokeWidthModifier = t,1345 v["stroke-width"] = u,1346 v.transform = h.hasSVG || !f ? "" : n.transformStr1347 }1348 ,1349 o.drawLabels = function(e) {1350 var t, o, r, a, n = e, l = this.getFromEnv("chart"), s = this.config, c = s.labelBatchSize, h = s.entityLength, d = [], u = l.getChildContainer("upperAnnotationGroup"), p = 0, g = this.getChildren("mapLabelAnnotations") && this.getChildren("mapLabelAnnotations")[p], f = 0, m = 0, b = l.config.annotationConfig;1351 for (t in g || (a = new i["default"],1352 this.attachChild(a, "mapLabelAnnotations"),1353 (g = this.getChildren("mapLabelAnnotations")[p]).addCustomGroup(u)),1354 g.destroy(),1355 g._renderer && (g._renderer = null),1356 b.showbelow = 0,1357 n) {1358 if (this.drawLabel(n[t], d),1359 ++f === c) {1360 for (o = 0; o < d.length; o++)1361 d[o].animationLabel = "entityLabel";1362 for (r = g.addGroup(Object.assign(b, {1363 id: "entityLabels" + p,1364 items: d,1365 animationLabel: "entityLabelGroup"1366 }), this),1367 o = 0; o < r.items.length; o++)1368 r.items[o].addEventListener("fc-mouseover", d[o].onmouseover),1369 r.items[o].addEventListener("fc-mouseout", d[o].onmouseout),1370 r.items[o].addEventListener("fc-click", d[o].onclick);1371 p++,1372 (g = this.getChildren("mapLabelAnnotations") && this.getChildren("mapLabelAnnotations")[p]) || (a = new i["default"],1373 this.attachChild(a, "mapLabelAnnotations"),1374 (g = this.getChildren("mapLabelAnnotations")[p]).addCustomGroup(u)),1375 g.destroy(),1376 g._renderer && (g._renderer = null),1377 f = 0,1378 d = []1379 } else if (m === h - 1) {1380 for (o = 0; o < d.length; o++)1381 d[o].animationLabel = "entityLabel";1382 for (r = g.addGroup(Object.assign(b, {1383 id: "entityLabels" + p,1384 items: d,1385 animationLabel: "entityLabelGroup"1386 }), this),1387 o = 0; o < r.items.length; o++)1388 r.items[o].addEventListener("fc-mouseover", d[o].onmouseover),1389 r.items[o].addEventListener("fc-mouseout", d[o].onmouseout),1390 r.items[o].addEventListener("fc-click", d[o].onclick)1391 }1392 m++1393 }1394 this.drawLabelConnFn(0)1395 }1396 ,1397 o.drawLabelConnFn = function(e) {1398 var t, o, r, a, n, l = this.config, i = this.components.data, s = l.BATCH_SIZE, c = l.entityKeys, h = c.length, u = 0;1399 for (o = e; o < h; o++) {1400 if ("object" == typeof (a = (n = i[c[o]]).config).options)1401 for (t = (r = a.labels) && r.length || 0; t--; )1402 r[t].labelConnectors && (this.drawLabelConnectors(n, r[t].labelConnectors, this),1403 u++);1404 else1405 a.labelConnectors && (this.drawLabelConnectors(n, a.labelConnectors, this),1406 u++);1407 if (u === s) {1408 this.addJob("drawLabelConnectors", this.drawLabelConnFn.bind(this, o), d.priorityList.entitydraw);1409 break1410 }1411 }1412 }1413 ,1414 o._getLabelObject = function(e, t, o) {1415 var r, n, l, i, s, c, d, u, p, g, f, m = this, b = m.getFromEnv("chart"), k = m.getFromEnv("chart-attrib"), v = e.config, C = b.config.scalingParams, y = e.graphics && e.graphics.outlines, F = v.fontSize, w = v.labelPadding, L = v.labels || [], x = v.entityLabels || [];1416 return t !== a ? (f = L[t],1417 i = (r = x[t].config).style = f.style,1418 n = f.labelPosition,1419 l = f.labelAlignment) : (r = e.labelConfig,1420 n = v.labelPosition,1421 l = v.labelAlignment),1422 n ? (s = n[0],1423 c = n[1]) : (s = (d = y.getBBox()).x + d.width / 2,1424 c = d.y + d.height / 2),1425 l ? ("right" === (u = l[0]) ? s -= w : "left" === u && (s += w),1426 "top" === (p = l[1]) ? c -= w : "bottom" === p && (c += w)) : (u = "center",1427 p = "middle"),1428 g = parseFloat(F) / C.sFactor,1429 !o && i && (i.color && (r.fontColor = i.color),1430 i["font-size"] && (g = parseFloat(i["font-size"]) / C.sFactor),1431 i["font-family"] && (r.fontFamily = i["font-family"]),1432 i["font-weight"] !== a && (r.fontBold = "bold" === i["font-weight"])),1433 r.x = s.toString(),1434 r.y = c.toString(),1435 r.wrap = 1,1436 r.type = "text",1437 r.fontSize = g,1438 {1439 x: s.toString(),1440 y: c.toString(),1441 wrapwidth: A[u](void 0, s + void 0) - w,1442 wrapheight: E[p](void 0, c + void 0) - w,1443 wrap: 1,1444 type: "text",1445 align: r.align,1446 valign: r.vAlign,1447 text: r.displayValue,1448 tooltext: r.toolText,1449 outlineText: (0,1450 h.pluckNumber)(k.textoutline, 0),1451 css: r.link !== a && {1452 cursor: "pointer",1453 _cursor: "hand"1454 },1455 bgcolor: r.bgColor,1456 bordercolor: r.borderColor,1457 fillcolor: r.fontColor,1458 fontsize: r.fontSize,1459 font: r.fontFamily,1460 bold: r.fontBold,1461 onclick: function(t) {1462 var o, r, a = e.graphics.outlines;1463 if (a instanceof Array)1464 for (o = 0,1465 r = a.length; o < r; o++)1466 m.entityClick(a[o].outline, t);1467 else1468 m.entityClick(a, t)1469 },1470 onmouseover: function(t) {1471 var o, r, a = e.graphics.outlines;1472 if (a instanceof Array)1473 for (o = 0,1474 r = a.length; o < r; o++)1475 m.entityRollOver(a[o].outline, t);1476 else1477 m.entityRollOver(a, t)1478 },1479 onmouseout: function(t) {1480 var o, r, a = e.graphics.outlines;1481 if (a instanceof Array)1482 for (o = 0,1483 r = a.length; o < r; o++)1484 m.entityRollOut(a[o].outline, t);1485 else1486 m.entityRollOut(a, t)1487 },1488 ontouchstart: function(t) {1489 var o, r, a = e.graphics.outlines;1490 if (a instanceof Array)1491 for (o = 0,1492 r = a.length; o < r; o++)1493 m.entityRollOver(a[o].outline, t);1494 else1495 m.entityRollOver(a, t);1496 m.entityRollOver(a, t)1497 }1498 }1499 }1500 ,1501 o.drawLabel = function(e, t) {1502 var o, r, n, l = e.config;1503 if (l.showLabel)1504 if ("object" == typeof l.options)1505 for (r = (n = l.labels) && n.length || 0,1506 o = l.options.isDataEnabled; r--; )1507 t.push(this._getLabelObject(e, r, o, !r));1508 else1509 t.push(this._getLabelObject(e, a, !0, !0))1510 }1511 ,1512 o.drawLabelConnectors = function(e, t, o) {1513 for (var r, a, n = e.config, l = this.getFromEnv("chart"), i = l.getFromEnv("animationManager"), s = l.config.scalingParams, c = o.getLinkedParent().getChildContainer("plot"), d = t && t.length || 0, u = n.showLabel; d--; )1514 a = t[d],1515 r = e.graphics.connectorElem,1516 u ? e.graphics.connectorElem = r = i.setAnimation({1517 el: e.graphics.connectorElem || "path",1518 attr: {1519 path: a,1520 opacity: 1,1521 transform: h.hasSVG || !f ? "" : s.transformStr,1522 stroke: (0,1523 h.convertColor)(n.connectorColor, n.connectorAlpha),1524 "shape-rendering": "crisp",1525 "stroke-width": n.connectorThickness1526 },1527 container: c,1528 component: this,1529 label: "labelConnectors"1530 }) : r && r.hide()1531 }1532 ,1533 o.entityClick = function(e, t) {1534 var o = e.node.__entity1535 , r = this.getFromEnv("chart")1536 , n = r.config.scalingParams1537 , l = e.getBBox()1538 , i = r.getFromEnv("linkClickFN")1539 , s = o.config1540 , c = s.link;1541 l.width = l.width * n.scaleFactor,1542 l.height = l.height * n.scaleFactor,1543 l.x = l.x * n.scaleFactor + n.translateX,1544 l.y = l.y * n.scaleFactor + n.translateY,1545 l.x2 = l.x + l.width,1546 l.y2 = l.y + l.height,1547 r.fireChartInstanceEvent("entityclick", s.eventArgs, t),1548 c !== a && i.call({1549 link: c,1550 entity: o,1551 entityBox: l1552 }, !0)1553 }1554 ,1555 o.entityRollOver = function(e, t) {1556 var o = e.node.__entity1557 , r = o.config1558 , a = this.getFromEnv("chart")1559 , n = a.getFromEnv("animationManager")1560 , l = r.hoverAttr;1561 a.plotEventHandler(e, t, "entityRollOver"),1562 e.data("hovered") ? clearTimeout(o.config.timer) : r.useHoverColor && r.isVisible && !o.hidden && l && (a.config.hoverEntity = e,1563 n.setAnimation({1564 el: e,1565 attr: l,1566 component: this,1567 state: "updating",1568 label: "path"1569 }),1570 e.data("hovered", !0))1571 }1572 ,1573 o.entityRollOut = function(e, t) {1574 var o = e.node.__entity1575 , r = this1576 , a = r.getFromEnv("chart")1577 , n = a.getFromEnv("animationManager")1578 , l = o.config.revertAttr;1579 a.plotEventHandler(e, t, "entityRollOut"),1580 o.config.timer = setTimeout((function() {1581 !0 !== o.hidden && l && (n.setAnimation({1582 el: e,1583 attr: l,1584 component: r,1585 state: "updating",1586 label: "path"1587 }),1588 e.data("hovered", !1))1589 }1590 ), 100)1591 }1592 ,1593 o.addMouseGestures = function(e) {1594 var t, o, r, n, l = e.config, i = l.originalId, s = this, c = e.graphics, d = l.useHoverColor, u = l.hoverBorderThickness, p = l.hoverBorderColor, g = l.hoverBorderAlpha, f = l.entityBorderThickness, m = l.borderColor, b = l.borderAlpha, k = l.link, v = l.visibleEntityAttr, C = "groupId" + i, y = function(t) {1595 k !== a && t.css({1596 cursor: "pointer",1597 _cursor: "hand"1598 }),1599 t.data("eventArgs", l.eventArgs),1600 t.data("groupId", C),1601 t.node.__entity = e,1602 e._listenersBinded || t.on("fc-click", s.entityClick.bind(s, t)).hover(s.entityRollOver.bind(s, t), s.entityRollOut.bind(s, t))1603 };1604 for (t in l.eventArgs = {1605 value: l.cleanValue,1606 label: l.label,1607 shortLabel: l.shortLabel,1608 originalId: l.origId,1609 id: l.id || l.origId1610 },1611 l.legacyEventArgs = {1612 value: l.value,1613 lName: l.label,1614 sName: l.shortLabel,1615 id: l.originalId || l.id1616 },1617 d && (l.hoverAttr = {1618 fill: (0,1619 h.toRaphaelColor)(l.hoverColor)1620 },1621 l.revertAttr = {1622 fill: (0,1623 h.toRaphaelColor)(l.fillColor),1624 stroke: (0,1625 h.toRaphaelColor)(l.borderColor, l.borderAlpha)1626 },1627 l.revertAttr["fill-opacity"] = v["fill-opacity"],1628 u !== f && (l.hoverAttr["stroke-width"] = (0,1629 h.pluckNumber)(u, f),1630 l.revertAttr["stroke-width"] = f),1631 p === m && g === b || (l.hoverAttr.stroke = (0,1632 h.convertColor)(p, g),1633 l.revertAttr.stroke = (0,1634 h.convertColor)(m, b))),1635 c)1636 if (c.hasOwnProperty(t))1637 if (c[t]instanceof Array) {1638 for (o = 0,1639 r = (n = c[t]).length; o < r; o++)1640 y(n[o].outline);1641 e._listenersBinded = !01642 } else1643 y(c[t]),1644 e._listenersBinded = !01645 }1646 ,1647 o.getDataLimits = function() {1648 var e = this.config;1649 return {1650 max: e.max,1651 min: e.min1652 }1653 }1654 ,1655 o.createContainer = function() {1656 var e = this.getLinkedParent()1657 , t = this.getFromEnv("animationManager")1658 , o = e.getChildContainer("layer0");1659 !this.getChildContainer("abovePlotGroup") && this.addChildContainer("abovePlotGroup", t.setAnimation({1660 el: "group",1661 attr: {1662 name: "abovePlotGroup",1663 opacity: 11664 },1665 container: o,1666 component: this,1667 label: "group"1668 })),1669 !this.getChildContainer("belowPlotGroup") && this.addChildContainer("belowPlotGroup", t.setAnimation({1670 el: "group",1671 attr: {1672 name: "belowPlotGroup",1673 opacity: 11674 },1675 container: o,1676 component: this,1677 label: "group"1678 }))1679 }1680 ,1681 o.initComplete = function() {1682 var e = this.getFromEnv("chart")1683 , t = this.components.data;1684 this.drawLabels(t),1685 e.config.entitiesReady = !0,1686 e.checkComplete()1687 }1688 ,1689 t1690 }(l.ComponentInterface);1691 t["default"] = x1692 },1693 1197: function(e, t, o) {1694 "use strict";1695 t.__esModule = !0,1696 t["default"] = void 0;1697 var r = [{1698 initialAttr: function() {1699 return {1700 opacity: 01701 }1702 },1703 finalAttr: function() {1704 return {1705 opacity: 11706 }1707 }1708 }]1709 , a = function() {1710 return r[0].slot = "plot",1711 r1712 }1713 , n = function(e) {1714 return [{1715 finalAttr: function() {1716 return e.finalAttr1717 }1718 }]1719 }1720 , l = function() {1721 return r[0].slot = "final",1722 r1723 }1724 , i = function() {1725 return [{1726 initialAttr: {1727 opacity: 01728 },1729 finalAttr: {1730 opacity: 11731 },1732 slot: "final"1733 }]1734 }1735 , s = function() {1736 return r[0].slot = "final",1737 r1738 }1739 , c = function(e) {1740 return [{1741 finalAttr: function() {1742 return e.finalAttr1743 }1744 }]1745 }1746 , h = function(e) {1747 return [{1748 initialAttr: function() {1749 return Object.assign({1750 opacity: 01751 }, e.attr)1752 },1753 finalAttr: function() {1754 return e.attr1755 },1756 slot: "plot"1757 }]1758 }1759 , d = function(e) {1760 return [{1761 initialAttr: function() {1762 return Object.assign({1763 opacity: 01764 }, e.attr)1765 },1766 finalAttr: function() {1767 return e.attr1768 },1769 slot: "plot"1770 }]1771 }1772 , u = {1773 "initial.dataset.entities": function() {1774 return {1775 "path.appearing": a,1776 "path.updating": n,1777 "labelConnectors.appearing": l,1778 "labelConnectors.updating": null,1779 "entityLabel.appearing": i,1780 "*": null1781 }1782 },1783 "initial.dataset.markers": function() {1784 return {1785 markers: null,1786 "markerItem.appearing": s,1787 "markerItem.updating": c1788 }1789 },1790 "initial.group.mapGroup": function() {1791 return {1792 "group.appearing": h,1793 "group.updating": d,1794 "*": null1795 }1796 }1797 };1798 t["default"] = u1799 },1800 1198: function(e, t, o) {1801 "use strict";1802 var r = o(187);1803 t.__esModule = !0,1804 t["default"] = void 0;1805 var a, n = r(o(207)), l = r(o(1196)), i = r(o(617)), s = r(o(269)), c = o(201), h = r(o(1197)), d = o(193), u = o(200), p = o(205), g = window.Math, f = g.min, m = g.max, b = function(e) {1806 var t, o = this.getFromEnv("chart"), r = this.getChildren("mapAnnotations")[0], n = e.markerShape, l = n.groupConfig, i = n.data("unfilteredConfig"), s = i._markerEventArgs, c = e.config;1807 i.hovereffect && ("circle" === n.config.type && (t = (0,1808 d.extend2)({1809 fillcolor: i.hoverfillcolor,1810 fillalpha: i.hoverfillalpha,1811 fillangle: i.hoverfillangle,1812 fillratio: i.hoverfillratio,1813 gradientUnits: "objectBoundingBox",1814 radialGradient: 11815 }, i._hoverattrs)),1816 t = (0,1817 d.extend2)({}, i._hoverattrs),1818 r.update(n.getId(), t)),1819 s || (s = i._markerEventArgs = {1820 x: +i.x,1821 y: +i.y,1822 scaledX: i.x * l.scaleX,1823 scaledY: i.y * l.scaleY,1824 chartX: i.x * l.scaleX + l.grpXShift,1825 chartY: i.y * l.scaleY + l.grpYShift,1826 id: i.id,1827 label: i.label1828 }),1829 (0,1830 u.raiseEventGroup)(c.options.id, "markerRollOver", s, o.getFromEnv("chartInstance"), c, a, a, a)1831 }, k = function(e) {1832 var t, o = this.getFromEnv("chart"), r = this.getChildren("mapAnnotations")[0], n = e.markerShape, l = n.getElement(), i = e.config, s = n.data("unfilteredConfig");1833 l && s.hovereffect && ("circle" === n.config.type && (t = (0,1834 d.extend2)({1835 fillcolor: n.config.rawColor,1836 fillalpha: n.config.rawAlpha,1837 fillangle: n.config.rawAngle,1838 fillratio: n.config.rawRatio,1839 gradientUnits: "objectBoundingBox",1840 radialGradient: "radial" === n.config.rawFillPattern1841 }, s._defaultattrs)),1842 t = (0,1843 d.extend2)({}, s._defaultattrs),1844 r.update(n.getId(), t)),1845 (0,1846 u.raiseEventGroup)(i.id, "markerRollOut", s._markerEventArgs, o.getFromEnv("chartInstance"), a, a, a)1847 }, v = function(e, t) {1848 var o = t.config.options1849 , r = this.getFromEnv("chart")1850 , a = t.markerShape1851 , n = a.config1852 , l = a.groupConfig1853 , i = this.getFromEnv("linkClickFN")1854 , s = a.config.link1855 , c = n._markerEventArgs;1856 s && i && i.call({1857 link: s1858 }, !0),1859 c || (c = n._markerEventArgs = {1860 x: +n.x,1861 y: +n.y,1862 scaledX: n.x * l.scaleX,1863 scaledY: n.y * l.scaleY,1864 chartX: n.x * l.scaleX + l.grpXShift,1865 chartY: n.y * l.scaleY + l.grpYShift,1866 id: o.id,1867 label: o.label1868 }),1869 r.fireChartInstanceEvent("markerClick", c, e)1870 }, C = function(e, t) {1871 var o, r = e && e.length || !1, n = t || "id", l = {};1872 if (!e)1873 return e;1874 for (; r--; )1875 (o = e[r])[n] !== a && (l[o[n].toLowerCase()] = o);1876 return l1877 }, y = function(e, t, o) {1878 return {1879 x: e.toString(),1880 y: (t - o).toString(),1881 align: "center",1882 valign: "top"1883 }1884 }, F = function(e, t, o) {1885 return {1886 x: (e - o).toString(),1887 y: t.toString(),1888 align: "right",1889 valign: "middle"1890 }1891 }, w = function(e, t, o) {1892 return {1893 x: (e + o).toString(),1894 y: t.toString(),1895 align: "left",1896 valign: "middle"1897 }1898 }, A = function(e, t, o) {1899 return {1900 x: e.toString(),1901 y: (t + o).toString(),1902 align: "center",1903 valign: "bottom"1904 }1905 }, E = function(e, t) {1906 return {1907 x: e.toString(),1908 y: t.toString(),1909 align: "center",1910 valign: "middle"1911 }1912 }, L = function() {1913 return arguments[1]1914 }, x = function(e, t) {1915 return e - t1916 }, N = function(e, t) {1917 return 2 * f(t, e - t)1918 }, S = function() {1919 return arguments[1]1920 }, _ = function(e, t) {1921 return 2 * f(t, e - t)1922 }, T = function(e, t) {1923 return e - t1924 };1925 (0,1926 c.addDep)({1927 name: "mapsAnimation",1928 type: "animationRule",1929 extension: h["default"]1930 });1931 var I = function(e) {1932 function t() {1933 var t;1934 return (t = e.call(this) || this).components = {},1935 t.getLabelAlignment = {1936 top: y,1937 left: F,1938 right: w,1939 bottom: A,1940 center: E1941 },1942 t.getWrapWidth = {1943 right: L,1944 left: x,1945 center: N1946 },1947 t.getWrapHeight = {1948 top: S,1949 middle: _,1950 bottom: T1951 },1952 t.hoverFn = b,1953 t.hoverOutFn = k,1954 t.clickFn = v,1955 t1956 }1957 (0,1958 n["default"])(t, e);1959 var o = t.prototype;1960 return o.getName = function() {1961 return "markers"1962 }1963 ,1964 o.getType = function() {1965 return "dataset"1966 }1967 ,1968 o.configureAttributes = function(e) {1969 if (e) {1970 this.JSONData = e;1971 var t, o = this.getChildren("mapAnnotations") && this.getChildren("mapAnnotations")[0], r = this.getFromEnv("chart").config.markerOpts;1972 o || (t = new s["default"],1973 this.attachChild(t, "mapAnnotations"),1974 o = this.getChildren("mapAnnotations")[0]),1975 o.destroy(),1976 this.calculateDataLimits(),1977 r.dataEnabled ? this._parseMarkers() : this.defineMarkersNShapes(),1978 this.configureConnectors()1979 }1980 }1981 ,1982 o.calculateMarkerRadiusLimits = function() {1983 if (this.JSONData) {1984 var e = this.JSONData1985 , o = this.config1986 , r = this.getFromEnv("chart")1987 , a = r.config.width1988 , n = r.config.height1989 , l = e.markermaxradius1990 , i = e.markerminradius1991 , s = t.getMarkerRadiusLimits(a, n, l, i);1992 o.minRadius = s.min,1993 o.maxRadius = s.max1994 }1995 }1996 ,1997 o.calculateDataLimits = function() {1998 var e, t, o, r, a = this.getFromEnv("chart"), n = this.config, l = (a.jsonData.markers || {}).items || [], i = this.getFromEnv("number-formatter"), s = +Infinity, c = -Infinity;1999 for (r = 0,2000 t = l.length; r < t; r++)2001 o = l[r].value,2002 null !== (e = i.getCleanValue(o)) && (s = f(e, s),2003 c = m(e, c));2004 n.min = s,2005 n.max = c2006 }2007 ,2008 o._parseMarkers = function() {2009 var e, o, r, n, l, i, s, c, h = this.getFromEnv("chart"), u = h.jsonData.markers, p = u.items, g = u.shapes, f = h.config.markerOpts, m = f.dataLabels.style, b = this.getFromEnv("number-formatter"), k = this.components.shapeObjs = {}, v = this.components.markerObjs = {};2010 if (p && p.length) {2011 if (g && g.length)2012 for (o = g.length; o; o -= 1)2013 (c = (n = g[o - 1]).id.toLowerCase()) && (k[c] = n);2014 for (o = p.length; o--; )2015 (c = (n = p[o]).id && n.id.toLowerCase()) && ((e = n.value) !== a && "" !== e && (e = parseFloat(e)),2016 (l = (r = t._initializeMarkerItem(c, n, null, h)).config.options.shapeid) && "string" == typeof l && (l = l.toLowerCase()),2017 s = (i = r.config).options,2018 i.cleanValue = b.getCleanValue(e),2019 null !== i.cleanValue ? i.formattedValue = b.dataLabels(e) : i.formattedValue = a,2020 i.fillColor = (0,2021 d.pluck)(s.fillcolor, s.color, f.fillColor),2022 i.fillAlpha = (0,2023 d.pluck)(s.fillalpha, s.alpha, f.fillAlpha),2024 i.fillRatio = (0,2025 d.pluck)(s.fillratio, f.fillRatio),2026 i.fillAngle = (0,2027 d.pluck)(s.fillangle, f.fillAngle),2028 i.borderThickness = (0,2029 d.pluckNumber)(s.borderthickness, f.borderThickness),2030 i.borderColor = (0,2031 d.pluck)(s.bordercolor, f.borderColor),2032 i.borderAlpha = (0,2033 d.pluck)(s.borderalpha, f.borderAlpha),2034 i.labelPadding = s.labelpadding || f.labelPadding,2035 i.fontColor = (0,2036 d.pluck)(s.labelcolor, m.fontColor),2037 i.labelBgColor = (0,2038 d.pluck)(s.labelbgcolor, m.labelBgColor) || "",2039 i.labelBorderColor = (0,2040 d.pluck)(s.labelbordercolor, m.labelBorderColor) || "",2041 n.__hideMarker && (r._isHidden = !0),2042 l && (r.shapeObj = k[l]),2043 v[c] = r)2044 }2045 }2046 ,2047 o.defineMarkersNShapes = function() {2048 var e, o, r, n, l, i, s, c, h = this.getFromEnv("chart"), u = h.jsonData.markers, p = u.definition, g = this.getFromEnv("number-formatter"), f = h.config.markerOpts, m = f.dataLabels.style, b = C(p) || {}, k = C(u.application) || {}, v = u.shapes, y = this.components.shapeObjs = this.components.shapeObjs || (this.components.shapeObjs = {}), F = this.components.markerObjs = this.components.markerObjs || (this.components.markerObjs = {}), w = {}, A = {};2049 if (p && p.length) {2050 for (n in y)2051 w[n] = !1;2052 for (n in F)2053 A[n] = !1;2054 if (v && v.length)2055 for (n = v.length; n; n -= 1)2056 (c = (i = v[n - 1]).id.toLowerCase()) && (y[c] = i,2057 w[c] = !0);2058 for (c in b)2059 i = b[c],2060 l = F[c] = t._initializeMarkerItem(c, i, k[c], h),2061 A[c] = !0,2062 s = l.config.options.shapeid,2063 o = l.config,2064 r = i.value,2065 o.cleanValue = g.getCleanValue(r),2066 e = o.options,2067 null !== o.cleanValue ? o.formattedValue = g.dataLabels(r) : o.formattedValue = a,2068 o.fillColor = (0,2069 d.pluck)(e.fillcolor, e.color, f.fillColor),2070 o.fontColor = (0,2071 d.pluck)(e.labelcolor, m.fontColor),2072 o.fillAlpha = (0,2073 d.pluck)(e.fillalpha, e.alpha, f.fillAlpha),2074 o.fillRatio = (0,2075 d.pluck)(e.fillratio, f.fillRatio),2076 o.fillAngle = (0,2077 d.pluck)(e.fillangle, f.fillAngle),2078 o.borderThickness = (0,2079 d.pluckNumber)(e.borderthickness, f.borderThickness),2080 o.borderColor = (0,2081 d.pluck)(e.bordercolor, f.borderColor),2082 o.borderAlpha = (0,2083 d.pluck)(e.borderalpha, f.borderAlpha),2084 o.labelPadding = e.labelpadding || f.labelPadding,2085 o.options.tooltext = (0,2086 d.pluck)(e.tooltext, f.tooltext),2087 o.link = e.link,2088 s && (l.shapeObj = y[s.toLowerCase()]);2089 for (n in w)2090 w[n] || delete y[n];2091 for (n in F)2092 A[n] || delete F[n]2093 }2094 }2095 ,2096 t.getMarkerRadiusLimits = function(e, t, o, r) {2097 var a, n, l = f(e, t), i = .02 * l, s = .07 * l;2098 return a = parseFloat(r),2099 n = parseFloat(o),2100 isNaN(a) || isNaN(n) ? isNaN(a) ? isNaN(n) ? {2101 min: i,2102 max: s2103 } : {2104 min: parseInt(n / 10, 10),2105 max: n2106 } : {2107 min: a,2108 max: 10 * a2109 } : a < n ? {2110 min: a,2111 max: n2112 } : {2113 min: n,2114 max: a2115 }2116 }2117 ,2118 o.getDataLimits = function() {2119 var e = this.config;2120 return {2121 min: e.min,2122 max: e.max2123 }2124 }2125 ,2126 t._initializeMarkerItem = function(e, t, o) {2127 var r, a = {}, n = a.config;2128 return n || (n = a.config = {}),2129 n.id = e,2130 n.definition = t,2131 n.application = o,2132 n.hasValue = null,2133 n.value = null,2134 n.options = null,2135 n.label = null,2136 n.markerShape = null,2137 n.markerLabel = null,2138 n.drawOptions = {2139 shape: null,2140 label: null2141 },2142 n.drawComplete = !1,2143 r = a.config.options = (0,2144 d.extend2)({}, n.definition),2145 n.dataEnabled ? isNaN(r.value) || "" === r.value || (a.value = parseFloat(r.value),2146 a.hasValue = !0) : n.applyAll ? n.options = (0,2147 d.extend2)(r, n.application) : o && (n.options = (0,2148 d.extend2)(r, n.application)),2149 a2150 }2151 ,2152 o.configureConnectors = function() {2153 var e, t, o, r, a, n, l, i, s, c, h, u, p, g, f = this.getFromEnv("chart"), m = this.getChildren("mapAnnotations")[0], b = f.jsonData, k = this.components, v = b.markers || {}, C = v.connector || v.connectors || [], y = k.markerObjs, F = C.length, w = this.components.connectors, A = function(e) {2154 return function(t) {2155 var o = this.data("unfilteredConfig");2156 o.hoverEffect && m.update(this.getId(), o._hoverAttrs),2157 f.fireChartInstanceEvent("connectorrollover", e, t)2158 }2159 }, E = function(e) {2160 return function(t) {2161 var o = this.data("unfilteredConfig");2162 o.hoverEffect && m.update(this.getId(), o._defaultAttrs),2163 f.fireChartInstanceEvent("connectorrollout", e, t)2164 }2165 }, L = function(e) {2166 return function(t) {2167 f.fireChartInstanceEvent("connectorClick", e, t)2168 }2169 }, x = f.config.connectorOpts, N = {};2170 for (w = this.components.connectors = [],2171 g = 0; g < F; g++)2172 ((p = C[g]).from || p.to) && (t = y[p.from.toLowerCase()],2173 o = y[p.to.toLowerCase()],2174 t && o && (r = C[g].label,2175 !(N = w[g]) && (N = w[g] = {}),2176 !N.config && (e = N.config = {}),2177 !N.graphics && (N.graphics = {}),2178 (e = N.config = (0,2179 d.extend2)({}, p)).fromMarker = t,2180 e.toMarker = o,2181 e.link = p.link,2182 e.showTooltip = (0,2183 d.pluckNumber)(p.showtooltip, x.showTooltip),2184 a = e.tooltext = e.showTooltip ? (0,2185 d.pluck)(p.tooltext, x.tooltext) : "",2186 n = e.thickness = (0,2187 d.pluck)(p.thickness, x.thickness),2188 l = e.color = (0,2189 d.pluck)(p.color, x.color),2190 i = e.alpha = (0,2191 d.pluck)(p.alpha, x.alpha),2192 e.hoverEffect = (0,2193 d.pluckNumber)(p.showhovereffect, x.showHoverEffect),2194 s = (0,2195 d.pluck)(p.hovercolor, x.hoverColor, l),2196 c = (0,2197 d.pluck)(p.hoveralpha, x.hoverAlpha, i),2198 h = (0,2199 d.pluck)(p.hoverthickness, x.hoverThickness, n),2200 e.dashed = (0,2201 d.pluck)(p.dashed, x.dashed),2202 e.dashLen = (0,2203 d.pluckNumber)(p.dashlen, x.dashlen),2204 e.dashGap = (0,2205 d.pluckNumber)(p.dashgap, x.dashgap),2206 a && (e.tooltext = a = (0,2207 d.parseUnsafeString)((0,2208 d.parseTooltext)(a, [3, 40, 41, 42, 43], {2209 label: r,2210 fromId: t.config.definition.id,2211 toId: o.config.definition.id,2212 fromLabel: t.config.definition.label,2213 toLabel: o.config.definition.label2214 }, void 0), !1)),2215 e.eventArgs = {2216 fromMarkerId: t.config.id,2217 toMarkerId: o.config.id,2218 label: r2219 },2220 e._hoverAttrs = {2221 color: s,2222 alpha: c,2223 thickness: h2224 },2225 e._defaultAttrs = {2226 color: l,2227 alpha: i,2228 thickness: n2229 },2230 e.type = "line",2231 e.onclick = L(e.eventArgs),2232 e.onmouseover = A(e.eventArgs),2233 e.onmouseout = E(e.eventArgs),2234 r && (!(u = N.labelConfig) && (u = N.labelConfig = {}),2235 u.type = "text",2236 u.text = r,2237 u.align = "center",2238 u.valign = "middle",2239 u.font = x.font,2240 u.fillcolor = (0,2241 d.pluck)(p.labelcolor, x.fontColor),2242 u.bgcolor = (0,2243 d.pluck)(p.labelbgcolor, x.labelBgColor),2244 u.bordercolor = (0,2245 d.pluck)(p.labelbordercolor, x.labelBorderColor),2246 u.tooltext = e.tooltext)))2247 }2248 ,2249 o.draw = function() {2250 var e, t, o, r, a, n, l, i, s = this.getFromEnv("chart"), c = this.config, h = this.getChildren("mapAnnotations")[0], d = this.components.markerObjs, u = s.config, g = u.markerOpts, f = u.scalingParams, m = s.config.annotationConfig, b = [], k = [], v = {}, C = {};2251 for (a in h.destroy(),2252 this.createContainer(),2253 this._drawConnectors(),2254 this.imageLoadCount = 0,2255 this.imageCount = 0,2256 c.autoScale = g.autoScale ? f.sFactor : 1,2257 d)2258 e = null,2259 (r = (t = d[a]).config).conIsHidden || (e = this._drawMarkerItem(t)),2260 e && (C[a] = e,2261 r._annotationIndex = b.length,2262 v[a] = t,2263 e.markerShape && (o = Object.assign({2264 align: "center",2265 valign: "middle",2266 animationLabel: "markerItem",2267 autoscale: "image" === e.markerShape.type ? 0 : 12268 }, e.markerShape),2269 b.push(o)),2270 e.markerLabel && (o = Object.assign({2271 animationLabel: "markerItem",2272 id: e.markerShape.id2273 }, e.markerLabel),2274 k.push(o)));2275 for (a in i = h.addGroup(Object.assign(m, {2276 id: "markers",2277 fillalpha: "100",2278 items: b,2279 scaleimages: 12280 }), this),2281 l = h.addGroup(Object.assign(m, {2282 id: "markerLabels",2283 items: k,2284 scaleimages: 12285 }), this),2286 this.components.markerGroup = i,2287 this.components.markerLabelGroup = l,2288 n = 0,2289 d)2290 C[a] && ((t = d[a]).markerShape = i.retrieveItem(b[n].id),2291 t.markerShape.data("unfilteredConfig", b[n]),2292 C[a].markerLabel && (t.markerLabel = l.retrieveItem(b[n].id),2293 t.markerLabel.data("unfilteredConfig", k[n])),2294 n++);2295 this.addJob("buildKdtree", this._buildKdTree.bind(this), p.priorityList.kdTree)2296 }2297 ,2298 o._buildKdTree = function() {2299 var e, t, o = this.components.kdArrayMap, r = this.components.markerGroup, a = [], n = r && r.items, l = n && n.length || 0;2300 for (t = 0; t < l; t++)2301 o[e = n[t].config.id] && a.push(o[e]);2302 this.components.kDTree || (this.components.kDTree = new i["default"](!0)),2303 this.components.kDTree._setSearchLimit(Infinity, Infinity),2304 this.components.kDTree.buildKdTree(a)2305 }2306 ,2307 o._drawMarkerItem = function(e) {2308 var t, o, r, n, l, i, s, c, h, u, p, g, f, m, b, k, v, C, y = this, F = y.getFromEnv("chart"), w = F.config, A = y.config, E = w.scalingParams, L = e.config, x = L.options, N = L.definition, S = w.markerOpts, _ = S.dataLabels.style, T = x.shapeid, I = x.scale || 1, M = x.label || "", O = F.config.scalingParams.scaleFactor * F.config.baseScaleFactor, B = (x.labelpos || "top").toLowerCase(), P = L.formattedValue === a ? a : L.formattedValue, D = x.tooltext || S.tooltext, R = (0,2309 d.pluckNumber)(N.radius, L.radius, S.radius) * I * A.autoScale || 1e-4, j = L.fillColor, V = L.fillAlpha, G = L.fillRatio, H = L.fillAngle, W = L.borderThickness, z = L.borderColor, X = L.borderAlpha, Y = y.getChildren("mapAnnotations")[0], K = y.components.kdArrayMap || (y.components.kdArrayMap = {}), J = e.config.id;2310 if (L.autoScale = S.autoScale ? O : 1,2311 T)2312 return D = D ? (0,2313 d.parseUnsafeString)((0,2314 d.parseTooltext)(D, [1, 2, 3], {2315 formattedValue: P,2316 label: M2317 }, x), !1) : P ? M + S.tooltipSepChar + P : M,2318 P !== a && null !== P ? M = M + S.labelSepChar + P : isNaN(I) ? I = 1 : I < 0 ? I = 0 : I > 5 && (I = 5),2319 (0,2320 d.extend2)(x, {2321 x: x.x && x.x.toString(),2322 y: x.y && x.y.toString(),2323 fillcolor: j,2324 fillalpha: V,2325 fillratio: G,2326 fillangle: H,2327 borderthickness: W,2328 bordercolor: z,2329 borderalpha: X,2330 hovereffect: (0,2331 d.pluck)(S.showHoverEffect),2332 radius: R && R.toString(),2333 link: x.link,2334 showshadow: (0,2335 d.pluckNumber)(x.showshadow, L.shadow),2336 _markerLabel: M,2337 _markerId: x.id,2338 id: (x.id + "").toLowerCase()2339 }),2340 delete x.tooltext,2341 L.tooltext = !!S.showTooltip && D,2342 f = Number(x.x) * E.sFactor + E.translateX,2343 m = Number(x.y) * E.sFactor + E.translateY,2344 R = x.radius,2345 "triangle" === T ? ((0,2346 d.extend2)(x, {2347 type: "polygon",2348 sides: 3,2349 startangle: S.startAngle2350 }),2351 C = "polygon",2352 v = 3) : "diamond" === T ? ((0,2353 d.extend2)(x, {2354 type: "polygon",2355 sides: 4,2356 startangle: S.startAngle2357 }),2358 C = "polygon",2359 v = 4) : "arc" === T ? (k = .6 * R,2360 (0,2361 d.extend2)(x, {2362 type: "arc",2363 startangle: 0,2364 endangle: 360,2365 innerradius: k2366 }),2367 C = "arc") : "circle" === T ? (x.type = "circle",2368 C = "circle") : (p = y.getShapeArgs.call(e),2369 S.dataEnabled && S.valueToRadius && x.radius !== a ? delete p.radius : (!p.radius && (p.radius = S.radius),2370 p.radius *= I * L.autoScale),2371 (0,2372 d.extend2)(x, p),2373 x.id = x._markerId && x._markerId.toLowerCase(),2374 k = p.innerradius,2375 p.radius && (R = p.radius),2376 C = p.type && p.type.toLowerCase(),2377 v = p.sides,2378 (R = Number(R)) && k && R < k && (g = R,2379 x.radius = R = k,2380 x.innerradius = k = g)),2381 x.type = x.type && x.type.toLowerCase(),2382 (0,2383 d.extend2)(x, {2384 hoverfillcolor: (0,2385 d.pluck)(x.fillhovercolor, S.hoverFillColor, x.fillcolor),2386 hoverfillalpha: (0,2387 d.pluck)(x.fillhoveralpha, S.hoverFillAlpha, x.fillalpha),2388 hoverfillratio: (0,2389 d.pluck)(x.fillhoverratio, S.hoverFillRatio, x.fillratio),2390 hoverfillangle: (0,2391 d.pluck)(x.fillhoverangle, S.hoverFillAngle, x.fillangle),2392 hoverborderthickness: (0,2393 d.pluckNumber)(x.borderhoverthickness, S.hoverBorderThickness, x.borderthickness),2394 hoverbordercolor: (0,2395 d.pluck)(x.borderhovercolor, S.hoverBorderColor, x.bordercolor),2396 hoverborderalpha: (0,2397 d.pluck)(x.borderhoveralpha, S.hoverBorderAlpha, x.borderalpha)2398 }),2399 x._hoverattrs = {2400 fillalpha: x.hoverfillalpha,2401 fillcolor: x.hoverfillcolor,2402 fillangle: x.hoverfillangle,2403 fillratio: x.hoverfillratio,2404 borderThickness: "0" !== x.showborder ? x.hoverborderthickness : 0,2405 borderColor: x.hoverbordercolor,2406 borderAlpha: x.hoverborderalpha2407 },2408 x._defaultattrs = {2409 fillalpha: x.fillalpha,2410 fillcolor: x.fillcolor,2411 fillangle: x.fillangle,2412 fillratio: x.fillratio,2413 borderThickness: "0" !== x.showborder ? x.borderthickness : 0,2414 borderColor: x.bordercolor,2415 borderAlpha: x.borderalpha2416 },2417 "image" === x.type ? (x.borderthickness = x.borderthickness || 0,2418 x.onload = function(t) {2419 var o = t.width2420 , r = t.height;2421 b = {},2422 x = this.config,2423 f = (Number(x.derivedX) - o / (2 * E.sFactor)) * E.sFactor,2424 m = (Number(x.derivedY) - r / (2 * E.sFactor)) * E.sFactor,2425 (b = K[J] || (K[J] = {})).x = f + E.translateX,2426 b.y = m + E.translateY,2427 b.element = e,2428 b.shapeInfo = {2429 type: "rect",2430 width: o,2431 height: r2432 },2433 o && r && Y.update(this.getId(), {2434 x: f,2435 y: m,2436 width: o,2437 height: r,2438 autoscale: 02439 }),2440 y.imageLoadCount++,2441 y.imageLoadCount === y.imageCount && y._buildKdTree()2442 }2443 ,2444 x.onerror = function() {2445 y.imageLoadCount++,2446 y.imageLoadCount === y.imageCount && y._buildKdTree()2447 }2448 ,2449 y.imageCount++) : ((b = K[J] || (K[J] = {})).x = f,2450 b.y = m,2451 b.element = e,2452 b.shapeInfo = {2453 type: C,2454 sides: v,2455 radius: Number(R) + x.borderthickness / 2,2456 innerradius: k2457 }),2458 L.drawOptions.shape = x,2459 S.showLabels ? (u = x.labelpadding || S.labelPadding,2460 o = (t = y._getLabelOptions(B, u, x)).align,2461 r = t.valign,2462 n = L._labelBaseWidth,2463 l = L._labelBaseHeight,2464 i = L._labelXOffset,2465 s = L._labelYOffset,2466 (c = S.labelWrapWidth ? S.labelWrapWidth : y.getWrapWidth[o](n, Number(t.x) + i)) > u && (c -= u),2467 (h = S.labelWrapHeight ? S.labelWrapHeight : y.getWrapHeight[r](l, Number(t.y) + s)) > u && (h -= u),2468 L.drawOptions.label = (0,2469 d.extend2)({2470 type: "text"2471 }, {2472 text: M,2473 tooltext: x.tooltext,2474 x: t.x,2475 y: t.y,2476 align: o,2477 valign: t.valign,2478 wrap: 1,2479 wrapwidth: c,2480 wrapheight: h,2481 fontsize: _.fontSize / E.sFactor,2482 font: _.fontFamily,2483 color: L.fontColor,2484 bgcolor: L.labelBgColor || "",2485 bordercolor: L.labelBorderColor || ""2486 }),2487 {2488 markerShape: x,2489 markerLabel: L.drawOptions.label2490 }) : {2491 markerShape: x2492 }2493 }2494 ,2495 o.highlightPoint = function(e, t) {2496 var o = e.element2497 , r = t.originalEvent2498 , a = this.getFromEnv("chart")2499 , n = this.getFromEnv("toolTipController")2500 , l = this.config.currentToolTip2501 , i = a.config.lastHoveredPoint;2502 i && i !== e && (i && this.hoverOutFn(i.element),2503 a.config.lastHoveredPoint = null,2504 n.hide(l)),2505 !1 !== e && ("click" === t.type || "touchstart" === t.type ? (a.config.lastHoveredPoint !== e && this.hoverFn(o),2506 this.clickFn(t, o)) : "mousemove" === t.type && a.config.lastHoveredPoint !== e && this.hoverFn(o),2507 o.config.tooltext && (l ? n.draw(r, o.config.tooltext, l) : l = this.config.currentToolTip = n.draw(r, o.config.tooltext)),2508 a.config.lastHoveredPoint = e)2509 }2510 ,2511 o._drawConnectors = function() {2512 var e, t, o, r, a, n, l, i, s, c, h, d, u, p = this.getFromEnv("chart"), g = p.config.annotationConfig, f = this.components.connectors || (this.components.connectors = []), m = f.length, b = p.config.scalingParams, k = p.config.connectorOpts, v = k.showLabels, C = this.getChildren("mapAnnotations")[0], y = [], F = [], w = [], A = {};2513 for (w.push({2514 id: "connectorLabels",2515 fillalpha: "100",2516 items: F2517 }),2518 w.push({2519 id: "connectors",2520 fillalpha: "100",2521 items: y2522 }),2523 o = 0; o < m; o++)2524 f[o] && (A[o] = !0,2525 s = f[o].config.fromMarker.config,2526 c = f[o].config.toMarker.config,2527 a = s.options.x,2528 n = s.options.y,2529 l = c.options.x,2530 i = c.options.y,2531 f[o].config.x = a,2532 f[o].config.y = n,2533 f[o].config.tox = l,2534 f[o].config.toy = i,2535 u = Object.assign({2536 animationLabel: "markerItem"2537 }, f[o].config),2538 y.push(u),2539 f[o].labelConfig && v && (f[o].labelConfig.x = ((Number(a) + Number(l)) / 2).toString(),2540 f[o].labelConfig.y = ((Number(n) + Number(i)) / 2).toString(),2541 f[o].labelConfig.fontsize = k.fontSize / (b.scaleFactor * p.config.baseScaleFactor),2542 u = Object.assign({2543 animationLabel: "markerItem"2544 }, f[o].labelConfig),2545 F.push(u)));2546 for (h = C.addGroup(Object.assign(g, w[1]), this),2547 d = C.addGroup(Object.assign(g, w[0]), this),2548 o = 0,2549 r = 0; o < m; o++)2550 A[o] && ((e = h.items[r]) && (e.data("unfilteredConfig", y[r]),2551 e.addEventListener("fc-mouseover", f[o].config.onmouseover),2552 e.addEventListener("fc-mouseout", f[o].config.onmouseout),2553 e.addEventListener("fc-click", f[o].config.onclick)),2554 f[o].labelConfig && v && (t = d.items[r]) && t.data("unfilteredConfig"),2555 r++)2556 }2557 ,2558 o.getShapeArgs = function() {2559 var e, t = this.config, o = (0,2560 d.extend2)({}, this.shapeObj);2561 return t.autoScale = 1,2562 o ? ("polygon" === o.type ? o.sides < 3 ? o.type = "circle" : o.startangle = t.startAngle : "arc" === o.type && (e = (o.radius || t.markerRadius) * t.autoScale,2563 o.radius = e,2564 o.innerradius = o.innerradius && o.innerradius * t.autoScale || .6 * e),2565 o) : null2566 }2567 ,2568 o._getLabelOptions = function(e, t, o, r, n) {2569 var l, i, s, c = e && e.toLowerCase();2570 return this.getLabelAlignment[c] || (c = "center"),2571 i = Number(o.x),2572 s = Number(o.y),2573 l = r === a || n === a ? o.radius || 0 : /^(top|bottom)$/gi.test(c) && .5 * n || /^(left|right)$/gi.test(c) && .5 * r || 0,2574 l = Number(l) + Number(t),2575 this.getLabelAlignment[c](i, s, l)2576 }2577 ,2578 o.addMarkerItem = function(e) {2579 var o, r, n, l, i, s, c, h, u = this.getFromEnv("chart"), p = e, g = this.components.markerObjs, f = this.components.shapeObjs, m = this.components.markerGroup, b = this.components.markerLabelGroup, k = this.getChildren("mapAnnotations")[0], v = this.getFromEnv("number-formatter"), C = u.config.markerOpts;2580 if (h = p.id.toLowerCase()) {2581 if (g[h])2582 return;2583 delete p.value,2584 this.imageLoadCount = 0,2585 (o = t._initializeMarkerItem(h, p, null)).dataset = this,2586 c = o.config.options.shapeid,2587 l = o.config,2588 s = p.value,2589 l.cleanValue = v.getCleanValue(s),2590 r = l.options,2591 null !== l.cleanValue ? l.formattedValue = v.dataLabels(s) : l.formattedValue = a,2592 l.fillColor = (0,2593 d.pluck)(r.fillcolor, r.color, C.fillColor),2594 l.fillAlpha = (0,2595 d.pluck)(r.fillalpha, r.alpha, C.fillAlpha),2596 l.fillRatio = (0,2597 d.pluck)(r.fillratio, C.fillRatio),2598 l.fillAngle = (0,2599 d.pluck)(r.fillangle, C.fillAngle),2600 l.borderThickness = (0,2601 d.pluckNumber)(r.borderthickness, C.borderThickness),2602 l.borderColor = (0,2603 d.pluck)(r.bordercolor, C.borderColor),2604 l.borderAlpha = (0,2605 d.pluck)(r.borderalpha, C.borderAlpha),2606 l.labelPadding = r.labelpadding || C.labelPadding,2607 l.options.tooltext = (0,2608 d.pluck)(r.tooltext, C.tooltext),2609 l.link = r.link,2610 c && (o.shapeObj = f[c && c.toLowerCase()]),2611 g[h] = o,2612 n = this._drawMarkerItem(o),2613 m && b && (n.markerShape && (i = Object.assign({2614 align: "center",2615 valign: "middle",2616 animationLabel: "markerItem",2617 autoscale: "image" === n.markerShape.type ? 0 : 12618 }, n.markerShape),2619 o.markerShape = k.addItem(m.getId(), i, this),2620 o.markerShape.data("unfilteredConfig", i)),2621 n.markerLabel && (i = Object.assign({2622 animationLabel: "markerItem"2623 }, n.markerLabel),2624 o.markerLabel = k.addItem(b.getId(), i, this),2625 o.markerLabel.data("unfilteredConfig", i))),2626 this._buildKdTree()2627 }2628 }2629 ,2630 o.updateMarkerItem = function(e, t) {2631 var o, r, a, n, l = this.getFromEnv("chart"), i = this.getChildren("mapAnnotations")[0], s = this.components.markerObjs, c = l.config.markerOpts, h = {}, u = s[e];2632 if (u) {2633 for (r in o = u.config.options,2634 (0,2635 d.extend2)(o, t),2636 this.imageLoadCount = 0,2637 a = u.config,2638 t)2639 h[r.toLowerCase()] = t[r] && t[r].toString();2640 a.fillColor = (0,2641 d.pluck)(h.fillcolor, h.color, c.fillColor),2642 a.fillAlpha = (0,2643 d.pluck)(h.fillalpha, h.alpha, c.fillAlpha),2644 a.fillRatio = (0,2645 d.pluck)(h.fillratio, c.fillRatio),2646 a.fillAngle = (0,2647 d.pluck)(h.fillangle, c.fillAngle),2648 a.borderThickness = (0,2649 d.pluckNumber)(h.borderthickness, c.borderThickness),2650 a.borderColor = (0,2651 d.pluck)(h.bordercolor, c.borderColor),2652 a.borderAlpha = (0,2653 d.pluck)(h.borderalpha, c.borderAlpha),2654 a.labelPadding = h.labelpadding || c.labelPadding,2655 a.options.tooltext = (0,2656 d.pluck)(h.tooltext, c.tooltext),2657 a.link = h.link,2658 n = this._drawMarkerItem(u).markerShape,2659 this._buildKdTree(),2660 i.update(e, n)2661 }2662 }2663 ,2664 o.createContainer = function() {2665 var e = this.getLinkedParent()2666 , t = this.getFromEnv("animationManager")2667 , o = e.getChildContainer("layer1");2668 !this.getChildContainer("abovePlotGroup") && this.addChildContainer("abovePlotGroup", t.setAnimation({2669 el: "group",2670 attr: {2671 name: "abovePlotGroup",2672 opacity: 12673 },2674 container: o,2675 component: this,2676 label: "group"2677 })),2678 !this.getChildContainer("belowPlotGroup") && this.addChildContainer("belowPlotGroup", t.setAnimation({2679 el: "group",2680 attr: {2681 name: "belowPlotGroup",2682 opacity: 12683 },2684 container: o,2685 component: this,2686 label: "group"2687 }))2688 }2689 ,2690 o._removeMarkerItem = function(e) {2691 var t, o, r = this.components, a = r.markerObjs, n = a[e], l = r.kdArrayMap, i = this.getChildren("mapAnnotations")[0];2692 n && (t = n.markerShape,2693 o = n.markerLabel,2694 t && i.destroy(t.getId()),2695 o && i.destroy(o.getId()),2696 delete l[e],2697 this._buildKdTree()),2698 delete a[e]2699 }2700 ,2701 o.getElement = function(e) {2702 if (this.components.kDTree)2703 return this.components.kDTree.getNeighbour(e)2704 }2705 ,2706 t2707 }(l["default"]);2708 t["default"] = I2709 },2710 1199: function(e, t, o) {2711 "use strict";2712 var r = o(187);2713 t.__esModule = !0,2714 t["default"] = void 0;2715 var a = r(o(207))2716 , n = o(208)2717 , l = o(193)2718 , i = o(201)2719 , s = r(o(1197))2720 , c = function(e) {2721 e.configure && e.configure()2722 };2723 (0,2724 i.addDep)({2725 name: "mapsAnimation",2726 type: "animationRule",2727 extension: s["default"]2728 });2729 var h = function(e) {2730 function t() {2731 return e.apply(this, arguments) || this2732 }2733 (0,2734 a["default"])(t, e);2735 var o = t.prototype;2736 return o.getType = function() {2737 return "group"2738 }2739 ,2740 o.getName = function() {2741 return "mapGroup"2742 }2743 ,2744 o.configure = function() {2745 this._mapChildren(c)2746 }2747 ,2748 o.createContainer = function() {2749 var e, t = this.getLinkedParent(), o = this.getFromEnv("animationManager"), r = t.getChildContainer();2750 e = r.plotGroup,2751 !this.getChildContainer("plotShadow") && this.addChildContainer("plotShadow", o.setAnimation({2752 el: "group",2753 attr: {2754 name: "manager-plot-shadow",2755 opacity: 12756 },2757 container: e,2758 component: this,2759 label: "group"2760 })),2761 !this.getChildContainer("plot") && this.addChildContainer("plot", o.setAnimation({2762 el: "group",2763 attr: {2764 name: "manager-plot",2765 opacity: 12766 },2767 container: e,2768 component: this,2769 label: "group"2770 })),2771 !this.getChildContainer("layer0") && this.addChildContainer("layer0", o.setAnimation({2772 el: "group",2773 attr: {2774 name: "ann-layer0",2775 opacity: 12776 },2777 container: r.abovePlotGroup,2778 component: this,2779 label: "group"2780 })),2781 !this.getChildContainer("layer1") && this.addChildContainer("layer1", o.setAnimation({2782 el: "group",2783 attr: {2784 name: "ann-layer1",2785 opacity: 12786 },2787 container: r.abovePlotGroup,2788 component: this,2789 label: "group"2790 })),2791 t.config.labelsOnTop ? this.getChildContainer("layer0").toFront() : this.getChildContainer("layer0").toBack()2792 }2793 ,2794 o._transformGroup = function() {2795 var e = this2796 , t = this.getFromEnv("chart")2797 , o = t.getFromEnv("chartInstance")2798 , r = e.getFromEnv("animationManager")2799 , a = t.jsonData2800 , n = e.getChildContainer("plot")2801 , i = e.getChildContainer("plotShadow")2802 , s = t.config.scalingParams;2803 n.hide(),2804 i.hide(),2805 t.config.entitiesReady = !1,2806 o.addEventListener("internal.mapdrawingcomplete", (function(t) {2807 t.detachHandler(),2808 l.hasSVG && (o.args.link && o.args.clickedEntityBox && a.chart.linkedcharttransition,2809 n && r.setAnimation({2810 el: n,2811 attr: {2812 transform: s.transformStr2813 },2814 component: e,2815 label: "group"2816 }),2817 i && r.setAnimation({2818 el: i,2819 attr: {2820 transform: s.transformStr2821 },2822 component: e,2823 label: "group"2824 })),2825 n.show(),2826 i.show()2827 }2828 )),2829 t.checkComplete()2830 }2831 ,2832 o.draw = function() {2833 this.createContainer(),2834 this._transformGroup()2835 }2836 ,2837 o.getDataLimits = function(e) {2838 var t, o = +Infinity, r = -Infinity, a = 0, n = function(e) {2839 r = Math.max(r, e.max),2840 o = Math.min(o, e.min)2841 };2842 return this._mapChildren((function(o) {2843 o.getState("removed") || !1 === o.getState("visible") ? e && (t = o.getDataLimits(e),2844 n(t)) : (a++,2845 t = o.getDataLimits(e),2846 n(t))2847 }2848 )),2849 a ? this.setState("visible", !0) : this.setState("visible", !1),2850 this.config.range || (this.config.range = {},2851 this.config.range.min = this.config.dataMin,2852 this.config.range.max = this.config.dataMax),2853 {2854 max: r,2855 min: o2856 }2857 }2858 ,2859 t2860 }(n.ComponentInterface);2861 t["default"] = h2862 }2863 }])2864}...
juno_utils.js
Source:juno_utils.js
1const axios = require("axios");2const process = require("process");3const { Buffer } = require("buffer");4const { Fauna } = require("./fauna_utils");5const IS_SANDBOX = false;6function getFromEnv(variable, useSandbox) {7 if (useSandbox) {8 return process.env["SANDBOX_" + variable];9 }10 return process.env[variable];11}12class Juno {13 constructor() {14 this.api = axios.create({15 baseURL: IS_SANDBOX16 ? "https://sandbox.boletobancario.com/api-integration"17 : "https://api.juno.com.br",18 });19 this.fauna = new Fauna();20 }21 async initHeaders() {22 // Produce access hash23 const hash = Buffer.from(24 getFromEnv("CLIENT_ID", IS_SANDBOX) +25 ":" +26 getFromEnv("CLIENT_SECRET", IS_SANDBOX)27 ).toString("base64");28 // Acquire access token29 const { data, status } = await axios.post(30 IS_SANDBOX31 ? "https://sandbox.boletobancario.com/authorization-server/oauth/token"32 : "https://api.juno.com.br/authorization-server/oauth/token",33 "grant_type=client_credentials",34 {35 headers: {36 "Content-Type": "application/x-www-form-urlencoded",37 Authorization: `Basic ${hash}`,38 },39 }40 );41 if (status !== 200) {42 console.log("Authorization error: " + status);43 return;44 }45 // Set headers46 this.headers = {47 "X-Api-Version": 2,48 "X-Resource-Token": getFromEnv("PRIVATE_TOKEN", IS_SANDBOX),49 Authorization: `Bearer ${data.access_token}`,50 };51 }52 async createCardCharge(charge, billing) {53 try {54 const { data } = await this.api.post(55 "/charges",56 { charge: { ...charge, paymentTypes: ["CREDIT_CARD"] }, billing },57 { headers: this.headers }58 );59 const recordedCharge = data._embedded.charges[0];60 // Save charge to FaunaDB61 await this.fauna.recordCharge({62 chargeCode: recordedCharge.code,63 email: billing.email,64 name: billing.name,65 amount: charge.amount,66 paymentType: "CREDIT_CARD",67 status: "PENDING",68 });69 return recordedCharge;70 } catch (e) {71 console.log("Failed to create charge!");72 console.log(e.response.data);73 return null;74 }75 }76 async processCharge(chargeId, chargeCode, creditCardHash, email, address) {77 const body = {78 chargeId,79 creditCardDetails: { creditCardHash },80 billing: { email, address },81 };82 try {83 await this.api.post("/payments", body, {84 headers: this.headers,85 });86 } catch (e) {87 const error = e.response.data.details[0].errorCode;88 // Record charge as rejected89 if (error == 289999) {90 await this.fauna.updateCharge(chargeCode, "chargeCode", {91 status: "DENIED",92 });93 }94 return error;95 }96 }97 async createPixCharge(charge, billing) {98 const body = {99 devedor: {100 cpf: billing.document,101 nome: billing.name,102 },103 valor: {104 original: charge.amount + ".00",105 },106 chave: getFromEnv("PIX_KEY", IS_SANDBOX),107 solicitacaoPagador: charge.description,108 };109 try {110 // Create charge111 const response = await this.api.post("/pix-api/v2/cob", body, {112 headers: this.headers,113 });114 // Fetch qrcode115 const txid = response.data.txid;116 const qrResponse = await this.api.get(117 "/pix-api/qrcode/v2/" + txid + "/imagem",118 { headers: this.headers }119 );120 // Save charge to FaunaDB with temporary pix code121 await this.fauna.recordCharge({122 pixCode: txid,123 email: billing.email,124 name: billing.name,125 amount: charge.amount,126 paymentType: "PIX",127 status: "PENDING",128 });129 return { ...qrResponse.data, txid };130 } catch (e) {131 console.log("Failed to create charge!");132 console.log(e.response.data);133 return null;134 }135 }136}...
server.js
Source:server.js
1var restify = require('restify');2var Logger = require('bunyan');3var log = new Logger({4 name: 'stripe-donation-processor'5});6var isTestMode = (getFromEnv('STRIPE_TEST_MODE') === 'true');7var keys = {8 private_test: getFromEnv('STRIPE_KEY_PRIVATE_TEST'),9 private_live: getFromEnv('STRIPE_KEY_PRIVATE_LIVE')10};11var port = getFromEnv('PORT') || '8080';12var stripe = require('stripe')((isTestMode ? keys.private_test : keys.private_live));13function charge(req, res, next) {14 var opts = {15 amount: req.params.amount || throwError('400', 'E_MISSING_REQUIRED_PARAM', 'amount'),16 currency: 'usd',17 source: req.params.token || throwError('400', 'E_MISSING_REQUIRED_PARAM', 'token'),18 description: 'Donation - ' + req.params.email,19 capture: true,20 receipt_email: req.params.email || throwError('400', 'E_MISSING_REQUIRED_PARAM', 'email'),21 statement_descriptor: 'AKPWebDesign Donation'22 };23 stripe.charges.create(opts, (err, charge) => {24 if(err) {25 switch (err.type) {26 case 'StripeCardError':27 // A declined card error28 throwError('400', 'E_STRIPE_CARD_ERROR', err.message);29 break;30 case 'RateLimitError':31 case 'StripeInvalidRequestError':32 case 'StripeAPIError':33 case 'StripeConnectionError':34 case 'StripeAuthenticationError':35 throwError('400', 'E_STRIPE_ERROR', 'null');36 break;37 default:38 // Handle any other types of unexpected errors39 throwError('400', 'E_STRIPE_ERROR', 'null');40 break;41 }42 next(new restify.errors.BadRequestError(err.message || null));43 } else {44 res.json({success: true});45 log.info({charge: charge}, 'Successfully charged card.');46 next();47 }48 });49}50function getFromEnv(key) {51 return process.env[key] || null;52}53function throwError(http_status, e_code, message) {54 log.error({http_status: http_status, e_code: e_code, message: message}, 'Error while processing charge!');55}56var server = restify.createServer({57 name: 'Stripe Donation Processor',58 log: log59});60server.use(restify.gzipResponse());61server.get('/charge/:email/:token/:amount', charge);62server.listen(port, function() {63 log.info('%s listening at %s', server.name, server.url);64 log.info('Stripe using key \'%s\' in %s mode.', isTestMode ? keys.private_test : keys.private_live, isTestMode ? 'test': 'live');...
post_create.js
Source:post_create.js
1#!/usr/bin/env node2/* This Source Code Form is subject to the terms of the Mozilla Public3 * License, v. 2.0. If a copy of the MPL was not distributed with this4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */5const fs = require('fs'),6 temp = require('temp'),7 scp = require('./scp').scp,8 defaultPlatform = require('../../automation-tests/config/sauce-platforms').defaultPlatform;9function getFromEnv(name, defaultValue) {10 var envValue = process.env[name];11 if (typeof defaultValue === "undefined" && typeof envValue === "undefined")12 throw new Error(name + " must be defined as an environment variable");13 return typeof envValue === "undefined" ? defaultValue : envValue;14}15var host = getFromEnv('AWS_IP_ADDRESS'),16 user = 'app@' + host,17 target = user + ':sauce.json';18function copyConfig(done) {19 temp.open({}, function(err, temp_file) {20 if (err) throw err;21 try {22 var config = {23 persona_sauce_user: getFromEnv("PERSONA_SAUCE_USER"),24 persona_sauce_api_key: getFromEnv("PERSONA_SAUCE_APIKEY"),25 persona_sauce_pass: getFromEnv("PERSONA_SAUCE_PASS"),26 persona_browser: getFromEnv("PERSONA_BROWSER", defaultPlatform),27 runners: parseInt(getFromEnv("RUNNERS", 30), 10)28 };29 fs.writeFileSync(temp_file.path, JSON.stringify(config), 'utf8');30 console.log(" >> Copying sauce credentials to instance");31 scp(temp_file.path, target, done);32 } catch(e) {33 // suppress errors with missing sauce creds34 done(null, 0);35 }36 });37}38copyConfig(function(err, status) {39 if (err) throw err;40 process.exit(status);...
index.js
Source:index.js
1const {2 START,3} = require('./static').PROCESS_KEY;4const { getFromEnv } = require('../util/index');5module.exports = function (path) {6 if (path) {7 return getFromEnv(`${START}${path.replace('.', '_')}`);8 }9 const config = {};10 Object.keys(process.env).filter(v => v.startsWith(START)).forEach((k) => {11 const matches = k.replace(START, '').match(/([A-Z]+)_(.*)/);12 if (!matches) return;13 const [, name, key] = matches;14 config[name] = config[name] || {};15 config[name][key] = getFromEnv(k);16 });17 return config;...
config.js
Source:config.js
1const host = getFromEnv("HOST", "localhost");2const port = getFromEnv("PORT", 3000);3const postfixHost = getFromEnv("POSTFIX_HOST", "localhost");4const postfixPort = getFromEnv("POSTFIX_PORT", 1337);56module.exports = {7 host,8 port,9 postfixHost,10 postfixPort,11};1213function getFromEnv(prop, defaultValue = null) {14 const override = process.env && process.env[prop];15 return override || defaultValue;
...
electron-is-dev.js
Source:electron-is-dev.js
1// Source: https://github.com/sindresorhus/electron-is-dev2// TODO: how to include non-electron dependencies?3import electron from 'electron';4const app = electron.app || electron.remote.app;5const isEnvSet = 'ELECTRON_IS_DEV' in process.env;6const getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 1;...
isdev.js
Source:isdev.js
1'use strict'2const getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 13const isEnvSet = 'ELECTRON_IS_DEV' in process.env...
Using AI Code Generation
1const { getFromENV } = require('playwright/lib/utils/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch({ headless: false });5 const context = await browser.newContext();6 const page = await context.newPage();7 const proxy = await getFromENV('https_proxy');8 await page.screenshot({ path: `example.png` });9 await browser.close();10})();11const { chromium } = require('playwright');12(async () => {13 const browser = await chromium.launch({ headless: false });14 const context = await browser.newContext();15 const page = await context.newPage();16 const proxy = process.env['https_proxy'];17 await page.screenshot({ path: `example.png` });18 await browser.close();19})();20const { chromium } = require('playwright');21const ProxyChain = require('proxy-chain');22(async () => {23 const browser = await chromium.launch({24 proxy: {25 },26 });27 const context = await browser.newContext();28 const page = await context.newPage();29 await page.screenshot({ path: `example.png` });30 await browser.close();31})();32const { chromium } = require('playwright');33(async () => {34 const browser = await chromium.launch({35 proxy: {36 },37 });38 const context = await browser.newContext();39 const page = await context.newPage();40 await page.screenshot({ path: `example.png` });41 await browser.close();42})();
Using AI Code Generation
1const { getFromENV } = require('playwright/lib/utils/utils');2const { chromium } = require('playwright');3const browser = await chromium.launch({ headless: false });4const context = await browser.newContext();5const page = await context.newPage();6await page.goto(getFromENV('TEST_URL'));7await browser.close();
Using AI Code Generation
1const { getFromENV } = require('@playwright/test/lib/utils/environment');2const browserName = getFromENV('BROWSER');3console.log(browserName);4const { test } = require('@playwright/test');5test('test', async ({}, testInfo) => {6 const browserName = testInfo.config.testDir;7 console.log(browserName);8});
Using AI Code Generation
1const { getFromENV } = require('playwright-core/lib/utils/utils');2const browserName = getFromENV('BROWSER');3console.log(browserName);4import { getFromENV } from 'playwright-core/lib/utils/utils';5const browserName = getFromENV('BROWSER');6console.log(browserName);
Using AI Code Generation
1const { getFromENV } = require('playwright/lib/utils/utils');2const browserName = getFromENV('BROWSER');3console.log(browserName);4const { getFromENV } = require('playwright/lib/utils/utils');5const browserName = getFromENV('BROWSER');6console.log(browserName);7const { getFromENV } = require('playwright/lib/utils/utils');8const browserName = getFromENV('BROWSER');9console.log(browserName);10const { getFromENV } = require('playwright/lib/utils/utils');11const browserName = getFromENV('BROWSER');12console.log(browserName);13const { getFromENV } = require('playwright/lib/utils/utils');14const browserName = getFromENV('BROWSER');15console.log(browserName);16const { getFromENV } = require('playwright/lib/utils/utils');17const browserName = getFromENV('BROWSER');18console.log(browserName);19const { getFromENV } = require('playwright/lib/utils/utils');20const browserName = getFromENV('BROWSER');21console.log(browserName);22const { getFromENV } = require('playwright/lib/utils/utils');23const browserName = getFromENV('BROWSER');24console.log(browserName);25const { getFromENV } = require('playwright/lib/utils/utils');26const browserName = getFromENV('BROWSER');27console.log(browserName);28const { getFromENV } = require('playwright/lib/utils/utils');29const browserName = getFromENV('BROWSER');30console.log(browserName);
Using AI Code Generation
1const { getFromENV } = require('playwright-core/lib/utils/utils');2const { chromium } = require('playwright-core');3const { expect } = require('chai');4const { getTestState } = require('./utils');5describe('Test', function () {6 it('should work', async function () {7 const { browserName } = getTestState(this);8 const browser = await chromium.launch({9 headless: getFromENV('HEADLESS') === 'true',10 });11 const context = await browser.newContext();12 const page = await context.newPage();13 const title = await page.title();14 expect(title).to.equal('Playwright');15 await browser.close();16 });17});18![Test Results](./test-results.png)19- [Playwright Internal API](
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!