{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/services/_base/factoryService.ts","webpack:///./src/App.vue?2456","webpack:///./src/App.vue?3125","webpack:///./src/utils/index.ts","webpack:///./src/services/index.ts","webpack:///./src/services/_base/Deferred.ts","webpack:///./src/filters/index.js","webpack:///./src/store/ui.store.ts","webpack:///./src/store/geometries.store.ts","webpack:///./src/store/app.localStorage.ts","webpack:///./src/store/configurations.store.ts","webpack:///./src/store/kpatlas.store.ts","webpack:///./src/services/_base/AlertHelper.ts","webpack:///./src/config.ts","webpack:///./src/esriMap/src/Observers/ObservableArray.ts","webpack:///./src/esriMap/src/customLayers/ClientsideImageryLayer.ts","webpack:///./src/esriMap/src/esriUtils.ts","webpack:///./src/esriMap/src/Widgets.ts","webpack:///./src/store/index.ts","webpack:///./src/main.js","webpack:///./src/store/app.store.ts","webpack:///./src/store/app.storageFactory.ts","webpack:///./src/app_startup/startup.ts","webpack:///./src/services/aidsInfoService.ts","webpack:///./src/services/_base/baseRestService.ts","webpack:///./src/store/UTILS.ts","webpack:///./src/esriMap/index.ts","webpack:///./src/services/_base/messageService.ts","webpack:///./src/filters/filters.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/services/configurationService.ts","webpack:///./src/esriMap/src/Views.ts","webpack:///./src/esriMap/src/Layers.ts","webpack:///./src/esriMap/src/customLayers/GeoTiffImageLayer.ts","webpack:///./src/esriMap/src/customLayers/MultiLayer.ts","webpack:///./src/esriMap/src/customLayers/renderers/defaultGeoTiffRenderer.ts","webpack:///./src/esriMap/src/Geometry.ts","webpack:///./src/esriMap/src/Tasks.ts","webpack:///./src/esriMap/src/Symbols.ts","webpack:///./src/esriMap/src/Renderers.ts","webpack:///./src/esriMap/src/Support.ts","webpack:///./src/esriMap/src/widgets/Measure.ts","webpack:///./src/esriMap/src/widgets/Draw.ts","webpack:///./src/esriMap/src/customLayers/functions/bilinearInterpolation.ts","webpack:///./src/esriMap/src/customLayers/functions/geometryClipFunction.ts","webpack:///./src/services/geometriesService.ts","webpack:///./src/services/jhuRedcupService.ts","webpack:///./src/directives/index.js","webpack:///./src/directives/loaderIndicator.ts","webpack:///./src/mixins/isValid.js","webpack:///./src/router/index.ts","webpack:///./src/router/routes.js","webpack:///./src/App.vue","webpack:///./src/services/_base/index.ts","webpack:///./src/esriMap/src/Esri.ts","webpack:///./src/App.ts?f2ec","webpack:///./src/App.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","4","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","1","2","3","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","Service","ctor","FactoryService","Get","ServiceDeclare","RegisterExplicit","Register","getTypeName","_objects","GetByName","SetByName","GetExplicit","createInstance","render","_h","this","$createElement","_self","_c","staticRenderFns","__webpack_exports__","_store","_filters","_services","_Deferred","Utils","MakeLegenda","param","colorClassification","breaks","selectValueFunction","step","Math","ceil","valueBreak","item","color","min","Number","max","toFixed","formatNumber","GetUnitMisure","idx","floor","RecalcLegendaStaticCoded","config","configurationsStoreGetters","resultMap","Map","elem","has","decoded","legend","decodeDefinition","set","split","map","parseInt","denominator","Array","from","values","kpatlasStoreActions","setLegend","CleanLegenda","ParamReduce","temp","filter","f","reduce","indicator","block","label","replace","toLowerCase","groups","ObservationsReduce","_this","sort","a","b","TIME_PERIOD","AREA","id","observations","NormalizeObservation","parsed","iso3","indicatorKey","INDICATOR","indicatorName","capitalizeFirstLetter","blockLabel","paramKey","SUBGROUP","paramName","lastValue","VALUE","timePeriod","hasSubNationalData","nationWithSubNationalData","DENOMINATOR","unit","UNIT","footNotes","FOOTNOTES","isTextualData","IS_TEXTUALDATA","observation","JSON","parse","field","obj","measureTypes","suffix","str","charAt","toUpperCase","getIndicatorData","blocks","areas","recalcLegend","sourceData","aidsInfoService","CountriesDatas","_b","sent","jhuRedcupService","Deferred","configurationService","geometriesService","res","rej","dateformat","uiStore","PREFIX","namespaced","state","position","sidebarActive","getters","getSidebarActive","mutations","SET_POSITION","pos","SET_SIDEBAR_ACTIVE","active","actions","setPosition","context","commit","setSidebarActive","uiStoreActions","_UTILS","CreateActionsHandler","uiStoreGetters","CreateGettersHandler","_app","geometriesStore","countries","selectedCountry","regions","selectedRegion","sites","selectedSite","getCountries","ISO3","attributes","getSelectedCountry","getRegions","getSelectedRegion","getSites","getSelectedSite","setCountries","objectIds","OBJECTID","forEach","indexOf","unaidsLocalStorage","setItem","cleanCountries","setSelectedCountry","cleanSelectedCountry","setRegions","features","x","cleanRegions","setSelectedRegion","cleanSelectedRegion","setSites","cleanSites","setSelectedSite","cleanSelectedSite","geometriesStoreActions","geometriesStoreGetters","UnaidsLocalStorage","_db","storageFactory","localStorage","getItem","stringify","removeItem","clearAll","clear","configurationsStore","configurations","annex1","countriesPriority","jhuConfigurations","jhuCountriesMapper","selectedIndicatorGroup","selectedIndicators","compare","summaryPriorityIndicators","kp1","group","indicators","kp2","jhuCountry","code","find","countryId","toString","setConfiguration","cleanConfiguration","setAnnex1","mm","cleanAnnex1","setJHUConfigurations","element","matchWithIndicatorUNAIDS","concat","asfa","countryField","source","timeTrendField","cleanJHUConfigurations","setCountriesPriority","cleanCountriesPriority","setJHUCountriesMapper","cleanJHUCountriesMapper","selectIndicatorGroup","cleanIndicatorGroup","selectIndicator","pop","cleanIndicator","setCompare","setSummaryPriorityIndicators","kpPriority","configurationsStoreActions","kpatlasStore","showSubnationalData","setShowSubnationalData","fillArray","cleanLegend","kpatlasStoreGetters","AlertHelper","showInfo","title","description","_izitoast2","default","success","theme","class","icon","progressBarEasing","progressBar","progressBarColor","closeOnEscape","drag","debug","showLoader","info","toast","querySelector","operation","progress","pause","reset","toastOnce","close","width","transitionIn","transitionOut","onClosed","hideLoader","resume","showError","onClosingCallback","onClosedCallback","onClosing","Config","arcgisPortal","clientSideUrl","location","origin","geoemtriesServerUrl","ArrayObserver","arr","deep","reobserve","_watchers","_deep","_deepObserver","_vue2","_observer","__isObserved","_push","_pop","_shift","unshift","_unshift","_splice","observer","items","_items","deepWatch","notify","unWatch","start","deletecount","_i","arguments","toadd","deleted","__unwatch","$watch","inserted","w","Subscribe","watcher","UnSubscribe","ClientsideImageryLayer","options","_esriMap","Esri","Geometry","Support","webMercatorUtils","_a","Layers","BaseLayerView2D","ClientsideImageryLayerView","createSubclass","attach","_imagesWatcher","layer","watch","requestRender","detach","remove","renderParameters","pixelRatio","size","height","rotation","translate","rotate","PI","save","geometryRasters","createTile","restore","preProcessingFunctions","func","renderer","applyBlur","coloringFunction","postProcessingFunctions","BaseTileLayer","properties","skipIfNoValue","geometryClip","_defaultGeoTiffRenderer","defaultGeoTiffRenderer","addImageRaster","geometry","rasterdata","toWebMercator","projection","minxy","lngLatToXY","xmin","ymin","maxxy","xmax","ymax","createLayerView","view","lv","instance","BindArrayToImagery","to","removeRaster","_g","$g","_$graphic$_","addRaster","__awaiter","BindTo","vue","propname","twoWay","esriprop","newvalue","old","$set","BindArrayToLayer","immediate","removeGraphic","addGraphic","add","changed","__unobserve","_ObservableArray","__generator","el","Loader","remapPrefix","prefix","uri","packageName","dojoConfig","async","packages","dojo-preload-i18n-Api","initialize","url","isloading","isLoaded","loadScript","then","catch","dep","loadModules","refs","load","deps","CreationResult","_esriUtils","Widgets","AreaMeasurement2D","AreaMeasurement3D","Attribution","BasemapGallery","BasemapToggle","ColorSlider","Compass","DistanceMeasurement2D","Expand","Home","LayerList","Legend","Locate","NavigationToggle","Popup","Print","ScaleBar","Search","SizeSlider","Sketch","Track","UnivariateColorSizeSlider","Zoom","WidgetsFactory","mapView","search","ui","component","index","home","withLegendPerLayer","_widgets","legendFunction","customActions","actionsSections","legendEnabled","customLegend","panel","content","open","container","listItemCreatedFunction","domNode","expandIconClass","autoCollapse","resultbutton","LayerListWithLegend","className","visible","on","action","visibleLayer","opacity","LegendWithExpander","iconClass","style","expand","DistanceMeasure","_ui","_configurations","_geometries","_kpatlas","store","join","getStoreState","propertyResolve","unjoin","_startup","directives","filters","_veeValidate","sc","Vue","devtools","performance","VueDynamicRegister","install","directive","use","keys","Validator","localize","messagesEn","_highchartsMore2","Highcharts","_solidGauge2","VueHighcharts","VueBootstrapTypeahead","VeeValidate","locale","fieldsBagName","validity","classes","classNames","valid","invalid","dictionary","en","messages","resize","mixin","isvalid","KPAtlasApp","ServiceInizialization","router","template","components","App","_vuex2","appStore","Store","storage","storageSize","round","log","LoadAnnex1","LoadCountriesPriority","LoadJHUConfiguration","LoadJHUCountriesMapper","LoadConfiguration","_AlertHelper","resolverConfiguration","delayResolver","_base","_utils","AidsInfoService","_super","language","responseFormat","callStack","callsDelayedQueuePromise","callsDelayedQueueResults","setInterval","CallsDelayed","__extends","GetDatas","aidsInfoCallParameters","blockKey","take","Date","getTime","constructor","params","Language","ResponseFormat","SOURCE","baseUrl","relativeUrl","CallsDelayedQueue","responseKey","responses","delete","Data","lang","Observation","response","delay","callDelay","calls","entries","callk","blockCalls","results","callParameters","closureCountriesDatas","datas","countryColorClassifications","SubnationDatas","filteredParams","closureSubnations","areaIdsWithData_1","accumulator","currentValue","areasWithoutData","includes","category","categoryDatas","number","categoryParameters","regionColorClassifications","Quality","quality","baseRestService","_factoryService","interceptorsConfig","requestInterceptors","responseInterceptors","errorsInterceptors","sharedInterceptors","addRequestInterceptor","onRequestInterceptorChanged","addResponseInterceptor","onResponseInterceptorChanged","addErrorInterceptor","onErrorInterceptorChanged","allwaysSendAuthenticationToken","saveToSessionStorage","_interceptors","http","_axios2","interceptors","setArraySerializationMethod","reqConfig","method","paramsSerializer","_qs2","arrayFormat","getRaw","sendAuthenticationToken","headers","prepareHeaders","status","OnError","post","contentType","_body","err_1","Post","put","Put","Delete","downloadGet","responseType","downloadPost","auth","authData","getAuthenticationToken","access_token","OnHeadersPreparing","wstore","sessionStorage","sstore","setAuthenticationToken","deleteAuthenticationToken","validURL","RegExp","test","AuthToken","DataResponse","newObj","dest","sourceArr","toremove","hasFeature","featureId","Proxy","StoreActionProxyHandler","StoreGetterProxyHandler","ResolverConfiguration","setFirstLoadingCompleted","__pendingResolvers","intersection","k","propDescriptor","getOwnPropertyDescriptor","__proto__","getterValue","resolveFunction","isEmptyArray","_util","isUndefined","actionsNames","getOwnPropertyNames","rest","dispatch","ownKeys","getPrototypeOf","gettersNames","args","_Measure","_Draw","_bilinearInterpolation","_geometryClipFunction","_ClientsideImageryLayer","_Esri","Measure","MeasureParameters","Draw","DrawParameters","rasterBilinearInterpolation","MessageService","_events","subscribeToChannel","callback","once","$once","$on","deleteChannel","$off","unsubscribeFromChannel","publishToChannel","$emit","messageService","format","date","_moment2","utc","String","HTML5_FMT","DATETIME_LOCAL_MS","local","isValid","originalValue","formatRequired","formatValue","num","digits","parseFloat","si","symbol","decimalCount","decimalsCountrer","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","_config","ConfigurationService","apiKey","arcgisApiKey","Views","_2D","PointDrawAction","PolygonDrawAction","PolylineDrawAction","MapView","SceneView","ViewAnimation","_GeoTiffImageLayer","_MultiLayer","LayersSupport","FeatureLayer","BaseDynamicLayer","BaseElevationLayer","CSVLayer","ElevationLayer","GeoRSSLayer","GraphicsLayer","GroupLayer","ImageryLayer","IntegratedMeshLayer","KMLLayer","MapImageLayer","OpenStreetMapLayer","PointCloudLayer","SceneLayer","StreamLayer","TileLayer","VectorTileLayer","WebTileLayer","WMSLayer","WMTSLayer","GeoTiffImageLayer","MultiRendererLayer","MultiLayer","DimensionalDefinition","Sublayer","RasterFunction","GeoTiffImageLayerView","_propertyHandle","imageRasters","ras","rxstep","rystep","y","val","gxmin","gxmax","gymin","gymax","p1","p2","toScreenNoRotation","classifyCell","fillStyle","fillRect","georaster","MultilayerView","preRenderingCallBack","renderingCallBack","hitTest","hitTestBuffer","graphics","xy","prerender","grender","imageSmoothingEnabled","point","spatialReference","isWGS84","geographicToWebMercator","RenderingHelper","Core","Collection","coll","drawCircle","radius","strokeStyle","strokeWidth","lineWidth","beginPath","arc","stroke","fill","drawRect","strokeRect","drawText","font","offsetx","offsety","fillText","strokeText","wmUtils","avoidTransparent","top","bottom","sw","globalCompositeOperation","no_data_value","normalizeUtils","jsonUtils","Circle","Extent","ExtentConstructor","ExtentOf","geometries","extent","geom","gextent","longitude","latitude","union","HeightModelInfo","Multipoint","Point","PointConstructor","Polygon","PolygonConstructor","Polyline","PolylineConstructor","ScreenPoint","SpatialReference","geometryEngine","geometryEngineAsync","Tasks","ClosestFacilityTask","FindTask","GeometryService","Geoprocessor","IdentifyTask","ImageServiceIdentifyTask","Locator","PrintTask","QueryTask","RouteTask","ServiceAreaTask","Query","PrintParameters","PrintTemplate","Symbols","ExtrudeSymbol3DLayer","FillSymbol","FillSymbolConstructor","FillSymbol3DLayer","Font","IconSymbol3DLayer","LabelSymbol3D","LineSymbol","LineSymbol3D","LineSymbol3DLayer","MarkerSymbol","MeshSymbol3D","ObjectSymbol3DLayer","PathSymbol3DLayer","PictureFillSymbol","PictureMarkerSymbol","PointSymbol3D","PolygonSymbol3D","SimpleFillSymbol","SimpleLineSymbol","SimpleMarkerSymbol","SimpleMarkerSymbolConstructor","TextSymbol","TextSymbolConstructor","TextSymbol3DLayer","WebStyleSymbol","Renderers","SmartMapping","ClassBreaksRenderer","SimpleRenderer","Statistics","Creators","Symbology","ClassBreaks","Relationship","Size","Color","getSchemes","cloneScheme","scheme","Actions","ActionButton","ActionButtonConstructor","ActionToggle","ActionToggleConstructor","parameters","drawing","activeWidget","currentMode","MeasureArea","RemoveWidget","viewModel","newMeasurement","MeasurePerimeter","destroy","areaUnitOfMeasure","distanceUnitOfMeasure","_startedMeasuring","domButtonNode","graphicLayer","_graphics","initWidget","drawOption","addEventListener","initDrawing","endDrawing","removeAll","draw","onDrawReset","tool","focus","enableMeasure","drawPolygon","drawPolyline","evt","emit","vertices","rings","polygon","Graphic","geometrySymbol","graphic","geoengine","area","geodesicArea","simplifiedPolygon","simplify","labelAreas","onDrawCompleted","paths","polyline","polylineSymbol","geodesicLength","labelDistance","labelSymbol","text","areaLabel","centroid","distanceLabel","center","measureTool","haloColor","haloSize","xoffset","yoffset","family","outline","cap","enabled","steps","assign","lay","destination","isNaN","isFinite","ring","lineTo","closePath","clip","GeometiesService","Countries","where","returnGeometry","maxAllowableOffset","outFields","orderByFields","stored","Regions","Sites","JHURedcupService","token","reportId","queryData","this_1","observationsReduce","paramReduce","normalizeObservation","countryFieldKey","countryFieldValue","needDecode","decodeCountryId","countryName","yearFieldValue","footnoteFieldValue","footnoteField","_loaderIndicator","LoaderIndicator","_toggleLoaderClass","binding","loaderClass","modifiers","background","classList","contains","_typeof","finally","update","computed","errors","$children","_vuePropertyDecorator","Component","registerHooks","_vueRouter2","linkActiveClass","scrollBehavior","routes","_routes2","beforeEach","next","path","redirect","meta","basename","children","_App_vue_vue_type_template_id_770684c3___WEBPACK_IMPORTED_MODULE_0__","_App_ts_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","_messageService","_baseRestService","Factory","_Views","_Layers","_Geometry","_Tasks","_Symbols","_Widgets","_Renderers","_Support","urlUtils","Basemap","Camera","ColorConstructor","Ground","kernel","PopupTemplate","Viewpoint","WebMap","WebScene","_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_1_1_App_ts_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_1_1_App_ts_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","created","__decorate","_vueClassComponent2"],"mappings":"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,0EC1CrB,IAAAxrB,EAAA,CACA0rB,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,gBAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,YAAA,IACAC,eAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,aAAA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","file":"build.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t4: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"1\":\"common\",\"2\":\"dashboard\",\"3\":\"layout\"}[chunkId]||chunkId) + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([294,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export class FactoryService {\r\n\r\n private static _objects: { [key: string]: any } = {};\r\n\r\n public static Register(ctor: { new(): T }) {\r\n let name = FactoryService.getTypeName(ctor);\r\n FactoryService._objects[name] = new ctor();\r\n }\r\n\r\n public static RegisterExplicit(name: string, ctor: { new(): any }) {\r\n FactoryService._objects[name] = new ctor();\r\n }\r\n\r\n\r\n public static GetByName(name:string): any{\r\n return FactoryService._objects[name];\r\n }\r\n\r\n public static SetByName(name:string, object:any){\r\n FactoryService._objects[name] = object;\r\n }\r\n\r\n public static Get(ctor: { new(): T }): T {\r\n let result;\r\n let name = FactoryService.getTypeName(ctor);\r\n result = FactoryService._objects[name] as T;\r\n if (result == null) {\r\n result = FactoryService._objects[name] = new ctor();\r\n }\r\n return result as T;\r\n }\r\n\r\n public static GetExplicit(name: string): T {\r\n return FactoryService._objects[name] as T;\r\n }\r\n\r\n private static getTypeName(ctor: { new(): T }): string {\r\n return ctor.name;\r\n }\r\n\r\n private static createInstance(ctor: { new(): T }): T {\r\n return new ctor();\r\n }\r\n}\r\n\r\nexport function Service(ctor: { new(): T }): T {\r\n return FactoryService.Get(ctor) as T;\r\n}\r\n\r\nexport function ServiceDeclare(ctor: T) {\r\n FactoryService.RegisterExplicit(ctor.name, ctor);\r\n}\r\n\r\nexport interface INamedObject {\r\n _$typename: string;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=template&id=770684c3&\"","import { configurationsStoreGetters, kpatlasStoreActions } from \"@/store\";\r\nimport { formatNumber } from \"@/filters\";\r\nimport { aidsInfoService, jhuRedcupService } from \"@/services\";\r\nimport { Deferred } from \"@/services/_base/Deferred\";\r\n\r\nexport class Utils {\r\n public static MakeLegenda(param: KpAtlas.BlockParameter, data: KpAtlas.Response[], colorClassification: number[][], breaks: number[] = [], selectValueFunction: (d: KpAtlas.Response) => number): KpAtlas.LegendClassifications[] {\r\n const result: KpAtlas.LegendClassifications[] = [];\r\n const step = Math.ceil(data.length / 4);\r\n\r\n for (let i = 0; i < 4; i++) {\r\n let valueBreak: number = null;\r\n if (breaks.length > 0) {\r\n valueBreak = breaks[i];\r\n const item = {\r\n color: colorClassification[i],\r\n min: i === 0 ? 0 : Number((result[i - 1].max + 0.0001).toFixed(1)),\r\n max: i < 3 ? Number(valueBreak.toFixed(1)) : data.length > 0 && data[(data.length - 1)] ? Number((selectValueFunction(data[(data.length - 1)])).toFixed(1)) : 100,\r\n } as KpAtlas.LegendClassifications;\r\n item.value = (i === 0 ? `โ‰ค ${formatNumber(item.max, 1)}${this.GetUnitMisure(param)}` : i === 3 ? `โ‰ฅ ${formatNumber(item.min, 1)}${this.GetUnitMisure(param)}` : `${formatNumber(item.min, 1)}${this.GetUnitMisure(param)} - ${formatNumber(item.max, 1)}${this.GetUnitMisure(param)}`);\r\n result.push(item);\r\n } else {\r\n result.push({ color: null, min: null, max: null });\r\n }\r\n }\r\n\r\n if (breaks.length <= 0) {\r\n for (let j = 0; j < data.length; j++) {\r\n const idx = Math.floor(j / step);\r\n result[idx].color = colorClassification[idx];\r\n result[idx].min = idx === 0 ? 0 : Number((result[idx - 1].max + 0.0001).toFixed(1));\r\n result[idx].max = j !== (data.length - 1 || data.length === 1) ?\r\n Number((selectValueFunction(data[(j)])).toFixed(1)) :\r\n Number((selectValueFunction(data[(data.length - 1)]) * 1000).toFixed(1)); // Moltiplico per 1000 per aumentare la soglia massima\r\n result[idx].value = (idx === 0 ? `โ‰ค ${formatNumber(result[idx].max, 1)}${this.GetUnitMisure(param)}` : idx === 3 ? `> ${formatNumber(result[idx].min, 1)}${this.GetUnitMisure(param)}` : `> ${formatNumber(result[idx].min, 1)}${this.GetUnitMisure(param)} - ${formatNumber(result[idx].max, 1)}${this.GetUnitMisure(param)}`);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static RecalcLegendaStaticCoded(data, selectValueFunction: (d: KpAtlas.Response) => number) {\r\n const config = configurationsStoreGetters.config();\r\n const resultMap = new Map();\r\n for (let j = 0; j < data.length; j++) {\r\n const elem = data[j];\r\n const key = selectValueFunction(elem);\r\n if (!resultMap.has(key)) {\r\n const decoded = config.legend.decodeDefinition[`${key}`];\r\n if (decoded) {\r\n resultMap.set(key, {\r\n color: decoded.color.split(\",\").map((m) => parseInt(m, 10)),\r\n min: key,\r\n max: key,\r\n value: decoded.value,\r\n });\r\n } else {\r\n resultMap.set(key, {\r\n color: [70, 70, 70],\r\n min: key,\r\n max: key,\r\n value: elem.denominator,\r\n });\r\n }\r\n }\r\n }\r\n\r\n const result = Array.from(resultMap.values());\r\n kpatlasStoreActions.setLegend(result);\r\n }\r\n\r\n public static CleanLegenda() {\r\n const result = [];\r\n for (let i = 0; i < 4; i++) {\r\n result.push({ color: null, min: null, max: null });\r\n }\r\n kpatlasStoreActions.setLegend(result);\r\n }\r\n\r\n public static ParamReduce(data: KpAtlas.ResponseIndicatorBlockParam[]): KpAtlas.ResponseIndicatorBlock[] {\r\n const temp = {};\r\n const reduced = data.filter((f) => !!f).reduce((r, o) => {\r\n let key = `${o.indicator.key}`;\r\n if (o.block) {\r\n key += `_${o.block.label.replace(/ /gi, \"-\").toLowerCase()}`;\r\n }\r\n if (!temp[key]) {\r\n temp[key] = { indicator: o.indicator, block: o.block, groups: [o] } as KpAtlas.ResponseIndicatorBlock;\r\n r.push(temp[key]);\r\n } else {\r\n temp[key].groups.push(o);\r\n }\r\n return r;\r\n }, [] as KpAtlas.ResponseIndicatorBlock[]);\r\n return reduced;\r\n }\r\n\r\n public static ObservationsReduce(data: AidsInfoCall.Observation[], block?: KpAtlas.Block, param?: KpAtlas.BlockParameter): KpAtlas.Response[] {\r\n const temp = {};\r\n const reduced = data.sort((a, b) => {\r\n if (a.TIME_PERIOD > b.TIME_PERIOD) { return -1; }\r\n if (a.TIME_PERIOD < b.TIME_PERIOD) { return 1; }\r\n return 0;\r\n }).reduce((r, o) => {\r\n const key = `${o.AREA.id}`;\r\n if (!temp[key]) {\r\n const parsed = Utils.NormalizeObservation(o, param);\r\n temp[key] = {\r\n iso3: key,\r\n indicatorKey: parsed.INDICATOR.id,\r\n indicatorName: this.capitalizeFirstLetter(parsed.INDICATOR.value),\r\n blockLabel: block ? block.label : null,\r\n paramKey: parsed.SUBGROUP.id,\r\n paramName: this.capitalizeFirstLetter(parsed.SUBGROUP.value),\r\n lastValue: parsed.VALUE,\r\n timePeriod: parsed.TIME_PERIOD,\r\n hasSubNationalData: block ? block.hasSubNationalData : false,\r\n nationWithSubNationalData: block ? block.nationWithSubNationalData : [],\r\n denominator: parsed.DENOMINATOR,\r\n unit: parsed.UNIT.id,\r\n footNotes: parsed.FOOTNOTES,\r\n isTextualData: parsed.IS_TEXTUALDATA,\r\n observations: [parsed],\r\n } as KpAtlas.Response;\r\n\r\n r.push(temp[key]);\r\n } else {\r\n temp[key].observations.push(Utils.NormalizeObservation(o, param));\r\n }\r\n return r;\r\n }, [] as KpAtlas.Response[]);\r\n return reduced;\r\n }\r\n\r\n public static NormalizeObservation(observation: AidsInfoCall.Observation, param: KpAtlas.BlockParameter): KpAtlas.NormalizeObservation {\r\n return {\r\n INDICATOR: observation.INDICATOR,\r\n SUBGROUP: observation.SUBGROUP,\r\n AREA: observation.AREA,\r\n UNIT: observation.UNIT,\r\n TIME_PERIOD: parseInt(observation.TIME_PERIOD, 10),\r\n FOOTNOTES: observation.FOOTNOTES,\r\n IS_TEXTUALDATA: JSON.parse((observation.IS_TEXTUALDATA || \"false\").toLowerCase()),\r\n DENOMINATOR: JSON.parse((observation.IS_TEXTUALDATA || \"false\").toLowerCase()) ? observation[param.field] : observation.DENOMINATOR,\r\n VALUE: JSON.parse((observation.IS_TEXTUALDATA || \"false\").toLowerCase()) ? observation.DENOMINATOR : observation[param.field],\r\n };\r\n }\r\n\r\n public static GetUnitMisure(obj: KpAtlas.Block | KpAtlas.BlockParameter) {\r\n const measureTypes = configurationsStoreGetters.config().measureTypes;\r\n return (measureTypes[obj.unit] || { suffix: \"\" }).suffix;\r\n }\r\n\r\n public static capitalizeFirstLetter(str: string) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n }\r\n\r\n public static async getIndicatorData(indicator: KpAtlas.Indicator | JHU.Indicator,\r\n blocks: Array,\r\n areas: Array,\r\n recalcLegend: boolean = false): Promise {\r\n\r\n switch (indicator.sourceData) {\r\n case \"KPATLAS\":\r\n return await aidsInfoService.CountriesDatas(indicator as KpAtlas.Indicator, blocks as Array, areas, recalcLegend)\r\n case \"JHU\":\r\n return await jhuRedcupService.CountriesDatas(indicator as JHU.Indicator, blocks as Array, areas, recalcLegend);\r\n default: {\r\n var d = new Deferred();\r\n d.resolve([]);\r\n return d.promise;\r\n }\r\n }\r\n }\r\n}\r\n","export { aidsInfoService } from \"./aidsInfoService\";\r\nexport { configurationService } from \"./configurationService\";\r\nexport { geometriesService } from \"./geometriesService\";\r\nexport { jhuRedcupService } from \"./jhuRedcupService\";","export class Deferred {\r\n public resolve: (value?: T | Promise) => void;\r\n public reject: (reason?: any) => void;\r\n public promise: Promise;\r\n constructor() {\r\n this.promise = new Promise((res, rej) => {\r\n this.resolve = res;\r\n this.reject = rej;\r\n });\r\n }\r\n}\r\n","import {\n dateformat,\n formatNumber,\n} from \"./filters\";\n\nexport {\n dateformat,\n formatNumber,\n}","import { CreateActionsHandler, CreateGettersHandler } from \"./UTILS\";\r\n\r\ninterface UiStoreModel {\r\n position: [];\r\n sidebarActive: boolean;\r\n}\r\n\r\ninterface UiStoreGetters {\r\n getPosition: () => [];\r\n getSidebarActive: () => boolean;\r\n}\r\n\r\ninterface UiStoreActions {\r\n setPosition(pos);\r\n setSidebarActive(active)\r\n}\r\n\r\nexport const uiStore = {\r\n PREFIX: \"ui\",\r\n namespaced: true,\r\n state: {\r\n position: [12.833333, 42.833333],\r\n sidebarActive: false,\r\n } ,\r\n getters: {\r\n getSidebarActive: (state: UiStoreModel) => () => {\r\n return state.sidebarActive;\r\n }\r\n },\r\n mutations: {\r\n SET_POSITION(state, pos) {\r\n state.position = pos;\r\n },\r\n SET_SIDEBAR_ACTIVE(state, active) {\r\n state.sidebarActive = active;\r\n },\r\n },\r\n actions: {\r\n setPosition(context, pos) {\r\n context.commit(\"SET_POSITION\", pos);\r\n },\r\n setSidebarActive(context, active) {\r\n context.commit(\"SET_SIDEBAR_ACTIVE\", active);\r\n },\r\n },\r\n};\r\n\r\nexport const uiStoreActions = CreateActionsHandler(uiStore);\r\nexport const uiStoreGetters = CreateGettersHandler(uiStore);\r\n","import { CreateActionsHandler, CreateGettersHandler } from \"./UTILS\";\r\nimport { unaidsLocalStorage } from \"./app.localStorage\";\r\nimport { unaidsPersistStorage } from \"./app.persistStorage\";\r\n\r\nexport interface GeometriesStoreModel {\r\n countries: Array>;\r\n selectedCountry: __esri.Graphic;\r\n regions: Array>;\r\n selectedRegion: __esri.Graphic;\r\n sites: Array>;\r\n selectedSite: __esri.Graphic;\r\n}\r\n\r\ninterface GeometriesStoreGetters {\r\n getCountries(ISO3?: string): Array>;\r\n getSelectedCountry(): __esri.Graphic;\r\n getRegions(ISO3: string): Array>;\r\n getSelectedRegion(): __esri.Graphic;\r\n getSites(ISO3: string): Array>;\r\n getSelectedSite(): __esri.Graphic;\r\n}\r\ninterface GeometriesStoreActions {\r\n setCountries(data: Array>);\r\n cleanCountries();\r\n setSelectedCountry(data: __esri.Graphic);\r\n cleanSelectedCountry();\r\n setRegions(data: {ISO3: string, features: Array>});\r\n cleanRegions();\r\n setSelectedRegion(data: __esri.Graphic);\r\n cleanSelectedRegion();\r\n setSites(data: {ISO3: string, features: Array>});\r\n cleanSites();\r\n setSelectedSite(data: __esri.Graphic);\r\n cleanSelectedSite();\r\n}\r\n\r\nexport const geometriesStore = {\r\n PREFIX: \"geometries\",\r\n namespaced: true,\r\n state: {\r\n countries: [],\r\n selectedCountry: null,\r\n regions: [],\r\n selectedRegion: null,\r\n sites: [],\r\n selectedSite: null,\r\n } as GeometriesStoreModel,\r\n getters: {\r\n getCountries: (state: GeometriesStoreModel) => (ISO3?: string) => {\r\n return state.countries.filter((f) => !ISO3 || f.attributes.ISO3 === ISO3);\r\n },\r\n getSelectedCountry: (state: GeometriesStoreModel) => () => {\r\n return state.selectedCountry;\r\n },\r\n getRegions: (state: GeometriesStoreModel) => (ISO3: string) => {\r\n return state.regions.filter((f) => f.attributes.ISO3 === ISO3);\r\n },\r\n getSelectedRegion: (state: GeometriesStoreModel) => () => {\r\n return state.selectedRegion;\r\n },\r\n getSites: (state: GeometriesStoreModel) => (ISO3: string) => {\r\n return state.sites.filter((f) => f.attributes.ISO3 === ISO3);\r\n },\r\n getSelectedSite: (state: GeometriesStoreModel) => () => {\r\n return state.selectedSite;\r\n },\r\n },\r\n mutations: {\r\n setCountries(state: GeometriesStoreModel, data: Array>) {\r\n if (!data || data.length <= 0) { return; }\r\n const objectIds = state.countries.map((m) => m.attributes.OBJECTID);\r\n data.forEach((i) => {\r\n if (objectIds.indexOf(i.attributes.OBJECTID)) {\r\n state.countries.push(i);\r\n // unaidsPersistStorage.setItem(\"countries\", i);\r\n }\r\n });\r\n unaidsLocalStorage.setItem(\"countries\", data);\r\n },\r\n cleanCountries(state: GeometriesStoreModel) {\r\n state.countries = state.countries.splice(0, state.countries.length);\r\n },\r\n setSelectedCountry(state: GeometriesStoreModel, data: __esri.Graphic) {\r\n state.selectedCountry = data;\r\n },\r\n cleanSelectedCountry(state: GeometriesStoreModel) {\r\n state.selectedCountry = null;\r\n },\r\n setRegions(state: GeometriesStoreModel, data: {ISO3: string, features: Array>}) {\r\n if (!data || data.features.length <= 0) { return; }\r\n state.selectedRegion = null;\r\n data.features.filter((x) => !!x).forEach((i) => {\r\n state.regions.push(i);\r\n });\r\n // unaidsLocalStorage.setItem(`regions_${data.ISO3}`, data.features);\r\n },\r\n cleanRegions(state: GeometriesStoreModel) {\r\n state.regions = state.regions.splice(0, state.regions.length);\r\n },\r\n setSelectedRegion(state: GeometriesStoreModel, data: __esri.Graphic) {\r\n state.selectedRegion = data;\r\n },\r\n cleanSelectedRegion(state: GeometriesStoreModel) {\r\n state.selectedRegion = null;\r\n },\r\n setSites(state: GeometriesStoreModel, data: {ISO3: string, features: Array>}) {\r\n if (!data || data.features.length <= 0) { return; }\r\n state.selectedSite = null;\r\n data.features.filter((x) => !!x).forEach((i) => {\r\n state.sites.push(i);\r\n });\r\n // unaidsLocalStorage.setItem(`sites_${data.ISO3}`, data.features);\r\n },\r\n cleanSites(state: GeometriesStoreModel) {\r\n state.sites = state.sites.splice(0, state.sites.length);\r\n },\r\n setSelectedSite(state: GeometriesStoreModel, data: __esri.Graphic) {\r\n state.selectedSite = data;\r\n },\r\n cleanSelectedSite(state: GeometriesStoreModel) {\r\n state.selectedSite = null;\r\n },\r\n },\r\n actions: {\r\n setCountries(context, data: Array>) {\r\n context.commit(\"setCountries\", data);\r\n },\r\n cleanCountries(context) {\r\n context.commit(\"cleanCountries\");\r\n },\r\n setSelectedCountry(context, data: __esri.Graphic) {\r\n context.commit(\"setSelectedCountry\", data);\r\n },\r\n cleanSelectedCountry(context) {\r\n context.commit(\"cleanSelectedCountry\");\r\n },\r\n setRegions(context, data: {ISO3: string, features: Array>}) {\r\n context.commit(\"setRegions\", data);\r\n },\r\n cleanRegions(context) {\r\n context.commit(\"cleanRegions\");\r\n },\r\n setSelectedRegion(context, data: __esri.Graphic) {\r\n context.commit(\"setSelectedRegion\", data);\r\n },\r\n cleanSelectedRegion(context) {\r\n context.commit(\"cleanSelectedRegion\");\r\n },\r\n setSites(context, data: {ISO3: string, features: Array>}) {\r\n context.commit(\"setSites\", data);\r\n },\r\n cleanSites(context) {\r\n context.commit(\"cleanSites\");\r\n },\r\n setSelectedSite(context, data: __esri.Graphic) {\r\n context.commit(\"setSelectedSite\", data);\r\n },\r\n cleanSelectedSite(context) {\r\n context.commit(\"cleanSelectedSite\");\r\n },\r\n },\r\n};\r\n\r\nexport const geometriesStoreActions = CreateActionsHandler(geometriesStore);\r\nexport const geometriesStoreGetters = CreateGettersHandler(geometriesStore);\r\n","import { storageFactory } from \"./app.storageFactory\";\r\n\r\nexport class UnaidsLocalStorage {\r\n private _db: Storage;\r\n constructor() {\r\n this._db = storageFactory(localStorage);\r\n }\r\n\r\n public getItem(key: string): T {\r\n return JSON.parse(this._db.getItem(key));\r\n }\r\n\r\n public setItem(key: string, data: T): void {\r\n this._db.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n public removeItem(key: string): void {\r\n this._db.removeItem(key);\r\n }\r\n\r\n public clearAll(): void {\r\n this._db.clear();\r\n }\r\n}\r\nexport const unaidsLocalStorage = new UnaidsLocalStorage();\r\n","import { CreateActionsHandler, CreateGettersHandler } from \"./UTILS\";\r\n\r\nexport interface ConfigurationsStoreModel {\r\n configurations: KpAtlas.Configurations;\r\n annex1: KpAtlas.IndicatorGroup[];\r\n countriesPriority: KpAtlas.CountriesPriority[];\r\n\r\n jhuConfigurations: JHU.Configuration[],\r\n jhuCountriesMapper: JHU.CountryMapper[],\r\n\r\n selectedIndicatorGroup: KpAtlas.IndicatorGroup;\r\n selectedIndicators: Array;\r\n compare: boolean;\r\n summaryPriorityIndicators: { kp1: { group: KpAtlas.IndicatorGroup, indicators: Array }, kp2: { group: KpAtlas.IndicatorGroup, indicators: Array } };\r\n}\r\n\r\ninterface ConfigurationsStoreGetters {\r\n config(): KpAtlas.Configurations;\r\n annex1(): KpAtlas.IndicatorGroup[];\r\n countriesPriority(): KpAtlas.CountriesPriority[];\r\n jhuConfigurations(): JHU.Configuration[];\r\n jhuCountriesMapper(): JHU.CountryMapper[];\r\n jhuCountry(code: string): JHU.CountryMapper;\r\n selectedIndicatorGroup(): KpAtlas.IndicatorGroup;\r\n selectedIndicators(): Array;\r\n compare(): boolean;\r\n summaryPriorityIndicators(): { kp1: { group: KpAtlas.IndicatorGroup, indicators: Array }, kp2: { group: KpAtlas.IndicatorGroup, indicators: Array } };\r\n}\r\ninterface ConfigurationsStoreActions {\r\n setConfiguration(data: KpAtlas.Configurations);\r\n cleanConfiguration();\r\n setAnnex1(data: KpAtlas.IndicatorGroup[]);\r\n cleanAnnex1();\r\n setCountriesPriority(data: KpAtlas.CountriesPriority[]);\r\n cleanCountriesPriority();\r\n\r\n setJHUConfigurations(data: JHU.Configuration[]);\r\n cleanJHUConfigurations();\r\n setJHUCountriesMapper(data: JHU.CountryMapper[]);\r\n cleanJHUCountriesMapper();\r\n\r\n selectIndicatorGroup(data: KpAtlas.IndicatorGroup);\r\n cleanIndicatorGroup();\r\n selectIndicator(data: KpAtlas.Indicator | JHU.Indicator);\r\n cleanIndicator();\r\n setCompare(data: boolean);\r\n setSummaryPriorityIndicators(data: { kpPriority: string, group: KpAtlas.IndicatorGroup, indicators: Array });\r\n}\r\n\r\nexport const configurationsStore = {\r\n PREFIX: \"configurations\",\r\n namespaced: true,\r\n state: {\r\n configurations: null,\r\n annex1: [],\r\n countriesPriority: [],\r\n jhuConfigurations: [],\r\n jhuCountriesMapper: [],\r\n selectedIndicatorGroup: null,\r\n selectedIndicators: [],\r\n compare: false,\r\n summaryPriorityIndicators: { kp1: { group: null, indicators: [] }, kp2: { group: null, indicators: [] } },\r\n } as ConfigurationsStoreModel,\r\n getters: {\r\n config: (state: ConfigurationsStoreModel) => () => {\r\n return state.configurations;\r\n },\r\n annex1: (state: ConfigurationsStoreModel) => () => {\r\n return state.annex1;\r\n },\r\n countriesPriority: (state: ConfigurationsStoreModel) => () => {\r\n return state.countriesPriority;\r\n },\r\n jhuConfigurations: (state: ConfigurationsStoreModel) => () => {\r\n return state.jhuConfigurations;\r\n },\r\n jhuCountriesMapper: (state: ConfigurationsStoreModel) => () => {\r\n return state.jhuCountriesMapper;\r\n },\r\n jhuCountry: (state: ConfigurationsStoreModel) => (code: string) => {\r\n return state.jhuCountriesMapper.find(f => f.countryId.toString() === code);\r\n },\r\n selectedIndicatorGroup: (state: ConfigurationsStoreModel) => () => {\r\n return state.selectedIndicatorGroup;\r\n },\r\n selectedIndicators: (state: ConfigurationsStoreModel) => () => {\r\n return state.selectedIndicators;\r\n },\r\n compare: (state: ConfigurationsStoreModel) => () => {\r\n return state.compare;\r\n },\r\n summaryPriorityIndicators: (state: ConfigurationsStoreModel) => () => {\r\n return state.summaryPriorityIndicators;\r\n },\r\n },\r\n mutations: {\r\n setConfiguration(state: ConfigurationsStoreModel, data: KpAtlas.Configurations) {\r\n if (data) {\r\n state.configurations = data;\r\n }\r\n },\r\n cleanConfiguration(state: ConfigurationsStoreModel) {\r\n state.configurations = null;\r\n },\r\n setAnnex1(state: ConfigurationsStoreModel, data: KpAtlas.IndicatorGroup[]) {\r\n if (data) {\r\n state.annex1 = data.map(m => {\r\n m.indicators = m.indicators.map(mm => {\r\n mm.sourceData = \"KPATLAS\";\r\n return mm;\r\n })\r\n return m;\r\n });\r\n }\r\n },\r\n cleanAnnex1(state: ConfigurationsStoreModel) {\r\n state.annex1 = [];\r\n },\r\n setJHUConfigurations(state: ConfigurationsStoreModel, data: JHU.Configuration[]) {\r\n if (data && data.length > 0) {\r\n state.jhuConfigurations = data;\r\n for (const key in data) {\r\n const element = data[key];\r\n const matchWithIndicatorUNAIDS = state.annex1.find(f => f.name === element.name);\r\n if (matchWithIndicatorUNAIDS) {\r\n matchWithIndicatorUNAIDS.indicators = matchWithIndicatorUNAIDS.indicators.concat(\r\n element.indicators.filter(asfa =>(asfa.blocks || []).length <= 0 || (asfa.countryField && asfa.countryField.source && asfa.timeTrendField && asfa.timeTrendField.source)).map(m => {\r\n m.sourceData = \"JHU\";\r\n return m;\r\n }))\r\n }\r\n }\r\n }\r\n },\r\n cleanJHUConfigurations(state: ConfigurationsStoreModel) {\r\n state.jhuConfigurations = null;\r\n },\r\n setCountriesPriority(state: ConfigurationsStoreModel, data: KpAtlas.CountriesPriority[]) {\r\n if (data) {\r\n state.countriesPriority = data;\r\n }\r\n },\r\n cleanCountriesPriority(state: ConfigurationsStoreModel) {\r\n state.countriesPriority = null;\r\n },\r\n\r\n\r\n setJHUCountriesMapper(state: ConfigurationsStoreModel, data: JHU.CountryMapper[]) {\r\n if (data) {\r\n state.jhuCountriesMapper = data;\r\n }\r\n },\r\n cleanJHUCountriesMapper(state: ConfigurationsStoreModel) {\r\n state.jhuCountriesMapper = null;\r\n },\r\n\r\n selectIndicatorGroup(state: ConfigurationsStoreModel, data: KpAtlas.IndicatorGroup) {\r\n state.selectedIndicatorGroup = data;\r\n },\r\n cleanIndicatorGroup(state: ConfigurationsStoreModel) {\r\n state.selectedIndicatorGroup = null;\r\n },\r\n selectIndicator(state: ConfigurationsStoreModel, data: KpAtlas.Indicator | JHU.Indicator) {\r\n if (!state.compare || (state.compare && state.selectedIndicators.length > 1)) {\r\n state.selectedIndicators.pop();\r\n }\r\n state.selectedIndicators.push(data);\r\n },\r\n cleanIndicator(state: ConfigurationsStoreModel) {\r\n state.selectedIndicators = [];\r\n },\r\n setCompare(state: ConfigurationsStoreModel, data: boolean) {\r\n state.compare = data;\r\n if (!state.compare && state.selectedIndicators.length > 1) {\r\n state.selectedIndicators.pop();\r\n }\r\n },\r\n setSummaryPriorityIndicators(state: ConfigurationsStoreModel, data: { kpPriority: string, group: KpAtlas.IndicatorGroup, indicators: Array }) {\r\n state.summaryPriorityIndicators[data.kpPriority] = { group: data.group, indicators: data.indicators };\r\n },\r\n },\r\n actions: {\r\n setConfiguration(context, data: KpAtlas.Configurations) {\r\n context.commit(\"setConfiguration\", data);\r\n },\r\n cleanConfiguration(context) {\r\n context.commit(\"cleanConfiguration\");\r\n },\r\n setAnnex1(context, data: KpAtlas.IndicatorGroup[]) {\r\n context.commit(\"setAnnex1\", data);\r\n },\r\n cleanAnnex1(context) {\r\n context.commit(\"cleanAnnex1\");\r\n },\r\n setCountriesPriority(context, data: KpAtlas.CountriesPriority[]) {\r\n context.commit(\"setCountriesPriority\", data);\r\n },\r\n cleanCountriesPriority(context) {\r\n context.commit(\"cleanCountriesPriority\");\r\n },\r\n setJHUConfigurations(context, data: JHU.Configuration[]) {\r\n context.commit(\"setJHUConfigurations\", data);\r\n },\r\n cleanJHUConfigurations(context) {\r\n context.commit(\"cleanJHUConfigurations\");\r\n },\r\n setJHUCountriesMapper(context, data: JHU.CountryMapper[]) {\r\n context.commit(\"setJHUCountriesMapper\", data);\r\n },\r\n cleanJHUCountriesMapper(context) {\r\n context.commit(\"cleanJHUCountriesMapper\");\r\n },\r\n selectIndicatorGroup(context, data: KpAtlas.IndicatorGroup) {\r\n context.commit(\"selectIndicatorGroup\", data);\r\n },\r\n cleanIndicatorGroup(context) {\r\n context.commit(\"cleanIndicatorGroup\");\r\n },\r\n selectIndicator(context, data: KpAtlas.Indicator | JHU.Indicator) {\r\n context.commit(\"selectIndicator\", data);\r\n },\r\n cleanIndicator(context) {\r\n context.commit(\"cleanIndicator\");\r\n },\r\n setCompare(context, data: boolean) {\r\n context.commit(\"setCompare\", data);\r\n },\r\n setSummaryPriorityIndicators(context, data: { kpPriority: string, group: KpAtlas.IndicatorGroup, indicators: Array }) {\r\n context.commit(\"setSummaryPriorityIndicators\", data);\r\n },\r\n },\r\n};\r\n\r\nexport const configurationsStoreActions = CreateActionsHandler(configurationsStore);\r\nexport const configurationsStoreGetters = CreateGettersHandler(configurationsStore);\r\n","import { CreateActionsHandler, CreateGettersHandler, fillArray } from \"./UTILS\";\r\n\r\nexport interface KpatlasStoreModel {\r\n showSubnationalData: boolean;\r\n legend: KpAtlas.LegendClassifications[];\r\n}\r\n\r\ninterface KpatlasStoreGetters {\r\n showSubnationalData(): boolean;\r\n legend(): KpAtlas.LegendClassifications[];\r\n}\r\ninterface KpatlasStoreActions {\r\n setShowSubnationalData(data: boolean);\r\n setLegend(data: KpAtlas.LegendClassifications[]);\r\n cleanLegend();\r\n}\r\n\r\nexport const kpatlasStore = {\r\n PREFIX: \"kpatlas\",\r\n namespaced: true,\r\n state: {\r\n showSubnationalData: false,\r\n legend: [],\r\n } as KpatlasStoreModel,\r\n getters: {\r\n showSubnationalData: (state: KpatlasStoreModel) => (): boolean => {\r\n return state.showSubnationalData;\r\n },\r\n legend: (state: KpatlasStoreModel) => (): KpAtlas.LegendClassifications[] => {\r\n return state.legend;\r\n },\r\n },\r\n mutations: {\r\n setShowSubnationalData(state: KpatlasStoreModel, data: boolean) {\r\n state.showSubnationalData = data;\r\n },\r\n setLegend(state: KpatlasStoreModel, data: KpAtlas.LegendClassifications[]) {\r\n state.legend = state.legend.splice(0, state.legend.length);\r\n if (!data || data.length <= 0) { return; }\r\n fillArray(state.legend, data);\r\n },\r\n cleanLegend(state: KpatlasStoreModel) {\r\n state.legend = state.legend.splice(0, state.legend.length);\r\n },\r\n },\r\n actions: {\r\n setShowSubnationalData(context, data: boolean) {\r\n context.commit(\"setShowSubnationalData\", data);\r\n },\r\n setLegend(context, data: Array>) {\r\n context.commit(\"setLegend\", data);\r\n },\r\n cleanLegend(context) {\r\n context.commit(\"cleanLegend\");\r\n },\r\n },\r\n};\r\n\r\nexport const kpatlasStoreActions = CreateActionsHandler(kpatlasStore);\r\nexport const kpatlasStoreGetters = CreateGettersHandler(kpatlasStore);\r\n","import iziToast, { IziToastSettings, IziToastPosition } from \"izitoast\";\r\n\r\nexport class AlertHelper {\r\n\r\n public static showInfo(title: string, description: string, timeout: number | boolean = 5000) {\r\n try {\r\n iziToast.success({\r\n timeout,\r\n theme: \"dark\",\r\n title: title,\r\n message: description,\r\n class: \"agr-white\",\r\n icon: \"fa fa-check fa-2x\",\r\n position: \"topLeft\",\r\n progressBarEasing: \"linear\",\r\n progressBar: true,\r\n progressBarColor: \"#f7386d\",\r\n closeOnEscape: false,\r\n drag: false,\r\n } as any);\r\n } catch (err) {\r\n console.debug(\"show info error: \", err);\r\n }\r\n }\r\n\r\n public static showLoader(info: string) {\r\n const toast = document.querySelector(\"#toastLoading\") as any;\r\n AlertHelper.operation++;\r\n\r\n if (toast) {\r\n try {\r\n iziToast.progress({}, toast).pause();\r\n iziToast.progress({}, toast).reset();\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n return;\r\n }\r\n\r\n try {\r\n iziToast.info({\r\n id: \"toastLoading\",\r\n timeout: 1000,\r\n icon: \"fas fa-circle-notch fa-spin fa-fw\",\r\n position: \"bottomLeft\",\r\n toastOnce: true,\r\n theme: \"dark\",\r\n title: info,\r\n close: false,\r\n width: 200,\r\n transitionIn: \"fadeIn\",\r\n transitionOut: \"fadeOut\",\r\n progressBarEasing: \"linear\",\r\n progressBar: true,\r\n progressBarColor: \"#f7386d\",\r\n closeOnEscape: false,\r\n drag: false,\r\n onClosed() {\r\n AlertHelper.operation = 0;\r\n },\r\n } as any);\r\n } catch (err) { }\r\n }\r\n\r\n public static hideLoader() {\r\n setTimeout(() => {\r\n AlertHelper.operation--;\r\n const toast = document.querySelector(\"#toastLoading\") as any;\r\n try {\r\n if (AlertHelper.operation < 1 && toast) {\r\n iziToast.progress({}, toast).resume();\r\n }\r\n } catch (err) { }\r\n }, 500);\r\n }\r\n\r\n public static showError(title: string, description: string, timeout: number | boolean = 30000, position: IziToastPosition = \"topLeft\", onClosingCallback: any = null, onClosedCallback: any = null) {\r\n try {\r\n iziToast.error({\r\n timeout, theme: \"dark\",\r\n title: title,\r\n message: description ? description : null,\r\n class: \"agr-error\",\r\n icon: \"fa fa-exclamation-circle fa-2x\",\r\n position,\r\n progressBarEasing: \"linear\",\r\n progressBar: true,\r\n progressBarColor: \"#f7386d\",\r\n closeOnEscape: false,\r\n drag: false,\r\n onClosing: onClosingCallback,\r\n onClosed: onClosedCallback,\r\n });\r\n } catch (err) {\r\n console.debug(\"show error\", err);\r\n }\r\n }\r\n\r\n private static operation: number = 0;\r\n}\r\n","import { configurationsStoreGetters } from \"./store\";\r\n\r\ndeclare var AGOL_URL: string;\r\n\r\nexport class Config {\r\n public static arcgisPortal: string = \"https://www.arcgis.com/sharing/rest/portals/self?f=json\";\r\n public static clientSideUrl: string = `${window.location.origin}/`;\r\n public static geoemtriesServerUrl: string = AGOL_URL;\r\n}\r\n","import Vue from \"vue\";\r\n\r\nexport class ArrayObserver{\r\n\r\n private _watchers: Array> = []\r\n private _deep: boolean = false;\r\n private _deepObserver: Vue = new Vue();\r\n private _observer: ArrayObserver = null;\r\n\r\n constructor(arr: T[], deep: boolean, reobserve: boolean = false) {\r\n\r\n this._deep = deep;\r\n this._observer = this;\r\n \r\n\r\n var obj = arr as any;\r\n\r\n if(obj.__isObserved && reobserve){\r\n obj.__isObserved = false;\r\n obj.push = obj._push;\r\n obj.pop = obj._pop;\r\n obj.shift = obj._shift;\r\n obj.unshift = obj._unshift;\r\n obj.splice = obj._splice; \r\n }\r\n\r\n if (obj.__isObserved) return;\r\n\r\n var observer = this;\r\n obj.__isObserved = true;\r\n // redefine functions\r\n obj._push = arr.push;\r\n obj._pop = arr.pop;\r\n obj._shift = arr.shift;\r\n obj._unshift = arr.unshift;\r\n obj._splice = arr.splice;\r\n\r\n arr.push = function (items) {\r\n obj._push(items);\r\n\r\n let _items: any[] = items instanceof Array ? items : [items];\r\n if (_items && deep)\r\n _items.forEach(e => observer.deepWatch(e));\r\n observer.notify(\"push\", _items, null);\r\n return arr.length;\r\n }\r\n\r\n arr.pop = function () {\r\n let result = obj._pop();\r\n observer.unWatch(result);\r\n observer.notify(\"pop\", null, [result]);\r\n return result;\r\n }\r\n\r\n arr.shift = function () {\r\n let result = obj._shift();\r\n observer.unWatch(result);\r\n observer.notify(\"shift\", null, [result]);\r\n return result;\r\n }\r\n\r\n arr.unshift = function (items) {\r\n obj._unshift(items);\r\n observer.notify(\"unshift\", items instanceof Array ? items : [items], null);\r\n return arr.length;\r\n }\r\n\r\n arr.splice = function (start: number, deletecount?: number, ...items) {\r\n let toadd = items instanceof Array ? items : [items];\r\n\r\n let deleted = null;\r\n if (toadd.length > 0)\r\n deleted = obj._splice(start, deletecount, toadd);\r\n else\r\n deleted = obj._splice(start, deletecount);\r\n\r\n deleted = deleted instanceof Array ? deleted : [deleted];\r\n\r\n deleted.forEach(e => observer.unWatch(e));\r\n\r\n let _items = items instanceof Array ? items : [items];\r\n if (_items && deep)\r\n _items.forEach(e => observer.deepWatch(e));\r\n observer.notify(\"splice\", _items, deleted);\r\n return deleted;\r\n }\r\n\r\n if (deep)\r\n arr.forEach(element => observer.deepWatch(element));\r\n observer.notify(\"init\", arr, null);\r\n }\r\n\r\n private unWatch(object) {\r\n if (object.__unwatch) object.__unwatch();\r\n }\r\n\r\n private deepWatch(object) {\r\n var observer = this;\r\n object.__unwatch = this._deepObserver.$watch(() => object, (n, o) => { observer.notify(\"changed\", [n], [o]) }, { deep: false });\r\n }\r\n\r\n private notify(operation: string, inserted: T[], deleted: T[]) {\r\n this._watchers.forEach(w => {\r\n w(operation, inserted, deleted);\r\n });\r\n }\r\n\r\n public Subscribe(watcher: ObservableArrayChanged): Function {\r\n this._watchers.push(watcher);\r\n return () => this.UnSubscribe(watcher);\r\n }\r\n\r\n public UnSubscribe(watcher: ObservableArrayChanged) {\r\n var idx = this._watchers.indexOf(watcher);\r\n this._watchers.splice(idx, 1);\r\n }\r\n}\r\n\r\nexport interface ObservableArrayChanged { (operation: string, inserted: T[], deleted: T[]) }\r\n","import { Esri, geometryClip, ArrayObserver } from \"src/esriMap\";\nimport { bilinear_unrolled, bilinear_optimized, nearest, nearest_unrolled, bicubic_optimized } from \"./functions/upscalingFunctions\";\nimport { defaultGeoTiffRenderer } from \"./renderers/defaultGeoTiffRenderer\";\n\nexport async function ClientsideImageryLayer(options): Promise {\n\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\n\n let ClientsideImageryLayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\n // create Web workers to manipulate the raster image\n // Attach property watchers to layer\n attach: function () {\n this._imagesWatcher = this.layer.watch(\"applyBlur\", function () {\n this.requestRender();\n })\n },\n // Detach property watchers from layer\n detach: function () {\n this._imagesWatcher.remove();\n // this._propertyHandle = null;\n },\n render(renderParameters: { context: Object, stationary: boolean, state: IState }) {\n var state = renderParameters.state;\n var context = renderParameters.context as any;\n\n var pixelRatio = state.pixelRatio;\n var width = state.size[0];\n var height = state.size[1];\n\n if (state.rotation !== 0) {\n context.translate(width * pixelRatio * 0.5, height * pixelRatio * 0.5);\n context.rotate((state.rotation * Math.PI) / 180);\n context.translate(- width * pixelRatio * 0.5, -height * pixelRatio * 0.5);\n }\n\n context.save();\n (this.layer.geometryRasters).forEach((element: IGeometryRaster) => {\n this.createTile(element, context, state);\n });\n\n context.restore();\n },\n\n createTile: function (element: IGeometryRaster, context, state) {\n\n context.save();\n // Chiamate alle funzioni di preprocessing\n this.layer.preProcessingFunctions.forEach((func: IPreProcessingFunction) => {\n element = func(element, context, state, webMercatorUtils) || element;\n });\n\n if (this.layer.renderer) {\n this.layer.renderer(element, context, state, webMercatorUtils, this.layer.applyBlur, false, this.layer.coloringFunction);\n }\n\n // Chiamata alle funzioni di postprocessing\n this.layer.postProcessingFunctions.forEach((func: IPostProcessingFunction) => {\n func(element, context, state, webMercatorUtils);\n });\n context.restore();\n },\n })\n\n let ClientsideImageryLayer = (await Esri.Layers.BaseTileLayer()).createSubclass({\n properties: {\n skipIfNoValue: true,\n },\n\n preProcessingFunctions: [geometryClip] as Array,\n postProcessingFunctions: [] as Array,\n renderer: defaultGeoTiffRenderer,\n coloringFunction: null as IColoringFunction,\n geometryRasters: [] as IGeometryRaster[],\n applyBlur: false,\n\n addImageRaster: function (item: IGeometryRaster) {\n this.geometryRasters.push({\n attributes: item.attributes,\n geometry: item.geometry,\n rasterdata: this.toWebMercator(item.rasterdata)\n } as IGeometryRaster);\n },\n\n toWebMercator: function (rasterdata) {\n if (rasterdata.projection == 4326) {\n let minxy = webMercatorUtils.lngLatToXY(rasterdata.xmin, rasterdata.ymin);\n let maxxy = webMercatorUtils.lngLatToXY(rasterdata.xmax, rasterdata.ymax);\n\n rasterdata.xmin = minxy[0];\n rasterdata.ymin = minxy[1];\n rasterdata.xmax = maxxy[0];\n rasterdata.ymax = maxxy[1];\n }\n\n return rasterdata;\n },\n createLayerView(view): IClientsideImageryLayerView {\n let lv = new ClientsideImageryLayerView({\n view: view,\n layer: this\n });\n\n this.requestRender = lv.requestRender;\n return lv;\n }\n });\n\n let instance = new ClientsideImageryLayer(options) as IClientsideImageryLayer;\n instance.geometryRasters = [];\n instance.applyBlur = false;\n return instance;\n}\n\nexport interface IClientsideImageryLayer extends __esri.Layer {\n geometryRasters: Array;\n addImageRaster(item: IGeometryRaster);\n preProcessingFunctions: Array,\n postProcessingFunctions: Array,\n renderer: ICustomLayerRenderer,\n applyBlur: boolean,\n coloringFunction: IColoringFunction,\n // requestRender()\n}\n\nexport interface IClientsideImageryLayerView extends __esri.LayerView {\n\n}\n\n\nexport interface IGeometryRaster {\n geometry: __esri.Polygon;\n rasterdata: IRaster,\n\n attributes?: any,\n _currentScale?: number,\n _tile?: any;\n\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface IRaster {\n values: Array>>,\n xmin: number,\n ymin: number,\n xmax: number,\n ymax: number,\n width: number,\n height: number,\n no_data_value: number,\n projection: number,\n normalized: boolean,\n interpolated: boolean,\n cleaned: boolean\n}\n\nexport interface IPreProcessingFunction {\n (data: IGeometryRaster,\n context: CanvasRenderingContext2D,\n state: {\n toScreenNoRotation(destination, source)\n }, wmUtils: __esri.webMercatorUtils\n ): IGeometryRaster;\n}\n\nexport interface IPostProcessingFunction {\n (data: IGeometryRaster,\n context: CanvasRenderingContext2D,\n state: IState, wmUtils: __esri.webMercatorUtils);\n}\n\nexport interface IColoringFunction {\n (data: number): number[]\n}\n\nexport interface ICustomLayerRenderer {\n (data: IGeometryRaster,\n context: CanvasRenderingContext2D,\n state: IState, wmUtils: __esri.webMercatorUtils,\n applyBlur: boolean,\n avoidTransparent: boolean,\n coloringFunction: IColoringFunction);\n}\n\nexport interface IState {\n toScreenNoRotation(destination, source),\n // width: number,\n rotation: number,\n scale: number,\n // height: number,\n size: Array,\n center: Array,\n // latitude: number,\n // longitude: number\n pixelRatio: number\n}\n\nexport function BindArrayToImagery(from: T[], to: IClientsideImageryLayer,\n filter: { (item: T): boolean } = i => true,\n map: { (item: T): Promise },\n deep: boolean = false) {\n function removeRaster(_g) {\n if (_g == null) return;\n let $g = _g._$graphic$_;\n let idx = to.geometryRasters.indexOf($g);\n if (idx >= 0) to.geometryRasters.splice(idx, 1);\n _g._$graphic$_ = null;\n }\n\n async function addRaster(_g) {\n if (_g == null) return;\n if ((_g as any)._$graphic$_) return;\n let $g = (await map(_g)) as IGeometryRaster;\n (_g as any)._$graphic$_ = $g;\n to.addImageRaster($g);\n }\n\n let observer = new ArrayObserver(from, deep);\n observer.Subscribe((operation, inserted, deleted) => {\n\n if (deleted)\n deleted.filter(i => filter(i)).forEach((i: any) => {\n if (i instanceof Array)\n i.forEach(element => removeRaster(element));\n else\n removeRaster(i);\n });\n\n if (inserted)\n inserted.filter(i => filter(i)).forEach(async i => {\n addRaster(i);\n });\n });\n\n (from).filter(i => filter(i)).forEach(async i => {\n addRaster(i);\n });\n}\n","import * as el from \"esri-loader\";\r\nimport Vue, { WatchOptions } from \"vue\";\r\nimport { ArrayObserver } from \"./Observers/ObservableArray\";\r\nimport { Esri } from \"./Esri\";\r\n\r\ndeclare let window: any;\r\n\r\nexport class Loader {\r\n public static isloading: Promise;\r\n\r\n public static packageName: string = \"esri\";\r\n\r\n public static remapPrefix(prefix: string, uri: string) {\r\n Loader.packageName = prefix;\r\n\r\n window.dojoConfig = {\r\n async: true,\r\n packages: [{ name: prefix, location: uri }],\r\n has: { \"dojo-preload-i18n-Api\": false },\r\n };\r\n }\r\n\r\n public static initialize(url: string = \"https://js.arcgis.com/4.19/\") {\r\n if (!this.isloading) {\r\n this.isloading = new Promise((resolve, reject) => {\r\n if (!el.isLoaded()) {\r\n el.loadScript({ url }).then((value) => { resolve(value); }).catch((err) => { throw (err); });\r\n }\r\n });\r\n }\r\n }\r\n\r\n public static async get(dep: string): Promise {\r\n await this.isloading;\r\n return new Promise((resolve, reject) => {\r\n el.loadModules([dep]).then((refs) => {\r\n resolve(refs[0]);\r\n });\r\n });\r\n }\r\n\r\n public static async load(...deps: string[]): Promise {\r\n await this.isloading;\r\n return new Promise((resolve, reject) => {\r\n el.loadModules(deps).then((refs) => {\r\n resolve(refs);\r\n });\r\n });\r\n }\r\n\r\n public static async create(dep: string, options?: any): Promise {\r\n\r\n const ctor: any = await Loader.get(dep);\r\n if (!ctor) { throw new Error(\"Unable to create :\" + dep); }\r\n\r\n return (await new CreationResult(new ctor(options))).result;\r\n }\r\n}\r\n\r\nexport class CreationResult {\r\n public result: T;\r\n\r\n constructor(item: T) {\r\n this.result = item;\r\n }\r\n}\r\n\r\nexport function BindTo(vue: Vue, obj: any, propname: string, twoWay: boolean = false, esriprop?: string, options?: WatchOptions) {\r\n vue.$watch(propname, (n, o) => {\r\n if (n !== o) {\r\n obj.set(esriprop || propname, n, options);\r\n }\r\n });\r\n\r\n if (twoWay && obj.watch) {\r\n obj.watch(esriprop || propname, (newvalue, old) => {\r\n if (newvalue !== old) {\r\n vue.$set(vue, propname, newvalue);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport async function BindArrayToLayer(from: T[], to: __esri.Collection<__esri.Graphic>, map: (item: T) => Promise<__esri.Graphic>, deep: boolean = false, reobserve: boolean = false, immediate: boolean = false) {\r\n function removeGraphic(_g) {\r\n const $g = _g._$graphic$_;\r\n // let idx = to.indexOf($g);\r\n // if (idx >= 0) (to as any).splice(idx, 1);\r\n to.remove($g);\r\n _g._$graphic$_ = null;\r\n }\r\n\r\n async function addGraphic(_g) {\r\n if ((_g as any)._$graphic$_) { return; }\r\n const $g = (await map(_g)) as __esri.Graphic;\r\n (_g as any)._$graphic$_ = $g;\r\n to.add($g);\r\n }\r\n\r\n async function changed(_g) {\r\n const old = (_g as any)._$graphic$_;\r\n const $g = (await map(_g)) as __esri.Graphic;\r\n (_g as any)._$graphic$_ = $g;\r\n if (old) {\r\n to.remove(old);\r\n }\r\n to.add($g);\r\n }\r\n\r\n if ((from as any).__unobserve && reobserve) {\r\n (from as any).__unobserve();\r\n }\r\n\r\n const observer = new ArrayObserver(from, deep, reobserve);\r\n (from as any).__unobserve = observer.Subscribe((operation, inserted, deleted) => {\r\n if (operation === \"changed\") {\r\n inserted.forEach(async (i) => await changed(i));\r\n return;\r\n }\r\n\r\n // tslint:disable-next-line:curly\r\n if (deleted)\r\n deleted.forEach((i: any) => {\r\n if (i instanceof Array) {\r\n i.forEach((element) => removeGraphic(element));\r\n }\r\n removeGraphic(i);\r\n });\r\n\r\n if (inserted) {\r\n inserted.forEach(async (i, idx) => {\r\n await addGraphic(i);\r\n });\r\n }\r\n });\r\n\r\n if (immediate) {\r\n (from).forEach(async (i) => {\r\n await addGraphic(i);\r\n });\r\n }\r\n}\r\n","import { Loader, CreationResult } from \"./esriUtils\";\r\n\r\nexport class Widgets {\r\n\r\n public async AreaMeasurement2D(options?: any): Promise {\r\n return (await Loader.create(Loader.packageName + \"/widgets/AreaMeasurement2D\", options));\r\n }\r\n\r\n public async AreaMeasurement3D(options?: any): Promise<__esri.AreaMeasurement3D> {\r\n return (await Loader.create<__esri.AreaMeasurement3D>(Loader.packageName + \"/widgets/AreaMeasurement3D\", options));\r\n }\r\n\r\n public async Attribution(options?: any): Promise<__esri.Attribution> {\r\n return (await Loader.create<__esri.Attribution>(Loader.packageName + \"/widgets/Attribution\", options));\r\n }\r\n\r\n public async BasemapGallery(options?: any): Promise<__esri.BasemapGallery> {\r\n return (await Loader.create<__esri.BasemapGallery>(Loader.packageName + \"/widgets/BasemapGallery\", options));\r\n }\r\n\r\n public async BasemapToggle(options?: any): Promise<__esri.BasemapToggle> {\r\n return (await Loader.create<__esri.BasemapToggle>(Loader.packageName + \"/widgets/BasemapToggle\", options));\r\n }\r\n\r\n public async ColorSlider(options?: any): Promise<__esri.ColorSlider> {\r\n return (await Loader.create<__esri.ColorSlider>(Loader.packageName + \"/widgets/ColorSlider\", options));\r\n }\r\n\r\n public async Compass(options?: any): Promise<__esri.Compass> {\r\n return (await Loader.create<__esri.Compass>(Loader.packageName + \"/widgets/Compass\", options));\r\n }\r\n\r\n public async DistanceMeasurement2D(options?: any): Promise {\r\n return (await Loader.create(Loader.packageName + \"/widgets/DistanceMeasurement2D\", options));\r\n }\r\n\r\n public async Expand(options?: any): Promise<__esri.Expand> {\r\n return (await Loader.create<__esri.Expand>(Loader.packageName + \"/widgets/Expand\", options));\r\n }\r\n\r\n public async Home(options?: any): Promise<__esri.Home> {\r\n return (await Loader.create<__esri.Home>(Loader.packageName + \"/widgets/Home\", options));\r\n }\r\n\r\n public async LayerList(options?: any): Promise<__esri.LayerList> {\r\n return (await Loader.create<__esri.LayerList>(Loader.packageName + \"/widgets/LayerList\", options));\r\n }\r\n\r\n public async Legend(options?: any): Promise<__esri.Legend> {\r\n return (await Loader.create<__esri.Legend>(Loader.packageName + \"/widgets/Legend\", options));\r\n }\r\n\r\n public async Locate(options?: any): Promise<__esri.Locate> {\r\n return (await Loader.create<__esri.Locate>(Loader.packageName + \"/widgets/Locate\", options));\r\n }\r\n\r\n public async NavigationToggle(options?: any): Promise<__esri.NavigationToggle> {\r\n return (await Loader.create<__esri.NavigationToggle>(Loader.packageName + \"/widgets/NavigationToggle\", options));\r\n }\r\n\r\n public async Popup(options?: any): Promise<__esri.Popup> {\r\n return (await Loader.create<__esri.Popup>(Loader.packageName + \"/widgets/Popup\", options));\r\n }\r\n\r\n public async Print(options?: any): Promise<__esri.Print> {\r\n return (await Loader.create<__esri.Print>(Loader.packageName + \"/widgets/Print\", options));\r\n }\r\n\r\n public async ScaleBar(options?: any): Promise<__esri.ScaleBar> {\r\n return (await Loader.create<__esri.ScaleBar>(Loader.packageName + \"/widgets/ScaleBar\", options));\r\n }\r\n\r\n public async Search(options?: any): Promise<__esri.Search> {\r\n return (await Loader.create<__esri.Search>(Loader.packageName + \"/widgets/Search\", options));\r\n }\r\n\r\n public async SizeSlider(options?: any): Promise<__esri.SizeSlider> {\r\n return (await Loader.create<__esri.SizeSlider>(Loader.packageName + \"/widgets/SizeSlider\", options));\r\n }\r\n\r\n public async Sketch(options?: any): Promise {\r\n return (await Loader.create(Loader.packageName + \"/widgets/Sketch\", options));\r\n }\r\n\r\n public async Track(options?: any): Promise<__esri.Track> {\r\n return (await Loader.create<__esri.Track>(Loader.packageName + \"/widgets/Track\", options));\r\n }\r\n\r\n public async UnivariateColorSizeSlider(options?: any): Promise<__esri.UnivariateColorSizeSlider> {\r\n return (await Loader.create<__esri.UnivariateColorSizeSlider>(Loader.packageName + \"/widgets/UnivariateColorSizeSlider\", options));\r\n }\r\n\r\n public async Zoom(options?: any): Promise<__esri.Zoom> {\r\n return (await Loader.create<__esri.Zoom>(Loader.packageName + \"/widgets/Zoom\", options));\r\n }\r\n\r\n}\r\n\r\nexport class WidgetsFactory {\r\n public async Search(mapView: __esri.View, position: string = \"top-left\"): Promise<__esri.Search> {\r\n const search: __esri.Search = await new Widgets().Search({ view: mapView } as __esri.SearchProperties);\r\n // mapView.ui.add(search, { position, index: 0 });\r\n mapView.ui.add([{ component: search, position, index: 0 }]);\r\n return search;\r\n }\r\n\r\n public async Home(mapView: __esri.View, position: string = \"top-left\"): Promise<__esri.Home> {\r\n const home = await new Widgets().Home({ view: mapView } as __esri.HomeProperties);\r\n mapView.ui.add(home, { position } as any);\r\n return home;\r\n }\r\n\r\n public async Locate(mapView: __esri.View, position: string = \"top-left\"): Promise<__esri.Locate> {\r\n const result = await new Widgets().Locate({ view: mapView } as __esri.LocateProperties);\r\n mapView.ui.add(result, { position } as any);\r\n return result;\r\n }\r\n\r\n public async Track(mapView: __esri.View, position: string = \"top-left\"): Promise<__esri.Track> {\r\n const result = await new Widgets().Track({ view: mapView } as __esri.TrackProperties);\r\n mapView.ui.add(result, { position } as any);\r\n return result;\r\n }\r\n\r\n public async LayerList(mapView: __esri.View, position: string = \"top-right\", withLegendPerLayer: boolean = false): Promise<__esri.LayerList> {\r\n const _widgets = new Widgets();\r\n const legendFunction = (event) => {\r\n const item = event.item;\r\n if (item.layer.customActions) {\r\n item.actionsSections = [item.layer.customActions];\r\n }\r\n\r\n if (item.layer.legendEnabled && item.layer.customLegend) {\r\n item.panel = {\r\n content: event.item.layer.customLegend,\r\n open: true,\r\n };\r\n }\r\n };\r\n\r\n const result = await _widgets.LayerList({\r\n view: mapView,\r\n container: document.createElement(\"div\"),\r\n listItemCreatedFunction: withLegendPerLayer ? legendFunction : null,\r\n } as __esri.LayerListProperties);\r\n const resultbutton = await _widgets.Expand({ content: (result as any).domNode, view: mapView, expandIconClass: \"esri-icon-layer-list\", autoCollapse: true } as __esri.ExpandProperties);\r\n mapView.ui.add(resultbutton, { position } as any);\r\n return result;\r\n }\r\n\r\n public async LayerListWithLegend(mapView: __esri.MapView, position: string = \"top-right\"): Promise<__esri.LayerList> {\r\n const _widgets = new Widgets();\r\n const result = await _widgets.LayerList({\r\n view: mapView,\r\n container: document.createElement(\"div\"),\r\n listItemCreatedFunction: (event) => {\r\n const item = event.item;\r\n if (item.layer.url) {\r\n item.panel = {\r\n content: \"legend\",\r\n className: \"esri-icon-labels\",\r\n open: item.visible,\r\n };\r\n item.actionsSections = [\r\n [{ title: \"Informazioni sul servizio\", className: \"esri-icon-description\", id: \"information\" }],\r\n [{ title: \"Aumenta l'opacitร \", className: \"esri-icon-up\", id: \"increase-opacity\" },\r\n { title: \"Diminuisci l'opacitร \", className: \"esri-icon-down\", id: \"decrease-opacity\" }],\r\n ];\r\n }\r\n },\r\n } as __esri.LayerListProperties);\r\n const resultbutton = await _widgets.Expand({ content: (result as any).domNode, view: mapView, expandIconClass: \"esri-icon-layers\", autoCollapse: true } as __esri.ExpandProperties);\r\n result.on(\"trigger-action\", (event) => {\r\n const item = event.item;\r\n const id = event.action.id; // Capture the action id.\r\n const visibleLayer = item.layer;\r\n\r\n switch (id) {\r\n case \"information\": {\r\n window.open(visibleLayer.url);\r\n break;\r\n }\r\n case \"increase-opacity\": {\r\n if (visibleLayer.opacity < 1) {\r\n visibleLayer.opacity += 0.2;\r\n }\r\n break;\r\n }\r\n case \"decrease-opacity\": {\r\n if (visibleLayer.opacity > 0) {\r\n visibleLayer.opacity -= 0.2;\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n mapView.ui.add(resultbutton, { position } as any);\r\n return result;\r\n }\r\n\r\n public async Legend(mapView: __esri.View, position: string = \"bottom-right\"): Promise<__esri.Legend> {\r\n const result = await new Widgets().Legend({ view: mapView });\r\n mapView.ui.add(result, { position } as any);\r\n return result;\r\n }\r\n\r\n public async LegendWithExpander(mapView: __esri.View, position: string = \"bottom-right\", iconClass: string = \"esri-icon-notice-round\"): Promise<__esri.Legend> {\r\n const result = await new Widgets().Legend({ view: mapView, container: document.createElement(\"div\"), style: \"card\" });\r\n const expand = await new Widgets().Expand({ view: mapView, content: result, expandIconClass: iconClass });\r\n\r\n mapView.ui.add(expand, { position } as any);\r\n return result;\r\n }\r\n\r\n public async BasemapGallery(mapView: __esri.View, position: string = \"top-right\"): Promise<__esri.BasemapGallery> {\r\n const _widgets = new Widgets();\r\n const result = await _widgets.BasemapGallery({ view: mapView, container: document.createElement(\"div\") });\r\n const resultbutton = await _widgets.Expand({ content: (result as any).domNode, view: mapView, expandIconClass: \"esri-icon-basemap\", autoCollapse: true } as __esri.ExpandProperties);\r\n mapView.ui.add(resultbutton, { position } as any);\r\n return result;\r\n }\r\n\r\n public async DistanceMeasure(mapView: __esri.View, position: string = \"top-right\"): Promise {\r\n const _widgets = new Widgets();\r\n const result = await _widgets.AreaMeasurement2D({});\r\n mapView.ui.add(result, { position } as any);\r\n }\r\n}\r\n","import { store, AppModel, getStoreState } from \"@/store/app.store\";\r\nimport { join, propertyResolve, unjoin, fillArray } from \"./UTILS\";\r\n\r\nimport { uiStoreActions, uiStoreGetters } from \"./ui.store\";\r\nimport { configurationsStoreGetters, configurationsStoreActions } from \"./configurations.store\";\r\nimport { geometriesStoreActions, geometriesStoreGetters } from \"./geometries.store\";\r\nimport { kpatlasStoreActions, kpatlasStoreGetters } from \"./kpatlas.store\";\r\n\r\nexport {\r\n store,\r\n AppModel,\r\n join,\r\n fillArray,\r\n getStoreState,\r\n propertyResolve,\r\n unjoin,\r\n uiStoreActions,\r\n uiStoreGetters,\r\n configurationsStoreGetters,\r\n configurationsStoreActions,\r\n geometriesStoreActions,\r\n geometriesStoreGetters,\r\n kpatlasStoreActions,\r\n kpatlasStoreGetters,\r\n};\r\n","import Vue from \"vue\";\r\nimport { store } from \"@/store\";\r\n\r\nvar sc = document.createElement(\"script\");\r\nsc.setAttribute(\"type\", \"text/javascript\");\r\ndocument.head.appendChild(sc);\r\n\r\nimport { ServiceInizialization } from \"@/app_startup/startup\";\r\n// modificate qui se volete attivare i servizi di sviluppo di vue\r\nVue.config.devtools = true;\r\nVue.config.performance = false;\r\n\r\n// Mi assicuro che durante la pubblicazione i servizi di sviluppo di VUE siano disattivati.\r\nif (!DEVELOPMENT) {\r\n Vue.config.devtools = false;\r\n Vue.config.performance = false;\r\n}\r\n\r\n// import vgl from 'vue-golden-layout'\r\n// import 'golden-layout/src/css/goldenlayout-light-theme.css'\r\n// Vue.use(vgl)\r\n\r\nimport { Loader } from \"@/esriMap\";\r\nLoader.initialize();\r\n\r\nimport * as directives from \"./directives\";\r\nconst VueDynamicRegister = {\r\n install: function(Vue) {\r\n // Register directives\r\n for (var directive in directives) {\r\n Vue.directive(directive, directives[directive]);\r\n }\r\n },\r\n};\r\nVue.use(VueDynamicRegister);\r\n\r\nimport * as filters from './filters' // global filters\r\nObject.keys(filters).forEach(key => {\r\n Vue.filter(key, filters[key])\r\n})\r\n\r\n\r\nimport VeeValidate, { Validator } from \"vee-validate\";\r\nimport messagesEn from \"vee-validate/dist/locale/en\";\r\nValidator.localize(\"en\", messagesEn);\r\n\r\nimport Highcharts from \"highcharts\";\r\nimport VueHighcharts from \"vue2-highcharts\";\r\nimport HighchartsMore from \"highcharts/highcharts-more\";\r\nimport SolidGauge from \"highcharts/modules/solid-gauge\";\r\n\r\n\r\nHighchartsMore(Highcharts);\r\nSolidGauge(Highcharts);\r\n\r\nVue.use(VueHighcharts);\r\n\r\nimport VueBootstrapTypeahead from \"vue-bootstrap-typeahead\";\r\nVue.component('vue-bootstrap-typeahead', VueBootstrapTypeahead)\r\n\r\nVue.use(VeeValidate, {\r\n locale: \"en\",\r\n fieldsBagName: \"vfields\",\r\n validity: true,\r\n classes: true,\r\n classNames: {\r\n valid: \"is-valid\",\r\n invalid: \"is-invalid\",\r\n },\r\n dictionary: {\r\n en: {\r\n messages: messagesEn,\r\n }\r\n },\r\n});\r\n\r\nimport resize from \"vue-resize-directive\";\r\nVue.directive(\"resize\", resize);\r\n\r\nimport isvalid from \"./mixins/isValid\";\r\nVue.mixin(isvalid);\r\n\r\nimport router from \"./router\";\r\n\r\nimport App from \"./App.vue\";\r\nexport var KPAtlasApp = null;\r\nServiceInizialization().then(result => {\r\n setTimeout(() => {\r\n KPAtlasApp = new Vue({\r\n el: \"#app\",\r\n router,\r\n store,\r\n template: \"\",\r\n components: {\r\n App,\r\n },\r\n });\r\n }, 1000);\r\n});","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport { uiStore } from \"./ui.store\";\r\nimport { geometriesStore, GeometriesStoreModel} from \"./geometries.store\";\r\nimport { configurationsStore, ConfigurationsStoreModel } from \"./configurations.store\";\r\nimport { kpatlasStore, KpatlasStoreModel } from \"./kpatlas.store\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface AppModel {\r\n configurations: ConfigurationsStoreModel;\r\n geometries: GeometriesStoreModel;\r\n kpatlas: KpatlasStoreModel;\r\n}\r\n\r\nconst appStore = {\r\n modules: {\r\n [uiStore.PREFIX]: uiStore,\r\n [configurationsStore.PREFIX]: configurationsStore,\r\n [geometriesStore.PREFIX]: geometriesStore,\r\n [kpatlasStore.PREFIX]: kpatlasStore,\r\n },\r\n};\r\n\r\nexport const store = new Vuex.Store(appStore as any);\r\n\r\nexport const getStoreState = (): AppModel => {\r\n return store.state as AppModel;\r\n};\r\n","export function storageFactory(storage: Storage): Storage {\r\n const length = 0;\r\n\r\n function clear(): void {\r\n storage.clear();\r\n }\r\n\r\n function getItem(name: string): string | null {\r\n return storage.getItem(name);\r\n }\r\n\r\n function key(index: number): string | null {\r\n return storage.key(index);\r\n }\r\n\r\n function removeItem(name: string): void {\r\n storage.removeItem(name);\r\n }\r\n\r\n function setItem(name: string, value: string): void {\r\n try {\r\n storage.setItem(name, value);\r\n } catch (e) {\r\n console.error(\"Error when saving on storage\");\r\n const storageSize = Math.round(JSON.stringify(storage).length / 1024);\r\n console.log(`LIMIT REACHED: ${storageSize}K`, e);\r\n }\r\n }\r\n\r\n return {\r\n getItem,\r\n setItem,\r\n removeItem,\r\n clear,\r\n key,\r\n length,\r\n };\r\n}\r\n","import { resolverConfiguration } from \"@/store/UTILS\";\r\nimport { geometriesService, configurationService } from \"@/services\";\r\nimport { AlertHelper } from \"@/services/_base/AlertHelper\";\r\n\r\nexport async function ServiceInizialization() {\r\n await configurationService.LoadAnnex1(),\r\n await configurationService.LoadCountriesPriority(),\r\n await configurationService.LoadJHUConfiguration(),\r\n await configurationService.LoadJHUCountriesMapper(),\r\n await configurationService.LoadConfiguration(),\r\n\r\n AlertHelper.hideLoader();\r\n resolverConfiguration.delayResolver = false;\r\n}\r\n","\r\nimport { baseRestService } from \"./_base\";\r\nimport { Deferred } from \"./_base/Deferred\";\r\nimport { Utils } from \"@/utils\";\r\nimport { configurationsStoreGetters, kpatlasStoreActions } from \"@/store\";\r\n\r\nclass AidsInfoService extends baseRestService {\r\n public language: string = \"en\";\r\n public responseFormat: string = \"JSON\";\r\n public timePeriod: string = \"MRD\";\r\n\r\n private callStack: Map = null;\r\n constructor() {\r\n super();\r\n this.callStack = new Map();\r\n setInterval(() => this.CallsDelayed(), 500);\r\n }\r\n\r\n\r\n public async GetDatas(aidsInfoCallParameters: AidsInfoCall.Parameters, blockKey = new Date().getTime().toString(), take: number = 250): Promise {\r\n const promises: Array> = [];\r\n const d = new Deferred();\r\n\r\n if (!aidsInfoCallParameters.areas || aidsInfoCallParameters.areas.constructor !== Array) {\r\n d.reject(\"Areas is undefined or is not Array. This call required that the Indicators and Areas are Array!\");\r\n return d.promise;\r\n }\r\n\r\n this.callStack.set(blockKey, []);\r\n\r\n for (let idx = 0; idx < aidsInfoCallParameters.areas.length; idx = idx + take) {\r\n const params: any = { /// ATTENZIONE! NEL SERVIZIO DI AIDSINFOONLINE I PARAMETRI SONO CASE SENSITIVE\r\n p: 1,\r\n AREA: aidsInfoCallParameters.areas.slice(idx, Math.min(idx + take, aidsInfoCallParameters.areas.length)).join(\",\"),\r\n INDICATOR: aidsInfoCallParameters.indicator,\r\n Language: this.language,\r\n ResponseFormat: this.responseFormat,\r\n SOURCE: aidsInfoCallParameters.source,\r\n };\r\n\r\n if (aidsInfoCallParameters.timePeriod) {\r\n params.TIME_PERIOD = aidsInfoCallParameters.timePeriod;\r\n }\r\n\r\n this.callStack.get(blockKey).push({\r\n uri: `${configurationsStoreGetters.config().baseUrl}/${aidsInfoCallParameters.relativeUrl}`,\r\n params: params\r\n });\r\n }\r\n\r\n var responses = await this.CallsDelayedQueue(blockKey)\r\n\r\n if (this.callStack.has(blockKey) && this.callStack.get(blockKey).length <= 0) {\r\n this.callStack.delete(blockKey);\r\n }\r\n\r\n const result: AidsInfoCall.Response = { Data: [{ lang: \"\", Observation: [] }] };\r\n for (const responseKey in responses) {\r\n if (responses.hasOwnProperty(responseKey)) {\r\n const response = responses[responseKey];\r\n // unaidsLocalStorage.setItem(response[\"key\"], response);\r\n if (response && response.Data && response.Data[0] && response.Data[0].lang && response.Data[0].Observation) {\r\n result.Data[0].lang = response.Data[0].lang;\r\n result.Data[0].Observation = result.Data[0].Observation.concat(response.Data[0].Observation);\r\n }\r\n }\r\n }\r\n d.resolve(result);\r\n\r\n return d.promise;\r\n }\r\n\r\n private callsDelayedQueuePromise: Map> = new Map();\r\n private callsDelayedQueueResults: Map = new Map();\r\n\r\n public async CallsDelayedQueue(blockKey: string) {\r\n this.callsDelayedQueuePromise.set(blockKey, new Deferred());\r\n this.callsDelayedQueueResults.set(blockKey, []);\r\n return this.callsDelayedQueuePromise.get(blockKey).promise;\r\n }\r\n\r\n public async CallsDelayed() {\r\n if (this.callStack && this.callStack.size > 0) {\r\n const delay = configurationsStoreGetters.config() ? configurationsStoreGetters.config().callDelay : 200;\r\n let calls = Array.from(this.callStack.entries()).filter(f => f[1].length > 0);\r\n while (calls.length > 0) {\r\n var callk = calls.shift();\r\n var blockKey = callk[0];\r\n var blockCalls = callk[1];\r\n while (blockCalls.length > 0) {\r\n var call = blockCalls.shift();\r\n const result = await this.Get(call.uri, call.params);\r\n this.callsDelayedQueueResults.get(blockKey).push(result);\r\n\r\n var d = new Deferred();\r\n setTimeout(() => {\r\n d.resolve()\r\n }, delay);\r\n await d.promise;\r\n }\r\n this.callsDelayedQueuePromise.get(blockKey).resolve(this.callsDelayedQueueResults.get(blockKey));\r\n }\r\n }\r\n }\r\n\r\n public async CountriesDatas(indicator: KpAtlas.Indicator, blocks: KpAtlas.Block[], areas: string[], recalcLegend: boolean = false): Promise {\r\n const results: Array = [];\r\n for (let i = 0; i < blocks.length; i++) {\r\n const block = blocks[i];\r\n for (let j = 0; j < block.params.length; j++) {\r\n const param = block.params[j];\r\n const callParameters: AidsInfoCall.Parameters = {\r\n relativeUrl: indicator.relativeUrl,\r\n areas,\r\n indicator: `${param.key}@${param.unit}@${param.group}`,\r\n source: param.source,\r\n timePeriod: param.timePeriod,\r\n };\r\n\r\n const call = await this.GetDatas(callParameters);\r\n if (call) results.push(this.closureCountriesDatas(i, indicator, block, param, recalcLegend)(call))\r\n }\r\n }\r\n\r\n if (results && results.length > 0) {\r\n return Utils.ParamReduce(results);\r\n }\r\n return null;\r\n }\r\n\r\n private closureCountriesDatas(index: number, indicator: KpAtlas.Indicator, block: KpAtlas.Block, param: KpAtlas.BlockParameter, recalcLegend: boolean): (value: AidsInfoCall.Response) => KpAtlas.ResponseIndicatorBlockParam {\r\n return (result: AidsInfoCall.Response): KpAtlas.ResponseIndicatorBlockParam => {\r\n let datas = Utils.ObservationsReduce(result && result.Data && result.Data.length > 0 && result.Data[0].Observation ? result.Data[0].Observation : [], block, param);\r\n if (index === 0) {\r\n if (datas && datas.length > 0) {\r\n datas = datas.sort((a, b) => {\r\n if (Number(a.lastValue) < Number(b.lastValue)) { return -1; }\r\n if (Number(a.lastValue) > Number(b.lastValue)) { return 1; }\r\n return 0;\r\n });\r\n }\r\n\r\n if (recalcLegend) {\r\n Utils.CleanLegenda();\r\n if (block.unit !== \"TEXT_CODED\" && block.unit !== \"YES_NO\") {\r\n const legend = Utils.MakeLegenda(param, datas, configurationsStoreGetters.config().legend.countryColorClassifications, indicator.breaks, (d: KpAtlas.Response) => Number(d.lastValue));\r\n kpatlasStoreActions.setLegend(legend);\r\n } else {\r\n Utils.RecalcLegendaStaticCoded(datas, (d: KpAtlas.Response) => Number(d.lastValue));\r\n }\r\n }\r\n }\r\n return { indicator, block, param, result: datas } as KpAtlas.ResponseIndicatorBlockParam;\r\n };\r\n }\r\n\r\n public async SubnationDatas(indicator: KpAtlas.Indicator, params: KpAtlas.BlockParameter[], areas: string[], recalcLegend: boolean = false): Promise {\r\n let results: Array = [];\r\n const filteredParams = params.filter((f) => f.group !== \"CATEGORY\");\r\n\r\n for (let i = 0; i < filteredParams.length; i++) {\r\n const param = filteredParams[i];\r\n const callParameters: AidsInfoCall.Parameters = {\r\n relativeUrl: indicator.relativeUrl,\r\n areas,\r\n indicator: `${param.key}@${param.unit}@${param.group}`,\r\n source: param.source,\r\n timePeriod: param.timePeriod,\r\n };\r\n\r\n const call = await this.GetDatas(callParameters);\r\n if (call) results.push(this.closureSubnations(i, indicator, param, recalcLegend)(call));\r\n }\r\n\r\n if (results && results.length > 0) {\r\n const areaIdsWithData = results.map((m) => m.result.map((mm) => mm.iso3)).reduce((accumulator, currentValue) => accumulator.concat(currentValue));\r\n if (areaIdsWithData && areaIdsWithData.length > 0) {\r\n const areasWithoutData = areas.filter((x) => !areaIdsWithData.includes(x)).concat(areaIdsWithData.filter(x => !areas.includes(x)));\r\n if (areasWithoutData.length > 0) {\r\n const category = params.find((f) => f.group === \"CATEGORY\");\r\n let categoryDatas: KpAtlas.ResponseIndicatorBlockParam = null;\r\n if (category) {\r\n for (let idx = 1; idx <= category.number; idx++) {\r\n const key = `${category.key}@${category.unit}@${category.group}${idx}`;\r\n const categoryParameters = {\r\n relativeUrl: indicator.relativeUrl,\r\n areas: areasWithoutData,\r\n indicator: key,\r\n source: category.source,\r\n timePeriod: category.timePeriod,\r\n } as AidsInfoCall.Parameters;\r\n const call = await this.GetDatas(categoryParameters);\r\n if (call) {\r\n categoryDatas = this.closureSubnations(idx, indicator, category, false)(call);\r\n break;\r\n }\r\n }\r\n if (categoryDatas !== null) {\r\n results = results.concat(categoryDatas);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return Utils.ParamReduce(results);\r\n }\r\n return null;\r\n }\r\n\r\n private closureSubnations(index: number, indicator: KpAtlas.Indicator, param: KpAtlas.BlockParameter, recalcLegend: boolean): (value: AidsInfoCall.Response) => KpAtlas.ResponseIndicatorBlockParam {\r\n return (result: AidsInfoCall.Response): KpAtlas.ResponseIndicatorBlockParam => {\r\n let datas = Utils.ObservationsReduce(result && result.Data && result.Data.length > 0 && result.Data[0].Observation ? result.Data[0].Observation : [], null, param);\r\n if (index === 0) {\r\n if (datas && datas.length > 0) {\r\n datas = datas.sort((a, b) => {\r\n if (Number(a.lastValue) < Number(b.lastValue)) { return -1; }\r\n if (Number(a.lastValue) > Number(b.lastValue)) { return 1; }\r\n return 0;\r\n });\r\n }\r\n\r\n if (recalcLegend) {\r\n Utils.CleanLegenda();\r\n if (param.unit !== \"TEXT_CODED\" && param.unit !== \"YES_NO\") {\r\n const legend = Utils.MakeLegenda(param, datas, configurationsStoreGetters.config().legend.regionColorClassifications, indicator.breaks, (d: KpAtlas.Response) => Number(d.lastValue));\r\n kpatlasStoreActions.setLegend(legend);\r\n } else {\r\n Utils.RecalcLegendaStaticCoded(datas, (d: KpAtlas.Response) => Number(d.lastValue));\r\n }\r\n }\r\n }\r\n return { indicator, param, result: datas } as KpAtlas.ResponseIndicatorBlockParam;\r\n };\r\n }\r\n\r\n public Quality(indicator: KpAtlas.Indicator, quality: KpAtlas.BlockParameter, iso3) {\r\n const d = new Deferred();\r\n\r\n if (!quality || (Object.keys(quality).length === 0 && quality.constructor === Object)) {\r\n d.reject(\"Quality is undefined\");\r\n return d.promise;\r\n }\r\n\r\n if (quality.constructor !== Object) {\r\n d.reject(\"Quality is not Object.\");\r\n return d.promise;\r\n }\r\n\r\n const callParameters: AidsInfoCall.Parameters = {\r\n relativeUrl: indicator.relativeUrl,\r\n areas: [iso3],\r\n indicator: `${quality.key}@${quality.unit}@${quality.group}`,\r\n source: quality.source,\r\n timePeriod: \"MRD\",\r\n };\r\n\r\n this.GetDatas(callParameters).then((result) => {\r\n let datas = null;\r\n if (result && result.Data[0] && result.Data[0].Observation && result.Data[0].Observation.length > 0) {\r\n datas = result.Data[0].Observation[0][quality.field];\r\n }\r\n d.resolve(datas);\r\n }, (error) => {\r\n d.reject(error);\r\n });\r\n\r\n return d.promise;\r\n }\r\n}\r\n\r\nexport const aidsInfoService = new AidsInfoService();\r\n","import Axios, { AxiosInstance, AxiosResponse, AxiosRequestConfig } from \"axios\";\r\nimport { FactoryService as Factory } from \"@/services/_base/factoryService\";\r\nimport Qs from \"qs\";\r\nimport { unjoin } from \"@/store/UTILS\";\r\nimport { AlertHelper } from \"./AlertHelper\";\r\nimport { content } from \"html2canvas/dist/types/css/property-descriptors/content\";\r\nimport QueryString from \"qs\";\r\nimport { Deferred } from \"./Deferred\";\r\nimport { configurationsStoreGetters } from \"@/store\";\r\n\r\ntype InterceptorRequestDelegate = (config: AxiosRequestConfig) => AxiosRequestConfig;\r\ntype InterceptorResponseDelegate = (config: AxiosResponse) => AxiosResponse;\r\ntype InterceptorErrorDelegate = (config: any) => any;\r\ntype RequestInterceptorChangedDelegate = (item: InterceptorRequestDelegate) => void;\r\ntype ResponseInterceptorChangedDelegate = (item: InterceptorResponseDelegate) => void;\r\ntype ErrorInterceptorChangedDelegate = (item: InterceptorErrorDelegate) => void;\r\n\r\nexport class interceptorsConfig {\r\n public requestInterceptors: InterceptorRequestDelegate[] = [];\r\n public responseInterceptors: InterceptorResponseDelegate[] = [];\r\n public errorsInterceptors: InterceptorErrorDelegate[] = [];\r\n}\r\n\r\nexport class sharedInterceptors extends interceptorsConfig {\r\n public addRequestInterceptor(item: InterceptorRequestDelegate) {\r\n this.requestInterceptors.push(item);\r\n\r\n if (this.onRequestInterceptorChanged) { this.onRequestInterceptorChanged(item); }\r\n }\r\n\r\n public addResponseInterceptor(item: InterceptorResponseDelegate) {\r\n this.responseInterceptors.push(item);\r\n\r\n if (this.onResponseInterceptorChanged) { this.onResponseInterceptorChanged(item); }\r\n }\r\n\r\n public addErrorInterceptor(item: InterceptorErrorDelegate) {\r\n this.errorsInterceptors.push(item);\r\n\r\n if (this.onErrorInterceptorChanged) { this.onErrorInterceptorChanged(item); }\r\n }\r\n\r\n public onRequestInterceptorChanged: RequestInterceptorChangedDelegate;\r\n public onResponseInterceptorChanged: ResponseInterceptorChangedDelegate;\r\n public onErrorInterceptorChanged: ResponseInterceptorChangedDelegate;\r\n}\r\nFactory.RegisterExplicit(\"sharedInterceptors\", sharedInterceptors);\r\n\r\nexport class baseRestService {\r\n\r\n protected allwaysSendAuthenticationToken: boolean = true;\r\n protected saveToSessionStorage: boolean = true;\r\n public baseUrl: string = \"\";\r\n private _interceptors: sharedInterceptors = null;\r\n\r\n set interceptors(value: interceptorsConfig) {\r\n for (const i in value.requestInterceptors) { this.http.interceptors.request.use(value.requestInterceptors[i]); }\r\n\r\n for (const i in value.responseInterceptors) { this.http.interceptors.response.use(value.responseInterceptors[i]); }\r\n\r\n for (const i in value.errorsInterceptors) { this.http.interceptors.response.use((r) => r, value.errorsInterceptors[i]); }\r\n }\r\n\r\n public OnError: OnErrorDelegate;\r\n public OnHeadersPreparing: OnHeadersPreparingDelegate;\r\n\r\n protected http: AxiosInstance;\r\n\r\n constructor() {\r\n this.http = Axios.create();\r\n this._interceptors = Factory.GetByName(\"sharedInterceptors\");\r\n\r\n // Initialize preregistered interceptors\r\n for (const i in this._interceptors.requestInterceptors) { this.http.interceptors.request.use(this._interceptors.requestInterceptors[i]); }\r\n\r\n for (const i in this._interceptors.responseInterceptors) { this.http.interceptors.response.use(this._interceptors.responseInterceptors[i]); }\r\n\r\n for (const i in this._interceptors.errorsInterceptors) { this.http.interceptors.response.use((r) => r, this._interceptors.errorsInterceptors[i]); }\r\n\r\n this._interceptors.onRequestInterceptorChanged = (i) => this.http.interceptors.request.use(i);\r\n this._interceptors.onResponseInterceptorChanged = (i) => this.http.interceptors.response.use(i);\r\n this._interceptors.onErrorInterceptorChanged = (i) => this.http.interceptors.response.use(i);\r\n\r\n this.setArraySerializationMethod();\r\n }\r\n\r\n private setArraySerializationMethod() {\r\n this.http.interceptors.request.use(async (reqConfig) => {\r\n // change the default serializer only if the method is a GET\r\n if (reqConfig.method !== \"get\") {\r\n return reqConfig;\r\n }\r\n // the 'repeat' is the standard behavior for array: arrKey=x&arrKey=y&arrKey=z....\r\n reqConfig.paramsSerializer = (params) => {\r\n return Qs.stringify(params, { arrayFormat: \"repeat\" });\r\n };\r\n return reqConfig;\r\n });\r\n }\r\n\r\n protected async getRaw(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n AlertHelper.showLoader(\"loading...\");\r\n\r\n const response = await this.http.get(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, null),\r\n params,\r\n });\r\n\r\n AlertHelper.hideLoader();\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n\r\n protected async get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n AlertHelper.showLoader(\"loading...\");\r\n\r\n const response = await this.http.get(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, \"application/json\"),\r\n params,\r\n });\r\n\r\n AlertHelper.hideLoader();\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n\r\n protected async Get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n const result = await this.get(uri, params, sendAuthenticationToken);\r\n if (result.status === 200) {\r\n return result.data as TResult;\r\n } else if (this.OnError) { this.OnError(result); }\r\n return null;\r\n \r\n // var d = new Deferred();\r\n // setTimeout(() => {\r\n // this.get(uri, params, sendAuthenticationToken).then((result) => {\r\n // if (result.status === 200) {\r\n // d.resolve(result.data);\r\n // } else if (this.OnError) {\r\n // d.reject(null);\r\n // }\r\n // });\r\n // }, uri.startsWith('https://aidsinfodbapi.unaids.org') ? 500 : 0)\r\n // return d.promise;\r\n }\r\n\r\n protected async post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, contentType: string = \"application/json\"): Promise {\r\n let _body = unjoin(data);\r\n if (contentType == \"application/x-www-form-urlencoded\")\r\n _body = QueryString.stringify(_body)\r\n\r\n try {\r\n const response = await this.http.post(this.baseUrl + uri, _body,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, contentType),\r\n params,\r\n\r\n } as AxiosRequestConfig);\r\n\r\n return response;\r\n } catch (err) {\r\n if (this.OnError) {\r\n this.OnError(err);\r\n }\r\n return err.response;\r\n }\r\n\r\n }\r\n\r\n protected async Post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, contentType: string = \"application/json\"): Promise {\r\n const result = await this.post(uri, data, params, sendAuthenticationToken, contentType);\r\n if (result.status === 200) {\r\n return result.data as TResult;\r\n } else {\r\n if (this.OnError) { this.OnError(result); }\r\n AlertHelper.showError(\"an_error_has_occurred\", result.data.message, 5000);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected async put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, contentType: string = \"application/json\"): Promise {\r\n const response = await this.http.put(this.baseUrl + uri, unjoin(data),\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, contentType),\r\n params,\r\n });\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n\r\n protected async Put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, contentType: string = \"application/json\"): Promise {\r\n const result = await this.put(uri, data, params, sendAuthenticationToken, contentType);\r\n if (result.status === 200) {\r\n return result.data as TResult;\r\n } else if (this.OnError) { this.OnError(result); }\r\n return null;\r\n }\r\n\r\n protected async delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n const response = await this.http.delete(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, null),\r\n params,\r\n });\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n protected async Delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n const result = await this.delete(uri, params, sendAuthenticationToken);\r\n if (result.status === 200) {\r\n return result.data as TResult;\r\n } else if (this.OnError) { this.OnError(result); }\r\n return null;\r\n }\r\n\r\n protected async downloadGet(uri: string, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n const response = await this.http.get(this.baseUrl + uri, {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, null),\r\n params,\r\n responseType: \"arraybuffer\",\r\n });\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n\r\n protected async downloadPost(uri: string, data?: any, params: object = {}, sendAuthenticationToken: boolean = false): Promise {\r\n const response = await this.http.post(this.baseUrl + uri, unjoin(data), {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, null),\r\n params,\r\n responseType: \"arraybuffer\",\r\n });\r\n if (response.status !== 200 && this.OnError) { this.OnError(response); }\r\n return response;\r\n }\r\n\r\n protected prepareHeaders(auth: boolean = false, contentType: string): any {\r\n\r\n const headers: any = {};\r\n\r\n if (auth) {\r\n const authData = this.getAuthenticationToken();\r\n if (authData) {\r\n headers[\"Authorization\"] = \"Bearer \" + authData.access_token;\r\n }\r\n }\r\n if (contentType)\r\n headers[\"Content-Type\"] = contentType;\r\n\r\n if (this.OnHeadersPreparing) { this.OnHeadersPreparing(headers); }\r\n return headers;\r\n }\r\n\r\n protected getAuthenticationToken(): AuthToken {\r\n // let wstore = window.sessionStorage;\r\n // let sstore = window.localStorage;\r\n // return JSON.parse(wstore.getItem(\"authorizationData\") || sstore.getItem(\"authorizationData\") || null) as AuthToken\r\n return baseRestService.getAuthenticationToken();\r\n }\r\n\r\n public static getAuthenticationToken(): AuthToken {\r\n const wstore = window.sessionStorage;\r\n const sstore = window.localStorage;\r\n return JSON.parse(wstore.getItem(\"authorizationData\") || sstore.getItem(\"authorizationData\") || null) as AuthToken;\r\n }\r\n\r\n protected setAuthenticationToken(data: AuthToken) {\r\n const storage: any = this.saveToSessionStorage ? window.sessionStorage : window.localStorage;\r\n storage.setItem(\"authorizationData\", JSON.stringify(data));\r\n }\r\n\r\n protected deleteAuthenticationToken() {\r\n window.sessionStorage.removeItem(\"authorizationData\");\r\n window.localStorage.removeItem(\"authorizationData\");\r\n }\r\n\r\n private validURL(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n}\r\n\r\nexport type OnErrorDelegate = (data: DataResponse) => void;\r\ntype OnHeadersPreparingDelegate = (headers: Headers) => void;\r\n\r\nexport class AuthToken {\r\n public access_token: string;\r\n public refresh_token: string;\r\n public id_token: string;\r\n public expires_in: number;\r\n public expiration_date: number;\r\n public resource: string;\r\n public userName: string;\r\n public token_type: string;\r\n}\r\n\r\nexport class DataResponse {\r\n public status: number;\r\n public statusText: string;\r\n public data: any;\r\n}\r\n","import { isUndefined } from \"util\";\r\nimport { store } from \"@/store\";\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\n\r\nclass ResolverConfiguration {\r\n delayResolver: boolean = true;\r\n\r\n setFirstLoadingCompleted() {\r\n this.delayResolver = false;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\n\r\nexport const resolverConfiguration = new ResolverConfiguration();\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport const join = (obj) => (intersection) => {\r\n obj[\"__joins__\"] = [];\r\n for (const k in intersection) {\r\n // if (!obj.hasOwnProperty(k)) {\r\n const propDescriptor = Object.getOwnPropertyDescriptor(intersection.__proto__, k);\r\n Object.defineProperty(obj, k, propDescriptor);\r\n obj[\"__joins__\"].push(k);\r\n // }\r\n }\r\n return obj;\r\n};\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nconst __pendingResolvers = new Map>();\r\n\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport const propertyResolve = (getterValue, resolveFunction: (() => Promise), key: any) => {\r\n\r\n if (key == null || (key instanceof Array && isEmptyArray(key.filter(i => i != null)))) return null;\r\n\r\n if (!resolverConfiguration.delayResolver)\r\n if (getterValue == null || isUndefined(getterValue) || isEmptyArray(getterValue)) {\r\n if (!__pendingResolvers.has(resolveFunction.toString() + (key || \"\").toString())) {\r\n __pendingResolvers.set(\r\n resolveFunction.toString() + (key || \"\").toString(),\r\n resolveFunction().then(() => removeResolver(resolveFunction, key), () => removeResolver(resolveFunction, key))\r\n );\r\n }\r\n }\r\n return getterValue || null;\r\n};\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function unjoin(obj: any): any {\r\n if (!obj) return null;\r\n if (!obj.hasOwnProperty(\"__joins__\")) return obj;\r\n\r\n let newObj = {};\r\n for (const key in obj) {\r\n if (obj[\"__joins__\"].indexOf(key) >= 0) continue;\r\n if (obj.hasOwnProperty(key)) {\r\n newObj[key] = obj[key];\r\n }\r\n }\r\n return newObj;\r\n}\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nfunction isEmptyArray(obj) {\r\n if (obj && obj.constructor === Array && obj.length == 0) return true;\r\n return false;\r\n}\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nfunction removeResolver(resolveFunction, key) {\r\n\r\n // I resolver NON devono essere rimossi\r\n return;\r\n}\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function fillArray(dest: T[], source: Iterable): T[] {\r\n const sourceArr = Array.from(source);\r\n const toremove: T[] = [];\r\n\r\n dest.forEach((element) => {\r\n if (sourceArr.indexOf(element) < 0) { toremove.push(element); }\r\n });\r\n\r\n toremove.forEach((element) => {\r\n const idx = dest.indexOf(element);\r\n dest.splice(idx, 1);\r\n });\r\n\r\n sourceArr.forEach((element) => {\r\n if (dest.indexOf(element) < 0) { dest.push(element); }\r\n });\r\n\r\n return dest;\r\n}\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function hasFeature(featureId) {\r\n return store.getters[\"features/hasFeature\"](featureId);\r\n}\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function CreateActionsHandler(store: { PREFIX: string, actions: any }) {\r\n return new Proxy({}, StoreActionProxyHandler(store.PREFIX, store.actions)) as T;\r\n}\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function CreateGettersHandler(store: { PREFIX: string, actions: any }) {\r\n return new Proxy({}, StoreGetterProxyHandler(store.PREFIX, store.actions)) as T;\r\n}\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nconst StoreActionProxyHandler = (PREFIX, actions: any) => {\r\n let actionsNames = Object.getOwnPropertyNames(actions);\r\n return {\r\n get: (target, key) => {\r\n return function (...rest) {\r\n // console.debug(\"dispatching action:\", PREFIX + \"/\" + key, ...rest);\r\n return store.dispatch(PREFIX + \"/\" + key, ...rest);\r\n };\r\n },\r\n ownKeys() {\r\n return [...actionsNames, \"prototype\"];\r\n },\r\n getPrototypeOf(target) {\r\n return target;\r\n }\r\n };\r\n};\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nconst StoreGetterProxyHandler = (PREFIX: string, getters: any) => {\r\n let gettersNames = Object.getOwnPropertyNames(getters);\r\n return {\r\n get: (target, key) => {\r\n return function (...args) {\r\n if (!store.getters[PREFIX + \"/\" + key]) {\r\n throw `getter \"${PREFIX}/${key}\" is not registered in the store... maybe the store module is not namespaced?`\r\n }\r\n //console.debug(\"getting getter:\", store, PREFIX + \"/\" + key, store.getters[PREFIX + \"/\" + key], ...args);\r\n return store.getters[PREFIX + \"/\" + key](...args);\r\n };\r\n },\r\n ownKeys() {\r\n return [...gettersNames, \"prototype\"];\r\n },\r\n getPrototypeOf(target) {\r\n return target;\r\n }\r\n };\r\n};\r\n","import { Esri } from \"./src/Esri\"\r\nimport { Measure, MeasureParameters } from \"./src/widgets/Measure\";\r\nimport { Draw, DrawParameters } from \"./src/widgets/Draw\";\r\nimport { ArrayObserver, ObservableArrayChanged } from \"./src/Observers/ObservableArray\";\r\nimport { BindArrayToLayer, BindTo, CreationResult, Loader } from \"./src/esriUtils\";\r\nimport { IMultiLayer, IMultiLayerView } from \"./src/customLayers/MultiLayer\";\r\n\r\nimport { IClientsideImageryLayer, IClientsideImageryLayerView, IGeometryRaster, IRaster, IPreProcessingFunction, IPostProcessingFunction, IState } from \"./src/customLayers/ClientsideImageryLayer\";\r\n\r\nimport { rasterBilinearInterpolation } from \"./src/customLayers/functions/bilinearInterpolation\";\r\nimport { geometryClip } from \"./src/customLayers/functions/geometryClipFunction\";\r\nimport { BindArrayToImagery } from \"./src/customLayers/ClientsideImageryLayer\";\r\n\r\nexport {\r\n ArrayObserver,\r\n BindArrayToLayer,\r\n BindTo,\r\n CreationResult,\r\n Esri,\r\n Loader,\r\n ObservableArrayChanged,\r\n Measure,\r\n MeasureParameters,\r\n Draw,\r\n DrawParameters,\r\n IMultiLayer, IMultiLayerView,\r\n IClientsideImageryLayer, IClientsideImageryLayerView, IGeometryRaster, IRaster, IPreProcessingFunction, IPostProcessingFunction, IState,\r\n rasterBilinearInterpolation,\r\n geometryClip,\r\n BindArrayToImagery,\r\n};\r\n","import Vue from \"vue\";\r\nimport { FactoryService as Factory } from \"@/services/_base/factoryService\";\r\n// --------------------------------------------------\r\n// Message Service Definition\r\n// --------------------------------------------------\r\n\r\nexport class MessageService {\r\n\r\n private _events: Vue = new Vue({});\r\n\r\n public subscribeToChannel(name: string, callback: Function, once: boolean = false) {\r\n if (once) {\r\n this._events.$once(name, callback);\r\n } else {\r\n this._events.$on(name, callback);\r\n }\r\n }\r\n\r\n public deleteChannel(name: string) {\r\n this._events.$off(name);\r\n }\r\n\r\n public unsubscribeFromChannel(name: string, callback: (Function)) {\r\n this._events.$off(name, callback);\r\n }\r\n\r\n public publishToChannel(name: string, ...args: any[]) {\r\n this._events.$emit(name, args);\r\n }\r\n}\r\n\r\nexport const messageService = new MessageService();\r\nFactory.SetByName(\"MessageService\", messageService);\r\n","import moment from \"moment\";\r\n\r\nexport function dateformat(value, format) {\r\n let date;\r\n if (!value) { return \"\"; }\r\n\r\n if (value instanceof Date) {\r\n date = moment(value);\r\n } else {\r\n date = moment.utc(String(value), (moment as any).HTML5_FMT.DATETIME_LOCAL_MS).local();\r\n if (!date.isValid()) {\r\n console.debug(\"Date format is invalid\", { originalValue: value, formatRequired: format, formatValue: date });\r\n return \"\";\r\n }\r\n }\r\n return date.format(format);\r\n}\r\n\r\nexport function formatNumber(num: number, digits: number): string {\r\n if (num === undefined || num === null) { return null; }\r\n\r\n if (typeof (num) === \"string\") {\r\n num = parseFloat(num);\r\n }\r\n\r\n const si = [\r\n { value: 1e18, symbol: \"E\" },\r\n { value: 1e15, symbol: \"P\" },\r\n { value: 1e12, symbol: \"T\" },\r\n { value: 1e9, symbol: \"B\" },\r\n { value: 1e6, symbol: \"M\" },\r\n { value: 1e3, symbol: \"K\" },\r\n ];\r\n\r\n for (let i = 0; i < si.length; i++) {\r\n if (num >= si[i].value) {\r\n const parsed = (num / si[i].value);\r\n return parsed.toFixed(1).replace(/\\.0+$|(\\.[0-9]*[1-9])0+$/, \"$1\") + si[i].symbol;\r\n }\r\n }\r\n\r\n const decimalCount = Math.min(decimalsCountrer(num), 2);\r\n return num.toFixed(decimalCount);\r\n}\r\n\r\nfunction decimalsCountrer(value) {\r\n if (Math.floor(value) === value) {\r\n return 0;\r\n }\r\n return value.toString().split(\".\")[1].length || 0;\r\n}\r\n","var map = {\n\t\"./af\": 167,\n\t\"./af.js\": 167,\n\t\"./ar\": 168,\n\t\"./ar-dz\": 169,\n\t\"./ar-dz.js\": 169,\n\t\"./ar-kw\": 170,\n\t\"./ar-kw.js\": 170,\n\t\"./ar-ly\": 171,\n\t\"./ar-ly.js\": 171,\n\t\"./ar-ma\": 172,\n\t\"./ar-ma.js\": 172,\n\t\"./ar-sa\": 173,\n\t\"./ar-sa.js\": 173,\n\t\"./ar-tn\": 174,\n\t\"./ar-tn.js\": 174,\n\t\"./ar.js\": 168,\n\t\"./az\": 175,\n\t\"./az.js\": 175,\n\t\"./be\": 176,\n\t\"./be.js\": 176,\n\t\"./bg\": 177,\n\t\"./bg.js\": 177,\n\t\"./bm\": 178,\n\t\"./bm.js\": 178,\n\t\"./bn\": 179,\n\t\"./bn.js\": 179,\n\t\"./bo\": 180,\n\t\"./bo.js\": 180,\n\t\"./br\": 181,\n\t\"./br.js\": 181,\n\t\"./bs\": 182,\n\t\"./bs.js\": 182,\n\t\"./ca\": 183,\n\t\"./ca.js\": 183,\n\t\"./cs\": 184,\n\t\"./cs.js\": 184,\n\t\"./cv\": 185,\n\t\"./cv.js\": 185,\n\t\"./cy\": 186,\n\t\"./cy.js\": 186,\n\t\"./da\": 187,\n\t\"./da.js\": 187,\n\t\"./de\": 188,\n\t\"./de-at\": 189,\n\t\"./de-at.js\": 189,\n\t\"./de-ch\": 190,\n\t\"./de-ch.js\": 190,\n\t\"./de.js\": 188,\n\t\"./dv\": 191,\n\t\"./dv.js\": 191,\n\t\"./el\": 192,\n\t\"./el.js\": 192,\n\t\"./en-au\": 193,\n\t\"./en-au.js\": 193,\n\t\"./en-ca\": 194,\n\t\"./en-ca.js\": 194,\n\t\"./en-gb\": 195,\n\t\"./en-gb.js\": 195,\n\t\"./en-ie\": 196,\n\t\"./en-ie.js\": 196,\n\t\"./en-nz\": 197,\n\t\"./en-nz.js\": 197,\n\t\"./eo\": 198,\n\t\"./eo.js\": 198,\n\t\"./es\": 199,\n\t\"./es-do\": 200,\n\t\"./es-do.js\": 200,\n\t\"./es-us\": 201,\n\t\"./es-us.js\": 201,\n\t\"./es.js\": 199,\n\t\"./et\": 202,\n\t\"./et.js\": 202,\n\t\"./eu\": 203,\n\t\"./eu.js\": 203,\n\t\"./fa\": 204,\n\t\"./fa.js\": 204,\n\t\"./fi\": 205,\n\t\"./fi.js\": 205,\n\t\"./fo\": 206,\n\t\"./fo.js\": 206,\n\t\"./fr\": 207,\n\t\"./fr-ca\": 208,\n\t\"./fr-ca.js\": 208,\n\t\"./fr-ch\": 209,\n\t\"./fr-ch.js\": 209,\n\t\"./fr.js\": 207,\n\t\"./fy\": 210,\n\t\"./fy.js\": 210,\n\t\"./gd\": 211,\n\t\"./gd.js\": 211,\n\t\"./gl\": 212,\n\t\"./gl.js\": 212,\n\t\"./gom-latn\": 213,\n\t\"./gom-latn.js\": 213,\n\t\"./gu\": 214,\n\t\"./gu.js\": 214,\n\t\"./he\": 215,\n\t\"./he.js\": 215,\n\t\"./hi\": 216,\n\t\"./hi.js\": 216,\n\t\"./hr\": 217,\n\t\"./hr.js\": 217,\n\t\"./hu\": 218,\n\t\"./hu.js\": 218,\n\t\"./hy-am\": 219,\n\t\"./hy-am.js\": 219,\n\t\"./id\": 220,\n\t\"./id.js\": 220,\n\t\"./is\": 221,\n\t\"./is.js\": 221,\n\t\"./it\": 222,\n\t\"./it.js\": 222,\n\t\"./ja\": 223,\n\t\"./ja.js\": 223,\n\t\"./jv\": 224,\n\t\"./jv.js\": 224,\n\t\"./ka\": 225,\n\t\"./ka.js\": 225,\n\t\"./kk\": 226,\n\t\"./kk.js\": 226,\n\t\"./km\": 227,\n\t\"./km.js\": 227,\n\t\"./kn\": 228,\n\t\"./kn.js\": 228,\n\t\"./ko\": 229,\n\t\"./ko.js\": 229,\n\t\"./ky\": 230,\n\t\"./ky.js\": 230,\n\t\"./lb\": 231,\n\t\"./lb.js\": 231,\n\t\"./lo\": 232,\n\t\"./lo.js\": 232,\n\t\"./lt\": 233,\n\t\"./lt.js\": 233,\n\t\"./lv\": 234,\n\t\"./lv.js\": 234,\n\t\"./me\": 235,\n\t\"./me.js\": 235,\n\t\"./mi\": 236,\n\t\"./mi.js\": 236,\n\t\"./mk\": 237,\n\t\"./mk.js\": 237,\n\t\"./ml\": 238,\n\t\"./ml.js\": 238,\n\t\"./mr\": 239,\n\t\"./mr.js\": 239,\n\t\"./ms\": 240,\n\t\"./ms-my\": 241,\n\t\"./ms-my.js\": 241,\n\t\"./ms.js\": 240,\n\t\"./mt\": 242,\n\t\"./mt.js\": 242,\n\t\"./my\": 243,\n\t\"./my.js\": 243,\n\t\"./nb\": 244,\n\t\"./nb.js\": 244,\n\t\"./ne\": 245,\n\t\"./ne.js\": 245,\n\t\"./nl\": 246,\n\t\"./nl-be\": 247,\n\t\"./nl-be.js\": 247,\n\t\"./nl.js\": 246,\n\t\"./nn\": 248,\n\t\"./nn.js\": 248,\n\t\"./pa-in\": 249,\n\t\"./pa-in.js\": 249,\n\t\"./pl\": 250,\n\t\"./pl.js\": 250,\n\t\"./pt\": 251,\n\t\"./pt-br\": 252,\n\t\"./pt-br.js\": 252,\n\t\"./pt.js\": 251,\n\t\"./ro\": 253,\n\t\"./ro.js\": 253,\n\t\"./ru\": 254,\n\t\"./ru.js\": 254,\n\t\"./sd\": 255,\n\t\"./sd.js\": 255,\n\t\"./se\": 256,\n\t\"./se.js\": 256,\n\t\"./si\": 257,\n\t\"./si.js\": 257,\n\t\"./sk\": 258,\n\t\"./sk.js\": 258,\n\t\"./sl\": 259,\n\t\"./sl.js\": 259,\n\t\"./sq\": 260,\n\t\"./sq.js\": 260,\n\t\"./sr\": 261,\n\t\"./sr-cyrl\": 262,\n\t\"./sr-cyrl.js\": 262,\n\t\"./sr.js\": 261,\n\t\"./ss\": 263,\n\t\"./ss.js\": 263,\n\t\"./sv\": 264,\n\t\"./sv.js\": 264,\n\t\"./sw\": 265,\n\t\"./sw.js\": 265,\n\t\"./ta\": 266,\n\t\"./ta.js\": 266,\n\t\"./te\": 267,\n\t\"./te.js\": 267,\n\t\"./tet\": 268,\n\t\"./tet.js\": 268,\n\t\"./th\": 269,\n\t\"./th.js\": 269,\n\t\"./tl-ph\": 270,\n\t\"./tl-ph.js\": 270,\n\t\"./tlh\": 271,\n\t\"./tlh.js\": 271,\n\t\"./tr\": 272,\n\t\"./tr.js\": 272,\n\t\"./tzl\": 273,\n\t\"./tzl.js\": 273,\n\t\"./tzm\": 274,\n\t\"./tzm-latn\": 275,\n\t\"./tzm-latn.js\": 275,\n\t\"./tzm.js\": 274,\n\t\"./uk\": 276,\n\t\"./uk.js\": 276,\n\t\"./ur\": 277,\n\t\"./ur.js\": 277,\n\t\"./uz\": 278,\n\t\"./uz-latn\": 279,\n\t\"./uz-latn.js\": 279,\n\t\"./uz.js\": 278,\n\t\"./vi\": 280,\n\t\"./vi.js\": 280,\n\t\"./x-pseudo\": 281,\n\t\"./x-pseudo.js\": 281,\n\t\"./yo\": 282,\n\t\"./yo.js\": 282,\n\t\"./zh-cn\": 283,\n\t\"./zh-cn.js\": 283,\n\t\"./zh-hk\": 284,\n\t\"./zh-hk.js\": 284,\n\t\"./zh-tw\": 285,\n\t\"./zh-tw.js\": 285\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 533;","\r\nimport { baseRestService } from \"./_base\";\r\nimport { Config } from \"@/config\";\r\nimport { configurationsStoreActions } from \"@/store\";\r\nimport { Deferred } from \"./_base/Deferred\";\r\nimport { Esri } from \"@/esriMap\";\r\n\r\nclass ConfigurationService extends baseRestService {\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.clientSideUrl;\r\n }\r\n\r\n public async LoadConfiguration(): Promise {\r\n const result = await this.Get(`assets/configurations/UNAIDS/configuration.json`);\r\n configurationsStoreActions.setConfiguration(result);\r\n\r\n ((await Esri.config()) as any).apiKey = result.arcgisApiKey;\r\n return result;\r\n }\r\n\r\n public async LoadAnnex1(): Promise {\r\n const result = await this.Get(`assets/configurations/UNAIDS/annex1.json`);\r\n configurationsStoreActions.setAnnex1(result);\r\n // this.extractCountriesConfiguration(result);\r\n // this.extractSubregionConfiguration(result);\r\n return result;\r\n }\r\n\r\n public async LoadCountriesPriority(): Promise {\r\n const result = await this.Get(`assets/configurations/UNAIDS/countriesPriorityMap.json`);\r\n configurationsStoreActions.setCountriesPriority(result);\r\n return result;\r\n }\r\n\r\n\r\n // private extractCountriesConfiguration(result: KpAtlas.IndicatorGroup[]) {\r\n // const calls = [];\r\n // result.forEach(group => {\r\n // group.indicators\r\n // .filter(f => (f.blocks || []).length > 0 && f.visible === true)\r\n // .forEach(indicator => {\r\n // const obj = {\r\n\r\n // title: null,\r\n // summary: null,\r\n // thumbnail: null,\r\n // description: null,\r\n // termOfUse: null,\r\n // categories: null,\r\n // tags: null,\r\n // credits: null,\r\n // group: `${group.name} (${group.key})`,\r\n // indicator: `${indicator.name} (${indicator.key})`,\r\n // params: [],\r\n // relativeUrl: indicator.relativeUrl,\r\n // baseUrl: \"https://onlinedb.unaids.org\"\r\n // };\r\n\r\n // indicator.blocks.forEach(block => {\r\n // obj.params = obj.params.concat(block.params.map(param => {\r\n // return {\r\n // label: param.label,\r\n // key: param.key,\r\n // unit: param.unit,\r\n // group: param.group,\r\n // source: param.source,\r\n // };\r\n // }))\r\n // })\r\n\r\n // calls.push(obj);\r\n // });\r\n // });\r\n // console.log(JSON.stringify(calls));\r\n // }\r\n\r\n // private extractSubregionConfiguration(result: KpAtlas.IndicatorGroup[]) {\r\n\r\n // const calls = result.map(group => {\r\n // return {\r\n // group: group.name,\r\n // indicators: group.indicators\r\n // .filter(f => (f.subnationalRegionAndSite || []).length > 0 && f.visible === true)\r\n // .map(indicator => {\r\n // const obj = {\r\n\r\n // title: null,\r\n // summary: null,\r\n // thumbnail: null,\r\n // description: null,\r\n // termOfUse: null,\r\n // categories: null,\r\n // tags: null,\r\n // credits: null,\r\n // group: `${group.name} (${group.key})`,\r\n // indicator: `${indicator.name} (${indicator.key})`,\r\n // params: (indicator.subnationalRegionAndSite || []).map(m => {\r\n // return {\r\n // label: m.label,\r\n // key: m.key,\r\n // unit: m.unit,\r\n // group: m.group,\r\n // number: m.number,\r\n // source: m.source,\r\n // }\r\n // }),\r\n // relativeUrl: indicator.relativeUrl,\r\n // baseUrl: \"https://onlinedb.unaids.org\"\r\n // };\r\n // return obj;\r\n // })\r\n // };\r\n // });\r\n // console.log(JSON.stringify(calls));\r\n // }\r\n\r\n public async LoadJHUConfiguration(): Promise {\r\n const result = await this.Get(`assets/configurations/JHU/indicators.json`);\r\n configurationsStoreActions.setJHUConfigurations(result);\r\n return result;\r\n }\r\n\r\n public async LoadJHUCountriesMapper(): Promise {\r\n const result = await this.Get(`assets/configurations/JHU/countries_mapper.json`);\r\n configurationsStoreActions.setJHUCountriesMapper(result);\r\n return result;\r\n }\r\n}\r\n\r\nexport const configurationService = new ConfigurationService();\r\n","import { Loader, CreationResult } from \"./esriUtils\";\r\nimport { Layers } from \"./Layers\";\r\n\r\nexport class Views {\r\n public async MapView(options?: any): Promise<__esri.MapView> {\r\n return await Loader.create<__esri.MapView>(Loader.packageName + \"/views/MapView\", options);\r\n }\r\n\r\n public async SceneView(options?: any): Promise<__esri.SceneView> {\r\n return await Loader.create<__esri.SceneView>(Loader.packageName + \"/views/SceneView\", options);\r\n }\r\n\r\n public async ViewAnimation(options?: any): Promise<__esri.ViewAnimation> {\r\n return await Loader.create<__esri.ViewAnimation>(Loader.packageName + \"/views/SceneView\", options);\r\n }\r\n\r\n public _2D = {\r\n async Draw(options?: any): Promise<__esri.Draw> {\r\n return (await Loader.create<__esri.Draw>(Loader.packageName + \"/views/2d/draw/Draw\", options));\r\n },\r\n\r\n async PointDrawAction(options?: any): Promise<__esri.PointDrawAction> {\r\n return (await Loader.create<__esri.PointDrawAction>(Loader.packageName + \"/views/2d/draw/PointDrawAction\", options));\r\n },\r\n\r\n async PolygonDrawAction(options?: any): Promise<__esri.PolygonDrawAction> {\r\n return (await Loader.create<__esri.PolygonDrawAction>(Loader.packageName + \"/views/2d/draw/PolygonDrawAction\", options));\r\n },\r\n\r\n async PolylineDrawAction(options?: any): Promise<__esri.PolylineDrawAction> {\r\n return (await Loader.create<__esri.PolylineDrawAction>(Loader.packageName + \"/views/2d/draw/PolylineDrawAction\", options));\r\n },\r\n };\r\n}\r\n","import { CreationResult, Loader } from \"./esriUtils\";\r\nimport { GeoTiffImageLayer } from \"./customLayers/GeoTiffImageLayer\";\r\nimport { MultiLayer } from \"./customLayers/MultiLayer\";\r\nimport { ClientsideImageryLayer } from \"./customLayers/ClientsideImageryLayer\";\r\n\r\nexport class Layers {\r\n\r\n public async FeatureLayer(options?: any): Promise<__esri.FeatureLayer> {\r\n return await Loader.create<__esri.FeatureLayer>(Loader.packageName + \"/layers/FeatureLayer\", options);\r\n }\r\n\r\n public async BaseDynamicLayer(): Promise {\r\n return (await Loader.get(Loader.packageName + \"/layers/BaseDynamicLayer\"));\r\n }\r\n\r\n public async BaseElevationLayer(): Promise {\r\n return (await Loader.get(Loader.packageName + \"/layers/BaseElevationLayer\"));\r\n }\r\n\r\n public async BaseTileLayer(): Promise {\r\n return (await Loader.get(Loader.packageName + \"/layers/BaseTileLayer\"));\r\n }\r\n\r\n public async BaseLayerView2D(): Promise {\r\n return (await Loader.get(Loader.packageName + \"/views/2d/layers/BaseLayerView2D\"));\r\n }\r\n\r\n public async CSVLayer(options?: any): Promise<__esri.CSVLayer> {\r\n return await Loader.create<__esri.CSVLayer>(Loader.packageName + \"/layers/CSVLayer\", options);\r\n }\r\n\r\n public async ElevationLayer(options?: any): Promise<__esri.ElevationLayer> {\r\n return await Loader.create<__esri.ElevationLayer>(Loader.packageName + \"/layers/ElevationLayer\", options);\r\n }\r\n\r\n public async GeoRSSLayer(options?: any): Promise<__esri.GeoRSSLayer> {\r\n return await Loader.create<__esri.GeoRSSLayer>(Loader.packageName + \"/layers/GeoRSSLayer\", options);\r\n }\r\n\r\n public async GraphicsLayer(options?: any): Promise<__esri.GraphicsLayer> {\r\n return await Loader.create<__esri.GraphicsLayer>(Loader.packageName + \"/layers/GraphicsLayer\", options);\r\n }\r\n\r\n public async GroupLayer(options?: any): Promise<__esri.GroupLayer> {\r\n return await Loader.create<__esri.GroupLayer>(Loader.packageName + \"/layers/GroupLayer\", options);\r\n }\r\n\r\n public async ImageryLayer(options?: any): Promise<__esri.ImageryLayer> {\r\n return await Loader.create<__esri.ImageryLayer>(Loader.packageName + \"/layers/ImageryLayer\", options);\r\n }\r\n\r\n public async IntegratedMeshLayer(options?: any): Promise<__esri.IntegratedMeshLayer> {\r\n return await Loader.create<__esri.IntegratedMeshLayer>(Loader.packageName + \"/layers/IntegratedMeshLayer\", options);\r\n }\r\n\r\n public async KMLLayer(options?: any): Promise<__esri.KMLLayer> {\r\n return await Loader.create<__esri.KMLLayer>(Loader.packageName + \"/layers/KMLLayer\", options);\r\n }\r\n\r\n public async MapImageLayer(options?: any): Promise<__esri.MapImageLayer> {\r\n return await Loader.create<__esri.MapImageLayer>(Loader.packageName + \"/layers/MapImageLayer\", options);\r\n }\r\n\r\n public async OpenStreetMapLayer(options?: any): Promise<__esri.OpenStreetMapLayer> {\r\n return await Loader.create<__esri.OpenStreetMapLayer>(Loader.packageName + \"/layers/OpenStreetMapLayer\", options);\r\n }\r\n\r\n public async PointCloudLayer(options?: any): Promise<__esri.PointCloudLayer> {\r\n return await Loader.create<__esri.PointCloudLayer>(Loader.packageName + \"/layers/PointCloudLayer\", options);\r\n }\r\n\r\n public async SceneLayer(options?: any): Promise<__esri.SceneLayer> {\r\n return await Loader.create<__esri.SceneLayer>(Loader.packageName + \"/layers/SceneLayer\", options);\r\n }\r\n\r\n public async StreamLayer(options?: any): Promise<__esri.StreamLayer> {\r\n return await Loader.create<__esri.StreamLayer>(Loader.packageName + \"/layers/StreamLayer\", options);\r\n }\r\n\r\n public async TileLayer(options?: any): Promise<__esri.TileLayer> {\r\n return await Loader.create<__esri.TileLayer>(Loader.packageName + \"/layers/TileLayer\", options);\r\n }\r\n\r\n public async VectorTileLayer(options?: any): Promise<__esri.VectorTileLayer> {\r\n return await Loader.create<__esri.VectorTileLayer>(Loader.packageName + \"/layers/VectorTileLayer\", options);\r\n }\r\n\r\n public async WebTileLayer(options?: any): Promise<__esri.WebTileLayer> {\r\n return await Loader.create<__esri.WebTileLayer>(Loader.packageName + \"/layers/WebTileLayer\", options);\r\n }\r\n\r\n public async WMSLayer(options?: any): Promise<__esri.WMSLayer> {\r\n return await Loader.create<__esri.WMSLayer>(Loader.packageName + \"/layers/WMSLayer\", options);\r\n }\r\n\r\n public async WMTSLayer(options?: any): Promise<__esri.WMTSLayer> {\r\n return await Loader.create<__esri.WMTSLayer>(Loader.packageName + \"/layers/WMTSLayer\", options);\r\n }\r\n\r\n public async GeoTiffImageLayer(options?: any) {\r\n return await GeoTiffImageLayer(options);\r\n }\r\n\r\n public async MultiRendererLayer(options?: any) {\r\n return await MultiLayer(options);\r\n }\r\n\r\n public async ClientsideImageryLayer(options?: any) {\r\n return await ClientsideImageryLayer(options);\r\n }\r\n\r\n public Support: LayersSupport = new LayersSupport();\r\n\r\n}\r\n\r\nexport class LayersSupport {\r\n\r\n public async DimensionalDefinition(options?: any): Promise<__esri.DimensionalDefinition> {\r\n return await Loader.create<__esri.DimensionalDefinition>(Loader.packageName + \"/layers/support/DimensionalDefinition\", options);\r\n }\r\n\r\n public async Sublayer(options?: any): Promise<__esri.Sublayer> {\r\n return await Loader.create<__esri.Sublayer>(Loader.packageName + \"/layers/support/Sublayer\", options);\r\n }\r\n\r\n public async RasterFunction(options?: any): Promise<__esri.RasterFunction> {\r\n return await Loader.create<__esri.RasterFunction>(Loader.packageName + \"/layers/support/RasterFunction\", options);\r\n }\r\n\r\n}\r\n","import { Esri } from \"src/esriMap\";\n\nexport async function GeoTiffImageLayer(options): Promise {\n\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\n\n let GeoTiffImageLayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\n // create Web workers to manipulate the raster image\n // Attach property watchers to layer\n attach: function () {\n this._imagesWatcher = this.layer.watch(\"imageRasters\", function () {\n this.requestRender();\n })\n },\n // Detach property watchers from layer\n detach: function () {\n this._propertyHandle.remove();\n this._propertyHandle = null;\n },\n render(renderParameters: { context: Object, stationary: boolean, state: any }) {\n var state = renderParameters.state;\n var context = renderParameters.context as any;\n var pixelRatio = state.pixelRatio;\n var width = state.size[0];\n var height = state.size[1];\n\n if (state.rotation !== 0) {\n context.translate(width * pixelRatio * 0.5, height * pixelRatio * 0.5);\n context.rotate((state.rotation * Math.PI) / 180);\n context.translate(- width * pixelRatio * 0.5, -height * pixelRatio * 0.5);\n }\n\n context.save();\n\n (this.layer.imageRasters).forEach(element => {\n this.createTile(element, context, state);\n });\n\n context.restore();\n },\n createTile: function (rasterdata: any, context, state) {\n\n rasterdata.values.forEach(ras => {\n\n let xmin = rasterdata.xmin;\n let ymin = rasterdata.ymax;\n let rxstep = ((rasterdata.xmax - rasterdata.xmin) / rasterdata.width);\n let rystep = ((-rasterdata.ymax + rasterdata.ymin) / rasterdata.height);\n for (let x = 0; x < rasterdata.width; x++) {\n for (let y = 0; y < rasterdata.height; y++) {\n let val = ras[y][x];\n\n if (!val && this.layer.skipIfNoValue) continue;\n\n let gxmin = (xmin + (x) * rxstep);\n let gxmax = (xmin + (x + 1) * rxstep);\n let gymin = (ymin + (y) * rystep);\n let gymax = (ymin + (y + 1) * rystep);\n\n let p1 = [0, 0];\n let p2 = [0, 0];\n state.toScreenNoRotation(p1, [gxmin, gymax]);\n state.toScreenNoRotation(p2, [gxmax, gymin]);\n\n let style = this.layer.classifyCell(val);\n context.fillStyle = 'rgba(' + style[0] + ',' + style[1] + ',' + style[2] + ',' + style[3] + ')';\n context.fillRect(p1[0], p1[1], p2[0] - p1[0], p2[1] - p1[1]);\n }\n }\n });\n }\n })\n\n let GeoTiffImageLayer = (await Esri.Layers.BaseTileLayer()).createSubclass({\n properties: {\n skipIfNoValue: true,\n\n },\n imageRasters: [],\n classifyCell(value: number, georaster): [number, number, number, number] {\n return [0, 0, 0, value];\n },\n addImageRaster: function (rasterdata) {\n console.log(\"rasterdata\", rasterdata);\n this.imageRasters.push(this.toWebMercator(rasterdata));\n },\n\n toWebMercator: function (rasterdata) {\n if (rasterdata.projection == 4326) {\n let minxy = webMercatorUtils.lngLatToXY(rasterdata.xmin, rasterdata.ymin);\n let maxxy = webMercatorUtils.lngLatToXY(rasterdata.xmax, rasterdata.ymax);\n\n rasterdata.xmin = minxy[0];\n rasterdata.ymin = minxy[1];\n rasterdata.xmax = maxxy[0];\n rasterdata.ymax = maxxy[1];\n }\n\n return rasterdata;\n },\n createLayerView(view) {\n return new GeoTiffImageLayerView({\n view: view,\n layer: this\n });\n }\n });\n\n return new GeoTiffImageLayer(options) as ICustomImageLayer;\n}\n\ninterface ICustomImageLayer extends __esri.Layer {\n images: Array;\n}\n","/* Multilayer รจ un layer con caratteristiche di rendering multiplo per i graphics */\n\nimport { Esri } from \"src/esriMap\";\n\nexport async function MultiLayer(options): Promise {\n\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\n\n let MultilayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\n // create Web workers to manipulate the raster image\n // Attach property watchers to layer\n attach: function () {\n this._imagesWatcher = this.layer.watch(\"graphics\", function () {\n this.requestRender();\n })\n },\n // Detach property watchers from layer\n detach: function () {\n this._propertyHandle.remove();\n this._propertyHandle = null;\n },\n\n preRenderingCallBack: null,\n renderingCallBack: null,\n\n // Funzione di HitTest\n async hitTest(x, y): Promise<__esri.Graphic> {\n let hitTestBuffer = this.layer.hitTestBuffer;\n\n let g = this.layer.graphics.find(e => {\n let xy = e[\"_screenPoint\"];\n if (xy) {\n return (xy[0] - hitTestBuffer) <= x &&\n (xy[0] + hitTestBuffer) >= x &&\n (xy[1] - hitTestBuffer) <= y &&\n (xy[1] + hitTestBuffer) >= y;\n }\n return false;\n });\n return g;\n },\n render(renderParameters: { context: CanvasRenderingContext2D, stationary: boolean, state: IState }) {\n var state = renderParameters.state;\n var context = renderParameters.context as any;\n\n context.save();\n\n // ROTATE the context with map;\n context.translate(state.width * 0.5, state.height * 0.5);\n context.rotate((state.rotation * Math.PI) / 180);\n context.translate(-state.width * 0.5, -state.height * 0.5);\n\n let prerender = (this.preRenderingCallBack || this.layer.preRenderingCallBack) as PreRenderingFunctionDelegate;\n let grender = (this.renderingCallBack || this.layer.renderingCallBack) as RenderingFunctionDelegate;\n context.imageSmoothingEnabled = true;\n if (prerender) prerender(context, state);\n\n if (grender)\n (this.layer.graphics).forEach((element: __esri.Graphic) => {\n\n if (element.geometry.type == \"point\") {\n var point = element.geometry as __esri.Point;\n if (point.spatialReference.isWGS84) {\n point = webMercatorUtils.geographicToWebMercator(element.geometry) as __esri.Point;\n // Salvo le coordinate convertite in WebMercatore per non doverle ricalcolare.\n element.geometry = point;\n }\n\n var xy = [0, 0];\n\n state.toScreenNoRotation(xy, [point.x, point.y]);\n // Salvo la posizione del graphic nello schermo per la funzione di HitTest\n element[\"_screenPoint\"] = xy;\n // xy[0] = Math.round(xy[0]);\n // xy[1] = Math.round(xy[1]);\n\n if (xy[0] > 0 && xy[1] > 0 && xy[0] < state.width && xy[1] < state.height)\n grender(new RenderingHelper(context, xy), element);\n }\n\n });\n context.restore();\n },\n });\n\n let coll = await Esri.Core.Collection();\n let MultilayerConstructor = (await Esri.Layers.BaseTileLayer()).createSubclass({\n properties: {\n skipIfNoValue: true,\n },\n preRenderingCallBack: null,\n renderingCallBack: null,\n hitTestBuffer: 5,\n graphics: coll,\n createLayerView(view) {\n return new MultilayerView({\n view: view,\n layer: this\n });\n }\n });\n return new MultilayerConstructor(options) as IMultiLayer;\n}\n\nclass RenderingHelper {\n public context: CanvasRenderingContext2D;\n\n private xy: number[] = null;\n\n constructor(context: CanvasRenderingContext2D, xy: number[]) {\n this.context = context;\n this.xy = xy;\n }\n\n public drawCircle(radius: number,\n fillStyle: string | CanvasGradient | CanvasPattern,\n strokeStyle: string | CanvasGradient | CanvasPattern, strokeWidth: number = 2) {\n this.context.lineWidth = strokeWidth;\n this.context.beginPath();\n this.context.arc(this.xy[0], this.xy[1], radius, 0, 2 * Math.PI);\n\n if (strokeStyle) {\n this.context.strokeStyle = strokeStyle;\n this.context.stroke();\n }\n\n if (fillStyle) {\n this.context.fillStyle = fillStyle;\n this.context.fill();\n }\n }\n\n public drawRect(width: number, height: number,\n fillStyle: string | CanvasGradient | CanvasPattern,\n strokeStyle: string | CanvasGradient | CanvasPattern, strokeWidth: number = 2) {\n\n this.context.lineWidth = strokeWidth;\n if (fillStyle) {\n this.context.fillStyle = fillStyle;\n this.context.fillRect(this.xy[0] - width / 2, this.xy[1] - height / 2, width, height);\n }\n if (strokeStyle) {\n this.context.strokeStyle = strokeStyle;\n this.context.strokeRect(this.xy[0] - width / 2, this.xy[1] - height / 2, width, height);\n }\n }\n\n public drawText(value: string,\n font: string,\n fillStyle: string | CanvasGradient | CanvasPattern,\n strokeStyle: string | CanvasGradient | CanvasPattern,\n width: number,\n offsetx?: number, offsety?: number, strokeWidth: number = 2) {\n\n this.context.lineWidth = strokeWidth;\n if (font) this.context.font = font;\n if (fillStyle) this.context.fillStyle = fillStyle;\n if (strokeStyle) this.context.strokeStyle = strokeStyle;\n\n let x = this.xy[0] - (width || 0) / 2;\n let y = this.xy[1];\n\n if (typeof (offsetx) === \"number\") x = x + offsetx;\n if (typeof (offsety) === \"number\") y = y + offsety;\n\n this.context.fillText(value, x, y, width);\n if (strokeStyle) this.context.strokeText(value, x, y, width);\n }\n\n}\n\n\ninterface RenderingFunctionDelegate {\n (rendering: RenderingHelper, graphic: __esri.Graphic)\n}\n\ninterface PreRenderingFunctionDelegate {\n (context: CanvasRenderingContext2D, state: IState)\n}\n\nexport interface IMultiLayer {\n graphics: __esri.Collection<__esri.Graphic>,\n preRenderingCallBack: PreRenderingFunctionDelegate,\n renderingCallBack: RenderingFunctionDelegate\n}\n\nexport interface IMultiLayerView {\n preRenderingCallBack: PreRenderingFunctionDelegate,\n renderingCallBack: RenderingFunctionDelegate\n}\n\ninterface IState {\n toScreenNoRotation(destination, source),\n width: number,\n rotation: number,\n scale: number,\n height: number,\n latitude: number,\n longitude: number\n}\n","import { ICustomLayerRenderer, IGeometryRaster, IState, IColoringFunction } from \"../ClientsideImageryLayer\";\n\nexport const defaultGeoTiffRenderer: ICustomLayerRenderer = (element: IGeometryRaster,\n context: CanvasRenderingContext2D,\n state: IState, wmUtils: __esri.webMercatorUtils,\n applyBlur: boolean = true,\n avoidTransparent: boolean = false,\n coloringFunction: IColoringFunction = null) => {\n\n let xmin = element.rasterdata.xmin;\n let ymin = element.rasterdata.ymin;\n let xmax = element.rasterdata.xmax;\n let ymax = element.rasterdata.ymax;\n\n let top = [0, 0];\n let bottom = [0, 0];\n state.toScreenNoRotation(top, [xmin, ymax]);\n state.toScreenNoRotation(bottom, [xmax, ymin]);\n\n if (applyBlur) {\n var sw = Math.floor((bottom[0] - top[0]) / element.rasterdata.width);\n (context as any).filter = 'opacity(1) blur(' + (sw * 0.5) + 'px)';\n }\n\n context.globalCompositeOperation = \"source-over\";\n let rxstep = ((element.rasterdata.xmax - element.rasterdata.xmin) / element.rasterdata.width);\n let rystep = ((-element.rasterdata.ymax + element.rasterdata.ymin) / element.rasterdata.height);\n\n element.rasterdata.values.forEach((ras, index) => {\n for (let x = 0; x < element.rasterdata.width; x++) {\n for (let y = 0; y < element.rasterdata.height; y++) {\n let val = ras[y][x];\n\n if (!val || val == element.rasterdata.no_data_value || val < -1000) continue;\n\n let gxmin = (xmin + (x) * rxstep);\n let gxmax = (xmin + (x + 1) * rxstep);\n let gymin = (ymax + (y) * rystep);\n let gymax = (ymax + (y + 1) * rystep);\n\n let p1 = [0, 0];\n let p2 = [0, 0];\n state.toScreenNoRotation(p1, [gxmin, gymax]);\n state.toScreenNoRotation(p2, [gxmax, gymin]);\n\n var color = coloringFunction ? coloringFunction(val) : [0, 0, 0, val];\n\n context.fillStyle = `rgba(${color[0]},${color[1]},${color[2]}, ${color[3]})`\n context.fillRect(p1[0], p1[1], p2[0] - p1[0], p2[1] - p1[1]);\n }\n }\n });\n\n // if (applyBlur && avoidTransparent) {\n // // Il blur applica di suo delle trasparenze,\n // // imposto a opaco la banda alfa.\n // var idata = context.getImageData(top[0], top[1], bottom[0] - top[0], bottom[1] - top[1]);\n // var il = idata.width * idata.height;\n // // var ih = idata.height;\n // var imgdata = idata.data;\n // for (var x = 0; x < il; x++)\n // {\n // let idx = x * 4 + 3;\n // imgdata[idx] = imgdata[idx]>0? 255:0;\n // }\n\n // context.putImageData(idata, top[0], top[1]);\n // }\n};\n","import { Loader, CreationResult } from \"./esriUtils\";\r\nimport { Esri } from \"src/esriMap/src/Esri\";\r\n\r\nexport class Geometry {\r\n\r\n // public async Geometry(): Promise<__esri.Geometry> {\r\n // return (await Loader.get(Loader.packageName + \"/geometry/Geometry\")) as __esri.Geometry;\r\n // }\r\n\r\n public Support = {\r\n async normalizeUtils(): Promise<__esri.normalizeUtils> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/support/normalizeUtils\")) as __esri.normalizeUtils;\r\n },\r\n async jsonUtils(): Promise<__esri.jsonUtils> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/support/jsonUtils\")) as __esri.jsonUtils;\r\n },\r\n async webMercatorUtils(): Promise<__esri.webMercatorUtils> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/support/webMercatorUtils\")) as __esri.webMercatorUtils;\r\n },\r\n };\r\n\r\n public async Circle(options?: any): Promise<__esri.Circle> {\r\n return (await Loader.create<__esri.Circle>(Loader.packageName + \"/geometry/Circle\", options));\r\n }\r\n\r\n public async Extent(options?: any): Promise<__esri.Extent> {\r\n return (await Loader.create<__esri.Extent>(Loader.packageName + \"/geometry/Extent\", options));\r\n }\r\n\r\n public async ExtentConstructor(): Promise<__esri.ExtentConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/Extent\")) as __esri.ExtentConstructor;\r\n }\r\n\r\n public async ExtentOf(geometries: __esri.Geometry[]): Promise<__esri.Extent> {\r\n let extent: __esri.Extent = null;\r\n if (geometries) {\r\n // tslint:disable-next-line: forin\r\n for (const key in geometries) {\r\n const geom = geometries[key] as any;\r\n\r\n let gextent = geom.extent;\r\n\r\n if (!gextent && geom.longitude) {\r\n gextent = await Esri.Geometry.Extent({\r\n xmin: geom.longitude,\r\n xmax: geom.longitude,\r\n ymin: geom.latitude,\r\n ymax: geom.latitude,\r\n spatialReference: geom.spatialReference,\r\n } as __esri.Extent);\r\n }\r\n\r\n if (gextent) {\r\n if (extent == null) {\r\n extent = gextent;\r\n } else {\r\n extent = extent.union(gextent);\r\n }\r\n }\r\n\r\n }\r\n }\r\n return extent;\r\n }\r\n\r\n public async HeightModelInfo(options?: any): Promise<__esri.HeightModelInfo> {\r\n return (await Loader.create<__esri.HeightModelInfo>(Loader.packageName + \"/geometry/HeightModelInfo\", options));\r\n }\r\n\r\n public async Multipoint(options?: any): Promise<__esri.Multipoint> {\r\n return (await Loader.create<__esri.Multipoint>(Loader.packageName + \"/geometry/Multipoint\", options));\r\n }\r\n\r\n public async Point(options?: any): Promise<__esri.Point> {\r\n return (await Loader.create<__esri.Point>(Loader.packageName + \"/geometry/Point\", options));\r\n }\r\n\r\n public async PointConstructor(): Promise<__esri.PointConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/Point\"));\r\n }\r\n\r\n public async Polygon(options?: any): Promise<__esri.Polygon> {\r\n return (await Loader.create<__esri.Polygon>(Loader.packageName + \"/geometry/Polygon\", options));\r\n }\r\n\r\n public async PolygonConstructor(): Promise<__esri.PolygonConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/Polygon\"));\r\n }\r\n\r\n public async Polyline(options?: any): Promise<__esri.Polyline> {\r\n return (await Loader.create<__esri.Polyline>(Loader.packageName + \"/geometry/Polyline\", options));\r\n }\r\n\r\n public async PolylineConstructor(): Promise<__esri.PolylineConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/Polyline\"));\r\n }\r\n\r\n public async ScreenPoint(options?: any): Promise<__esri.ScreenPoint> {\r\n return (await Loader.create<__esri.ScreenPoint>(Loader.packageName + \"/geometry/ScreenPoint\", options));\r\n }\r\n\r\n public async SpatialReference(options?: any): Promise<__esri.SpatialReference> {\r\n return (await Loader.create<__esri.SpatialReference>(Loader.packageName + \"/geometry/SpatialReference\", options));\r\n }\r\n\r\n public async geometryEngine(): Promise<__esri.geometryEngine> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/geometryEngine\")) as __esri.geometryEngine;\r\n }\r\n\r\n public async geometryEngineAsync(): Promise<__esri.geometryEngineAsync> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/geometryEngineAsync\")) as __esri.geometryEngineAsync;\r\n }\r\n\r\n}\r\n","import { CreationResult, Loader } from \"./esriUtils\";\r\n\r\nexport class Tasks {\r\n public async ClosestFacilityTask(options?: any): Promise<__esri.ClosestFacilityTask> {\r\n return (await Loader.create<__esri.ClosestFacilityTask>(Loader.packageName + \"/tasks/ClosestFacilityTask\", options));\r\n }\r\n\r\n public async FindTask(options?: any): Promise<__esri.FindTask> {\r\n return (await Loader.create<__esri.FindTask>(Loader.packageName + \"/tasks/FindTask\", options));\r\n }\r\n\r\n public async GeometryService(options?: any): Promise<__esri.GeometryService> {\r\n return (await Loader.create<__esri.GeometryService>(Loader.packageName + \"/tasks/GeometryService\", options));\r\n }\r\n\r\n public async Geoprocessor(options?: any): Promise<__esri.Geoprocessor> {\r\n return (await Loader.create<__esri.Geoprocessor>(Loader.packageName + \"/tasks/Geoprocessor\", options));\r\n }\r\n\r\n public async IdentifyTask(options?: any): Promise<__esri.IdentifyTask> {\r\n return (await Loader.create<__esri.IdentifyTask>(Loader.packageName + \"/tasks/IdentifyTask\", options));\r\n }\r\n\r\n public async ImageServiceIdentifyTask(options?: any): Promise<__esri.ImageServiceIdentifyTask> {\r\n return (await Loader.create<__esri.ImageServiceIdentifyTask>(Loader.packageName + \"/tasks/ImageServiceIdentifyTask\", options));\r\n }\r\n\r\n public async Locator(options?: any): Promise<__esri.Locator> {\r\n return (await Loader.create<__esri.Locator>(Loader.packageName + \"/tasks/Locator\", options));\r\n }\r\n\r\n public async PrintTask(options?: any): Promise<__esri.PrintTask> {\r\n return (await Loader.create<__esri.PrintTask>(Loader.packageName + \"/tasks/PrintTask\", options));\r\n }\r\n\r\n public async QueryTask(options?: any): Promise<__esri.QueryTask> {\r\n return (await Loader.create<__esri.QueryTask>(Loader.packageName + \"/tasks/QueryTask\", options));\r\n }\r\n\r\n public async RouteTask(options?: any): Promise<__esri.RouteTask> {\r\n return (await Loader.create<__esri.RouteTask>(Loader.packageName + \"/tasks/RouteTask\", options));\r\n }\r\n\r\n public async ServiceAreaTask(options?: any): Promise<__esri.ServiceAreaTask> {\r\n return (await Loader.create<__esri.ServiceAreaTask>(Loader.packageName + \"/tasks/ServiceAreaTask\", options));\r\n }\r\n\r\n public Support: Support = new Support();\r\n}\r\n\r\nexport class Support {\r\n public async Query(options?: any): Promise<__esri.Query> {\r\n return (await Loader.create<__esri.Query>(Loader.packageName + \"/tasks/support/Query\", options));\r\n }\r\n\r\n public async PrintParameters(options?: any): Promise<__esri.PrintParameters> {\r\n return (await Loader.create<__esri.PrintParameters>(Loader.packageName + \"/tasks/support/PrintParameters\", options));\r\n }\r\n\r\n public async PrintTemplate(options?: any): Promise<__esri.PrintTemplate> {\r\n return (await Loader.create<__esri.PrintTemplate>(Loader.packageName + \"/tasks/support/PrintTemplate\", options));\r\n }\r\n}\r\n","import { Loader } from \"./esriUtils\";\r\n\r\nexport class Symbols {\r\n\r\n public async ExtrudeSymbol3DLayer(options?: any): Promise<__esri.ExtrudeSymbol3DLayer> {\r\n return (await Loader.create<__esri.ExtrudeSymbol3DLayer>(Loader.packageName + \"/symbols/ExtrudeSymbol3DLayer\", options));\r\n }\r\n\r\n public async FillSymbol(options?: any): Promise<__esri.FillSymbol> {\r\n return (await Loader.create<__esri.FillSymbol>(Loader.packageName + \"/symbols/FillSymbol\", options));\r\n }\r\n\r\n public async FillSymbolConstructor(): Promise<__esri.FillSymbolConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/symbols/FillSymbol\"));\r\n }\r\n\r\n public async FillSymbol3DLayer(options?: any): Promise<__esri.FillSymbol3DLayer> {\r\n return (await Loader.create<__esri.FillSymbol3DLayer>(Loader.packageName + \"/symbols/FillSymbol3DLayer\", options));\r\n }\r\n\r\n public async Font(options?: any): Promise<__esri.Font> {\r\n return (await Loader.create<__esri.Font>(Loader.packageName + \"/symbols/Font\", options));\r\n }\r\n\r\n public async IconSymbol3DLayer(options?: any): Promise<__esri.IconSymbol3DLayer> {\r\n return (await Loader.create<__esri.IconSymbol3DLayer>(Loader.packageName + \"/symbols/IconSymbol3DLayer\", options));\r\n }\r\n\r\n public async LabelSymbol3D(options?: any): Promise<__esri.LabelSymbol3D> {\r\n return (await Loader.create<__esri.LabelSymbol3D>(Loader.packageName + \"/symbols/LabelSymbol3D\", options));\r\n }\r\n\r\n public async LineSymbol(options?: any): Promise<__esri.LineSymbol> {\r\n return (await Loader.create<__esri.LineSymbol>(Loader.packageName + \"/symbols/LineSymbol\", options));\r\n }\r\n\r\n public async LineSymbol3D(options?: any): Promise<__esri.LineSymbol3D> {\r\n return (await Loader.create<__esri.LineSymbol3D>(Loader.packageName + \"/symbols/LineSymbol3D\", options));\r\n }\r\n\r\n public async LineSymbol3DLayer(options?: any): Promise<__esri.LineSymbol3DLayer> {\r\n return (await Loader.create<__esri.LineSymbol3DLayer>(Loader.packageName + \"/symbols/LineSymbol3DLayer\", options));\r\n }\r\n\r\n public async MarkerSymbol(options?: any): Promise<__esri.MarkerSymbol> {\r\n return (await Loader.create<__esri.MarkerSymbol>(Loader.packageName + \"/symbols/MarkerSymbol\", options));\r\n }\r\n\r\n public async MeshSymbol3D(options?: any): Promise<__esri.MeshSymbol3D> {\r\n return (await Loader.create<__esri.MeshSymbol3D>(Loader.packageName + \"/symbols/MeshSymbol3D\", options));\r\n }\r\n\r\n public async ObjectSymbol3DLayer(options?: any): Promise<__esri.ObjectSymbol3DLayer> {\r\n return (await Loader.create<__esri.ObjectSymbol3DLayer>(Loader.packageName + \"/symbols/ObjectSymbol3DLayer\", options));\r\n }\r\n\r\n public async PathSymbol3DLayer(options?: any): Promise<__esri.PathSymbol3DLayer> {\r\n return (await Loader.create<__esri.PathSymbol3DLayer>(Loader.packageName + \"/symbols/PathSymbol3DLayer\", options));\r\n }\r\n\r\n public async PictureFillSymbol(options?: any): Promise<__esri.PictureFillSymbol> {\r\n return (await Loader.create<__esri.PictureFillSymbol>(Loader.packageName + \"/symbols/PictureFillSymbol\", options));\r\n }\r\n\r\n public async PictureMarkerSymbol(options?: any): Promise<__esri.PictureMarkerSymbol> {\r\n return (await Loader.create<__esri.PictureMarkerSymbol>(Loader.packageName + \"/symbols/PictureMarkerSymbol\", options));\r\n }\r\n\r\n public async PointSymbol3D(options?: any): Promise<__esri.PointSymbol3D> {\r\n return (await Loader.create<__esri.PointSymbol3D>(Loader.packageName + \"/symbols/PointSymbol3D\", options));\r\n }\r\n\r\n public async PolygonSymbol3D(options?: any): Promise<__esri.PolygonSymbol3D> {\r\n return (await Loader.create<__esri.PolygonSymbol3D>(Loader.packageName + \"/symbols/PolygonSymbol3D\", options));\r\n }\r\n\r\n public async SimpleFillSymbol(options?: any): Promise<__esri.SimpleFillSymbol> {\r\n return (await Loader.create<__esri.SimpleFillSymbol>(Loader.packageName + \"/symbols/SimpleFillSymbol\", options));\r\n }\r\n\r\n public async SimpleLineSymbol(options?: any): Promise<__esri.SimpleLineSymbol> {\r\n return (await Loader.create<__esri.SimpleLineSymbol>(Loader.packageName + \"/symbols/SimpleLineSymbol\", options));\r\n }\r\n\r\n public async SimpleMarkerSymbol(options?: any): Promise<__esri.SimpleMarkerSymbol> {\r\n return (await Loader.create<__esri.SimpleMarkerSymbol>(Loader.packageName + \"/symbols/SimpleMarkerSymbol\", options));\r\n }\r\n\r\n public async SimpleMarkerSymbolConstructor(): Promise<__esri.SimpleMarkerSymbolConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/symbols/SimpleMarkerSymbol\"));\r\n }\r\n\r\n public async TextSymbol(options?: any): Promise<__esri.TextSymbol> {\r\n return (await Loader.create<__esri.TextSymbol>(Loader.packageName + \"/symbols/TextSymbol\", options));\r\n }\r\n\r\n public async TextSymbolConstructor(): Promise<__esri.TextSymbolConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/symbols/TextSymbol\"));\r\n }\r\n\r\n public async TextSymbol3DLayer(options?: any): Promise<__esri.TextSymbol3DLayer> {\r\n return (await Loader.create<__esri.TextSymbol3DLayer>(Loader.packageName + \"/symbols/TextSymbol3DLayer\", options));\r\n }\r\n\r\n public async WebStyleSymbol(options?: any): Promise<__esri.WebStyleSymbol> {\r\n return (await Loader.create<__esri.WebStyleSymbol>(Loader.packageName + \"/symbols/WebStyleSymbol\", options));\r\n }\r\n}\r\n","import { Loader } from \"./esriUtils\";\r\n\r\nexport class Renderers {\r\n\r\n public async ClassBreaksRenderer(options?: any): Promise<__esri.ClassBreaksRenderer> {\r\n return (await Loader.create<__esri.ClassBreaksRenderer>(Loader.packageName + \"/renderers/ClassBreaksRenderer\", options));\r\n }\r\n\r\n public async SimpleRenderer(options?: any): Promise<__esri.SimpleRenderer> {\r\n return (await Loader.create<__esri.SimpleRenderer>(Loader.packageName + \"/renderers/SimpleRenderer\", options));\r\n }\r\n\r\n public SmartMapping: SmartMapping = new SmartMapping();\r\n}\r\n\r\nexport class SmartMapping {\r\n public Statistics: Statistics = new Statistics();\r\n public Creators: Creators = new Creators();\r\n public Symbology: Symbology = new Symbology();\r\n}\r\n\r\nexport class Statistics {\r\n public async ClassBreaks(options: any): Promise {\r\n const func = await (Loader.get(Loader.packageName + \"/renderers/smartMapping/statistics/classBreaks\"));\r\n return await func(options);\r\n }\r\n}\r\n\r\nexport class Creators {\r\n public async Relationship(): Promise<__esri.relationship> {\r\n return await Loader.get(Loader.packageName + \"/renderers/smartMapping/creators/relationship\");\r\n }\r\n\r\n public async Size(): Promise<__esri.size> {\r\n return await Loader.get(Loader.packageName + \"/renderers/smartMapping/creators/size\");\r\n }\r\n\r\n public async Color(): Promise<__esri.color> {\r\n return await Loader.get(Loader.packageName + \"/renderers/smartMapping/creators/color\");\r\n }\r\n}\r\n\r\nexport class Symbology {\r\n public Color: Color = new Color();\r\n\r\n public async Relationship(): Promise<__esri.symbologyRelationship> {\r\n return await Loader.get(Loader.packageName + \"/renderers/smartMapping/symbology/relationship\");\r\n }\r\n}\r\n\r\nexport class Color {\r\n public async getSchemes(): Promise<__esri.ColorScheme> {\r\n const func = await (Loader.get(Loader.packageName + \"/renderers/smartMapping/symbology/color\"));\r\n return func.getSchemes();\r\n }\r\n public async cloneScheme(scheme: __esri.ColorScheme): Promise<__esri.ColorScheme> {\r\n const func = await (Loader.get(Loader.packageName + \"/renderers/smartMapping/symbology/color\"));\r\n return func.cloneScheme(scheme);\r\n }\r\n}\r\n","import { Loader } from \"./esriUtils\";\r\n\r\nexport class Support {\r\n public Actions: Actions = new Actions();\r\n}\r\n\r\nexport class Actions {\r\n public async ActionButton(options?: any): Promise<__esri.ActionButton> {\r\n return (await Loader.create<__esri.ActionButton>(Loader.packageName + \"/support/actions/ActionButton\", options));\r\n }\r\n\r\n public async ActionButtonConstructor(): Promise<__esri.ActionButtonConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/support/actions/ActionButton\"));\r\n }\r\n\r\n public async ActionToggle(options?: any): Promise<__esri.ActionToggle> {\r\n return (await Loader.create<__esri.ActionToggle>(Loader.packageName + \"/support/actions/ActionToggle\", options));\r\n }\r\n\r\n public async ActionToggleConstructor(): Promise<__esri.ActionToggleConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/support/actions/ActionToggle\"));\r\n }\r\n}\r\n","import { Esri } from \"../Esri\";\r\n\r\nexport class Measure {\r\n\r\n private _graphics: __esri.Collection<__esri.Graphic>;\r\n public drawing: boolean = false;\r\n\r\n activeWidget: any = null;\r\n currentMode = null;\r\n\r\n constructor(public parameters: MeasureParameters) {\r\n if (!parameters.view) throw \"Unable to create a Measure Tool without a View\";\r\n }\r\n\r\n public async MeasureArea() {\r\n this.RemoveWidget();\r\n if (this.currentMode == \"area\") { this.currentMode = null; return; }\r\n this.currentMode = \"area\";\r\n\r\n this.activeWidget = await Esri.Widgets.AreaMeasurement2D({\r\n view: this.parameters.view\r\n });\r\n\r\n this.parameters.view.ui.add(this.activeWidget, \"top-right\");\r\n this.activeWidget.viewModel.newMeasurement();\r\n }\r\n\r\n public async MeasurePerimeter() {\r\n this.RemoveWidget();\r\n\r\n if (this.currentMode == \"perimeter\") { this.currentMode = null; return; }\r\n this.currentMode = \"perimeter\";\r\n\r\n this.activeWidget = await Esri.Widgets.DistanceMeasurement2D({\r\n view: this.parameters.view\r\n });\r\n\r\n this.parameters.view.ui.add(this.activeWidget, \"top-right\");\r\n this.activeWidget.viewModel.newMeasurement();\r\n }\r\n\r\n public RemoveWidget() {\r\n if (this.activeWidget) {\r\n this.parameters.view.ui.remove(this.activeWidget);\r\n this.activeWidget.destroy();\r\n }\r\n this.activeWidget = null;\r\n }\r\n}\r\n\r\nexport class MeasureParameters {\r\n\r\n public areaUnitOfMeasure: string = \"hectares\";\r\n public distanceUnitOfMeasure: string = \"meters\";\r\n\r\n constructor(\r\n public view: __esri.MapView,\r\n ) {\r\n }\r\n}\r\n","import { Esri } from \"../Esri\";\r\n\r\ninterface onDrawCompletedDelegate {\r\n (graphic: __esri.Graphic): void;\r\n}\r\ninterface onDrawResetDelegate {\r\n (): void;\r\n}\r\n\r\nexport class Draw {\r\n private draw: __esri.Draw;\r\n\r\n private _graphics: __esri.Collection<__esri.Graphic>;\r\n private _graphic: __esri.Graphic;\r\n\r\n private _defaultGeometrySymbol: {};\r\n private _defaultLabelSymbol: {};\r\n\r\n private _startedMeasuring: boolean = false;\r\n public drawing: boolean = false;\r\n public onDrawCompleted: onDrawCompletedDelegate;\r\n public onDrawReset: onDrawResetDelegate;\r\n\r\n constructor(public parameters: DrawParameters, public options: __esri.DrawCreateDrawOptions) {\r\n if (!parameters.domButtonNode) throw \"Unable to create a Draw tool without a dom button reference\";\r\n if (!parameters.view) throw \"Unable to create a Draw Tool without a View\";\r\n\r\n if (parameters.graphicLayer) this._graphics = parameters.graphicLayer.graphics;\r\n else this._graphics = parameters.view.graphics;\r\n\r\n this.initWidget(options);\r\n }\r\n\r\n private async initWidget(drawOption: __esri.DrawCreateDrawOptions) {\r\n this.parameters.domButtonNode.addEventListener(\"click\", () => this.initDrawing(drawOption));\r\n }\r\n\r\n public async endDrawing() {\r\n if (this.drawing) {\r\n this._graphics.removeAll();\r\n this.drawing = false;\r\n this.draw.reset();\r\n if (this.onDrawReset) this.onDrawReset();\r\n }\r\n }\r\n\r\n public async initDrawing(drawOption: __esri.DrawCreateDrawOptions) {\r\n if (this.drawing) this.endDrawing();\r\n\r\n this.drawing = true;\r\n this.draw = (await Esri.Views._2D.Draw({ view: this.parameters.view } as __esri.DrawProperties)) as __esri.Draw;\r\n\r\n var action: any = this.draw.create(this.parameters.tool, drawOption);\r\n this.parameters.view.focus();\r\n\r\n switch (this.parameters.tool) {\r\n case \"polygon\":\r\n action.on(\"vertex-add\", (e) => {\r\n if (this.parameters.enableMeasure) this._startedMeasuring = true;\r\n this.drawPolygon(e, this.parameters.view);\r\n });\r\n action.on(\"cursor-update\", (e) => this.drawPolygon(e, this.parameters.view));\r\n action.on(\"vertex-remove\", (e) => this.drawPolygon(e, this.parameters.view));\r\n action.on(\"draw-complete\", async (e) => {\r\n await this.drawPolygon(e, this.parameters.view, true);\r\n if (this.parameters.enableMeasure) this._startedMeasuring = false;\r\n });\r\n break;\r\n case \"polyline\":\r\n action.on(\"vertex-add\", (e) => {\r\n if (this.parameters.enableMeasure) this._startedMeasuring = true;\r\n this.drawPolygon(e, this.parameters.view);\r\n });\r\n action.on(\"cursor-update\", (e) => this.drawPolyline(e, this.parameters.view));\r\n action.on(\"vertex-remove\", (e) => this.drawPolyline(e, this.parameters.view));\r\n action.on(\"draw-complete\", async (e) => {\r\n await this.drawPolygon(e, this.parameters.view, true);\r\n if (this.parameters.enableMeasure) this._startedMeasuring = false;\r\n });\r\n break;\r\n }\r\n }\r\n\r\n private async drawPolygon(evt, mapView: __esri.MapView, emit: boolean = false) {\r\n var vertices = evt.vertices;\r\n\r\n //remove existing graphic\r\n this._graphics.removeAll();\r\n\r\n // create a new polygon\r\n var polygon = await await Esri.Geometry.Polygon({\r\n rings: vertices,\r\n spatialReference: mapView.spatialReference\r\n });\r\n\r\n // create a new graphic representing the polygon, add it to the view\r\n var graphic = await Esri.Graphic({\r\n geometry: polygon,\r\n symbol: this.parameters.geometrySymbol\r\n });\r\n this._graphics.add(graphic);\r\n\r\n if (this.parameters.enableMeasure && this._startedMeasuring) {\r\n let geoengine = await Esri.Geometry.geometryEngine();\r\n let area = geoengine.geodesicArea(polygon, this.parameters.areaUnitOfMeasure);\r\n if (area < 0) {\r\n // simplify the polygon if needed and calculate the area again\r\n let simplifiedPolygon = geoengine.simplify(polygon) as __esri.Polygon;\r\n if (simplifiedPolygon) {\r\n area = geoengine.geodesicArea(simplifiedPolygon, this.parameters.areaUnitOfMeasure);\r\n }\r\n }\r\n // start displaying the area of the polygon\r\n await this.labelAreas(polygon, area, mapView);\r\n }\r\n\r\n if (emit && this.onDrawCompleted) this.onDrawCompleted(graphic);\r\n }\r\n\r\n private async drawPolyline(evt, view: __esri.MapView, emit: boolean = false) {\r\n var vertices = evt.vertices;\r\n\r\n //remove existing graphic\r\n this._graphics.removeAll();\r\n\r\n // create a new polyline\r\n var polyline = await Esri.Geometry.Polyline({\r\n paths: vertices,\r\n spatialReference: view.spatialReference\r\n });\r\n\r\n // create a new graphic representing the polyline, add it to the view\r\n var graphic = await await Esri.Graphic({\r\n geometry: polyline,\r\n symbol: this.parameters.polylineSymbol\r\n });\r\n this._graphics.add(graphic);\r\n if (this.parameters.enableMeasure && this._startedMeasuring) {\r\n let geoengine = await Esri.Geometry.geometryEngine();\r\n let area = geoengine.geodesicLength(polyline, this.parameters.areaUnitOfMeasure);\r\n if (area < 0) {\r\n // simplify the polyline if needed and calculate the area again\r\n let simplifiedPolygon = geoengine.simplify(polyline) as __esri.Polygon;\r\n if (simplifiedPolygon) {\r\n area = geoengine.geodesicLength(simplifiedPolygon, this.parameters.areaUnitOfMeasure);\r\n }\r\n }\r\n // start displaying the area of the polyline\r\n await this.labelDistance(polyline, area, view);\r\n }\r\n if (emit && this.onDrawCompleted) this.onDrawCompleted(graphic);\r\n }\r\n\r\n private async labelAreas(geom, area, mapView: __esri.MapView) {\r\n var s = this.parameters.labelSymbol;\r\n s.text = area.toFixed(2) + \" \" + this.parameters.areaLabel;\r\n var graphic = await Esri.Graphic({\r\n geometry: geom.centroid,\r\n symbol: s\r\n });\r\n this._graphics.add(graphic);\r\n }\r\n\r\n private async labelDistance(geom, area, mapView: __esri.MapView) {\r\n var s = this.parameters.labelSymbol;\r\n s.text = area.toFixed(2) + \" \" + this.parameters.distanceLabel;\r\n var graphic = await Esri.Graphic({\r\n geometry: geom.extent.center,\r\n symbol: s\r\n });\r\n this._graphics.add(graphic);\r\n }\r\n}\r\n\r\nexport class DrawParameters {\r\n public graphicLayer: __esri.GraphicsLayer = null;\r\n public tool: string = \"polygon\"; // polygon - line\r\n public enableMeasure: boolean = false;\r\n public measureTool: string = \"polygon\"; // polygon - polyline\r\n public areaUnitOfMeasure: string = \"hectares\";\r\n public distanceUnitOfMeasure: string = \"meters\";\r\n public areaLabel: string = \"ha\";\r\n public distanceLabel: string = \"m\";\r\n public labelSymbol: any = {\r\n type: \"text\",\r\n color: \"lightblue\",\r\n haloColor: \"black\",\r\n haloSize: \"5px\",\r\n xoffset: 3,\r\n yoffset: 3,\r\n font: {\r\n // autocast as Font\r\n size: 12,\r\n family: \"sans-serif\"\r\n }\r\n };\r\n public geometrySymbol: any = {\r\n type: \"simple-fill\", // autocasts as SimpleFillSymbol\r\n color: [140, 140, 140, 0.7],\r\n style: \"solid\",\r\n outline: {\r\n // autocasts as SimpleLineSymbol\r\n color: [36, 146, 170],\r\n width: 2,\r\n cap: \"round\",\r\n join: \"round\"\r\n }\r\n };\r\n\r\n public polylineSymbol: any = {\r\n type: \"simple-line\", // autocasts as new SimpleLineSymbol()\r\n color: \"lightblue\",\r\n width: \"2px\",\r\n style: \"solid\"\r\n };\r\n\r\n constructor(public view: __esri.MapView, public domButtonNode: any) {}\r\n}\r\n","import { IPostProcessingFunction, IGeometryRaster, IRaster } from \"../ClientsideImageryLayer\";\nimport { IState } from \"src/esriMap\";\n\n// Bilinear interpolation for Raster data\nexport const rasterBilinearInterpolation = function (data: IRaster, enabled: boolean = true, steps: number = 3): IRaster {\n\n\n let result = Object.assign({}, data);\n if (!enabled) return result;\n\n result.values = new Array(data.values.length);\n for (let k = 0; k < steps; k++) {\n for (let index = 0; index < data.values.length; index++) {\n const lay = data.values[index];\n let destination = new Array(data.height);\n\n for (var l = 0; l < data.height; l++)\n destination[l] = new Array(data.width);\n\n for (let x = 0; x < data.width; x++)\n for (let y = 0; y < data.height; y++) {\n let value = lay[y][x];\n if (!value || isNaN(value)) {\n\n let values = 0;\n if (x > 0 && isFinite(lay[y][x - 1])) { value = (isFinite(value) ? value : 0) + lay[y][x - 1]; values++; }\n if (x < data.width - 1 && isFinite(lay[y][x + 1])) { value = (isFinite(value) ? value : 0) + lay[y][x + 1]; values++; }\n if (y > 0 && isFinite(lay[y - 1][x])) { value = (isFinite(value) ? value : 0) + lay[y - 1][x]; values++; }\n if (y < data.height - 1 && isFinite(lay[y + 1][x])) { value = (isFinite(value) ? value : 0) + lay[y + 1][x]; values++; }\n\n destination[y][x] = (value) / values;\n }\n else\n destination[y][x] = value;\n }\n\n result.values[index] = destination;\n }\n\n data = result;\n // result = Object.assign({}, data);\n }\n\n return result;\n}\n\n","import { IPostProcessingFunction, IGeometryRaster, IPreProcessingFunction } from \"../ClientsideImageryLayer\";\r\n\r\n\r\nexport const geometryClip: IPreProcessingFunction = function (data: IGeometryRaster, context: CanvasRenderingContext2D, state, webMercatorUtils: __esri.webMercatorUtils) {\r\n\r\n if (data.geometry.spatialReference.isWGS84)\r\n data.geometry = (webMercatorUtils.geographicToWebMercator(data.geometry) as any) as __esri.Polygon;\r\n\r\n context.beginPath();\r\n data.geometry.rings.forEach(ring =>\r\n ring.forEach(element => {\r\n let point = [0, 0];\r\n state.toScreenNoRotation(point, element);\r\n context.lineTo(point[0], point[1])\r\n }));\r\n context.closePath();\r\n context.clip();\r\n\r\n return data;\r\n} as IPreProcessingFunction;\r\n","\r\nimport { baseRestService } from \"./_base\";\r\nimport { geometriesStoreActions, getStoreState } from \"@/store\";\r\nimport { Config } from \"@/config\";\r\nimport { unaidsPersistStorage } from \"@/store/app.persistStorage\";\r\nimport { unaidsLocalStorage } from \"@/store/app.localStorage\";\r\n\r\nclass GeometiesService extends baseRestService {\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.geoemtriesServerUrl;\r\n }\r\n\r\n public async Countries(where: string = \"FULL_NAME <> 'NO_LABEL'\", returnGeometry: boolean = true, maxAllowableOffset: number = 0, outFields: string = \"OBJECTID,ISO3,FULL_NAME\", orderByFields: string = \"ISO3\"): Promise>> {\r\n //// const stored = await unaidsPersistStorage.getItems>(\"countries\");\r\n const stored = await unaidsLocalStorage.getItem>>(\"countries\");\r\n if (stored && stored.length > 0) {\r\n getStoreState().geometries.countries = stored;\r\n return stored;\r\n }\r\n\r\n const params = { where, returnGeometry, maxAllowableOffset, outFields, orderByFields };\r\n const result = await this.Get(`2/query?f=json`, params);\r\n if (result) {\r\n geometriesStoreActions.setCountries(result.features || []);\r\n return result.features || [];\r\n }\r\n return [];\r\n }\r\n\r\n public async Regions(ISO3: string, returnGeometry: boolean = true, maxAllowableOffset: number = 0, outFields: string = \"OBJECTID,ISO3,NAME,Area_ID\", orderByFields: string = \"Area_ID\"): Promise>> {\r\n if (!ISO3) {\r\n console.log(\"ISO3 is required to get regions\");\r\n return [];\r\n }\r\n\r\n // const stored = await unaidsLocalStorage.getItem>>(`regions_${ISO3}`);\r\n // if (stored && stored.length > 0) {\r\n // getStoreState().geometries.regions = stored;\r\n // return stored;\r\n // }\r\n\r\n const where: string = `Area_ID is not null AND ISO3 = '${ISO3}'`;\r\n const params = { where, returnGeometry, maxAllowableOffset, outFields, orderByFields };\r\n const result = await this.Get(`1/query?f=json`, params);\r\n if (result) {\r\n const features = result.features || [];\r\n geometriesStoreActions.setRegions({ ISO3, features });\r\n return features;\r\n }\r\n return [];\r\n }\r\n\r\n public async Sites(ISO3: string, returnGeometry: boolean = true, outFields: string = \"OBJECTID,ISO3,NAME,Area_ID\", orderByFields: string = \"Area_ID\"): Promise>> {\r\n if (!ISO3) {\r\n console.log(\"ISO3 is required to get regions\");\r\n return [];\r\n }\r\n\r\n // const stored = await unaidsLocalStorage.getItem>>(`sites_${ISO3}`);\r\n // if (stored && stored.length > 0) {\r\n // getStoreState().geometries.sites = stored;\r\n // return stored;\r\n // }\r\n\r\n const where: string = `Area_ID is not null AND ISO3 = '${ISO3}'`;\r\n const params = { where, returnGeometry, outFields, orderByFields };\r\n const result = await this.Get(`0/query?f=json`, params);\r\n if (result) {\r\n const features = result.features || [];\r\n geometriesStoreActions.setSites({ ISO3, features });\r\n return features;\r\n }\r\n return [];\r\n }\r\n}\r\n\r\nexport const geometriesService = new GeometiesService();\r\n","\r\nimport { baseRestService } from \"./_base\";\r\nimport { Utils } from \"@/utils\";\r\nimport { configurationsStoreGetters, kpatlasStoreActions } from \"@/store\";\r\nimport { Deferred } from \"./_base/Deferred\";\r\n\r\nclass JHURedcupService extends baseRestService {\r\n public language: string = \"en\";\r\n public responseFormat: string = \"JSON\";\r\n public timePeriod: string = \"MRD\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async CountriesDatas(indicator: JHU.Indicator, blocks: JHU.Block[], areas: string[], recalcLegend: boolean = false): Promise {\r\n var params = {};\r\n params[\"token\"] = indicator.token;\r\n params[\"report_id\"] = indicator.reportId;\r\n params[\"content\"] = \"report\";\r\n params[\"format\"] = \"json\";\r\n params[\"rawOrLabel\"] = \"raw\";\r\n params[\"rawOrLabelHeaders\"] = \"raw\";\r\n params[\"returnFormat\"] = \"json\";\r\n\r\n this.baseUrl = indicator.baseUrl;\r\n const queryData = await this.Post(indicator.relativeUrl, params, params, false, \"application/x-www-form-urlencoded\") || [];\r\n\r\n if (queryData.length <= 0)\r\n return queryData;\r\n\r\n let results: KpAtlas.ResponseIndicatorBlockParam[] = [];\r\n for (let i = 0; i < blocks.length; i++) {\r\n const block = blocks[i];\r\n for (let j = 0; j < block.params.length; j++) {\r\n const param = block.params[j];\r\n results.push(this.closureCountriesDatas(i, areas, indicator, block, param, recalcLegend)(queryData.filter(f => f[param.source])));\r\n }\r\n }\r\n\r\n if (results.length <= 0) return [];\r\n return Utils.ParamReduce(results)\r\n }\r\n\r\n private closureCountriesDatas(index: number, areas: string[], indicator: JHU.Indicator, block: JHU.Block, param: JHU.Param, recalcLegend: boolean): (value: any[]) => KpAtlas.ResponseIndicatorBlockParam {\r\n return (result: any[]): KpAtlas.ResponseIndicatorBlockParam => {\r\n let datas = this.observationsReduce(result, areas, indicator, block, param);\r\n if (index === 0) {\r\n if (datas && datas.length > 0) {\r\n datas = datas.sort((a, b) => {\r\n if (Number(a.lastValue) < Number(b.lastValue)) { return -1; }\r\n if (Number(a.lastValue) > Number(b.lastValue)) { return 1; }\r\n return 0;\r\n });\r\n }\r\n }\r\n\r\n if (recalcLegend) {\r\n Utils.CleanLegenda();\r\n const legend = Utils.MakeLegenda(param as KpAtlas.BlockParameter, datas, configurationsStoreGetters.config().legend.countryColorClassifications, indicator.breaks, (d: KpAtlas.Response) => Number(d.lastValue));\r\n kpatlasStoreActions.setLegend(legend);\r\n }\r\n\r\n return {\r\n indicator: indicator as any,\r\n block: block as any,\r\n param: param as any,\r\n result: datas,\r\n } as KpAtlas.ResponseIndicatorBlockParam;\r\n };\r\n }\r\n\r\n public paramReduce(data: KpAtlas.ResponseIndicatorBlockParam[]): KpAtlas.ResponseIndicatorBlock[] {\r\n const temp = {};\r\n const reduced = data.filter((f) => !!f).reduce((r, o) => {\r\n let key = `${o.indicator.key}`;\r\n if (o.block) {\r\n key += `_${o.block.label.replace(/ /gi, \"-\").toLowerCase()}`;\r\n }\r\n if (!temp[key]) {\r\n temp[key] = { indicator: o.indicator, block: o.block, groups: [o] } as KpAtlas.ResponseIndicatorBlock;\r\n r.push(temp[key]);\r\n } else {\r\n temp[key].groups.push(o);\r\n }\r\n return r;\r\n }, [] as KpAtlas.ResponseIndicatorBlock[]);\r\n return reduced;\r\n }\r\n\r\n public observationsReduce(data: any[], areas: string[], indicator: JHU.Indicator, block: JHU.Block, param: JHU.Param): KpAtlas.Response[] {\r\n const temp = {};\r\n const reduced = data.sort((a, b) => {\r\n if (a[indicator.timeTrendField.source] > b[indicator.timeTrendField.source]) { return -1; }\r\n if (a[indicator.timeTrendField.source] < b[indicator.timeTrendField.source]) { return 1; }\r\n return 0;\r\n }).reduce((r, o) => {\r\n const key = `${o[indicator.countryField.source]}`;\r\n const parsed = this.normalizeObservation(o, areas, indicator, block, param);\r\n if (parsed) {\r\n if (!temp[key]) {\r\n temp[key] = {\r\n iso3: parsed.AREA.id,\r\n indicatorKey: parsed.INDICATOR.id,\r\n indicatorName: Utils.capitalizeFirstLetter(parsed.INDICATOR.value),\r\n blockLabel: block ? block.label : null,\r\n paramKey: parsed.SUBGROUP.id,\r\n paramName: Utils.capitalizeFirstLetter(parsed.SUBGROUP.value),\r\n lastValue: parsed.VALUE,\r\n timePeriod: parsed.TIME_PERIOD,\r\n hasSubNationalData: false,\r\n nationWithSubNationalData: [],\r\n denominator: parsed.DENOMINATOR,\r\n unit: parsed.UNIT.id,\r\n footNotes: parsed.FOOTNOTES,\r\n isTextualData: parsed.IS_TEXTUALDATA,\r\n observations: [parsed],\r\n } as KpAtlas.Response;\r\n\r\n r.push(temp[key]);\r\n } else {\r\n temp[key].observations.push(parsed);\r\n }\r\n }\r\n return r;\r\n }, [] as KpAtlas.Response[]);\r\n return reduced;\r\n }\r\n\r\n public normalizeObservation(observation, areas: string[], indicator: JHU.Indicator, block: JHU.Block, param: JHU.Param): KpAtlas.NormalizeObservation {\r\n const countryFieldKey = indicator.countryField.source;\r\n let countryFieldValue = { id: observation[countryFieldKey], value: observation[countryFieldKey] };\r\n if (indicator.countryField.needDecode) {\r\n const decoded = this.decodeCountryId(observation[countryFieldKey]);\r\n if (!decoded) return null;\r\n countryFieldValue = { id: decoded.ISO3, value: decoded.countryName };\r\n }\r\n\r\n if (areas.indexOf(countryFieldValue.id) === -1)\r\n return null;\r\n\r\n const yearFieldValue = observation[indicator.timeTrendField.source] ? parseInt(observation[indicator.timeTrendField.source], 10) : 0;\r\n\r\n const footnoteFieldValue = observation[indicator.footnoteField.source] || null;\r\n\r\n return {\r\n INDICATOR: { id: indicator.key.toUpperCase(), value: indicator.name },\r\n SUBGROUP: { id: param.source.toUpperCase(), value: param.label },\r\n UNIT: { id: param.unit.toUpperCase(), value: Utils.capitalizeFirstLetter(param.unit) },\r\n AREA: countryFieldValue,\r\n TIME_PERIOD: yearFieldValue,\r\n FOOTNOTES: footnoteFieldValue,\r\n IS_TEXTUALDATA: false,\r\n DENOMINATOR: null,\r\n VALUE: param.unit == \"percent\" || param.unit == \"number\" ? Number(observation[param.source]) : observation[param.source]\r\n };\r\n }\r\n\r\n private decodeCountryId(code: string): JHU.CountryMapper {\r\n return configurationsStoreGetters.jhuCountry(code);\r\n }\r\n\r\n}\r\n\r\nexport const jhuRedcupService = new JHURedcupService();\r\n","import LoaderIndicator from './loaderIndicator';\r\n\r\nexport {\r\n LoaderIndicator,\r\n};","const classRelative = \"busy-component-relative\";\r\nconst classBackground = \"busy-component-background\";\r\n\r\nconst _toggleLoaderClass = function(el, binding) {\r\n let loaderClass = classRelative;\r\n if (binding.modifiers.background)\r\n loaderClass = classBackground;\r\n\r\n if (binding.value && !el.classList.contains(loaderClass))\r\n el.classList.add(loaderClass);\r\n\r\n if (typeof binding.value === \"object\" && typeof binding.value.finally == \"function\") {\r\n binding.value.catch(() => null).finally(() => {\r\n el.classList.remove(loaderClass);\r\n });\r\n } else {\r\n if (!binding.value && el.classList.contains(loaderClass))\r\n el.classList.remove(loaderClass);\r\n }\r\n};\r\n\r\nexport default {\r\n inserted(el, binding) {\r\n _toggleLoaderClass(el, binding);\r\n },\r\n update(el, binding) {\r\n _toggleLoaderClass(el, binding);\r\n }\r\n};\r\n","export default {\r\n computed: {\r\n isValid() {\r\n if (this.errors && this.errors.items.length > 0) return false;\r\n for (const key in this.$children) {\r\n const element = this.$children[key];\r\n if (element.isValid == false) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n }\r\n}\r\n","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\nimport routes from \"@/router/routes\";\r\n\r\nComponent.registerHooks([\r\n \"beforeRouteEnter\",\r\n \"beforeRouteUpdate\",\r\n \"beforeRouteLeave\",\r\n]);\r\n\r\nVue.use(VueRouter);\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n linkActiveClass: \"open active\",\r\n scrollBehavior: () => ({ y: 0 } as any),\r\n routes,\r\n});\r\n\r\nrouter.beforeEach(async (to, from, next) => {\r\n next();\r\n});\r\n\r\nexport default router;\r\n","// layout\r\n// import Full from \"@/layouts/Full.vue\";\r\nconst Full = () =>\r\n import ( /* webpackChunkName: \"layout\" */ \"@/layouts/Full.vue\");\r\n\r\n// Base views\r\nconst Dashboard = () =>\r\n import ( /* webpackChunkName: \"dashboard\" */ \"@/app_modules/dashboard/Dashboard.vue\");\r\n\r\nfunction injectRoutes(mainRoute, childroutes) {\r\n for (const key in childroutes) {\r\n const element = childroutes[key];\r\n mainRoute[0].children.push(element);\r\n }\r\n}\r\n\r\nconst routes = [{\r\n path: \"/\",\r\n redirect: \"/dashboard\",\r\n name: \"Home\",\r\n meta: {\r\n basename: 'dashboard',\r\n },\r\n component: Full,\r\n children: [{\r\n path: \"dashboard\",\r\n name: \"dashboard\",\r\n meta: {\r\n basename: 'dashboard',\r\n },\r\n component: Dashboard\r\n }]\r\n}];\r\n\r\n// import { route as fieldRoutes } from \"@/app_modules/fields_management/routes\";\r\n// injectRoutes(routes, fieldRoutes);\r\n\r\n// import { routes as boundariesRoute } from \"@/app_modules/planner/routes\";\r\n// injectRoutes(routes, boundariesRoute);\r\n\r\nexport default routes;","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=770684c3&\"\nimport script from \"./App.ts?vue&type=script&lang=ts&\"\nexport * from \"./App.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { baseRestService, sharedInterceptors } from \"./baseRestService\";\r\nimport { FactoryService as Factory } from \"./factoryService\";\r\nimport { MessageService, messageService } from \"./messageService\";\r\n\r\nexport { baseRestService, sharedInterceptors, Factory, MessageService, messageService };\r\n","import { Loader, CreationResult } from \"./esriUtils\";\r\nimport { Views } from \"./Views\";\r\nimport { Layers } from \"./Layers\";\r\nimport { Geometry } from \"./Geometry\";\r\nimport { Tasks } from \"./Tasks\";\r\nimport { Symbols } from \"./Symbols\";\r\nimport { Widgets, WidgetsFactory } from \"./Widgets\";\r\nimport { Renderers } from \"./Renderers\";\r\nimport { Support } from \"./Support\";\r\n\r\nexport class Core {\r\n public async urlUtils(): Promise<__esri.urlUtils> {\r\n return (await Loader.get(Loader.packageName + \"/core/urlUtils\")) as __esri.urlUtils;\r\n }\r\n\r\n public async Collection(options?: any): Promise<__esri.Collection> {\r\n return (await Loader.create<__esri.Collection>(Loader.packageName + \"/core/Collection\", options));\r\n }\r\n\r\n}\r\n\r\n// tslint:disable-next-line: max-classes-per-file\r\nexport class Esri {\r\n\r\n public static Views: Views = new Views();\r\n public static Layers: Layers = new Layers();\r\n public static Geometry: Geometry = new Geometry();\r\n public static Symbols: Symbols = new Symbols();\r\n public static Tasks: Tasks = new Tasks();\r\n public static Widgets: Widgets = new Widgets();\r\n public static WidgetsFactory: WidgetsFactory = new WidgetsFactory();\r\n public static Core: Core = new Core();\r\n public static Renderers: Renderers = new Renderers();\r\n public static Support: Support = new Support();\r\n\r\n public static async Basemap(options?: any): Promise<__esri.Basemap> {\r\n return await Loader.create<__esri.Basemap>(Loader.packageName + \"/Basemap\", options);\r\n }\r\n\r\n public static async Camera(options?: any): Promise<__esri.Camera> {\r\n return (await Loader.create<__esri.Camera>(Loader.packageName + \"/Camera\", options));\r\n }\r\n\r\n public static async Color(options?: any): Promise<__esri.Color> {\r\n return (await Loader.create<__esri.Color>(Loader.packageName + \"/Color\", options));\r\n }\r\n\r\n public static async ColorConstructor(): Promise<__esri.ColorConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/Color\"));\r\n }\r\n\r\n public static async config(): Promise<__esri.config> {\r\n return (await Loader.get(Loader.packageName + \"/config\")) as __esri.config;\r\n }\r\n\r\n public static async Graphic(options?: any): Promise<__esri.Graphic> {\r\n return (await Loader.create<__esri.Graphic>(Loader.packageName + \"/Graphic\", options));\r\n }\r\n\r\n public static async Ground(options?: any): Promise<__esri.Ground> {\r\n return await Loader.create<__esri.Ground>(Loader.packageName + \"/Ground\", options);\r\n }\r\n\r\n public static async kernel(): Promise<__esri.kernel> {\r\n return (await Loader.get(Loader.packageName + \"/kernel\")) as __esri.kernel;\r\n }\r\n\r\n public static async PopupTemplate(options?: any): Promise<__esri.PopupTemplate> {\r\n return (await Loader.create<__esri.PopupTemplate>(Loader.packageName + \"/PopupTemplate\", options));\r\n }\r\n\r\n public static async Map(options?: any): Promise<__esri.Map> {\r\n return (await Loader.create<__esri.Map>(Loader.packageName + \"/Map\", options));\r\n }\r\n\r\n public static async request(): Promise<__esri.request> {\r\n return (await Loader.get(Loader.packageName + \"/request\")) as __esri.request;\r\n }\r\n\r\n public static async Viewpoint(options?: any): Promise<__esri.Viewpoint> {\r\n return (await Loader.create<__esri.Viewpoint>(Loader.packageName + \"/Viewpoint\", options));\r\n }\r\n\r\n public static async WebMap(options?: any): Promise<__esri.WebMap> {\r\n return await Loader.create<__esri.WebMap>(Loader.packageName + \"/WebMap\", options);\r\n }\r\n\r\n public static async WebScene(options?: any): Promise<__esri.WebScene> {\r\n return await Loader.create<__esri.WebScene>(Loader.packageName + \"/WebScene\", options);\r\n }\r\n\r\n}\r\n","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--1-1!./App.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--1-1!./App.ts?vue&type=script&lang=ts&\"","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Esri } from \"./esriMap\";\r\n\r\n@Component({})\r\nexport default class App extends Vue {\r\n\r\n\r\n async created(){\r\n ((await Esri.config()) as any).apiKey = \"AAPK8c99d8779c094c6ba70d7db3e38f332aFTTK4iz-l7f_5f4Q4HZzLZyiCqigwX3olqRxTlqQSE15NC7STVvGcGdY1oEZTRmB\";\r\n }\r\n}"],"sourceRoot":""}