{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utils/MessageService.ts","webpack:///./src/helpers/DeviceHelper.ts","webpack:///./src/store/ui.store.ts","webpack:///./src/services/localizationService.ts","webpack:///./src/store/localization.store.ts","webpack:///./src/store/navigation.store.ts","webpack:///./src/store/index.ts","webpack:///./src/modules/VersioneInSitu/store/VersioneInSitu.store.ts","webpack:///./src/views/login.vue?ad65","webpack:///./src/layout/components/web/appBar.vue?22e5","webpack:///./src/components/geojson-uploader/geojson-uploader.vue?087d","webpack:///./src/modules/baseMapsSync/tileHelper.ts","webpack:///./src/modules/baseMapsSync/module.ts","webpack:///./src/components/inputs/toggle.vue?c638","webpack:///./src/components/inputs/toggle.ts","webpack:///./src/components/inputs/toggle.ts?7266","webpack:///./src/components/inputs/toggle.vue","webpack:///./src/components/modal/modalContainer.vue?d812","webpack:///./src/helpers/DashboardHelper.ts","webpack:///./src/filters/dateFormat.ts","webpack:///./src/components/inputs/numeric.vue?5ba0","webpack:///./src/components/search/search.vue?e0a1","webpack:///./src/components/search/search.ts","webpack:///./src/components/search/search.ts?229f","webpack:///./src/components/search/search.vue","webpack:///./src/components/modal/modalContainer.vue?704d","webpack:///./src/components/modal/modalContainer.ts","webpack:///./src/components/modal/modalContainer.ts?0b9a","webpack:///./src/components/modal/modalContainer.vue","webpack:///./src/components/header-buttons/headerButtons.vue?6e49","webpack:///./src/components/header-buttons/headerButtons.ts","webpack:///./src/components/header-buttons/headerButtons.ts?b338","webpack:///./src/components/header-buttons/headerButtons.vue","webpack:///./src/components/cell/cell.vue?5b22","webpack:///./src/components/cell/configuration.ts","webpack:///./src/components/cell/cell.ts","webpack:///./src/components/cell/cell.ts?67d1","webpack:///./src/components/cell/cell.vue","webpack:///./src/components/inputs/numeric.vue?7ef2","webpack:///./src/components/inputs/numeric.ts","webpack:///./src/components/inputs/numeric.ts?a47e","webpack:///./src/components/inputs/numeric.vue","webpack:///./src/components/inputs/slider.vue?60b0","webpack:///./src/components/inputs/slider.ts","webpack:///./src/components/inputs/slider.ts?d2cd","webpack:///./src/components/inputs/slider.vue","webpack:///./src/components/inputs/date.vue?f0d7","webpack:///./src/components/inputs/date.ts","webpack:///./src/components/inputs/date.ts?ca98","webpack:///./src/components/inputs/date.vue","webpack:///./src/components/install-button/installButton.vue?8e3f","webpack:///./src/components/install-button/installButton.ts","webpack:///./src/components/install-button/installButton.ts?9095","webpack:///./src/components/install-button/installButton.vue","webpack:///./src/components/loadMore/loadMore.vue?924c","webpack:///./src/components/loadMore/loadMore.ts","webpack:///./src/components/loadMore/loadMore.ts?f29d","webpack:///./src/components/loadMore/loadMore.vue","webpack:///./src/components/alert/alert.vue?e1a1","webpack:///./src/components/alert/alertHelper.ts","webpack:///./src/components/alert/alert.ts","webpack:///./src/components/alert/alert.ts?a841","webpack:///./src/components/alert/alert.vue","webpack:///./src/components/map/svgMap.vue?8561","webpack:///./src/components/map/svgMap.ts","webpack:///./src/components/map/svgMap.ts?4dfa","webpack:///./src/components/map/svgMap.vue","webpack:///./src/components/datiCatastali/dati_catastali.vue?7fe4","webpack:///./src/components/datiCatastali/dati_catastali.ts","webpack:///./src/components/datiCatastali/dati_catastali.ts?88fd","webpack:///./src/components/datiCatastali/dati_catastali.vue","webpack:///./src/components/specieArboree/specieArboree.vue?d91d","webpack:///./src/components/specieArboree/specieArboree.ts","webpack:///./src/components/specieArboree/specieArboree.ts?a61a","webpack:///./src/components/specieArboree/specieArboree.vue","webpack:///./src/components/autocomplete/autocomplete.vue?d4d7","webpack:///./src/components/autocomplete/autocomplete.ts","webpack:///./src/components/autocomplete/autocomplete.ts?e7d7","webpack:///./src/components/autocomplete/autocomplete.vue","webpack:///./src/components/geojson-uploader/geojson-uploader.vue?17fc","webpack:///./src/components/geojson-uploader/geojson-uploader.ts","webpack:///./src/components/geojson-uploader/geojson-uploader.ts?0ec3","webpack:///./src/components/geojson-uploader/geojson-uploader.vue","webpack:///./src/components/index.ts","webpack:///./src/utils/Intersections.ts","webpack:///./src/utils/PersistentStore.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/modules/domains/services/domainService.ts","webpack:///./src/utils/AsyncDecorators.ts","webpack:///./src/utils/utils.ts","webpack:///./src/utils/baseRestService.ts","webpack:///./src/filters/localizeFilter.ts","webpack:///./src/services/securityService.ts","webpack:///./src/components/alert/alert.vue?5cf9","webpack:///./src/App.vue?74c1","webpack:///./src/helpers/LayoutHelper.ts","webpack:///./src/utils/Array.ts","webpack:///./src/components/datiCatastali/dati_catastali.vue?f537","webpack:///./src/helpers/MenuHelper.ts","webpack:///./src/views/account/forgotPassword.vue?11f9","webpack:///./src/modules/domains/store/istat.store.ts","webpack:///./src/modules/VersioneInSitu/services/VersioneInSituService.ts","webpack:///./src/layout/mobile.vue?b83b","webpack:///./src/views/account/resetPassword.vue?1d7b","webpack:///./src/layout/components/mobile/mobilemenu.vue?40a8","webpack:///./src/components/sync-button/syncButton.vue?fb98","webpack:///./src/components/install-button/installButton.vue?2e37","webpack:///./src/helpers/LocalVersionHelper.ts","webpack:///./src/layout/components/mobile/appBar.vue?52d4","webpack:///./src/modules/VersioneExSitu/services/VersioneExSituService.ts","webpack:///./src/layout/components/web/drawerMenu.vue?d517","webpack:///./src/layout/layout.vue?60d5","webpack:///./src/helpers/ToastHelper.ts","webpack:///./src/modules/SyncDeletedRow/helper/syncDeletedRowHelper.ts","webpack:///./src/components/specieArboree/specieArboree.vue?14a8","webpack:///./src/utils/syncWorker.ts","webpack:///./src/esriMap/src/Observers/ObservableArray.ts","webpack:///./src/esriMap/src/esriUtils.ts","webpack:///./src/esriMap/src/Views.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/customLayers/ClientsideImageryLayer.ts","webpack:///./src/esriMap/src/Layers.ts","webpack:///./src/esriMap/src/Geometry.ts","webpack:///./src/esriMap/src/Tasks.ts","webpack:///./src/esriMap/src/Symbols.ts","webpack:///./src/esriMap/src/Widgets.ts","webpack:///./src/esriMap/src/Renderers.ts","webpack:///./src/esriMap/src/Support.ts","webpack:///./src/esriMap/src/Esri.ts","webpack:///./src/esriMap/src/customLayers/functions/geometryClipFunction.ts","webpack:///./src/services/accountService.ts","webpack:///./src/workers/registerServiceWorkers.ts","webpack:///./src/modules/index.ts","webpack:///./src/layout/layout.vue?fcb4","webpack:///./src/layout/components/web/appBar.vue?579d","webpack:///./src/components/sync-button/syncButton.vue?7481","webpack:///./src/components/sync-button/syncButton.ts","webpack:///./src/components/sync-button/syncButton.ts?ce38","webpack:///./src/components/sync-button/syncButton.vue","webpack:///./src/layout/components/web/appBar.ts","webpack:///./src/layout/components/web/appBar.ts?7623","webpack:///./src/layout/components/web/appBar.vue","webpack:///./src/layout/components/web/drawerMenu.vue?60ae","webpack:///./src/layout/components/web/drawerMenu.ts","webpack:///./src/layout/components/web/drawerMenu.ts?ea69","webpack:///./src/layout/components/web/drawerMenu.vue","webpack:///./src/layout/layout.ts","webpack:///./src/layout/layout.ts?8e2c","webpack:///./src/layout/layout.vue","webpack:///./src/views/web/home.vue?2286","webpack:///./src/views/web/home.ts","webpack:///./src/views/web/home.ts?e3c0","webpack:///./src/views/web/home.vue","webpack:///./src/layout/mobile.vue?bd12","webpack:///./src/layout/components/mobile/appBar.vue?9cee","webpack:///./src/layout/components/mobile/appBar.ts","webpack:///./src/layout/components/mobile/appBar.ts?e0f5","webpack:///./src/layout/components/mobile/appBar.vue","webpack:///./src/layout/components/mobile/bottomMenu.vue?1e9c","webpack:///./src/layout/components/mobile/bottomMenu.ts","webpack:///./src/layout/components/mobile/bottomMenu.ts?7ed6","webpack:///./src/layout/components/mobile/bottomMenu.vue","webpack:///./src/layout/components/mobile/mobilemenu.vue?2b91","webpack:///./src/layout/components/mobile/mobilemenu.ts","webpack:///./src/layout/components/mobile/mobilemenu.ts?8044","webpack:///./src/layout/components/mobile/mobilemenu.vue","webpack:///./src/layout/mobile.ts","webpack:///./src/layout/mobile.ts?1b14","webpack:///./src/layout/mobile.vue","webpack:///./src/views/mobile/home.vue?bb9a","webpack:///./src/views/mobile/home.ts","webpack:///./src/views/mobile/home.ts?94be","webpack:///./src/views/mobile/home.vue","webpack:///./src/views/login.vue?0c6d","webpack:///./src/views/login.ts","webpack:///./src/views/login.ts?ec5c","webpack:///./src/views/login.vue","webpack:///./src/views/account/forgotPassword.vue?bce6","webpack:///./src/views/account/forgotPassword.ts","webpack:///./src/views/account/forgotPassword.ts?624a","webpack:///./src/views/account/forgotPassword.vue","webpack:///./src/views/account/resetPassword.vue?b9e0","webpack:///./src/views/account/resetPassword.ts","webpack:///./src/views/account/resetPassword.ts?5f1b","webpack:///./src/views/account/resetPassword.vue","webpack:///./src/views/account/completeAccount.vue?270b","webpack:///./src/views/account/completeAccount.ts","webpack:///./src/views/account/completeAccount.ts?bc4b","webpack:///./src/views/account/completeAccount.vue","webpack:///./src/views/account/emailConfirm.vue?e031","webpack:///./src/views/account/emailConfirm.ts","webpack:///./src/views/account/emailConfirm.ts?99a7","webpack:///./src/views/account/emailConfirm.vue","webpack:///./src/router/index.ts","webpack:///./src/startup.ts","webpack:///./src/App.vue?53cd","webpack:///./src/App.ts","webpack:///./src/App.ts?4321","webpack:///./src/App.vue","webpack:///./src/filters/gravatar.ts","webpack:///./src/filters/round.ts","webpack:///./src/filters/index.ts","webpack:///./src/directives/index.ts","webpack:///./src/components/gesture/gestures.ts","webpack:///./src/main.ts","webpack:///./src/components/search/search.vue?0ce6","webpack:///./src/config.ts","webpack:///./src/components/autocomplete/autocomplete.vue?ecd6","webpack:///./src/utils/Deferred.ts","webpack:///./src/components/modal/modalHelper.ts","webpack:///./src/modules/SyncDeletedRow/services/syncDeletedRowService.ts","webpack:///./src/modules/SyncDeletedRow/store/syncDeletedRow.store.ts","webpack:///./src/modules/VersioneExSitu/store/VersioneExSitu.store.ts","webpack:///./src/components/map/svgMap.vue?e76e","webpack:///./src/components/loadMore/loadMore.vue?bb19","webpack:///./src/utils/onlineCheck.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","MessageService","callback","once","_events","$once","$on","$off","args","$emit","messageService","defaultPositionOption","enableHighAccuracy","maximumAge","positionOption","this","navigator","geolocation","getCurrentPosition","coords","positionError","geoWatch","watchPosition","setCurrentPosition","clearWatch","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","actions","ui","setCurrentGPSPosition","deviceHelper","GpsPositionTTL","uiStore","PREFIX","namespaced","state","drawerMenuOpened","userMenuOpened","subMenuOpened","bottomMenuVisible","mobileMenuVisible","modalVisible","isSynced","gpsPosition","lastGpsPositionEra","getters","getIsSynced","currentGPSPosition","Date","getTime","position","mutations","toggleDrawerMenu","open","toggleUserMenu","toggleSubMenu","toggleBottomMenu","visible","toggleMobileMenu","toggleModalVisibility","setIsSynced","sync","latitude","longitude","accuracy","context","commit","currentLanguage","labelsPromise","baseUrl","api","apiServerUrl","localStorage","getItem","language","userLanguage","substr","Get","supportedLanguages","supported","indexOf","current","debug","lang","baseRestService","localizationService","localizationStore","enabled","ready","labels","REPLACE_LABELS","newLabels","label","set","stringCode","stringValue","hasLabels","keys","getLocalizedLabel","group","getCurrentLanguage","PersistentStore","getKey","getSupportedLanguages","getArray","toggleLocalization","init","changeLanguage","newLanguage","setArray","setSupportedLanguages","languages","setCurrentLanguage","setKey","log","getLabels","navigationStore","filters","SET_FILTERS","selected","find","f","area","id","set_filter","filter","idx","map","use","vuestore","Store","strict","TABLES","versioneInSitu","VersioneInSituStore","previewVersionStored","currentStored","List","attivo","getAll","getMaxTs","maxts","a","b","setCurrent","payload","Active","update","toString","Set","op","assign","remove","Remove","clean","versioneInSituStore","getCellIdsForExtent","layer","minLevel","maxLevel","extent","tilingScheme","cells","level","getAllCellIdsInExtent","forEach","row","col","tileInfo","x","y","resolution","lods","Math","floor","origin","size","gridLevel","cellId0","getCellIdFromXy","xmin","ymin","cellId1","xmax","ymax","i0","min","i1","max","j0","j1","cellIds","clearMapCache","caches","delete","hasCache","cache","addTilesToCacheFromExtent","progressCallout","addTilesToCache","tot","info","downloadWork","res","rej","getTileUrl","url","add","location","protocol","status","warn","works","render","_vm","_h","$createElement","_c","_self","staticClass","directives","rawName","expression","attrs","required","disabled","placeholder","domProps","Array","isArray","Value","_i","on","$event","$$a","$$el","$$c","checked","$$v","$$i","concat","staticRenderFns","toggle","random","default","component","DashboardHelper","components","Map","getInfo","roles","has","dashboardHelper","dateformatFunction","format","date","utc","String","local","isValid","class","isExpanded","_e","ref","composing","Search","$refs","searchBox","focus","v","currentView","model","deferred","ModalContainer","modalHelper","setContainer","arg","isHidden","isAllHidden","_t","HeaderButtons","hide","store","hideAll","valid","showValidation","invalid","validate","validIcon","invalidIcon","_v","_s","placeHolder","validationConfiguration","immediate","reportValidityOnFocus","Cell","validity","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing","registerForValidation","$el","firstChild","willValidate","el","nodeName","onblur","checkInputValidation","onchange","oninvalid","form","addEventListener","onfocus","reportValidity","$nextTick","modifiers","step","inputmode","_n","$forceUpdate","numeric","showNull","round","pow","precision","slider","dateStr","toISOString","display","_f","description","nothanks","install","installButton","deferredEvent","preventDefault","prompt","JSON","parse","setItem","stringify","loading","loadMoreItems","observer","IntersectionObserver","whenObservedChange","threshold","observe","disconnect","entries","entry","intersectionRatio","cancel","ok","AlertHelper","currentAlert","alert","Deferred","show","alertHelper","setCurrentAlert","descripion","svg","svgMap","geojson","geometries","userPosition","radius","features","styles","geojsonStyle","weight","color","opacity","fill","stroke","_m","_l","dc","index","provincia","comune","foglio","particella","removeDatoCatastale","manage","$$selectedVal","options","val","_value","$set","multiple","addDatoCatastale","DatiCatastali","province","lazy","comuni","title","specie","filterAvailableValues","toAdd","buttonTitle","warningMessage","SpecieArboree","specieArboreaId","beforeDelete","before","availableValues","includes","sort","searchText","handlersToggle","_b","inputClass","_k","keyCode","goUp","goDown","$attrs","clear","highlight","selecting","search","after","item","Autocomplete","_selecting","firstLoad","minLength","readonly","forceSelect","filtered","suggestions","rgxp","RegExp","orderedSuggesions","startWith","toLowerCase","startsWith","match","clearable","inheritAttrs","takeGeoJSON","GeoJsonUploader","files","readGeoJson","file","_this","reader","FileReader","geoJson","geometry","readAsText","searchBar","modalContainer","headerButtons","cell","loadMore","daticatastali","specieArboree","autocomplete","geojsonUploader","delayResolver","unjoin","obj","newObj","syncOperation","persistentStoreSchemaVersion","STORENAME","_isEnabled","isSupported","initDB","factory","DBFactory","deleteDatabase","onsuccess","isEnabled","isInitializingDB","readwriteTransaction","tran","objectStore","oncomplete","table","readonlyTransaction","query","IDBKeyRange","only","ev","keyPath","put","storeid","reduce","_ts","timeStamp","ts","w","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","DB","db","onupgradeneeded","createObjectStore","createIndex","transaction","saveAndSync","tablename","evaluateOperation","onUpdateOperation","onCreateOperation","onOperationCompleted","deleteOldPayloadOnCreationCompleted","getLocalId","_automaticSyncEnable","__needsSync","notifySyncNeeded","oldpayload","operation","noop","catch","onUpdate","onCreate","results","webpackContext","req","webpackContextResolve","DomainService","domainService","mixin","created","orphansWatchers","_watchers","cb","teardown","Async","componentOptions","k","async","asyncComputed","reISO","reMsAjax","toDate","exec","split","CacheStategy","allwaysSendAuthenticationToken","saveToSessionStorage","xSourceHeader","Offline","http","_token","setArraySerializationMethod","interceptors","reqConfig","method","paramsSerializer","params","arrayFormat","uri","sendAuthenticationToken","cacheStrategy","None","headers","prepareHeaders","responseType","response","OnError","NetworkFirst","transformResponse","resp","IsJsonString","post","auth","json","authData","getAuthenticationToken","access_token","CacheFirst","OnHeadersPreparing","authToken","removeItem","str","localizeFunction","translationKey","defaultString","myValues","SecurityService","authenticationServerUrl","_myself","setUserInfo","setInterval","autoRenewToken","checkSessionInterval","username","password","formdata","grant_type","scope","openid_scope","client_id","expires_in","expiration_date","setAuthenticationToken","getUserInfo","deleteAuthenticationToken","removeKey","_userInfo","sub","u","authenticated","token","now","timeleft","renewSessionTimeLimit","renewToken","securityService","Logout","refresh_token","exceptionMessage","LayoutHelper","sessionStorage","layout","test","userAgent","layoutHelper","isEmptyArray","constructor","replaceInArray","source","dest","comparer","from","element","findIndex","menuType","menuDefinitions","menuStructure","MenuNotifications","menuDefinitionAdded","MenuHelper","menuDefinition","found","positions","section","parent","notifications","menu","used","rr","hidden","children","orderIndex","istat","IstatStore","getIstat","nomeProvincia","localeCompare","nomeRegione","regione","reduced","acc","curr","codiceProvincia","values","regioni","codiceRegione","setIstat","datas","istatStore","VersioneInSituService","Post","Delete","versioneInSituService","LocalVersionHelper","version","onShow","localVersionHelper","VersioneExSituService","versioneExSituService","ToastHelper","toasted","duration","iconPack","icon","className","theme","closeOnSwipe","action","success","isWeb","toastHelper","syncDeletedRow","rows","getTableDeletedRows","rowId","rowIds","rowsToDelete","SyncWorker","instance","dosync","_online","_automaticSync","_debounceTimeout","_lastSyncEra","_dosync","onLine","subscribe","sendSyncMessage","_syncNeeded","online","era","arr","deep","_deep","_deepObserver","__isObserved","_push","_pop","pop","_shift","_unshift","unshift","_splice","items","_items","deepWatch","notify","unWatch","start","deletecount","toadd","deleted","__unwatch","$watch","inserted","watcher","UnSubscribe","Loader","prefix","packageName","dojoConfig","packages","isloading","dep","refs","deps","ctor","_2D","Draw","PointDrawAction","PolygonDrawAction","PolylineDrawAction","Geometry","Support","webMercatorUtils","Layers","BaseLayerView2D","GeoTiffImageLayerView","createSubclass","attach","_imagesWatcher","watch","requestRender","detach","_propertyHandle","renderParameters","pixelRatio","width","height","rotation","translate","rotate","PI","save","imageRasters","createTile","restore","rasterdata","ras","rxstep","rystep","skipIfNoValue","gxmin","gxmax","gymin","gymax","p1","p2","toScreenNoRotation","style","classifyCell","fillStyle","fillRect","BaseTileLayer","GeoTiffImageLayer","properties","georaster","addImageRaster","toWebMercator","projection","minxy","lngLatToXY","maxxy","createLayerView","view","MultiLayer","MultilayerView","preRenderingCallBack","renderingCallBack","hitTest","hitTestBuffer","g","graphics","xy","prerender","grender","imageSmoothingEnabled","point","spatialReference","isWGS84","geographicToWebMercator","Core","Collection","coll","MultilayerConstructor","strokeStyle","strokeWidth","lineWidth","beginPath","arc","strokeRect","font","offsetx","offsety","fillText","strokeText","defaultGeoTiffRenderer","wmUtils","applyBlur","coloringFunction","top","bottom","sw","globalCompositeOperation","no_data_value","ClientsideImageryLayerView","applyScaleLimit","scale","renderingScaleLimit","geometryRasters","ext","rd","clone","rasterLoader","rpromise","rasterUri","minValue","maxValue","redraw","preProcessingFunctions","func","renderer","postProcessingFunctions","ClientsideImageryLayer","geometryClip","attributes","lv","normalizeUtils","jsonUtils","geom","gextent","Extent","union","mapView","Home","home","Locate","Track","withLegendPerLayer","_widgets","legendFunction","customActions","actionsSections","legendEnabled","customLegend","panel","content","LayerList","container","listItemCreatedFunction","Expand","domNode","expandIconClass","autoCollapse","resultbutton","Legend","iconClass","expand","BasemapGallery","portal","useVectorBasemaps","AreaMeasurement2D","SmartMapping","Symbology","Color","getSchemes","scheme","cloneScheme","Actions","Esri","Views","Symbols","Tasks","Widgets","WidgetsFactory","Renderers","rings","ring","lineTo","closePath","clip","AccountService","applicationId","email","returnUrl","accountService","serviceWorker","workerEnabled","registrationOptions","registered","MODULE_REGISTRY","syncMap","domains","media","logs","versioneExSitu","utenti","areeOmogenee","areeBoscoDaSeme","areaRaccolta","areaSaggio","areaSaggioClasseDiametrica","areaSaggioPiantaCampione","piantaPlus","areaSperimentale","areaSpecieProvenienza","piantaSemeMarze","report","accounting","agolSync","mapVisualization","toggledrawerMenu","$route","meta","workOffline","syncButton","offline","publish","AppBar","showExpander","active","toggleuserMenu","goToRouted","logoff","userInfo","firstName","lastName","routed","dm","routeName","goTo","DrawerMenu","opened","CleanDB","closeModal","$router","routeParams","route","mobileLayout","grouped","getMenu","drawer","Main","appBar","drawerMenu","inSituComponents","currentInSitu","alias","exSituComponents","currentExSitu","getComponents","expanded","goto","path","IsSynced","menumobile","mobilemenu","BottomMenu","bottomMenu","Notifications","mobileMenuOpened","Mobilemenù","onlineCheck","userName","usernameSplitted","web","login","Login","InitializeApp","error_description","isUserAuthenticated","isMobile","stopPropagation","validateForm","formIsValid","recoverPassword","notification","ForgotPassword","checkValidity","UsernameExist","exist","UsernameHasInternal","isInternal","reset","ResetPassword","confirmPassword","CompleteAccount","EmailConfirm","InjectRoutes","mainRoute","redirect","requireAuth","props","RestartRouter","router","addRoutes","base","routes","beforeEach","to","next","InitializeUserInfo","initialize","navigation","loadModules","syncOperations","userRoles","moduleName","mm","preStartup","startup","runningSyncOperations","syncData","self","errors","syncMethod","App","gravatarFunction","roundFunction","number","digits","Number","localize","gravatar","dateformat","inject","areas","parentElement","append","unbind","binding","AreaManager","swipedetect","onmovecallback","onstart","onstop","swipedir","lastXswipe","lastYswipe","distX","distY","touchsurface","restraint","handleswipe","touchobj","changedTouches","pageX","pageY","abs","template","Function","onmove","mounted","config","productionTip","directive","Enable","RenewToken","h","$mount","Config","DataItemStatus","ModalHelper","modals","queue","containers","showModal","modal","unchanged","changed","syncDeletedRowService","SyncDeletedRowStore","tableName","syncDeletedRowStore","VersioneExSituStore","versioneExSituStore","xhr","ActiveXObject","XMLHttpRequest","hostname","port","send"],"mappings":"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","file":"app.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(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && 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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"modules/domains\":\"modules/domains\",\"modules/reports\":\"modules/reports\",\"modules/AreaRaccolta\":\"modules/AreaRaccolta\",\"modules/AreaSaggio\":\"modules/AreaSaggio\",\"modules/AreaSaggioClasseDiametrica\":\"modules/AreaSaggioClasseDiametrica\",\"modules/AreaSaggioPiantaCampione\":\"modules/AreaSaggioPiantaCampione\",\"modules/AreaSpecieProvenienza\":\"modules/AreaSpecieProvenienza\",\"modules/AreaSperimentale\":\"modules/AreaSperimentale\",\"modules/AreeBoscoDaSeme\":\"modules/AreeBoscoDaSeme\",\"modules/MapVisualization\":\"modules/MapVisualization\",\"modules/PiantaPlus\":\"modules/PiantaPlus\",\"modules/PiantaSemeMarze\":\"modules/PiantaSemeMarze\",\"modules/SyncDeletedRow\":\"modules/SyncDeletedRow\",\"modules/VersioneExSitu\":\"modules/VersioneExSitu\",\"modules/VersioneInSitu\":\"modules/VersioneInSitu\",\"modules/accounting\":\"modules/accounting\",\"modules/agolSync\":\"modules/agolSync\",\"modules/areeOmogenee\":\"modules/areeOmogenee\",\"modules/baseMapsSync\":\"modules/baseMapsSync\",\"modules/media\":\"modules/media\",\"modules/utenti\":\"modules/utenti\"}[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// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"modules/accounting\":1,\"modules/baseMapsSync\":1,\"modules/media\":1,\"modules/utenti\":1,\"chunk-5b1b1fea\":1,\"chunk-177c371a\":1,\"chunk-59168177\":1,\"chunk-6860051e\":1,\"chunk-704c174e\":1,\"chunk-a097e384\":1,\"chunk-f4eaeb3e\":1,\"chunk-598dcb38\":1,\"chunk-2a8b1ea8\":1,\"chunk-5082db0b\":1,\"chunk-2395d098\":1,\"chunk-34db6bf9\":1,\"chunk-e24a5564\":1,\"chunk-d79b6100\":1,\"chunk-f5cf9f14\":1,\"chunk-d2d58a38\":1,\"chunk-2175476e\":1,\"chunk-482f9231\":1,\"chunk-11176076\":1,\"chunk-3866d191\":1,\"chunk-5bf125a6\":1,\"chunk-a0722620\":1,\"chunk-ce8829ca\":1,\"chunk-1bbf1483\":1,\"chunk-1a5f5784\":1,\"chunk-773c5f30\":1,\"chunk-73d2670f\":1,\"chunk-d42392ce\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"modules/domains\":\"modules/domains\",\"modules/reports\":\"modules/reports\",\"modules/AreaRaccolta\":\"modules/AreaRaccolta\",\"modules/AreaSaggio\":\"modules/AreaSaggio\",\"modules/AreaSaggioClasseDiametrica\":\"modules/AreaSaggioClasseDiametrica\",\"modules/AreaSaggioPiantaCampione\":\"modules/AreaSaggioPiantaCampione\",\"modules/AreaSpecieProvenienza\":\"modules/AreaSpecieProvenienza\",\"modules/AreaSperimentale\":\"modules/AreaSperimentale\",\"modules/AreeBoscoDaSeme\":\"modules/AreeBoscoDaSeme\",\"modules/MapVisualization\":\"modules/MapVisualization\",\"modules/PiantaPlus\":\"modules/PiantaPlus\",\"modules/PiantaSemeMarze\":\"modules/PiantaSemeMarze\",\"modules/SyncDeletedRow\":\"modules/SyncDeletedRow\",\"modules/VersioneExSitu\":\"modules/VersioneExSitu\",\"modules/VersioneInSitu\":\"modules/VersioneInSitu\",\"modules/accounting\":\"modules/accounting\",\"modules/agolSync\":\"modules/agolSync\",\"modules/areeOmogenee\":\"modules/areeOmogenee\",\"modules/baseMapsSync\":\"modules/baseMapsSync\",\"modules/media\":\"modules/media\",\"modules/utenti\":\"modules/utenti\"}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\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 = \"/\";\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([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from 'vue';\r\n\r\nexport class MessageService {\r\n\r\n private static _events: Vue = new Vue({});\r\n\r\n subscribe(name: string, callback: Function, once: boolean = false) {\r\n if (once)\r\n MessageService._events.$once(name, callback);\r\n else\r\n MessageService._events.$on(name, callback);\r\n }\r\n\r\n delete(name: string) {\r\n MessageService._events.$off(name);\r\n }\r\n\r\n unsubscribe(name: string, callback: Function) {\r\n MessageService._events.$off(name, callback);\r\n }\r\n\r\n publish(name: string, ...args: any[]) {\r\n MessageService._events.$emit(name, ...args);\r\n }\r\n}\r\n\r\nexport const messageService = new MessageService();","import { store } from '@/store';\r\n\r\nclass DeviceHelper {\r\n private geoWatch: number;\r\n\r\n private defaultPositionOption: PositionOptions = {\r\n enableHighAccuracy: false, timeout: 15000, maximumAge: 300000\r\n }\r\n\r\n public async getCurrentPosition(positionOption?: PositionOptions): Promise {\r\n if (!positionOption) positionOption = this.defaultPositionOption;\r\n if (navigator.geolocation) {\r\n\r\n return new Promise((resolve, reject) => {\r\n navigator.geolocation.getCurrentPosition((p: any) => {\r\n resolve(p.coords);\r\n }, (err) => {\r\n this.positionError(err);\r\n reject();\r\n }, positionOption);\r\n })\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public starWatchingPosition(positionOption?: PositionOptions) {\r\n if (!positionOption) positionOption = this.defaultPositionOption;\r\n if (navigator.geolocation && !this.geoWatch)\r\n this.geoWatch = navigator.geolocation.watchPosition(this.setCurrentPosition, this.positionError, positionOption);\r\n\r\n }\r\n\r\n public stopWatch() {\r\n navigator.geolocation.clearWatch(this.geoWatch);\r\n this.geoWatch = null;\r\n }\r\n\r\n public positionError(error: any) {\r\n switch (error.code) {\r\n case error.PERMISSION_DENIED: console.error(\"User denied the request for Geolocation.\");\r\n //richiedere posizione\r\n break;\r\n case error.POSITION_UNAVAILABLE: console.error(\"Location information is unavailable.\");\r\n break;\r\n case error.TIMEOUT: console.error(\"The request to get user location timed out.\");\r\n break;\r\n default: console.error(\"An unknown error occurred.\");\r\n break;\r\n }\r\n }\r\n\r\n public setCurrentPosition(p: any) {\r\n store.actions.ui.setCurrentGPSPosition(p.coords);\r\n }\r\n}\r\n\r\nexport const deviceHelper = new DeviceHelper();","import { StoreOptions, ActionTree, createNamespacedHelpers } from \"vuex\";\r\nimport { deviceHelper } from '@/helpers/DeviceHelper';\r\nimport { store } from '.';\r\nimport Vue from 'vue';\r\n\r\nexport interface UIStoreModel {\r\n\r\n}\r\n\r\nexport interface UIStoreActions {\r\n toggleDrawerMenu(open: boolean): void;\r\n toggleUserMenu(open: boolean): void;\r\n toggleBottomMenu(visible: boolean): void;\r\n toggleMobileMenu(visible: boolean): void;\r\n toggleSubMenu(open: boolean): void;\r\n toggleModalVisibility(visible: boolean): void;\r\n setIsSynced(sync: boolean): void;\r\n setCurrentGPSPosition(position: any): void;\r\n}\r\n\r\nexport interface UIStoreGetters {\r\n drawerMenuOpened: () => boolean;\r\n userMenuOpened: () => boolean;\r\n subMenuOpened: () => boolean;\r\n bottomMenuVisible: () => boolean;\r\n mobileMenuVisible: () => boolean;\r\n modalVisible: () => boolean;\r\n getIsSynced: () => boolean;\r\n currentGPSPosition: () => { latitude: number, longitude: number, accuracy: number };\r\n}\r\n\r\nconst GpsPositionTTL: number = 300 * 1000;\r\n\r\nexport const uiStore = {\r\n PREFIX: 'ui',\r\n namespaced: true,\r\n state: {\r\n drawerMenuOpened: true,\r\n userMenuOpened: false,\r\n subMenuOpened: true,\r\n bottomMenuVisible: true,\r\n mobileMenuVisible: false,\r\n modalVisible: false,\r\n isSynced: false,\r\n gpsPosition: null,\r\n lastGpsPositionEra: 0,\r\n },\r\n getters: {\r\n drawerMenuOpened: (state) => () => state.drawerMenuOpened,\r\n userMenuOpened: (state) => () => state.userMenuOpened,\r\n subMenuOpened: (state) => () => state.modalVisible ? false : state.subMenuOpened,\r\n bottomMenuVisible: (state) => () => state.modalVisible ? false : state.bottomMenuVisible,\r\n mobileMenuVisible: (state) => () => state.modalVisible ? false : state.mobileMenuVisible,\r\n modalVisible: (state) => () => state.modalVisible,\r\n getIsSynced: (state) => () => {\r\n return state.isSynced;\r\n },\r\n currentGPSPosition: (state) => async () => {\r\n if (new Date().getTime() > state.lastGpsPositionEra + GpsPositionTTL)\r\n try {\r\n let position = await deviceHelper.getCurrentPosition();\r\n store.actions.ui.setCurrentGPSPosition(position);\r\n } catch (err) {\r\n console.error('position', err)\r\n }\r\n return state.gpsPosition;\r\n }\r\n },\r\n mutations: {\r\n toggleDrawerMenu(state, open: boolean) {\r\n state.drawerMenuOpened = open;\r\n },\r\n toggleUserMenu(state, open: boolean) {\r\n state.userMenuOpened = open;\r\n },\r\n toggleSubMenu(state, open: boolean) {\r\n state.subMenuOpened = open;\r\n },\r\n toggleBottomMenu(state, visible: boolean) {\r\n state.bottomMenuVisible = visible;\r\n },\r\n toggleMobileMenu(state, visible: boolean) {\r\n state.mobileMenuVisible = visible;\r\n },\r\n toggleModalVisibility(state, visible: boolean) {\r\n state.modalVisible = visible;\r\n },\r\n setIsSynced(state, sync: boolean) {\r\n state.isSynced = sync;\r\n },\r\n setCurrentGPSPosition(state, position: any) {\r\n state.gpsPosition = { latitude: position.latitude, longitude: position.longitude, accuracy: position.accuracy };\r\n }\r\n },\r\n actions: {\r\n toggleDrawerMenu(context, open: boolean) {\r\n context.commit(\"toggleDrawerMenu\", open)\r\n },\r\n toggleUserMenu(context, open: boolean) {\r\n context.commit(\"toggleUserMenu\", open)\r\n },\r\n toggleSubMenu(context, open: boolean) {\r\n context.commit(\"toggleSubMenu\", open)\r\n },\r\n toggleBottomMenu(context, visible: boolean) {\r\n context.commit(\"toggleBottomMenu\", visible)\r\n },\r\n toggleMobileMenu(context, visible: boolean) {\r\n context.commit(\"toggleMobileMenu\", visible)\r\n },\r\n toggleModalVisibility(context, visible: boolean) {\r\n context.commit(\"toggleModalVisibility\", visible)\r\n },\r\n setIsSynced(context, sync: boolean) {\r\n context.commit(\"setIsSynced\", sync)\r\n },\r\n setCurrentGPSPosition(context, position: any) {\r\n context.commit(\"setCurrentGPSPosition\", position)\r\n }\r\n\r\n } as ActionTree\r\n};","import { baseRestService } from \"../utils/baseRestService\";\r\nimport { Config } from '@/config';\r\n\r\n\r\nexport class LocalizationService extends baseRestService {\r\n\r\n // get currentLanguage() { return getStoreState().localization.currentLanguage; }\r\n // set currentLanguage(value: string) {\r\n\r\n // window.localStorage.setItem(\"current-language\", value);\r\n // this.getLabels(value).then(r => {\r\n // localizationStoreActions.changeLanguage({ newLanguage: value, labels: r });\r\n // });\r\n // }\r\n\r\n private currentLanguage: string = null;\r\n\r\n public labelsPromise: Promise = null;\r\n\r\n public supportedLanguages: Array\r\n\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.api.apiServerUrl;\r\n this.currentLanguage = window.localStorage.getItem(\"current-language\") || (navigator.language || (navigator as any).userLanguage).substr(0, 2) || 'handshaking';\r\n }\r\n\r\n async handshake(): Promise {\r\n let result = await this.Get(\"/localization/handshake\");\r\n try {\r\n this.supportedLanguages = result.supported;\r\n\r\n if (this.supportedLanguages.indexOf(this.currentLanguage) < 0)\r\n this.currentLanguage = result.current;\r\n\r\n // localizationStoreActions.setSupportedLanguages(result.supported);\r\n return result.supported;\r\n }\r\n catch (err) {\r\n console.debug(\"mysterious error from handshake\", err)\r\n }\r\n return null;\r\n }\r\n\r\n async getLabels(lang?: string): Promise {\r\n if (!lang)\r\n lang = this.currentLanguage;\r\n this.labelsPromise = this.Get(\"/localization/\" + lang + \"/labels\");\r\n return await this.labelsPromise;\r\n }\r\n}\r\n\r\n\r\nexport const localizationService = new LocalizationService();","import { GetterTree, ActionTree, MutationTree } from 'vuex';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport Vue from 'vue';\r\nimport { LocalizationService, localizationService } from '@/services/localizationService';\r\n\r\n\r\nexport interface LocalizationStoreModel\r\n{\r\n ready: boolean;\r\n enabled: boolean;\r\n labels: {};\r\n currentLanguage: string;\r\n supportedLanguages: Array;\r\n}\r\n\r\nexport interface LocalizationStoreActions\r\n{\r\n init: () => Promise;\r\n toggleLocalization: (value: boolean) => Promise;\r\n changeLanguage: ({ newLanguage, labels }: { newLanguage: string, labels: Array }) => Promise;\r\n setSupportedLanguages: (languages: Array) => Promise;\r\n setLanguageLabels: (labels: Array) => Promise;\r\n setCurrentLanguage: (language: string) => Promise;\r\n}\r\n\r\nexport interface LocalizationStoreGetters\r\n{\r\n hasLabels: () => boolean,\r\n getLocalizedLabel: (key, group) => string;\r\n getCurrentLanguage: () => Promise;\r\n getSupportedLanguages: () => Promise>;\r\n}\r\n\r\nexport const localizationStore = {\r\n PREFIX: 'localization',\r\n namespaced: true,\r\n state: {\r\n enabled: true,\r\n ready: false,\r\n labels: {},\r\n currentLanguage: \"en\",\r\n supportedLanguages: []\r\n },\r\n mutations: {\r\n REPLACE_LABELS(state, newLabels: Array)\r\n {\r\n for (let i = 0; i < (newLabels || []).length; i++)\r\n {\r\n let label = newLabels[i];\r\n Vue.set(state.labels, label.stringCode, label.stringValue);\r\n }\r\n state.ready = true;\r\n },\r\n },\r\n getters: {\r\n hasLabels: (state) => () => { return Object.keys(state.labels).length >= 10 },\r\n //return the value if exists, otherwise return the default\r\n getLocalizedLabel: (state) => (key, group) =>\r\n {\r\n\r\n if (!state.enabled) return key;\r\n if (typeof (group) != \"undefined\" && group)\r\n key = group + '.' + key;\r\n if (state.labels[key])\r\n return state.labels[key];\r\n return null;\r\n },\r\n getCurrentLanguage: (state) => async (): Promise =>\r\n {\r\n return (await PersistentStore.getKey(`localization.currentLanguage`)) || state.currentLanguage;\r\n },\r\n getSupportedLanguages: (state) => async (): Promise> =>\r\n {\r\n return await PersistentStore.getArray(`localization.supportedLanguages`);\r\n }\r\n } as GetterTree,\r\n actions: {\r\n toggleLocalization(context, value)\r\n {\r\n context.state.enabled = value;\r\n },\r\n async init(context)\r\n {\r\n var currentLanguage = (await PersistentStore.getKey(`localization.currentLanguage`)) || context.state.currentLanguage;\r\n var labels = await PersistentStore.getArray(`localization.languageLabels.${currentLanguage}`);\r\n context.commit('REPLACE_LABELS', labels);\r\n },\r\n async changeLanguage(context, { newLanguage, labels }: { newLanguage: string, labels: Array })\r\n {\r\n context.state.currentLanguage = newLanguage;\r\n await PersistentStore.setArray(`localization.languageLabels.${newLanguage}`, labels);\r\n context.commit('REPLACE_LABELS', labels);\r\n },\r\n async setSupportedLanguages(context, languages: Array)\r\n {\r\n await PersistentStore.setArray(`localization.supportedLanguages`, languages);\r\n context.state.supportedLanguages = languages;\r\n },\r\n async setCurrentLanguage(context, language: string)\r\n {\r\n\r\n await PersistentStore.setKey(`localization.currentLanguage`, language);\r\n context.state.currentLanguage = language;\r\n\r\n let labels = await PersistentStore.getArray(`localization.languageLabels.${language}`);\r\n if (!labels || labels.length == 0)\r\n {\r\n\r\n console.log(`no lables for language: ${language}`)\r\n let labels = await localizationService.getLabels(language);\r\n await PersistentStore.setArray(`localization.languageLabels.${language}`, labels);\r\n };\r\n context.commit('REPLACE_LABELS', labels);\r\n }\r\n } as ActionTree\r\n}\r\n","import vuestore from '@/store';\r\nimport { GetterTree, ActionTree, Action } from 'vuex';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\n\r\n\r\nexport interface NavigationStoreModel {\r\n filters: Array;\r\n}\r\n\r\nexport interface NavigationStoreActions {\r\n init();\r\n set_filter: (filter: server.navigation) => Promise;\r\n}\r\n\r\nexport interface NavigationStoreGetters {\r\n selected: (key: string) => string;\r\n}\r\n\r\nexport const navigationStore = {\r\n PREFIX: 'navigation',\r\n namespaced: true,\r\n state: {\r\n filters: []\r\n },\r\n mutations: {\r\n SET_FILTERS(state: NavigationStoreModel, filters: server.navigation[]) {\r\n state.filters = filters\r\n },\r\n },\r\n getters: {\r\n selected: (state) => (key: string) => { return state.filters.find((f) => f.area === key)?.id; }\r\n } as GetterTree,\r\n actions: {\r\n async init(context)\r\n {\r\n const filters: server.navigation[] = await PersistentStore.getArray(`navigation.filters`) || [];\r\n context.commit('SET_FILTERS', filters);\r\n },\r\n async set_filter(context, filter: server.navigation) {\r\n const filters: server.navigation[] = await PersistentStore.getArray(`navigation.filters`) || [];\r\n const idx: number = filters.map(f => f.area).indexOf(filter.area);\r\n if (idx === -1) {\r\n filters.push(filter);\r\n } else {\r\n filters.splice(idx, 1, filter);\r\n }\r\n\r\n await PersistentStore.setArray(`navigation.filters`, filters);\r\n context.commit('SET_FILTERS', filters);\r\n }\r\n } as ActionTree\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { CreateTypedStoreProxy } from \"vuex-typed-store\";\r\n// import { CreateTypedStoreProxy } from '@/utils';\r\nimport { UIStoreModel, UIStoreActions, UIStoreGetters, uiStore } from './ui.store';\r\nimport { LocalizationStoreActions, LocalizationStoreGetters, LocalizationStoreModel, localizationStore } from \"./localization.store\";\r\nimport { NavigationStoreActions, NavigationStoreGetters, NavigationStoreModel, navigationStore } from \"./navigation.store\";\r\n\r\ninterface StoreModels {\r\n ui: UIStoreModel;\r\n localization: LocalizationStoreModel;\r\n navigation: NavigationStoreModel;\r\n}\r\n\r\ninterface StoreActions {\r\n ui: UIStoreActions;\r\n localization: LocalizationStoreActions;\r\n navigation: NavigationStoreActions;\r\n}\r\n\r\ninterface StoreGetters {\r\n ui: UIStoreGetters;\r\n localization: LocalizationStoreGetters;\r\n navigation: NavigationStoreGetters;\r\n}\r\n\r\nVue.use(Vuex)\r\n\r\nconst vuestore = new Vuex.Store({\r\n strict: false,\r\n modules: {\r\n [uiStore.PREFIX]: uiStore,\r\n [localizationStore.PREFIX]: localizationStore,\r\n [navigationStore.PREFIX]: navigationStore,\r\n } as any\r\n})\r\n\r\nexport default vuestore;\r\nexport const store = CreateTypedStoreProxy(vuestore);\r\n","import { GetterTree, ActionTree } from 'vuex';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport { replaceInArray } from '@/utils/Array';\r\n\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { versioneInSituService } from '../services/VersioneInSituService';\r\nimport { Guid } from \"guid-typescript\";\r\nimport { localVersionHelper } from '@/helpers/LocalVersionHelper';\r\nimport { syncDeletedRow } from '@/modules/SyncDeletedRow/helper/syncDeletedRowHelper';\r\nimport { cleanerHelper } from '@/helpers/CleanerHelper';\r\n\r\nexport interface VersioneInSituStoreModel { }\r\n\r\nexport interface VersioneInSituStoreActions {\r\n setCurrent(payload: server.VersioneInSitu): Promise;\r\n set(payload: server.VersioneInSitu): Promise;\r\n remove(payload: server.VersioneInSitu): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface VersioneInSituStoreGetters {\r\n current(): Promise;\r\n get(id): Promise;\r\n getAll(): Promise;\r\n}\r\n\r\nexport const TABLES = { versioneInSitu: 'VersioniInSitu' };\r\nexport const VersioneInSituStore = {\r\n PREFIX: 'VersioneInSitu',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n current: (state) => async (): Promise => {\r\n const previewVersionStored = localVersionHelper.get(\"InSitu\") as server.VersioneInSitu;\r\n const currentStored = (await PersistentStore.getKey('insituCurrent')) as server.VersioneInSitu;\r\n if (previewVersionStored || currentStored) return previewVersionStored || currentStored;\r\n\r\n versioneInSituService.List(0).then(async (r) => {\r\n let current = r.find(f => f.attivo === true);\r\n await PersistentStore.setKey('insituCurrent', current);\r\n // if (!currentStored || (currentStored && currentStored.id !== current.id)) {\r\n // await PersistentStore.setKey('insituCurrent', current);\r\n // if (!previewVersionStored && !!currentStored && currentStored.id !== current.id) {\r\n // await cleanerHelper.CleanDBWithoutAuth();\r\n // window.location = (window.location.origin as any);\r\n // }\r\n // }\r\n return current;\r\n });\r\n\r\n\r\n await versioneInSituService.List(0).then(async (r) => {\r\n let current = r.find(f => f.attivo === true);\r\n await PersistentStore.setKey('insituCurrent', current);\r\n return current;\r\n });\r\n },\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.versioneInSitu, id),\r\n getAll: (state) => async (): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.versioneInSitu) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.versioneInSitu, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.versioneInSitu);\r\n versioneInSituService.List(maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.versioneInSitu, r);\r\n await PersistentStore.setKey('insituCurrent', result.find(f => f.attivo === true));\r\n });\r\n return result;\r\n }\r\n } as GetterTree,\r\n\r\n actions: {\r\n async setCurrent(context, payload: server.VersioneInSitu): Promise {\r\n var result = await PersistentStore.getAll(TABLES.versioneInSitu) || [];\r\n await PersistentStore.setKey('insituCurrent', payload);\r\n versioneInSituService.Active(payload.id).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.versioneInSitu, r);\r\n });\r\n },\r\n async set(context, payload: server.VersioneInSitu): Promise {\r\n let operation = syncOperation.update;\r\n if (!payload.id){\r\n payload.id = Guid.create().toString();\r\n operation = syncOperation.create;\r\n }\r\n if (payload.attivo) {\r\n await PersistentStore.setKey('insituCurrent', payload);\r\n }\r\n\r\n await saveAndSync(payload, TABLES.versioneInSitu,\r\n i => typeof i.id === \"number\" && i.id > 0 ? syncOperation.update : syncOperation.create,\r\n i => versioneInSituService.Set(i),\r\n i => versioneInSituService.Set(i),\r\n async (o, n, op) => {\r\n Object.assign(payload, n);\r\n })\r\n },\r\n async remove(context, payload: server.VersioneInSitu) {\r\n await versioneInSituService.Remove(payload.id);\r\n await PersistentStore.remove(TABLES.versioneInSitu, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.versioneInSitu) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.versioneInSitu, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const versioneInSituStore = CreateTypedStoreProxy(vuestore, VersioneInSituStore.PREFIX);","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=859e80cc&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=859e80cc&lang=less&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appBar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appBar.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./geojson-uploader.vue?vue&type=style&index=0&id=dc663e90&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./geojson-uploader.vue?vue&type=style&index=0&id=dc663e90&lang=less&scoped=true&\"","\r\nexport function getCellIdsForExtent(layer: __esri.WebTileLayer, minLevel: number, maxLevel: number, extent: __esri.Extent): ICell[] {\r\n const tilingScheme = new TilingScheme(layer);\r\n const cells = [];\r\n\r\n for (let level = minLevel; level <= maxLevel; level++) {\r\n\r\n tilingScheme.getAllCellIdsInExtent(extent, level).forEach((c) => {\r\n cells.push({ level, row: c[1], col: c[0] });\r\n });\r\n\r\n }\r\n return cells;\r\n}\r\n\r\nexport function countCellsForExtent(layer: __esri.WebTileLayer, minLevel: number, maxLevel: number, extent: __esri.Extent): number {\r\n const tilingScheme = new TilingScheme(layer);\r\n let count = 0;\r\n\r\n for (let level = minLevel; level <= maxLevel; level++) {\r\n count += tilingScheme.countCellIdsInExtent(extent, level);\r\n }\r\n return count;\r\n}\r\n\r\n/**\r\n * Helper method that returns an array of tile urls within a given extent and level\r\n * @returns Array\r\n */\r\nexport function getTileUrlsByExtent(layer: __esri.WebTileLayer, extent: __esri.Extent, level: number) {\r\n const tilingScheme = new TilingScheme(layer);\r\n var level_cell_ids = tilingScheme.getAllCellIdsInExtent(extent, level);\r\n var cells = [];\r\n\r\n level_cell_ids.forEach(function (cell_id) {\r\n cells.push(`${this.url}/${level}/${cell_id[1]}/${cell_id[0]}`);\r\n }.bind(this));\r\n\r\n return cells;\r\n}\r\n\r\nexport class TilingScheme {\r\n private tileInfo: __esri.TileInfo;\r\n\r\n constructor(layer: __esri.WebTileLayer) {\r\n this.tileInfo = layer.tileInfo;\r\n }\r\n\r\n public getCellIdFromXy(x, y, level) {\r\n const resolution = this.tileInfo.lods.find((l) => l.level === Math.floor(level)).resolution;\r\n const col = Math.floor((x - this.tileInfo.origin.x) / (this.tileInfo.size[0] * resolution));\r\n const row = Math.floor((this.tileInfo.origin.y - y) / (this.tileInfo.size[1] * resolution));\r\n return [col, row];\r\n }\r\n\r\n public getAllCellIdsInExtent(extent: __esri.Extent, gridLevel: number) {\r\n const cellId0 = this.getCellIdFromXy(extent.xmin, extent.ymin, gridLevel);\r\n const cellId1 = this.getCellIdFromXy(extent.xmax, extent.ymax, gridLevel);\r\n let i, j;\r\n const i0 = Math.min(cellId0[0], cellId1[0]);\r\n const i1 = Math.max(cellId0[0], cellId1[0]);\r\n const j0 = Math.min(cellId0[1], cellId1[1]);\r\n const j1 = Math.max(cellId0[1], cellId1[1]);\r\n\r\n const lods = this.tileInfo.lods[gridLevel];\r\n // const i0 = Math.max(Math.min(cellId0[0], cellId1[0]), lods.startTileCol);\r\n // const i1 = Math.min(Math.max(cellId0[0], cellId1[0]), lods.endTileCol);\r\n // const j0 = Math.max(Math.min(cellId0[1], cellId1[1]), lods.startTileRow);\r\n // const j1 = Math.min(Math.max(cellId0[1], cellId1[1]), lods.endTileRow);\r\n\r\n const cellIds = [];\r\n for (i = i0; i <= i1; i++) {\r\n for (j = j0; j <= j1; j++) {\r\n cellIds.push([i, j]);\r\n }\r\n }\r\n return cellIds;\r\n }\r\n\r\n public countCellIdsInExtent(extent, gridLevel): number {\r\n const cellId0 = this.getCellIdFromXy(extent.xmin, extent.ymin, gridLevel);\r\n const cellId1 = this.getCellIdFromXy(extent.xmax, extent.ymax, gridLevel);\r\n\r\n const i0 = Math.min(cellId0[0], cellId1[0]);\r\n const i1 = Math.max(cellId0[0], cellId1[0]);\r\n const j0 = Math.min(cellId0[1], cellId1[1]);\r\n const j1 = Math.max(cellId0[1], cellId1[1]);\r\n\r\n return (i1 - i0) * (j1 - j0);\r\n }\r\n\r\n\r\n}","import { getCellIdsForExtent } from './tileHelper';\r\n\r\nexport async function clearMapCache(): Promise {\r\n return await caches.delete(\"basemapCaches\")\r\n}\r\n\r\nexport async function hasCache(): Promise {\r\n let cache = await caches.open(\"basemapCaches\");\r\n var result = await cache.keys();\r\n return result.length > 0;\r\n}\r\n\r\nexport async function addTilesToCacheFromExtent(layer: __esri.WebTileLayer, minLevel: number, maxLevel: number, extent?: __esri.Extent, progressCallout?: IProgressCallout) {\r\n let cells = getCellIdsForExtent(layer, minLevel, maxLevel, extent);\r\n await addTilesToCache(layer, cells, progressCallout);\r\n}\r\n\r\nexport async function addTilesToCache(layer: __esri.WebTileLayer, cells: ICell[], progressCallout?: IProgressCallout) {\r\n let cache = await caches.open(\"basemapCaches\");\r\n\r\n const tot = cells.length;\r\n let idx = 0;\r\n console.info(`downloading ${cells.length} ...`);\r\n\r\n const downloadWork = (): Promise => {\r\n\r\n return new Promise(async (res, rej) => {\r\n while (cells.length) {\r\n const c = cells.shift();\r\n try {\r\n const url = await layer.getTileUrl(c.level, c.row, c.col);\r\n await cache.add(`${window.location.protocol}${url}`);\r\n\r\n if (progressCallout) {\r\n progressCallout(idx, tot, false);\r\n }\r\n idx++;\r\n } catch (err) {\r\n if (err && err.status && err.status === 404) {\r\n console.warn(`Tile ${c.row}, ${c.col} at level ${c.level} not found, will not be available offline!`);\r\n } else {\r\n rej(new Error(`Map service responded with statud ${err.status} for Tile ${c.row}, ${c.col} at level ${c.level}.`));\r\n }\r\n }\r\n }\r\n res();\r\n });\r\n };\r\n\r\n // Parallelizzo i download\r\n const works = [];\r\n for (let x = 0; x < 10; x++) {\r\n works.push(downloadWork());\r\n }\r\n\r\n await Promise.all(works);\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toggle\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.Value),expression:\"Value\"}],attrs:{\"type\":\"checkbox\",\"id\":(\"cb-\" + _vm.id),\"required\":_vm.required,\"disabled\":_vm.disabled,\"placeholder\":_vm.placeholder,\"name\":_vm.name},domProps:{\"checked\":Array.isArray(_vm.Value)?_vm._i(_vm.Value,null)>-1:(_vm.Value)},on:{\"change\":function($event){var $$a=_vm.Value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.Value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.Value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.Value=$$c}}}}),_c('label',{staticClass:\"slider\",attrs:{\"for\":(\"cb-\" + _vm.id)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class toggle extends Vue {\r\n\r\n @Prop()\r\n value?: boolean;\r\n\r\n get Value() {\r\n return this.value;\r\n }\r\n set Value(value: boolean) { this.$emit(\"input\", value) }\r\n\r\n id: number = 0;\r\n\r\n @Prop({ default: null })\r\n placeholder: number;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Prop({ default: false })\r\n required: number;\r\n\r\n @Prop({ default: null })\r\n name: string;\r\n\r\n created() {\r\n this.id = Math.floor(Math.random() * 10000000);\r\n }\r\n\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./toggle.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./toggle.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./toggle.vue?vue&type=template&id=af6c2c98&\"\nimport script from \"./toggle.ts?vue&type=script&lang=ts&\"\nexport * from \"./toggle.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 mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modalContainer.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modalContainer.vue?vue&type=style&index=0&lang=less&\"","import { securityService } from \"@/services/securityService\";\r\n\r\nclass DashboardHelper {\r\n\r\n components: Map = new Map();\r\n\r\n getComponents(name: string = \"default\") {\r\n const userRoles = securityService.getInfo()?.roles;\r\n return this.components.get(name);\r\n // if (userRoles.includes(\"Amministratore\") || userRoles.includes(\"Editore\"))\r\n // else\r\n // return [];\r\n }\r\n\r\n addComponent(component: any, name: string = \"default\") {\r\n if (!this.components.has(name)) {\r\n this.components.set(name, []);\r\n }\r\n this.components.get(name).push(component);\r\n }\r\n}\r\n\r\nexport const dashboardHelper = new DashboardHelper();","\r\nimport moment from \"moment\";\r\n\r\nexport function dateformatFunction(value, format) {\r\n let date;\r\n if (!value) return \"\";\r\n\r\n if (value instanceof Date) date = moment(value);\r\n else date = (moment as any).utc(String(value)).local();\r\n if (!date.isValid()) return \"\";\r\n\r\n return date.format(format);\r\n}\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./numeric.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./numeric.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col search-box no-hide\",class:{'show':_vm.isExpanded}},[(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-search\",on:{\"click\":function($event){return _vm.toggle()}}}):_vm._e(),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.Value),expression:\"Value\"}],ref:\"searchBox\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder,\"autofocus\":\"true\",\"inputmode\":\"search\"},domProps:{\"value\":(_vm.Value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.Value=$event.target.value}}}),(_vm.closeButton)?_c('i',{staticClass:\"fas fa-times\",on:{\"click\":function($event){return _vm.toggle()}}}):_vm._e(),_c('button',{on:{\"click\":function($event){return _vm.toggle()}}},[_c('i',{staticClass:\"fas fa-search\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\nimport { localizeFunction } from '@/filters/localizeFilter';\r\n\r\n@Component({})\r\nexport default class Search extends Vue {\r\n\r\n @Prop({ default: localizeFunction('search', 'Ricerca') })\r\n placeholder: string;\r\n\r\n @Prop({ default: false })\r\n isExpanded: boolean;\r\n\r\n @Prop({ default: true })\r\n closeButton: boolean;\r\n\r\n @Prop()\r\n value: string;\r\n\r\n get Value() { return this.value };\r\n set Value(v: string) { this.$emit('input', v); }\r\n\r\n toggle() {\r\n this.$emit('click', !this.isExpanded);\r\n }\r\n\r\n @Watch('isExpanded')\r\n expandedChanged(n, o) {\r\n if (n && n != o) {\r\n setTimeout(() => (this.$refs.searchBox as HTMLInputElement).focus(), 1000);\r\n }\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search.vue?vue&type=template&id=ccc2f736&scoped=true&\"\nimport script from \"./search.ts?vue&type=script&lang=ts&\"\nexport * from \"./search.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./search.vue?vue&type=style&index=0&id=ccc2f736&lang=less&scoped=true&\"\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 \"ccc2f736\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVisible)?_c('transition',{attrs:{\"name\":\"expand\"}},[_c('div',{staticClass:\"backdrop\"},[_c(_vm.currentView,{key:_vm.model.toString(),tag:\"component\",attrs:{\"deferred\":_vm.deferred},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}})],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { modalHelper } from \"./modalHelper\"\r\nimport { Deferred } from '@/utils/Deferred';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class ModalContainer extends Vue {\r\n currentView: any = null;\r\n deferred: Deferred = null;\r\n model: any = null;\r\n\r\n @Prop({ default: 'default' })\r\n name: string;\r\n\r\n\r\n\r\n get isVisible() {\r\n return this.currentView != null;\r\n }\r\n\r\n mounted() {\r\n modalHelper.setContainer(this, this.name);\r\n }\r\n\r\n};\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./modalContainer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./modalContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modalContainer.vue?vue&type=template&id=51279782&\"\nimport script from \"./modalContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./modalContainer.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./modalContainer.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"inject\",rawName:\"v-inject:header\",arg:\"header\"}],staticClass:\"buttons\",class:{'hide-buttons':_vm.isHidden, 'hide-all': _vm.isAllHidden}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Component from 'vue-class-component';\r\nimport Vue from 'vue';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport { store } from '@/store';\r\n\r\n@Component({})\r\nexport default class HeaderButtons extends Vue {\r\n\r\n @Prop({ default: false })\r\n hide: boolean;\r\n\r\n @Prop({ default: false })\r\n hideAll: boolean;\r\n\r\n get isHidden() {\r\n return this.hide;\r\n }\r\n\r\n get isAllHidden() {\r\n return store.getters.ui.modalVisible() || this.hideAll;\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./headerButtons.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./headerButtons.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./headerButtons.vue?vue&type=template&id=8f465b96&\"\nimport script from \"./headerButtons.ts?vue&type=script&lang=ts&\"\nexport * from \"./headerButtons.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cell\",class:{ valid:_vm.showValidation && _vm.isValid , invalid: _vm.showValidation && !_vm.isValid, validate:_vm.validate && !_vm.showValidation}},[_vm._t(\"default\"),_c('i',{class:_vm.isValid ? (\"valid \" + _vm.validIcon) : (\"invalid \" + _vm.invalidIcon)}),_c('i',{staticClass:\"validate fas fa-hand-point-left\"}),(_vm.ready)?_c('small',{staticClass:\"placeholder\"},[_vm._v(_vm._s(_vm.placeHolder))]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const validationConfiguration = {\r\n validate: true,\r\n immediate: false,\r\n validIcon: 'fas fa-check',\r\n invalidIcon: 'fas fa-exclamation',\r\n reportValidityOnFocus: true,\r\n}","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport { validationConfiguration } from './configuration';\r\n\r\n@Component({})\r\nexport default class Cell extends Vue {\r\n\r\n @Prop({ default: null })\r\n placeholder: string;\r\n\r\n @Prop({ default: null })\r\n css: string;\r\n\r\n validity = {\r\n badInput: false,\r\n customError: false,\r\n patternMismatch: false,\r\n rangeOverflow: false,\r\n rangeUnderflow: false,\r\n stepMismatch: false,\r\n tooLong: false,\r\n tooShort: false,\r\n typeMismatch: false,\r\n valueMissing: false,\r\n valid: false\r\n };\r\n\r\n @Prop({ default: validationConfiguration.validate })\r\n validate: boolean;\r\n\r\n @Prop({ default: validationConfiguration.immediate })\r\n immediate: boolean;\r\n\r\n @Prop({ default: validationConfiguration.validIcon })\r\n validIcon: string;\r\n\r\n @Prop({ default: validationConfiguration.invalidIcon })\r\n invalidIcon: string;\r\n\r\n @Prop({ default: validationConfiguration.reportValidityOnFocus })\r\n reportValidityOnFocus: boolean;\r\n\r\n showValidation: boolean = false;\r\n\r\n get placeHolder() {\r\n return this.placeholder || (this.$el.firstChild as any).placeholder || null;\r\n }\r\n\r\n get isValid() {\r\n return this.validity && this.validity.valid;\r\n }\r\n\r\n ready: boolean = false;\r\n mounted() {\r\n this.ready = true;\r\n this.registerForValidation();\r\n }\r\n\r\n registerForValidation() {\r\n if (this.validate && this.$el.firstChild && (this.$el.firstChild as any).willValidate) {\r\n var el = this.$el.firstChild as HTMLInputElement;\r\n switch (el.nodeName) {\r\n case \"INPUT\":\r\n case \"TEXTAREA\": el.onblur = this.checkInputValidation; break;\r\n case \"SELECT\": el.onchange = this.checkInputValidation; break;\r\n }\r\n\r\n // se va in invalid per conto suo...\r\n el.oninvalid = this.checkInputValidation;\r\n\r\n // se c'è un evento dal form\r\n if (el.form) el.form.addEventListener('invalid', () => this.checkInputValidation({ target: el } as any))\r\n\r\n\r\n if (this.immediate) {\r\n setTimeout(() => {\r\n this.checkInputValidation({ target: el } as any);\r\n }, 2000);\r\n }\r\n\r\n if (this.reportValidityOnFocus)\r\n el.onfocus = () => el.reportValidity();\r\n\r\n this.$on([\"validate\", \"revalidate\"], () => this.checkInputValidation({ target: el } as any))\r\n }\r\n }\r\n\r\n checkInputValidation(a: FocusEvent) {\r\n if ((a.target as HTMLInputElement).validity) {\r\n\r\n let el = (a.target as HTMLInputElement);\r\n this.$nextTick(() => {\r\n this.validity.badInput = el.validity?.badInput;\r\n this.validity.customError = el.validity?.customError;\r\n this.validity.patternMismatch = el.validity?.patternMismatch;\r\n this.validity.rangeOverflow = el.validity?.rangeOverflow;\r\n this.validity.rangeUnderflow = el.validity?.rangeUnderflow;\r\n this.validity.stepMismatch = el.validity?.stepMismatch;\r\n this.validity.tooLong = el.validity?.tooLong;\r\n this.validity.tooShort = el.validity?.tooShort;\r\n this.validity.typeMismatch = el.validity?.typeMismatch;\r\n this.validity.valid = el.validity?.valid;\r\n this.validity.valueMissing = el.validity?.valueMissing;\r\n this.showValidation = true;\r\n });\r\n }\r\n }\r\n\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./cell.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./cell.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./cell.vue?vue&type=template&id=19e0955a&\"\nimport script from \"./cell.ts?vue&type=script&lang=ts&\"\nexport * from \"./cell.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.Value),expression:\"Value\",modifiers:{\"number\":true}}],ref:\"inputElement\",attrs:{\"type\":\"number\",\"required\":_vm.required,\"disabled\":_vm.disabled,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step,\"placeholder\":_vm.placeholder,\"name\":_vm.name,\"inputmode\":_vm.inputmode},domProps:{\"value\":(_vm.Value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.Value=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class numeric extends Vue {\r\n\r\n @Prop()\r\n value?: number;\r\n\r\n get Value() {\r\n if (this.showNull && this.value == null) return null;\r\n var result = Math.round(this.value * Math.pow(10, this.precision)) / Math.pow(10, this.precision)\r\n\r\n return result;\r\n }\r\n set Value(value: number) {\r\n\r\n // if (this.min != null && value < this.min) value = this.min;\r\n // if (this.max != null && value > this.max) value = this.max;\r\n\r\n this.$emit(\"input\", value)\r\n }\r\n\r\n // checkInput() {\r\n // var value = parseFloat((this.$refs.inputElement as HTMLInputElement).value);\r\n\r\n // if (this.min != null && value < this.min) value = this.min;\r\n // if (this.max != null && value > this.max) value = this.max;\r\n\r\n // (this.$refs.inputElement as HTMLInputElement).value = value.toString();\r\n // }\r\n\r\n @Prop({ default: true })\r\n showNull: numeric;\r\n\r\n @Prop({ default: null })\r\n name: string;\r\n\r\n @Prop({ default: null })\r\n min: number;\r\n\r\n @Prop({ default: null })\r\n max: number;\r\n\r\n @Prop({ default: 0.001 })\r\n step: number;\r\n\r\n @Prop({ default: null })\r\n placeholder: number;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Prop({ default: false })\r\n required: number;\r\n\r\n @Prop({ default: 1 })\r\n precision: number;\r\n\r\n @Prop({ default: 'decimal' })\r\n inputmode: string;\r\n\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./numeric.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./numeric.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./numeric.vue?vue&type=template&id=247b4612&\"\nimport script from \"./numeric.ts?vue&type=script&lang=ts&\"\nexport * from \"./numeric.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./numeric.vue?vue&type=style&index=0&lang=css&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.Value),expression:\"Value\"}],staticClass:\"custom-slider\",attrs:{\"type\":\"range\",\"id\":\"cowbell\",\"name\":_vm.name,\"required\":_vm.required,\"disabled\":_vm.disabled,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.Value)},on:{\"__r\":function($event){_vm.Value=$event.target.value}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class slider extends Vue\r\n{\r\n\r\n @Prop()\r\n value?: number;\r\n\r\n get Value()\r\n {\r\n return this.value;\r\n }\r\n set Value(value: number)\r\n {\r\n this.$emit(\"input\", value)\r\n }\r\n\r\n\r\n @Prop({ default: null })\r\n name: string;\r\n\r\n @Prop({ default: null })\r\n min: number;\r\n\r\n @Prop({ default: null })\r\n max: number;\r\n\r\n @Prop({ default: null })\r\n step: number;\r\n\r\n @Prop({ default: null })\r\n placeholder: number;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Prop({ default: false })\r\n required: number;\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./slider.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./slider.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./slider.vue?vue&type=template&id=7b09294a&\"\nimport script from \"./slider.ts?vue&type=script&lang=ts&\"\nexport * from \"./slider.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.Value),expression:\"Value\"}],attrs:{\"type\":\"date\",\"required\":_vm.required,\"disabled\":_vm.disabled,\"min\":_vm.min,\"max\":_vm.max,\"placeholder\":_vm.placeholder,\"name\":_vm.name,\"lang\":\"it\"},domProps:{\"value\":(_vm.Value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.Value=$event.target.value}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class date extends Vue {\r\n\r\n @Prop()\r\n value: Date | string;\r\n\r\n get Value() {\r\n try {\r\n if (!this.value) return null;\r\n let dateStr = typeof (this.value) === \"string\" ? this.value : this.value?.toISOString();\r\n return dateStr.substr(0, 10);\r\n } catch{ }\r\n }\r\n set Value(value: string) {\r\n try {\r\n var date = new Date(value);\r\n this.$emit(\"input\", date)\r\n } catch{ }\r\n }\r\n\r\n @Prop({ default: null })\r\n name: string;\r\n\r\n @Prop({ default: null })\r\n placeholder: number;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Prop({ default: false })\r\n required: number;\r\n\r\n @Prop({ default: null })\r\n min: number;\r\n\r\n @Prop({ default: null })\r\n max: number;\r\n\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./date.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./date.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./date.vue?vue&type=template&id=fd2a832c&\"\nimport script from \"./date.ts?vue&type=script&lang=ts&\"\nexport * from \"./date.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"install-container\",class:{'show':_vm.display}},[_c('span',{staticClass:\"description\"},[_vm._v(_vm._s(_vm._f(\"localize\")(_vm.description)))]),_c('footer',[_c('button',{staticClass:\"reject\",on:{\"click\":function($event){return _vm.nothanks()}}},[_vm._v(_vm._s(_vm._f(\"localize\")('install:no-thanks','no grazie')))]),_c('button',{staticClass:\"install\",on:{\"click\":function($event){return _vm.install()}}},[_vm._v(_vm._s(_vm._f(\"localize\")('install:ok','installa')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class installButton extends Vue {\r\n\r\n @Prop({ default: \"Questa applicazione web è disponibile anche come APP per questo dispositivo. Vuoi installarla?\" })\r\n description: string;\r\n\r\n display: boolean = false;\r\n get installed() {\r\n return JSON.parse(localStorage.getItem('installed')) || false;\r\n }\r\n set installed(value: boolean) {\r\n localStorage.setItem('installed', JSON.stringify(value))\r\n }\r\n\r\n deferredEvent: any = null;\r\n\r\n created() {\r\n window.addEventListener(\"beforeinstallprompt\", e => {\r\n e.preventDefault();\r\n this.deferredEvent = e;\r\n this.display = true;\r\n })\r\n }\r\n\r\n install() {\r\n this.display = false;\r\n this.deferredEvent.prompt()\r\n }\r\n\r\n nothanks() {\r\n this.display = false;\r\n // this.installed = true;\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./installButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./installButton.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./installButton.vue?vue&type=template&id=6371b86a&\"\nimport script from \"./installButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./installButton.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./installButton.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loadmore\"},[(_vm.loading && _vm.visible)?_c('i',{staticClass:\"fas fa-spinner fa-spin\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport { Prop, Component } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class loadMoreItems extends Vue {\r\n\r\n observer = new IntersectionObserver(this.whenObservedChange, { threshold: 0.5 })\r\n\r\n @Prop({ default: false })\r\n loading: boolean;\r\n\r\n visible: boolean = false;\r\n\r\n mounted() {\r\n this.observer.observe(this.$el);\r\n }\r\n\r\n beforeDestroy() {\r\n this.observer.disconnect();\r\n }\r\n\r\n whenObservedChange(entries: IntersectionObserverEntry[]) {\r\n for (const entry of entries) {\r\n\r\n if (entry.intersectionRatio > 0) {\r\n this.$emit(\"onview\");\r\n this.visible = false;\r\n }\r\n else\r\n this.visible = true;\r\n }\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./loadMore.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./loadMore.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./loadMore.vue?vue&type=template&id=c8ade4b2&\"\nimport script from \"./loadMore.ts?vue&type=script&lang=ts&\"\nexport * from \"./loadMore.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./loadMore.vue?vue&type=style&index=0&lang=css&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert-container\",class:{'show':_vm.display}},[_c('span',{staticClass:\"description\"},[_vm._v(_vm._s(_vm._f(\"localize\")(_vm.description)))]),_c('footer',[_c('button',{staticClass:\"btn-info\",on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(_vm._s(_vm._f(\"localize\")('alert:no','No')))]),_c('button',{staticClass:\"btn-primary\",on:{\"click\":function($event){return _vm.ok()}}},[_vm._v(_vm._s(_vm._f(\"localize\")('alert:yes','Si')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from \"vue-class-component\";\r\nimport { Deferred } from '@/utils/Deferred';\r\n\r\n\r\n@Component({})\r\nclass AlertHelper extends Vue {\r\n\r\n private currentAlert: { show(description: string, deferrend: Deferred): void } = null;\r\n\r\n setCurrentAlert(alert: any) { this.currentAlert = alert }\r\n\r\n show(description: string): Promise {\r\n var deferred = new Deferred()\r\n\r\n if (this.currentAlert) {\r\n this.currentAlert.show(description, deferred);\r\n }\r\n else\r\n deferred.reject();\r\n\r\n return deferred.promise;\r\n }\r\n\r\n}\r\n\r\nexport const alertHelper = new AlertHelper();","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport { Deferred } from '@/utils/Deferred';\r\nimport { alertHelper } from './alertHelper';\r\n\r\n@Component({})\r\nexport default class alert extends Vue {\r\n\r\n description: string = null;\r\n deferred: Deferred = null;\r\n\r\n display: boolean = false;\r\n\r\n mounted() {\r\n alertHelper.setCurrentAlert(this);\r\n }\r\n\r\n ok() {\r\n this.display = false;\r\n this.deferred.resolve(true);\r\n }\r\n\r\n cancel() {\r\n this.display = false;\r\n this.deferred.resolve(false);\r\n }\r\n\r\n show(descripion: string, deferred: Deferred) {\r\n this.deferred = deferred;\r\n this.description = descripion;\r\n this.display = true;\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./alert.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./alert.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./alert.vue?vue&type=template&id=1f0b649d&\"\nimport script from \"./alert.ts?vue&type=script&lang=ts&\"\nexport * from \"./alert.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./alert.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"svgmap\",domProps:{\"innerHTML\":_vm._s(_vm.svg)}},[_vm._v(\"svg\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport geojson2svg, { Renderer } from \"geojson-to-svg\";\r\nimport { bbox, Feature, FeatureCollection, buffer, featureCollection, GeoJSONObject, feature, BBox } from \"@turf/turf\";\r\n\r\n@Component({})\r\nexport default class svgMap extends Vue {\r\n\r\n @Prop()\r\n geojson: Feature | Feature[] | GeoJSONObject;\r\n\r\n @Prop()\r\n userPosition: GeoJSONObject;\r\n\r\n @Prop({ default: null })\r\n extent: number[] | GeoJSONObject;\r\n\r\n @Prop({\r\n default: () => {\r\n return {\r\n 'Polygon': {\r\n weight: 0.000002,\r\n color: '#1B5E20',\r\n opacity: 0.8,\r\n fill: '#81C784'\r\n },\r\n 'Point': {\r\n radius: 0.000030,\r\n stroke: '#0D47A1',\r\n weight: 0.000002,\r\n color: '#0D47A1',\r\n fill: '#29B6F6'\r\n },\r\n }\r\n }\r\n })\r\n geojsonStyle: any;\r\n\r\n\r\n get svg() {\r\n let $this = this;\r\n if (this.geojson) {\r\n\r\n let geometries = Array.isArray(this.geojson) ?\r\n this.geojson.filter(i => i != null) : [this.geojson as any];\r\n\r\n let result: FeatureCollection = featureCollection(geometries.map(i => i.type == 'Feature' ? i : feature(i)));\r\n\r\n let extent: number[] = null;\r\n if (this.extent)\r\n extent = Array.isArray(this.extent) ? this.extent : bbox(buffer(this.extent as any, 0.01))\r\n else\r\n extent = bbox(buffer(result as any, 0.01));\r\n\r\n // Aggiungo la posizione dell'utente. \r\n if (this.userPosition) {\r\n feature(this.userPosition as any, { radius: Math.min((extent[0] - extent[2]) / 15, Math.min((extent[1] - extent[3]) / 15)) });\r\n result.features.push(feature(this.userPosition as any))\r\n }\r\n\r\n\r\n return geojson2svg()\r\n .styles(this.geojsonStyle)\r\n .extent(extent)\r\n .render(result);\r\n }\r\n return null;\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./svgMap.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./svgMap.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./svgMap.vue?vue&type=template&id=e2370e10&\"\nimport script from \"./svgMap.ts?vue&type=script&lang=ts&\"\nexport * from \"./svgMap.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./svgMap.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"daticatastali\"},[_c('label',[_vm._v(\" Dati catastali \")]),(_vm.value.length)?_c('div',{staticClass:\"grid\"},[_vm._m(0),_vm._l((_vm.value),function(dc,index){return _c('div',{key:(\"dati_catastali_\" + index),staticClass:\"grid-item\"},[_c('div',[_vm._v(_vm._s(dc.provincia))]),_c('div',[_vm._v(_vm._s(dc.comune))]),_c('div',[_vm._v(_vm._s(dc.foglio))]),_c('div',[_vm._v(_vm._s(dc.particella))]),_c('button',{attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.removeDatoCatastale(index)}}},[_c('i',{staticClass:\"fas fa-trash\"})])])})],2):_vm._e(),_c('div',{staticClass:\"form\"},[_c('cell',{attrs:{\"validate\":false,\"placeholder\":\"Provincia\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.manage.provincia),expression:\"manage.provincia\"}],attrs:{\"disabled\":_vm.disabled,\"name\":\"provincia\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.manage, \"provincia\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.province),function(p,index){return _c('option',{key:((p.codiceProvincia) + \"_\" + index)},[_vm._v(\" \"+_vm._s(p.provincia))])}),0)]),(_vm.manage.provincia)?_c('cell',{attrs:{\"validate\":false,\"placeholder\":\"Comune\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.manage.comune),expression:\"manage.comune\"}],attrs:{\"disabled\":_vm.disabled,\"name\":\"comune\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.manage, \"comune\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.comuni),function(c,index){return _c('option',{key:(\"\" + (c.codiceProvincia) + (c.codiceComune) + \"_\" + index)},[_vm._v(_vm._s(c.comune))])}),0)]):_vm._e(),_c('cell',{attrs:{\"validate\":false,\"placeholder\":\"Foglio\"}},[_c('numeric',{attrs:{\"disabled\":_vm.disabled,\"name\":\"foglio\",\"min\":0,\"precision\":0},model:{value:(_vm.manage.foglio),callback:function ($$v) {_vm.$set(_vm.manage, \"foglio\", $$v)},expression:\"manage.foglio\"}})],1),_c('cell',{attrs:{\"validate\":false,\"placeholder\":\"Particella\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.manage.particella),expression:\"manage.particella\"}],attrs:{\"disabled\":_vm.disabled,\"type\":\"text\"},domProps:{\"value\":(_vm.manage.particella)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.manage, \"particella\", $event.target.value)}}})]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn-primary row_6\",attrs:{\"disabled\":!_vm.manage.provincia || !_vm.manage.comune || !_vm.manage.foglio || _vm.disabled},on:{\"click\":function($event){return _vm.addDatoCatastale(_vm.manage)}}},[_vm._v(\" Aggiungi dato catastale \"),_c('i',{staticClass:\"fas fa-plus\"})])])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"grid-header\"},[_c('div',[_vm._v(\"Provincia\")]),_c('div',[_vm._v(\"Comune\")]),_c('div',[_vm._v(\"Foglio\")]),_c('div',[_vm._v(\"Particella\")]),_c('div')])}]\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\nimport { istatStore } from '@/modules/domains/store/istat.store';\r\nimport { Async } from '@/utils/AsyncDecorators';\r\n\r\n@Component({})\r\nexport default class DatiCatastali extends Vue {\r\n\r\n @Prop()\r\n value: server.datiCatastali[];\r\n\r\n @Async({ async get() { return await istatStore.getters.province(\"Umbria\"); }, default: [], lazy: true })\r\n province: domains.domini[];\r\n\r\n @Async({ async get() { return await istatStore.getters.comuni(this.manage.provincia); }, default: [], lazy: true })\r\n comuni: domains.domini[];\r\n\r\n @Prop()\r\n disabled:boolean;\r\n\r\n @Watch(\"value\")\r\n changeValue() {\r\n this.manage = {\r\n provincia: null,\r\n comune: null,\r\n foglio: null,\r\n particella: null,\r\n } as server.datiCatastali;\r\n }\r\n\r\n @Watch(\"manage.provincia\")\r\n changeProvincia() {\r\n this.manage.comune = null;\r\n }\r\n\r\n manage: server.datiCatastali = {\r\n provincia: null,\r\n comune: null,\r\n foglio: null,\r\n particella: null,\r\n } as server.datiCatastali;\r\n\r\n addDatoCatastale(value: server.datiCatastali): void {\r\n this.value.push(value);\r\n }\r\n\r\n removeDatoCatastale(index: number): void {\r\n this.value.splice(index, 1);\r\n }\r\n\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./dati_catastali.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./dati_catastali.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dati_catastali.vue?vue&type=template&id=7606cff2&\"\nimport script from \"./dati_catastali.ts?vue&type=script&lang=ts&\"\nexport * from \"./dati_catastali.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./dati_catastali.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"specieArboree\"},[_c('label',[_vm._v(_vm._s(_vm.title || \"Specie\"))]),(_vm.specie.length > 0)?_c('div',{staticClass:\"grid\"},_vm._l((_vm.specie),function(dc,index){return _c('div',{key:(\"specie_\" + index),staticClass:\"grid-item\"},[_c('div',[_vm._v(_vm._s(dc.label)+\" (\"+_vm._s(dc.value)+\")\")]),_c('button',{attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.remove(dc.id)}}},[_c('i',{staticClass:\"fas fa-trash\"})])])}),0):_vm._e(),(_vm.filterAvailableValues.length > 0)?_c('div',{staticClass:\"form\"},[_c('cell',{attrs:{\"validate\":false,\"placeholder\":\"Seleziona una specie arborea da inserire\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.toAdd),expression:\"toAdd\"}],attrs:{\"disabled\":_vm.disabled,\"name\":\"specie\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.toAdd=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.sortedValues),function(p,index){return _c('option',{key:((p.id) + \"_\" + index),domProps:{\"value\":p.id}},[_vm._v(_vm._s(p.label)+\" (\"+_vm._s(p.value)+\")\")])}),0)]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn-primary row_6\",attrs:{\"type\":\"button\",\"disabled\":!_vm.toAdd || _vm.disabled},on:{\"click\":function($event){return _vm.add(_vm.toAdd)}}},[_vm._v(\" \"+_vm._s(_vm.buttonTitle || \"Aggiungi\")+\" \"),_c('i',{staticClass:\"fas fa-plus\"})])])],1):_c('div',{staticClass:\"form\"},[_c('div',{staticClass:\"notification-badge warning-badge\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.warningMessage)+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class SpecieArboree extends Vue {\r\n @Prop()\r\n title: string;\r\n\r\n @Prop()\r\n buttonTitle: string;\r\n\r\n @Prop()\r\n value: number[];\r\n\r\n @Prop()\r\n availableValues: domains.domini[];\r\n\r\n @Prop()\r\n disabled: boolean;\r\n\r\n @Prop({ required: false })\r\n private beforeDelete: (specieArboreaId: number) => Promise\r\n\r\n\r\n @Prop({ default: 'Non sono disponibili ulteriori specie da poter inserire.' })\r\n warningMessage: string;\r\n\r\n get specie(): domains.domini[] {\r\n if ((this.value || []).length <= 0 || !this.availableValues || this.availableValues.length <= 0) return [];\r\n const result: domains.domini[] = [];\r\n this.value.forEach(m => {\r\n const specie = this.availableValues.find(f => f.id === m)\r\n if (specie) result.push(specie);\r\n })\r\n return result;\r\n }\r\n\r\n get filterAvailableValues(): domains.domini[] {\r\n if ((this.value || []).length <= 0) return this.availableValues\r\n return this.availableValues.filter((f) => !this.value.includes(f.id))\r\n }\r\n\r\n get sortedValues(): domains.domini[] {\r\n return this.filterAvailableValues.sort((a, b) => a.label > b.label ? 1 : a.label < b.label ? -1 : 0)\r\n }\r\n\r\n toAdd: number = null;\r\n add(value: number): void {\r\n this.value.push(value);\r\n this.toAdd = null;\r\n }\r\n\r\n async remove(specieArboreaId) {\r\n if (!this.beforeDelete) {\r\n const idx = this.value.indexOf(specieArboreaId);\r\n if (idx !== -1)\r\n this.value.splice(idx, 1);\r\n return\r\n }\r\n const before = await this.beforeDelete(specieArboreaId);\r\n if (before === true) {\r\n const idx = this.value.indexOf(specieArboreaId);\r\n if (idx !== -1)\r\n this.value.splice(idx, 1);\r\n }\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./specieArboree.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./specieArboree.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./specieArboree.vue?vue&type=template&id=429682a5&\"\nimport script from \"./specieArboree.ts?vue&type=script&lang=ts&\"\nexport * from \"./specieArboree.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./specieArboree.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"suggestions-wrapper\",class:{'unselected':!_vm.searchText},attrs:{\"tabindex\":\"1\"},on:{\"!focus\":function($event){return _vm.handlersToggle(true)},\"!blur\":function($event){return _vm.handlersToggle(false)}}},[_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],class:_vm.inputClass,attrs:{\"type\":\"text\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.searchText)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.goUp($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.goDown($event)}],\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.selected($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}},'input',_vm.$attrs,false)),(_vm.ifClearable)?_c('span',{staticClass:\"clearable\",on:{\"click\":function($event){return _vm.clear()}}},[_c('i',{staticClass:\"fa fa-times-circle\"})]):_c('span',{staticClass:\"clearable\",on:{\"click\":function($event){return _vm.clear()}}},[_c('i',{staticClass:\"fas fa-filter\"})]),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSuggestions),expression:\"showSuggestions\"}],staticClass:\"list-group suggestions\"},_vm._l((_vm.filtered),function(row,index){return _c('li',{key:index,staticClass:\"list-group-item\",class:{ 'bg-light': _vm.highlight == index },on:{\"click\":_vm.selected,\"mouseenter\":function($event){return _vm.selecting(index)},\"mouseleave\":function($event){return _vm.selecting(null)}}},[_vm._t(\"item\",[_vm._v(\" \"+_vm._s(row.before)),_c('strong',[_vm._v(_vm._s(row.search))]),_vm._v(_vm._s(row.after)+\" \")],{\"item\":row.item,\"groups\":{ before: row.before, search: row.search, after: row.after },\"index\":index})],2)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\n@Component({\r\n inheritAttrs: false\r\n})\r\nexport default class Autocomplete extends Vue {\r\n @Prop({ default: {} })\r\n value: server.autocomplete;\r\n\r\n @Prop({ default: [] })\r\n suggestions: Array;\r\n\r\n @Prop({ default: 0 })\r\n minLength: number;\r\n\r\n @Prop({ default: false })\r\n startWith: boolean;\r\n\r\n @Prop({ default: true })\r\n clearable: boolean\r\n\r\n @Prop({ default: true })\r\n forceSelect: boolean\r\n\r\n @Prop({ default: \"form-control\" })\r\n inputClass: string;\r\n\r\n searchText: string = ((this.value || {} as server.autocomplete).description || \"\");\r\n show: boolean = false;\r\n\r\n highlight: number = -1;\r\n _selecting: boolean = false;\r\n\r\n @Watch(\"value\")\r\n valueWatcher(n: server.autocomplete, o: server.autocomplete) {\r\n if (n && n !== o) {\r\n this.searchText = (n || {} as server.autocomplete).description || \"\";\r\n if (this.value?.key) {\r\n this._selecting = true;\r\n this.$emit(\"input\", this.value);\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"searchText\")\r\n searchTextWatcher(n: string, o: string) {\r\n if (n && n !== o) {\r\n this.toggle(n.length >= this.minLength);\r\n }\r\n }\r\n\r\n get orderedSuggesions() {\r\n return this.suggestions.sort((a, b) => (a.description > b.description) ? 1 : ((b.description > a.description) ? -1 : 0));\r\n }\r\n\r\n get filtered() {\r\n // let rgxp = new RegExp(`(?=(.*?))(?=(${this.searchText}))(?:(.*))`, \"i\");\r\n let rgxp = new RegExp(`(.*)(${this.searchText})(.*)`, \"i\")\r\n return this.orderedSuggesions\r\n .filter(s => {\r\n if (this.startWith)\r\n return s.description.toLowerCase().startsWith((this.searchText || \"\").toLowerCase()); //filtro i termini della lista che iniziano con l'input dell'utente\r\n return s.description.toLowerCase().indexOf((this.searchText || \"\").toLowerCase()) > -1; //filtro i termini della lista che contengono l'input dell'utente\r\n })\r\n .map(r => {\r\n let match = r.description.match(rgxp) as any || {};\r\n match = match && match ? { before: match[1], search: match[2], after: match[3] } : { before: \"\", search: \"\", after: \"\" };\r\n match.item = r;\r\n return match;\r\n });\r\n }\r\n\r\n firstLoad: boolean = false;\r\n get showSuggestions() {\r\n return this.show && this.filtered.filter(f => f.item.key !== this.value?.key).length > 0 //mostro i suggerimenti se richiesto esplicitamente e se ci sono elementi dal filtro\r\n }\r\n\r\n get ifClearable() {\r\n return this.clearable && this.value && this.value && this.value.key != undefined;\r\n }\r\n\r\n clear() {\r\n this.searchText = \"\";\r\n this.$emit(\"input\", {});\r\n setTimeout(() => {\r\n this._selecting = false;\r\n this.handlersToggle(true);\r\n }, 500);\r\n\r\n }\r\n\r\n toggle(v) {\r\n //richiedo esplicitamente l'apertura/chiusura dei suggerimenti... ma solo se l'input è attivo e scrivibile\r\n if (v && (this.$attrs.readonly || this.$attrs.disabled)) return;\r\n if (!v && this.forceSelect && this.filtered.length <= 0 && (!this.value || (this.value && (!this.value.key || this.value.description != this.searchText)))) {\r\n this.clear();\r\n } else if (!this.value?.key || (this.value?.key && this.value?.description !== this.searchText)) {\r\n this.show = v;\r\n this.highlight = -1\r\n };\r\n }\r\n\r\n handlersToggle(v) {\r\n if (!this._selecting && this.searchText.length >= this.minLength) this.toggle(v);\r\n }\r\n\r\n selected() {\r\n if (this.filtered[this.highlight]) {\r\n let item = this.filtered[this.highlight].item;\r\n this.$emit(\"input\", item);\r\n setTimeout(() => this.searchText = item.description, 500);\r\n }\r\n this.show = false;\r\n this._selecting = false;\r\n }\r\n\r\n selecting(index) {\r\n this._selecting = index != null;\r\n this.highlight = index;\r\n }\r\n\r\n goUp() {\r\n if (this.show) {\r\n this.highlight = Math.max(this.highlight - 1, 0);\r\n }\r\n }\r\n\r\n goDown() {\r\n if (this.show) {\r\n this.highlight = Math.min(this.highlight + 1, this.filtered.length - 1);\r\n }\r\n }\r\n\r\n selectByEnrter() {\r\n if (this.show) {\r\n this.selected();\r\n }\r\n }\r\n\r\n beforeMount() {\r\n if (this.value?.key) {\r\n this._selecting = true;\r\n this.$emit(\"input\", this.value);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./autocomplete.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./autocomplete.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./autocomplete.vue?vue&type=template&id=558a9ddc&\"\nimport script from \"./autocomplete.ts?vue&type=script&lang=ts&\"\nexport * from \"./autocomplete.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./autocomplete.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"uploader\"},[(_vm.id)?_c('input',{attrs:{\"disabled\":_vm.disabled,\"id\":\"uploader\",\"type\":\"file\",\"accept\":\"application/json*\"},on:{\"change\":_vm.takeGeoJSON}}):_vm._e(),_c('label',{staticClass:\"btn-info\",class:{'deactive':!_vm.id || _vm.disabled},attrs:{\"for\":\"uploader\"}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport { toastHelper } from '@/helpers/ToastHelper';\r\n\r\n@Component({})\r\nexport default class GeoJsonUploader extends Vue {\r\n\r\n @Prop()\r\n value: any;\r\n\r\n @Prop({default:null})\r\n id:string;\r\n\r\n @Prop()\r\n type: \"Polygon\" | \"Point\";\r\n\r\n @Prop({default: \"Carica una geometria da GeoJSON\"})\r\n title: string;\r\n\r\n @Prop()\r\n disabled:boolean;\r\n\r\n async takeGeoJSON(e: Event) {\r\n let target = e.target as HTMLInputElement;\r\n let files: FileList = (target.files as FileList);\r\n\r\n this.$emit(\"change\", await this.readGeoJson(files[0]));\r\n }\r\n\r\n readGeoJson(file): Promise {\r\n const _this = this;\r\n const promise = new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = function (e) {\r\n try {\r\n const geoJson = JSON.parse(reader.result as string);\r\n if (!geoJson.type || (geoJson.features || []).length <= 0 || !geoJson.features[0]?.geometry) {\r\n toastHelper.error(\"Il file geoJSON non è valido o non contiene geoemtrie!\");\r\n return null;\r\n }\r\n if(geoJson.features[0]?.geometry.type.indexOf(_this.type) < 0){\r\n toastHelper.error(`Il file geoJSON non contiene geometrie della tipologia richiesta!
La tipologia richiesta è di tipo ${_this.type === \"Polygon\" ? \"poligonale\" : \"puntuale\"}`);\r\n return null;\r\n }\r\n resolve(geoJson.features[0]?.geometry);\r\n } catch (e) {\r\n toastHelper.error(\"Il file caricato non è un JSON valido!\");\r\n }\r\n };\r\n reader.readAsText(file, \"UTF-8\");\r\n })\r\n return promise;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./geojson-uploader.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./geojson-uploader.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./geojson-uploader.vue?vue&type=template&id=dc663e90&scoped=true&\"\nimport script from \"./geojson-uploader.ts?vue&type=script&lang=ts&\"\nexport * from \"./geojson-uploader.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./geojson-uploader.vue?vue&type=style&index=0&id=dc663e90&lang=less&scoped=true&\"\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 \"dc663e90\",\n null\n \n)\n\nexport default component.exports","import searchBar from \"./search/search.vue\";\r\nimport modalContainer from \"./modal/modalContainer.vue\";\r\nimport headerButtons from \"./header-buttons/headerButtons.vue\";\r\nimport cell from \"./cell/cell.vue\";\r\nimport numeric from \"./inputs/numeric.vue\";\r\nimport slider from \"./inputs/slider.vue\";\r\nimport date from \"./inputs/date.vue\";\r\nimport installButton from \"./install-button/installButton.vue\";\r\nimport loadMore from \"./loadMore/loadMore.vue\";\r\nimport alert from \"./alert/alert.vue\";\r\nimport toggle from \"./inputs/toggle.vue\";\r\nimport svgMap from \"./map/svgMap.vue\";\r\nimport daticatastali from \"./datiCatastali/dati_catastali.vue\";\r\nimport specieArboree from \"./specieArboree/specieArboree.vue\";\r\nimport autocomplete from \"./autocomplete/autocomplete.vue\";\r\nimport geojsonUploader from \"./geojson-uploader/geojson-uploader.vue\";\r\n\r\nexport { DataItem, DataItemStatus, modalHelper } from \"./modal/modalHelper\";\r\nexport { IModalBase } from \"./modal/IModalBase\";\r\nexport { alertHelper } from \"./alert/alertHelper\";\r\nexport { validationConfiguration } from \"./cell/configuration\";\r\n\r\nexport default {\r\n searchBar,\r\n modalContainer,\r\n alert,\r\n headerButtons,\r\n cell,\r\n numeric,\r\n slider,\r\n date,\r\n installButton, loadMore, toggle,\r\n svgMap,\r\n daticatastali,\r\n specieArboree,\r\n autocomplete,\r\n geojsonUploader\r\n}","import { isEmptyArray } from './Array';\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 || getterValue == undefined || 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\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","import { unjoin } from '@/utils/Intersections';\r\nimport { Deferred } from \"@/utils/Deferred\";\r\nimport { SyncWorker } from './syncWorker';\r\n\r\n\r\nexport const persistentStoreSchema: { [key: string]: string } = {\r\n _migration: \"id\"\r\n};\r\nexport const persistentStoreSchemaVersion = 2;\r\n\r\nconst STORENAME: string = \"APPSTORE\";\r\n\r\ninterface IDBElement {\r\n storeid: string;\r\n table: string;\r\n id: any;\r\n data: any;\r\n}\r\n\r\nexport class PersistentStore {\r\n\r\n public static isInitializingDB = false;\r\n private static _isEnabled = false;\r\n public static isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n public static async Enable(): Promise {\r\n\r\n // Check if Indexed DB is supported\r\n let isSupported = ('indexedDB' in window);\r\n if (isSupported) {\r\n await PersistentStore.initDB();\r\n }\r\n\r\n this._isEnabled = isSupported;\r\n }\r\n\r\n public static Disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n public static async DeleteDB() {\r\n await new Promise((resolve, reject) => {\r\n let factory = this.DBFactory();\r\n let request = factory.deleteDatabase(STORENAME);\r\n\r\n request.onerror = (err) => { console.error(\"error deleting db\", err); reject() };\r\n request.onsuccess = (val) => resolve(val);\r\n\r\n })\r\n }\r\n\r\n public static async CleanDB() {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = (val) => resolve(val);\r\n\r\n store.clear();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n public static async getAll(table: string): Promise {\r\n let tran = await this.readonlyTransaction();\r\n let store = tran.objectStore('data').index(\"tableall\");\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n\r\n let query = store.getAll(IDBKeyRange.only([table]));\r\n query.onsuccess = (ev) => {\r\n resolve(query.result.map(d => d.data));\r\n }\r\n });\r\n }\r\n\r\n public static async get(table: string, id: any): Promise {\r\n let tran = await this.readonlyTransaction();\r\n let store = tran.objectStore('data').index(\"tableaccess\");\r\n\r\n if (id === null || id === undefined) return null;\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n try {\r\n let query = store.get(IDBKeyRange.only([table, id]));\r\n query.onsuccess = (ev) => resolve(query.result ? query.result.data : null);\r\n }\r\n catch (err) {\r\n console.error(`error reading : [${table},${id}]`)\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n public static async getArray(table: string): Promise {\r\n return await this.get(table, 'array');\r\n }\r\n\r\n public static async set(table: string, data: T[], keyPath: string = \"id\"): Promise {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = () => resolve();\r\n\r\n data.forEach(d => {\r\n store.put({\r\n data: d ? unjoin(d) : d,\r\n id: d[keyPath],\r\n table: table,\r\n storeid: `${table}-${d[keyPath]}`\r\n } as IDBElement);\r\n })\r\n });\r\n }\r\n\r\n public static async remove(table: string, data: T | string | number, keyPath: string = \"id\"): Promise {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = () => resolve();\r\n\r\n if (typeof (data) == \"string\" || typeof (data) == \"number\")\r\n store.delete(`${table}-${data}`);\r\n else\r\n store.delete(`${table}-${data[keyPath]}`);\r\n });\r\n }\r\n\r\n public static async setKey(key: string, value: T): Promise {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = () => resolve();\r\n\r\n store.put({\r\n data: value ? unjoin(value) : value,\r\n id: key,\r\n table: 'key-value-objects',\r\n storeid: `key-value-objects-${key}`\r\n } as IDBElement);\r\n\r\n });\r\n }\r\n\r\n public static async getKey(key: string): Promise {\r\n let tran = await this.readonlyTransaction();\r\n let store = tran.objectStore('data').index(\"tableaccess\");\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n let query = store.get(IDBKeyRange.only(['key-value-objects', key]));\r\n query.onsuccess = (ev) => resolve(query.result ? query.result.data : null);\r\n });\r\n }\r\n\r\n public static async removeKey(key: string): Promise {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = () => resolve();\r\n\r\n store.delete(`key-value-objects-${key}`);\r\n });\r\n }\r\n\r\n public static async setArray(table: string, data: T[]): Promise {\r\n if (!PersistentStore.isEnabled() || PersistentStore.isInitializingDB) return;\r\n\r\n let tran = await this.readwriteTransaction()\r\n let store = tran.objectStore('data');\r\n\r\n return new Promise((resolve, reject) => {\r\n tran.onerror = (err) => { console.error(err); reject(err) };\r\n tran.oncomplete = () => resolve();\r\n\r\n store.put({\r\n data: data.map(d => unjoin(d)),\r\n id: 'array',\r\n table: table,\r\n storeid: `${table}-array`\r\n } as IDBElement);\r\n });\r\n }\r\n\r\n public static async getMaxTs(table: string, fromObjectArray: boolean = false): Promise {\r\n let result = (await this.getAll<{ _ts: number, timeStamp: number, ts: number }>(table));\r\n return result.reduce((p, v) => Math.max(p, v._ts || v.timeStamp || v.ts || 0), 0);\r\n }\r\n\r\n public static async getMinTs(table: string, fromObjectArray: boolean = false): Promise {\r\n let result = (await this.getAll<{ _ts: number, timeStamp: number, ts: number }>(table));\r\n return result.reduce((p, v) => Math.min(p, v._ts || v.timeStamp || v.ts || 0), 0);\r\n }\r\n\r\n public static async getLocalId(): Promise {\r\n let result = (await this.getKey(\"_objectid_\") || 0) - 1;\r\n await this.setKey('_objectid_', result);\r\n return result;\r\n }\r\n\r\n static DBFactory = () => ((w: any) => w.indexedDB || w.mozIndexedDB || w.webkitIndexedDB || w.msIndexedDB)(window) as IDBFactory;\r\n static DB = (): Promise => {\r\n var promise = new Deferred();\r\n var db = PersistentStore.DBFactory().open(STORENAME, persistentStoreSchemaVersion);\r\n db.onupgradeneeded = (event: any) => {\r\n var db = event.target.result as IDBDatabase;\r\n let store = db.createObjectStore('data', { keyPath: \"storeid\" });\r\n store.createIndex('tableall', ['table']);\r\n store.createIndex('tableaccess', ['table', 'id']);\r\n }\r\n db.onerror = (err) => { console.error('error opening db', err); promise.reject(); }\r\n db.onsuccess = (event: any) => promise.resolve(event.target.result);\r\n return promise.promise;\r\n }\r\n\r\n static readonlyTransaction = async () => (await PersistentStore.DB()).transaction(\"data\", \"readonly\");\r\n static readwriteTransaction = async () => (await PersistentStore.DB()).transaction(\"data\", \"readwrite\");\r\n\r\n static initDB = () => PersistentStore.DB();\r\n}\r\n\r\n\r\n\r\nexport enum syncOperation {\r\n create, update, noop\r\n}\r\n\r\nexport async function saveAndSync(\r\n payload: T, tablename: string,\r\n evaluateOperation: (item: T) => syncOperation,\r\n onUpdateOperation: (item: T) => Promise,\r\n onCreateOperation: (item: T) => Promise,\r\n onOperationCompleted: (olditem: T, newitem: T, operation: syncOperation) => Promise = null,\r\n deleteOldPayloadOnCreationCompleted: boolean = true\r\n): Promise {\r\n\r\n if (!payload.id) {\r\n payload.id = await PersistentStore.getLocalId();\r\n }\r\n\r\n const _automaticSyncEnable = await PersistentStore.getKey(\"AutomaticSyncEnable\");\r\n if (!_automaticSyncEnable) {\r\n payload.__needsSync = true;\r\n await PersistentStore.set(tablename, [payload]);\r\n SyncWorker.notifySyncNeeded();\r\n return;\r\n }\r\n\r\n // salvo il payload \r\n let oldpayload = Object.assign({}, payload);\r\n\r\n const operation = evaluateOperation(payload);\r\n let promise: Promise = null;\r\n switch (operation) {\r\n case syncOperation.create: promise = onCreateOperation(payload); break;\r\n case syncOperation.update: promise = onUpdateOperation(payload); break;\r\n case syncOperation.noop: return;\r\n }\r\n\r\n\r\n promise.then(async result => {\r\n if (operation == syncOperation.create && deleteOldPayloadOnCreationCompleted)\r\n await PersistentStore.remove(tablename, payload);\r\n await PersistentStore.set(tablename, [result]);\r\n\r\n if (onOperationCompleted) await onOperationCompleted(oldpayload, result, operation);\r\n }).catch(async error => {\r\n payload.__needsSync = true;\r\n await PersistentStore.set(tablename, [payload]);\r\n SyncWorker.notifySyncNeeded();\r\n });\r\n\r\n return payload;\r\n}\r\n\r\nexport async function sync(tablename: string,\r\n evaluateOperation: (item: T) => syncOperation,\r\n onUpdate: (item: T) => Promise,\r\n onCreate: (item: T) => Promise,\r\n onOperationCompleted: (olditem: T, newitem: T, operation: syncOperation) => Promise = null,\r\n deleteOldPayloadOnCreationCompleted: boolean = true\r\n) {\r\n\r\n var results = (await PersistentStore.getAll(tablename)).filter(i => i.__needsSync);\r\n for (const payload of results) {\r\n try {\r\n let oldpayload = Object.assign({}, payload);\r\n const operation = evaluateOperation(payload);\r\n\r\n let promise: Promise = null;\r\n switch (operation) {\r\n case syncOperation.create: promise = onCreate(payload); break;\r\n case syncOperation.update: promise = onUpdate(payload); break;\r\n case syncOperation.noop: return;\r\n }\r\n\r\n const result = await promise;\r\n\r\n if (operation == syncOperation.create && deleteOldPayloadOnCreationCompleted)\r\n await PersistentStore.remove(tablename, payload);\r\n await PersistentStore.set(tablename, [result]);\r\n\r\n if (onOperationCompleted) await onOperationCompleted(oldpayload, result, operation);\r\n }\r\n catch {\r\n SyncWorker.notifySyncNeeded();\r\n }\r\n }\r\n}","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\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 = \"4678\";","import { baseRestService } from \"@/utils/baseRestService\";\r\nimport { securityService } from '@/services/securityService';\r\nimport { Config } from '@/config';\r\n\r\nclass DomainService extends baseRestService {\r\n private _organizationsUrl: string;\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.api.apiServerUrl;\r\n }\r\n\r\n async getComposizioneVegetazionale(ts: number): Promise {\r\n return await this.Get(`/api/domini/composizione-vegetazionale`, { ts }) || [];\r\n }\r\n\r\n async getDanniOsservati(ts: number): Promise {\r\n return await this.Get(`/api/domini/danni-osservati`, { ts }) || [];\r\n }\r\n\r\n async getEsposizione(ts: number): Promise {\r\n return await this.Get(`/api/domini/esposizione`, { ts }) || [];\r\n }\r\n\r\n async getFeriteTroncoCicatrizzazione(ts: number): Promise {\r\n return await this.Get(`/api/domini/ferite-tronco-cicatrizzazione`, { ts }) || [];\r\n }\r\n\r\n async getFeriteTroncoDimensioni(ts: number): Promise {\r\n return await this.Get(`/api/domini/ferite-tronco-dimensioni`, { ts }) || [];\r\n }\r\n\r\n async getFustoFibratura(ts: number): Promise {\r\n return await this.Get(`/api/domini/fusto-fibratura`, { ts }) || [];\r\n }\r\n\r\n async getFustoNodosita(ts: number): Promise {\r\n return await this.Get(`/api/domini/fusto-nodosita`, { ts }) || [];\r\n }\r\n\r\n async getFustoSezione(ts: number): Promise {\r\n return await this.Get(`/api/domini/fusto-sezione`, { ts }) || [];\r\n }\r\n\r\n async getFustoTipo(ts: number): Promise {\r\n return await this.Get(`/api/domini/fusto-tipo`, { ts }) || [];\r\n }\r\n\r\n async getGiacitura(ts: number): Promise {\r\n return await this.Get(`/api/domini/giacitura`, { ts }) || [];\r\n }\r\n\r\n async getGoverno(ts: number): Promise {\r\n return await this.Get(`/api/domini/governo`, { ts }) || [];\r\n }\r\n\r\n async getIstat(ts: number): Promise {\r\n return await this.Get(`/api/domini/istat`, { ts }) || [];\r\n }\r\n\r\n async getLettiera(ts: number): Promise {\r\n return await this.Get(`/api/domini/lettiera`, { ts }) || [];\r\n }\r\n\r\n async getOrigineMaterialeSelezionato(ts: number): Promise {\r\n return await this.Get(`/api/domini/origine-materiale-selezionato`, { ts }) || [];\r\n }\r\n\r\n async getOriginePiantePlus(ts: number): Promise {\r\n return await this.Get(`/api/domini/origine-piante-plus`, { ts }) || [];\r\n }\r\n\r\n async getOriginePopolamentoForestale(ts: number): Promise {\r\n return await this.Get(`/api/domini/origine-popolamento-forestale`, { ts }) || [];\r\n }\r\n\r\n async getPietrosita(ts: number): Promise {\r\n return await this.Get(`/api/domini/pietrosita`, { ts }) || [];\r\n }\r\n\r\n async getPosizionePiantePlus(ts: number): Promise {\r\n return await this.Get(`/api/domini/posizione-piante-plus`, { ts }) || [];\r\n }\r\n\r\n async getPotaturaPiantePlus(ts: number): Promise {\r\n return await this.Get(`/api/domini/potatura-piante-plus`, { ts }) || [];\r\n }\r\n\r\n async getSpecieArboree(ts: number): Promise {\r\n return await this.Get(`/api/domini/specie-arboree`, { ts }) || [];\r\n }\r\n\r\n async getStrutturaOrizzontale(ts: number): Promise {\r\n return await this.Get(`/api/domini/struttura-orizzontale`, { ts }) || [];\r\n }\r\n\r\n async getStrutturaVerticale(ts: number): Promise {\r\n return await this.Get(`/api/domini/struttura-verticale`, { ts }) || [];\r\n }\r\n\r\n async getSubstratoPetrogenico(ts: number): Promise {\r\n return await this.Get(`/api/domini/substrato-petrogenico`, { ts }) || [];\r\n }\r\n\r\n async getTerrenoSottostante(ts: number): Promise {\r\n return await this.Get(`/api/domini/terreno-sottostante`, { ts }) || [];\r\n }\r\n\r\n async getTipoPiantePlus(ts: number): Promise {\r\n return await this.Get(`/api/domini/tipo-piante-plus`, { ts }) || [];\r\n }\r\n\r\n async getTipoPianteSemeMarze(ts: number): Promise {\r\n return await this.Get(`/api/domini/tipo-piante-seme-marze`, { ts }) || [];\r\n }\r\n\r\n async getTrattamento(ts: number): Promise {\r\n return await this.Get(`/api/domini/trattamento`, { ts }) || [];\r\n }\r\n\r\n async getUbicazione(ts: number): Promise {\r\n return await this.Get(`/api/domini/ubicazione`, { ts }) || [];\r\n }\r\n\r\n async getStatoVegetativo(ts: number): Promise {\r\n return await this.Get(`/api/domini/stato-vegetativo`) || [];\r\n }\r\n}\r\n\r\nexport const domainService = new DomainService();","\r\nimport { createDecorator } from 'vue-class-component';\r\nimport Vue from 'vue';\r\n\r\nVue.mixin({\r\n created() {\r\n // clean undefined watchers\r\n var orphansWatchers = this._watchers.filter(w => w.cb == undefined);\r\n if (orphansWatchers.length) {\r\n for (const key in orphansWatchers) orphansWatchers[key].teardown();\r\n }\r\n }\r\n})\r\n\r\ninterface IAsyncDefinition {\r\n watch?: string[],\r\n default?: any | Function,\r\n shouldUpdate?: () => boolean,\r\n lazy?: boolean,\r\n}\r\n\r\ninterface IAsyncDefinitionExtended extends IAsyncDefinition {\r\n get: () => Promise\r\n}\r\n\r\nexport const Async = (options: IAsyncDefinitionExtended) => {\r\n return (target: Vue, key: string) => {\r\n createDecorator((componentOptions, k) => {\r\n let async = (componentOptions.asyncComputed || ((componentOptions.asyncComputed = {}) as any));\r\n async[k] = options;\r\n })(target, key)\r\n }\r\n}\r\n\r\nexport function AsyncProp(options: IAsyncDefinition = {}) {\r\n return (target: Vue, key: string) => {\r\n createDecorator((componentOptions, k) => {\r\n let async = (componentOptions.asyncComputed || ((componentOptions.asyncComputed = {}) as any));\r\n if (componentOptions.computed && componentOptions.computed[k]) {\r\n\r\n var method = componentOptions.computed[k] as any;\r\n async[k] = Object.assign(method, options)\r\n\r\n delete componentOptions.computed[k];\r\n delete target[k];\r\n }\r\n })(target, key)\r\n }\r\n}\r\n\r\n\r\n// export function AsyncFunc(handler: () => Promise, options: { default: T } = { default: null }): () => T {\r\n// const result = { value: options.default };\r\n// return function () {\r\n// handler().then(r => this.$nextTick(() => result.value = r));\r\n// return result.value;\r\n// }\r\n// }\r\n","// const reISO = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*))(?:Z?|(\\+|-)([\\d|:]*))?$/;\r\nconst reISO = /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d)/;\r\nconst reMsAjax = /^\\/Date\\((d|-|.*)\\)[\\/|\\\\]$/;\r\n\r\nexport function toDate(key: string, value: string) {\r\n if (typeof value === \"string\") {\r\n var a = reISO.exec(value);\r\n if (a) {\r\n if (value.indexOf(\"Z\") <= 0)\r\n return new Date(value + \"Z\");\r\n else\r\n return new Date(value);\r\n }\r\n a = reMsAjax.exec(value);\r\n if (a) {\r\n var b = a[1].split(/[-+,.]/);\r\n return new Date(b[0] ? +b[0] : 0 - +b[1]);\r\n }\r\n }\r\n return value;\r\n}\r\n","import Axios, { AxiosInstance, AxiosPromise, AxiosResponse, AxiosBasicCredentials, AxiosRequestConfig } from \"axios\";\r\nimport Qs from \"qs\";\r\nimport { toDate } from \"@/utils/utils\";\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { dialog } from \"esri/identity/IdentityManager\";\r\n\r\n\r\nexport enum CacheStategy {\r\n NetworkFirst,\r\n CacheFirst,\r\n None\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 class baseRestService {\r\n\r\n protected allwaysSendAuthenticationToken: boolean = true;\r\n protected saveToSessionStorage: boolean = true;\r\n baseUrl: string = \"\";\r\n xSourceHeader: string = null;\r\n\r\n OnError: OnErrorDelegate;\r\n OnHeadersPreparing: OnHeadersPreparingDelegate;\r\n\r\n protected http: AxiosInstance;\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n constructor() {\r\n this.http = Axios.create();\r\n\r\n PersistentStore.getKey(\"authorizationData\").then((r: AuthToken) => baseRestService._token = r);\r\n\r\n this.setArraySerializationMethod();\r\n }\r\n\r\n\r\n Offline = async () => await PersistentStore.getKey(\"WorkOffline\")\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\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 /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async getRaw(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n\r\n if (await this.Offline()) return null;\r\n\r\n let response = await this.http.get(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\r\n params: params,\r\n responseType: 'arraybuffer'\r\n });\r\n\r\n if (response.status != 200 && this.OnError) this.OnError(response);\r\n return response;\r\n };\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.NetworkFirst): Promise {\r\n\r\n if (await this.Offline()) return null;\r\n\r\n let response = await this.http.get(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\r\n params: params,\r\n transformResponse: (resp => resp && this.IsJsonString(resp) ? JSON.parse(resp, toDate) : null)\r\n });\r\n\r\n if (response.status != 200 && this.OnError) this.OnError(response);\r\n return response;\r\n };\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async Get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.NetworkFirst): Promise {\r\n if (await this.Offline()) return null;\r\n\r\n let result = await this.get(uri, params, sendAuthenticationToken, cacheStrategy);\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 /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let response = await this.http.post(this.baseUrl + uri, data,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, true, cacheStrategy),\r\n params: params,\r\n transformResponse: (resp => resp && this.IsJsonString(resp) ? JSON.parse(resp, toDate) : null)\r\n } as AxiosRequestConfig);\r\n // if (response.status != 200 && this.OnError) this.OnError(response);\r\n return response;\r\n };\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async Post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let result = await this.post(uri, data, params, sendAuthenticationToken, cacheStrategy);\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 /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let response = await this.http.put(this.baseUrl + uri, data,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, true, cacheStrategy),\r\n params: params,\r\n transformResponse: (resp => resp && this.IsJsonString(resp) ? JSON.parse(resp, toDate) : null)\r\n });\r\n if (response.status != 200 && this.OnError) this.OnError(response);\r\n return response;\r\n }\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async Put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let result = await this.put(uri, data, params, sendAuthenticationToken, cacheStrategy);\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 /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let response = await this.http.delete(this.baseUrl + uri,\r\n {\r\n headers: this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\r\n params: params,\r\n transformResponse: (resp => resp && this.IsJsonString(resp) ? JSON.parse(resp, toDate) : null)\r\n });\r\n if (response.status != 200 && this.OnError) this.OnError(response);\r\n return response;\r\n }\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected async Delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\r\n let result = await this.delete(uri, params, sendAuthenticationToken, cacheStrategy);\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 /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected prepareHeaders(auth: boolean = false, json: boolean = true, cacheStrategy: CacheStategy = CacheStategy.None): any {\r\n\r\n let headers: any = {};\r\n if (auth) {\r\n let authData = this.getAuthenticationToken();\r\n if (authData) {\r\n headers['Authorization'] = 'Bearer ' + authData.access_token;\r\n }\r\n }\r\n if (json) headers['Content-Type'] = 'application/json';\r\n\r\n switch (cacheStrategy) {\r\n case CacheStategy.NetworkFirst: headers['X-Strategy'] = 'networkFirst'; break;\r\n case CacheStategy.CacheFirst: headers['X-Strategy'] = 'cacheFirst'; break;\r\n case CacheStategy.None:\r\n default: break;\r\n }\r\n\r\n if (this.OnHeadersPreparing) this.OnHeadersPreparing(headers);\r\n return headers;\r\n }\r\n\r\n protected static _token: AuthToken;\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected getAuthenticationToken(): AuthToken {\r\n const authToken = localStorage.getItem(\"authorizationData\");\r\n return authToken ? JSON.parse(authToken) : authToken;\r\n }\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected setAuthenticationToken(data: AuthToken) {\r\n localStorage.setItem(\"authorizationData\", JSON.stringify(data));\r\n baseRestService._token = data;\r\n }\r\n\r\n /// ---------------------------------------------------------------------------- ///\r\n /// ATTENZIONE ///\r\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n /// ---------------------------------------------------------------------------- ///\r\n protected deleteAuthenticationToken() {\r\n localStorage.removeItem(\"authorizationData\")\r\n baseRestService._token = null;\r\n }\r\n\r\n protected IsJsonString(str) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nexport interface OnErrorDelegate { (data: DataResponse): void; }\r\ninterface OnHeadersPreparingDelegate { (headers: Headers): void; }\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport class AuthToken {\r\n access_token: string;\r\n refresh_token: string;\r\n id_token: string;\r\n expires_in: number;\r\n expiration_date: number;\r\n resource: string;\r\n userName: string;\r\n token_type: string;\r\n}\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport class DataResponse {\r\n status: number;\r\n statusText: string;\r\n data: any;\r\n}\r\n","import * as pf from \"sprintf-js\";\r\nimport { store } from '@/store';\r\n\r\nexport function localizeFunction(translationKey, defaultString?: string, ...args): string {\r\n var myValues = new Map();\r\n myValues.set(\"queue\", \"In coda\");\r\n myValues.set(\"inprogress\", \"In esecuzione\");\r\n myValues.set(\"done\", \"Completa\");\r\n myValues.set(\"fail\", \"Errore\");\r\n if(myValues.has(translationKey))\r\n return myValues.get(translationKey);\r\n return defaultString || translationKey;\r\n\r\n // if (!store.state.localization.ready) return defaultString || translationKey;\r\n // if (translationKey == null) return defaultString || translationKey;\r\n\r\n // translationKey = translationKey.toLowerCase();\r\n\r\n // if (!store.state.localization.enabled) return `¡${translationKey}¡`;\r\n\r\n // let value = store.getters.localization.getLocalizedLabel(translationKey, null);\r\n\r\n // if (args && args.length > 0) return pf.vsprintf(value || translationKey, args);\r\n // return value || defaultString || translationKey;\r\n}\r\n","import { baseRestService, AuthToken } from \"../utils/baseRestService\";\r\nimport Qs from \"qs\";\r\nimport { Config } from '@/config';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { Deferred } from '@/utils/Deferred';\r\n\r\nclass SecurityService extends baseRestService {\r\n private static _myself = null;\r\n\r\n private static _userInfo: server.userInfo = null;\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.auth.authenticationServerUrl;\r\n this.saveToSessionStorage = false;\r\n SecurityService._myself = this;\r\n\r\n PersistentStore.getKey(\"userInfo\").then((r: server.userInfo) => SecurityService._myself.setUserInfo(r));\r\n\r\n setInterval(this.autoRenewToken, Config.auth.checkSessionInterval);\r\n }\r\n\r\n async Login(username: string, password: string): Promise {\r\n\r\n var formdata = Qs.stringify({\r\n grant_type: \"password\",\r\n username: username,\r\n password: password,\r\n scope: Config.auth.openid_scope,\r\n client_id: Config.auth.client_id\r\n });\r\n\r\n await PersistentStore.setKey(\"WorkOffline\", false);\r\n\r\n var d = new Deferred();\r\n try {\r\n var result = await this.http.post(this.baseUrl + \"/api/authorization/token\", formdata, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });\r\n if (result !== null) {\r\n if (result.status == 200) {\r\n if (result.data.expires_in) {\r\n result.data.expiration_date = new Date(new Date().getTime() + result.data.expires_in * 1000).getTime();\r\n }\r\n this.setAuthenticationToken(result.data as AuthToken);\r\n d.resolve(await this.getUserInfo());\r\n } else {\r\n this.deleteAuthenticationToken();\r\n d.reject(result);\r\n }\r\n }\r\n d.reject(result);\r\n } catch (e) {\r\n d.reject(e);\r\n }\r\n return d.promise;\r\n }\r\n\r\n async Logout() {\r\n this.deleteAuthenticationToken();\r\n await PersistentStore.removeKey(\"userInfo\");\r\n SecurityService._userInfo = null;\r\n SecurityService._token = null;\r\n }\r\n\r\n public getInfo(): server.userInfo {\r\n return SecurityService._userInfo;\r\n }\r\n\r\n public getUserId(): string {\r\n return SecurityService._userInfo.sub;\r\n }\r\n\r\n public setUserInfo(u: server.userInfo) {\r\n SecurityService._userInfo = u;\r\n }\r\n\r\n private async getUserInfo(): Promise {\r\n var result = await this.get(\"/api/account/userinfo\");\r\n if (result !== null) {\r\n if (result.status == 200) {\r\n await PersistentStore.setKey(\"userInfo\", result.data);\r\n SecurityService._userInfo = result.data;\r\n return result.data as server.userInfo\r\n }\r\n if (result.status == 401) {\r\n await PersistentStore.removeKey(\"userInfo\");\r\n SecurityService._userInfo = null;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n\r\n public isUserAuthenticated(): boolean {\r\n let authenticated = SecurityService._userInfo != null;\r\n return authenticated;\r\n }\r\n\r\n async autoRenewToken() {\r\n var token = SecurityService._myself.getAuthenticationToken();\r\n if (token) {\r\n var now = new Date().getTime();\r\n var timeleft = token.expiration_date - now;\r\n SecurityService._myself.getUserInfo();\r\n if (timeleft < Config.auth.renewSessionTimeLimit * 1000) {\r\n await SecurityService._myself.renewToken(token);\r\n }\r\n }\r\n }\r\n\r\n public async RenewToken() {\r\n var token = this.getAuthenticationToken();\r\n await this.renewToken(token)\r\n }\r\n\r\n public getAccessToken() {\r\n return super.getAuthenticationToken().access_token;\r\n }\r\n\r\n private async renewToken(token: AuthToken) {\r\n if (!token) {\r\n securityService.Logout();\r\n } else {\r\n var formdata = Qs.stringify({\r\n grant_type: \"refresh_token\",\r\n refresh_token: token.refresh_token,\r\n scope: Config.auth.openid_scope,\r\n client_id: Config.auth.client_id\r\n });\r\n try {\r\n let result = await SecurityService._myself.http.post(SecurityService._myself.baseUrl + \"/api/authorization/token\", formdata, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });\r\n if (result !== null) {\r\n if (result.status == 200) {\r\n if (result.data.expires_in) {\r\n result.data.expiration_date = new Date(new Date().getTime() + result.data.expires_in * 1000).getTime();\r\n }\r\n\r\n if (!result.data.refresh_token)\r\n result.data.refresh_token = token.refresh_token;\r\n SecurityService._myself.setAuthenticationToken(result.data as AuthToken);\r\n return;\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n let exceptionMessage = ex;\r\n if (ex?.response) {\r\n exceptionMessage = ex.response.data || ex;\r\n if (ex.response.status === 400) SecurityService._myself.Logout();\r\n }\r\n console.debug(\"renew token failed: \", exceptionMessage);\r\n\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const securityService = new SecurityService();\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alert.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alert.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","class LayoutHelper {\r\n get(): string {\r\n if (window.sessionStorage.getItem(\"IsStartup\") != \"false\") {\r\n window.sessionStorage.setItem(\"IsStartup\", \"true\");\r\n }\r\n\r\n let layout = window.sessionStorage.getItem(\"selectedLayout\");\r\n if (window.sessionStorage.getItem(\"IsStartup\") === \"true\") {\r\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n layout = \"mobile\";\r\n }else{\r\n layout = \"web\";\r\n }\r\n }\r\n window.sessionStorage.setItem(\"selectedLayout\", layout);\r\n return layout;\r\n }\r\n set(layout): void {\r\n window.sessionStorage.setItem(\"IsStartup\", \"false\");\r\n window.sessionStorage.setItem(\"selectedLayout\", layout);\r\n }\r\n get isWeb(): boolean{\r\n return this.get() === \"web\";\r\n }\r\n}\r\nexport const layoutHelper = new LayoutHelper();","/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n\r\n\r\n\r\n\r\n\r\n\r\n/// ---------------------------------------------------------------------------- ///\r\nexport function fillArray(dest: Array, source: Iterable): Array {\r\n let _source = Array.from(source);\r\n let toremove = [];\r\n dest.forEach((element) => {\r\n if (_source.indexOf(element) < 0) toremove.push(element);\r\n });\r\n\r\n toremove.forEach((element) => {\r\n let idx = dest.indexOf(element);\r\n dest.splice(idx, 1);\r\n });\r\n\r\n _source.forEach((element) => {\r\n if (dest.indexOf(element) < 0) dest.push(element);\r\n });\r\n return dest;\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 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\r\nexport function mergeInArray(source: Iterable, dest: Array, comparer: (d: T, s: T) => boolean): Array {\r\n Array.from(source).forEach(element => {\r\n var result = dest.find(i => comparer(i, element));\r\n if (result)\r\n Object.assign(result, element);\r\n else\r\n dest.push(element);\r\n });\r\n return dest;\r\n}\r\n\r\nexport function replaceInArray(source: Iterable, dest: Array, comparer: (d: T, s: T) => boolean): Array {\r\n Array.from(source).forEach(element => {\r\n var idx = dest.findIndex(i => comparer(i, element));\r\n if (idx >= 0)\r\n dest.splice(idx, 1, element);\r\n else\r\n dest.push(element);\r\n });\r\n return dest;\r\n}\r\n\r\nexport function removeFromArray(dest: Array, comparer: (i: T) => boolean): Array {\r\n var idx = dest.findIndex(i => comparer(i));\r\n if (idx >= 0) dest.splice(idx, 1);\r\n return dest;\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dati_catastali.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dati_catastali.vue?vue&type=style&index=0&lang=less&\"","import Vue from 'vue';\r\n\r\nexport interface IMenuDefinition {\r\n name: string,\r\n description: string,\r\n icon?: string,\r\n routeName?: string,\r\n routeParams?: object,\r\n featureflags?: string[],\r\n orderIndex?: number,\r\n group: string,\r\n class: string,\r\n hidden: () => boolean\r\n}\r\n\r\nconst menuDefinitions: IMenuDefinition[] = [];\r\nconst menuStructure: { [key: string]: { [key: string]: string[] } } = {}\r\n\r\n\r\nexport enum menuType {\r\n drawer, // Drawer Menu\r\n bottom, // Bottom Menu\r\n cropScouting, // Vertical Menu and Crop Scouting sub Menu\r\n}\r\n\r\nexport const MenuNotifications = {\r\n menuDefinitionAdded: 'newmenuitem'\r\n}\r\n\r\nexport class MenuHelper {\r\n\r\n private static notifications: Vue = new Vue();\r\n public static get Notifications() { return MenuHelper.notifications; }\r\n\r\n public static addMenuDefinition(menuDefinition: IMenuDefinition, ...positions: { section: menuType, parent?: string }[]) {\r\n\r\n // Aggiungo la dichiarazione del menuù all'elenco dei menù disponibili.\r\n let found = menuDefinitions.find(m => m.name == menuDefinition.name);\r\n if (!found)\r\n menuDefinitions.push(menuDefinition);\r\n else\r\n menuDefinition = found;\r\n\r\n for (const element of positions) {\r\n\r\n menuStructure[element.section] = menuStructure[element.section] || {};\r\n menuStructure[element.section][element.parent || menuDefinition.name] = menuStructure[element.section][element.parent || menuDefinition.name] || [];\r\n\r\n if (element.parent)\r\n menuStructure[element.section][element.parent].push(menuDefinition.name);\r\n }\r\n\r\n MenuHelper.notifications.$emit(MenuNotifications.menuDefinitionAdded, menuDefinition);\r\n }\r\n\r\n public static getMenuItem(name: string): IMenuDefinition {\r\n return menuDefinitions.find(i => i.name == name);\r\n }\r\n\r\n public static getMenu(menu: menuType): { item: IMenuDefinition, children: IMenuDefinition[] }[] {\r\n let result = [];\r\n let used = new Set();\r\n\r\n for (const key in menuStructure[menu]) {\r\n const element = menuStructure[menu][key];\r\n\r\n\r\n let rr = {\r\n item: menuDefinitions.find(m => {\r\n return m.name == key &&\r\n (!m.hidden || !m.hidden())\r\n }),\r\n\r\n children: element.map(i => menuDefinitions.find(m => m.name == i && (!m.hidden || !m.hidden())))\r\n .filter(i => !!i)\r\n .sort((a, b) => {\r\n if (a.orderIndex > b.orderIndex) return 1;\r\n if (a.orderIndex < b.orderIndex) return -1;\r\n return 0\r\n })\r\n };\r\n\r\n if (!!rr.item) {\r\n used.add(key);\r\n element.forEach(i => used.add(i));\r\n result.push(rr);\r\n }\r\n }\r\n return result.filter(i => !!i.item)\r\n .sort((a, b) => {\r\n if (a.item.orderIndex > b.item.orderIndex) return 1;\r\n if (a.item.orderIndex < b.item.orderIndex) return -1;\r\n return 0\r\n });\r\n }\r\n\r\n public static getPreferredMenu(): { item: IMenuDefinition, children: IMenuDefinition[] }[] {\r\n // let preferredMenuItemSettings = settingsStoreGetters.getSettingValue(settingsKey.preferred_menuItem_setting) as Array || [];\r\n\r\n // return preferredMenuItemSettings.map((i) => {\r\n // return {\r\n // item: this.getMenuItem(i),\r\n // children: null\r\n // }\r\n // }).filter(m =>\r\n // (!m.item.featureflags || m.item.featureflags.length == 0 || FeatureHelper.HasAnyFeatureSync(m.item.featureflags)\r\n // ))\r\n return null;\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forgotPassword.vue?vue&type=style&index=0&id=c8d48678&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forgotPassword.vue?vue&type=style&index=0&id=c8d48678&lang=less&scoped=true&\"","import { GetterTree, ActionTree } from 'vuex';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { replaceInArray } from '@/utils/Array';\r\n\r\nimport vuestore from '@/store';\r\nimport { domainService } from '../services/domainService';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\n\r\nexport interface IstatStoreModel { }\r\n\r\nexport interface IstatStoreActions {\r\n setIstat(levels: domains.istat[]): Promise;\r\n}\r\n\r\nexport interface IstatStoreGetters {\r\n istat(): Promise;\r\n comuni(nomeProvincia: string): Promise;\r\n province(nomeRegione: string): Promise;\r\n regioni(): Promise;\r\n}\r\n\r\nexport const TABLES = {\r\n istat: 'domain.istat'\r\n};\r\n\r\nexport const IstatStore = {\r\n PREFIX: 'istat',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n istat: (state) => async (): Promise => {\r\n const result: domains.istat[] = await PersistentStore.getAll(TABLES.istat) || [];\r\n const maxts: number = await PersistentStore.getMaxTs(TABLES.istat);\r\n domainService.getIstat(maxts).then(async r => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.istat, r);\r\n });\r\n return result;\r\n },\r\n\r\n comuni: (state) => async (nomeProvincia: string = null): Promise => {\r\n let result: domains.istat[] = await PersistentStore.getAll(TABLES.istat) || [];\r\n const maxts: number = await PersistentStore.getMaxTs(TABLES.istat);\r\n domainService.getIstat(maxts).then(async r => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.istat, r);\r\n });\r\n\r\n if (nomeProvincia) {\r\n result = result.filter(f => f.provincia === nomeProvincia);\r\n }\r\n return result.sort((a, b) => a.comune.localeCompare(b.comune));\r\n },\r\n\r\n province: (state) => async (nomeRegione: string = null): Promise => {\r\n let result: domains.istat[] = await PersistentStore.getAll(TABLES.istat) || [];\r\n const maxts: number = await PersistentStore.getMaxTs(TABLES.istat);\r\n domainService.getIstat(maxts).then(async r => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.istat, r);\r\n });\r\n\r\n if (nomeRegione) {\r\n result = result.filter(f => f.regione === nomeRegione);\r\n }\r\n\r\n const reduced = result.reduce((acc, curr) => {\r\n if (!acc[curr.codiceProvincia]) {\r\n acc[curr.codiceProvincia] = curr;\r\n }\r\n return acc;\r\n }, {});\r\n\r\n const province: domains.istat[] = Object.values(reduced) as domains.istat[];\r\n return province.sort((a, b) => a.provincia.localeCompare(b.provincia));\r\n },\r\n\r\n regioni: (state) => async (): Promise => {\r\n let result: domains.istat[] = await PersistentStore.getAll(TABLES.istat) || [];\r\n const maxts: number = await PersistentStore.getMaxTs(TABLES.istat);\r\n domainService.getIstat(maxts).then(async r => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.istat, r);\r\n });\r\n\r\n const reduced = result.reduce((acc, curr) => {\r\n if (!acc[curr.codiceRegione]) {\r\n acc[curr.codiceRegione] = curr;\r\n }\r\n return acc;\r\n }, {});\r\n\r\n const regioni: domains.istat[] = Object.values(reduced) as domains.istat[];\r\n return regioni.sort((a, b) => a.regione.localeCompare(b.regione));\r\n }\r\n } as GetterTree,\r\n actions: {\r\n async setIstat(context, datas: domains.istat[]): Promise {\r\n await PersistentStore.set(TABLES.istat, datas);\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const istatStore = CreateTypedStoreProxy(vuestore, IstatStore.PREFIX);","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass VersioneInSituService extends baseRestService {\r\n\r\n constructor() {\r\n super()\r\n this.baseUrl = Config.api.apiServerUrl;\r\n }\r\n\r\n async List(ts: number): Promise {\r\n return await this.Get(`/api/in-situ`, { ts: ts }) || [];\r\n }\r\n\r\n async Detail(id: string): Promise {\r\n return await this.Get(`/api/in-situ/${id}`);\r\n }\r\n\r\n async Set(obj: server.VersioneInSitu): Promise {\r\n return await this.Post(`/api/in-situ`, obj);\r\n }\r\n\r\n async Remove(id: string): Promise {\r\n return await this.Delete(`/api/in-situ/${id}`);\r\n }\r\n\r\n async Active(id: string): Promise {\r\n return await this.Post(`/api/in-situ/${id}/active`, null);\r\n }\r\n}\r\n\r\nexport const versioneInSituService = new VersioneInSituService();","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mobile.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mobile.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetPassword.vue?vue&type=style&index=0&id=346d30f1&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetPassword.vue?vue&type=style&index=0&id=346d30f1&lang=less&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mobilemenu.vue?vue&type=style&index=0&id=a8854c6e&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mobilemenu.vue?vue&type=style&index=0&id=a8854c6e&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./syncButton.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./syncButton.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./installButton.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./installButton.vue?vue&type=style&index=0&lang=less&\"","class LocalVersionHelper {\r\n get(version: string) {\r\n return JSON.parse(window.localStorage.getItem(version));\r\n }\r\n\r\n set(item, version: string) {\r\n window.localStorage.setItem(version, JSON.stringify(item));\r\n }\r\n\r\n isSet(item, version): boolean {\r\n var onShow = JSON.parse(window.localStorage.getItem(version))\r\n if (onShow) {\r\n if (onShow.id == item.id)\r\n return true\r\n return false\r\n }else if(item.attivo){\r\n return item.attivo\r\n }else{\r\n return false\r\n }\r\n }\r\n}\r\nexport const localVersionHelper = new LocalVersionHelper();","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appBar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appBar.vue?vue&type=style&index=0&lang=less&\"","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass VersioneExSituService extends baseRestService {\r\n\r\n constructor() {\r\n super()\r\n this.baseUrl = Config.api.apiServerUrl;\r\n }\r\n\r\n async List(ts: number): Promise {\r\n return await this.Get(`/api/ex-situ`, { ts: ts }) || [];\r\n }\r\n\r\n async Detail(id: string): Promise {\r\n return await this.Get(`/api/ex-situ/${id}`);\r\n }\r\n\r\n async Set(obj: server.VersioneExSitu): Promise {\r\n return await this.Post(`/api/ex-situ`, obj);\r\n }\r\n\r\n async Remove(id: string): Promise {\r\n return await this.Delete(`/api/ex-situ/${id}`);\r\n }\r\n\r\n async Active(id: string): Promise {\r\n return await this.Post(`/api/ex-situ/${id}/active`, null);\r\n }\r\n}\r\n\r\nexport const versioneExSituService = new VersioneExSituService();","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./drawerMenu.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./drawerMenu.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=style&index=0&lang=less&\"","import Toasted from \"vue-toasted\";\r\n\r\nimport Vue from \"vue\";\r\nimport { localizeFunction } from '@/filters/localizeFilter';\r\nimport { layoutHelper } from './LayoutHelper';\r\n\r\nVue.use(Toasted);\r\n class ToastHelper {\r\n\r\n\r\n// Posizione disponibili\r\n// ['top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left']\r\n\r\n get position(){\r\n return layoutHelper.isWeb ? 'bottom-left' : 'bottom-center'\r\n }\r\n\r\n public info(message: string, timeout: number = 3600) {\r\n Vue.toasted.info(localizeFunction(message, message),\r\n {\r\n position: this.position,\r\n duration: timeout,\r\n iconPack: \"fontawesome\",\r\n icon: \"fa-info\",\r\n className: \"customToast info\",\r\n theme: \"toasted-primary\",\r\n closeOnSwipe: true,\r\n action: null,\r\n\r\n },\r\n );\r\n }\r\n\r\n public error(message: string, timeout: number = 3600) {\r\n Vue.toasted.error(localizeFunction(message, message),\r\n {\r\n position: this.position,\r\n duration: timeout,\r\n iconPack: \"fontawesome\",\r\n icon: \"fa-exclamation-circle\",\r\n className: \"customToast error\",\r\n theme: \"toasted-primary\",\r\n closeOnSwipe: true,\r\n action: null,\r\n\r\n },\r\n );\r\n }\r\n\r\n public success(message: string, timeout: number = 3600) {\r\n Vue.toasted.success(localizeFunction(message, message),\r\n {\r\n position: this.position,\r\n duration: timeout,\r\n iconPack: \"fontawesome\",\r\n icon: \"fa-check\",\r\n className: \"customToast succes\",\r\n theme: \"toasted-primary\",\r\n closeOnSwipe: true,\r\n action: null,\r\n\r\n },\r\n );\r\n }\r\n\r\n public warning(message: string, timeout: number = 3600) {\r\n Vue.toasted.error(localizeFunction(message, message),\r\n {\r\n position: this.position,\r\n duration: timeout,\r\n iconPack: \"fontawesome\",\r\n icon: \"fa-exclamation-circle\",\r\n className: \"customToast warning\",\r\n theme: \"toasted-primary\",\r\n closeOnSwipe: true,\r\n action: null,\r\n\r\n },\r\n );\r\n }\r\n\r\n public clearToast() {\r\n Vue.toasted.clear();\r\n }\r\n\r\n}\r\n\r\ninterface AlertAction {\r\n /**\r\n * name of action\r\n */\r\n text: string;\r\n /**\r\n * url of action\r\n */\r\n href?: string;\r\n /**\r\n * name of material for action\r\n */\r\n icon?: string;\r\n /**\r\n * custom css class for the action\r\n */\r\n class?: string | string[];\r\n /**\r\n * Vue Router push parameters\r\n */\r\n push?: any;\r\n /**\r\n * onClick Function of action\r\n *\r\n * @param e\r\n * @param {ToastObject} toastObject\r\n * @returns {any}\r\n */\r\n onClick?: () => any;\r\n}\r\n\r\nexport const toastHelper = new ToastHelper();","import { syncDeletedRowStore, TABLES } from '../store/syncDeletedRow.store';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\n\r\nexport async function syncDeletedRow(tablename: string, rows: T[], key: string = \"id\"): Promise {\r\n const rowIds = (await syncDeletedRowStore.getters.getTableDeletedRows(tablename)).map(m => m.rowId) || [];\r\n if (rowIds.length <= 0)\r\n return rows;\r\n\r\n var rowsToDelete = rows.filter(f => rowIds.indexOf(f[key]) !== -1) || [];\r\n rowsToDelete.forEach(f => {\r\n PersistentStore.remove(tablename, f);\r\n });\r\n return rows.filter(f => rowIds.indexOf(f[key]) === -1) || [];\r\n}\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./specieArboree.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./specieArboree.vue?vue&type=style&index=0&lang=less&\"","import { dateformatFunction } from \"@/filters/dateFormat\";\r\nimport { layoutHelper } from \"@/helpers/LayoutHelper\";\r\nimport { dateFormat } from \"highcharts\";\r\nimport { messageService } from \"./MessageService\";\r\nimport { PersistentStore } from \"./PersistentStore\";\r\n\r\nexport class SyncWorker {\r\n _self: Window;\r\n\r\n static _syncNeeded: boolean = false;\r\n _online: boolean = false;\r\n _automaticSync: boolean = false;\r\n _debounceTimeout: number = 30000;\r\n _lastSyncEra: number = 0;\r\n _dosync: () => Promise = null;\r\n\r\n constructor(instance: Window, dosync: () => Promise) {\r\n this._self = instance;\r\n this._online = navigator.onLine;\r\n this._dosync = dosync;\r\n\r\n messageService.subscribe(\"syncDataRequired\", () => {\r\n console.info(\"Manual synchronization required\");\r\n this.sendSyncMessage(this._online);\r\n });\r\n\r\n\r\n this._self.addEventListener('online', e => {\r\n this._online = true;\r\n })\r\n\r\n this._self.addEventListener('offline', e => {\r\n this._online = false;\r\n });\r\n\r\n this._automaticSync = layoutHelper.isWeb;\r\n\r\n setInterval(() => {\r\n if (SyncWorker._syncNeeded && this._automaticSync) {\r\n console.info(`Automatic sync: ${this._automaticSync} ${dateformatFunction(new Date(), 'DD/MM/YYYY - HH:mm')}`)\r\n this.sendSyncMessage(this._online);\r\n }\r\n }, 30000);\r\n }\r\n\r\n async sendSyncMessage(online) {\r\n if (!online) return;\r\n\r\n var era = new Date().getTime();\r\n if (era > this._lastSyncEra + this._debounceTimeout) {\r\n await this._dosync();\r\n this._lastSyncEra = era;\r\n SyncWorker._syncNeeded = false;\r\n }\r\n }\r\n\r\n static notifySyncNeeded() {\r\n SyncWorker._syncNeeded = true;\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\r\n constructor(arr: T[], deep: boolean) {\r\n\r\n this._deep = deep;\r\n var obj = arr as any;\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 if (object)\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 * 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 static isloading: Promise;\r\n\r\n static packageName: string = \"esri\";\r\n\r\n static remapPrefix(prefix: string, uri: string) {\r\n Loader.packageName = prefix;\r\n\r\n window.dojoConfig = {\r\n async: true,\r\n packages: [\r\n {\r\n name: prefix,\r\n location: uri\r\n }\r\n ],\r\n has: { \"dojo-preload-i18n-Api\": false }\r\n };\r\n }\r\n\r\n static initialize(url: string = \"https://js.arcgis.com/4.13/\") {\r\n if (!this.isloading) {\r\n this.isloading = new Promise((resolve, reject) => {\r\n if (!el.isLoaded())\r\n el.loadScript({ url: url }).then(() => { resolve(); }).catch((err) => { throw (err); });\r\n });\r\n }\r\n }\r\n\r\n 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 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 static async create(dep: string, options?: any): Promise {\r\n\r\n let ctor: any = await Loader.get(dep);\r\n if (!ctor) throw \"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 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\nexport function BindArrayToLayer(from: T[], to: __esri.Collection<__esri.Graphic>, map: { (item: T): Promise<__esri.Graphic> }, deep: boolean = false) {\r\n function removeGraphic(_g) {\r\n let $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) return;\r\n if ((_g as any)._$graphic$_) return; // doppio check -- prima per evitare il rendering di graphics già calcolati\r\n let $g = (await map(_g)) as __esri.Graphic;\r\n if ((_g as any)._$graphic$_) return; // doppio check -- dopo il mapping per evitare accavallamenti di richieste asincrone\r\n (_g as any)._$graphic$_ = $g;\r\n to.add($g);\r\n }\r\n\r\n async function changed(_g) {\r\n let old = (_g as any)._$graphic$_;\r\n let $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 to.add($g);\r\n }\r\n\r\n let observer = new ArrayObserver(from, deep);\r\n observer.Subscribe(async (operation, inserted, deleted) => {\r\n\r\n if (operation == 'changed') {\r\n for (const key in inserted) {\r\n const element = inserted[key];\r\n await changed(element);\r\n }\r\n // inserted.forEach(async (i) => await changed(i));\r\n return;\r\n }\r\n\r\n\r\n if (deleted)\r\n for (const key in deleted) {\r\n const i = deleted[key];\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 for (const key in inserted) {\r\n const element = inserted[key];\r\n await addGraphic(element);\r\n }\r\n // inserted.forEach(async i => {\r\n // addGraphic(i);\r\n // });\r\n });\r\n\r\n (from).forEach(async i => {\r\n addGraphic(i);\r\n });\r\n}\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 Draw: async function (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 PointDrawAction: async function (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 PolygonDrawAction: async function (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 PolylineDrawAction: async function (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\r\n\r\n","import { Esri } from \"@/esriMap\";\r\n\r\nexport async function GeoTiffImageLayer(options): Promise {\r\n\r\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\r\n\r\n let GeoTiffImageLayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\r\n // create Web workers to manipulate the raster image\r\n // Attach property watchers to layer\r\n attach: function () {\r\n this._imagesWatcher = this.layer.watch(\"imageRasters\", function () {\r\n this.requestRender();\r\n })\r\n },\r\n // Detach property watchers from layer\r\n detach: function () {\r\n this._propertyHandle.remove();\r\n this._propertyHandle = null;\r\n },\r\n render(renderParameters: { context: Object, stationary: boolean, state: any }) {\r\n var state = renderParameters.state;\r\n var context = renderParameters.context as any;\r\n var pixelRatio = state.pixelRatio;\r\n var width = state.size[0];\r\n var height = state.size[1];\r\n\r\n if (state.rotation !== 0) {\r\n context.translate(width * pixelRatio * 0.5, height * pixelRatio * 0.5);\r\n context.rotate((state.rotation * Math.PI) / 180);\r\n context.translate(- width * pixelRatio * 0.5, -height * pixelRatio * 0.5);\r\n }\r\n\r\n context.save();\r\n\r\n (this.layer.imageRasters).forEach(element => {\r\n this.createTile(element, context, state);\r\n });\r\n\r\n context.restore();\r\n },\r\n createTile: function (rasterdata: any, context, state) {\r\n\r\n rasterdata.values.forEach(ras => {\r\n\r\n let xmin = rasterdata.xmin;\r\n let ymin = rasterdata.ymax;\r\n let rxstep = ((rasterdata.xmax - rasterdata.xmin) / rasterdata.width);\r\n let rystep = ((-rasterdata.ymax + rasterdata.ymin) / rasterdata.height);\r\n for (let x = 0; x < rasterdata.width; x++) {\r\n for (let y = 0; y < rasterdata.height; y++) {\r\n let val = ras[y][x];\r\n\r\n if (!val && this.layer.skipIfNoValue) continue;\r\n\r\n let gxmin = (xmin + (x) * rxstep);\r\n let gxmax = (xmin + (x + 1) * rxstep);\r\n let gymin = (ymin + (y) * rystep);\r\n let gymax = (ymin + (y + 1) * rystep);\r\n\r\n let p1 = [0, 0];\r\n let p2 = [0, 0];\r\n state.toScreenNoRotation(p1, [gxmin, gymax]);\r\n state.toScreenNoRotation(p2, [gxmax, gymin]);\r\n\r\n let style = this.layer.classifyCell(val);\r\n context.fillStyle = 'rgba(' + style[0] + ',' + style[1] + ',' + style[2] + ',' + style[3] + ')';\r\n context.fillRect(p1[0], p1[1], p2[0] - p1[0], p2[1] - p1[1]);\r\n }\r\n }\r\n });\r\n }\r\n })\r\n\r\n let GeoTiffImageLayer = (await Esri.Layers.BaseTileLayer()).createSubclass({\r\n properties: {\r\n skipIfNoValue: true,\r\n\r\n },\r\n imageRasters: [],\r\n classifyCell(value: number, georaster): [number, number, number, number] {\r\n return [0, 0, 0, value];\r\n },\r\n addImageRaster: function (rasterdata) {\r\n this.imageRasters.push(this.toWebMercator(rasterdata));\r\n },\r\n\r\n toWebMercator: function (rasterdata) {\r\n if (rasterdata.projection == 4326) {\r\n let minxy = webMercatorUtils.lngLatToXY(rasterdata.xmin, rasterdata.ymin);\r\n let maxxy = webMercatorUtils.lngLatToXY(rasterdata.xmax, rasterdata.ymax);\r\n\r\n rasterdata.xmin = minxy[0];\r\n rasterdata.ymin = minxy[1];\r\n rasterdata.xmax = maxxy[0];\r\n rasterdata.ymax = maxxy[1];\r\n }\r\n\r\n return rasterdata;\r\n },\r\n createLayerView(view) {\r\n return new GeoTiffImageLayerView({\r\n view: view,\r\n layer: this\r\n });\r\n }\r\n });\r\n\r\n return new GeoTiffImageLayer(options) as ICustomImageLayer;\r\n}\r\n\r\ninterface ICustomImageLayer extends __esri.Layer {\r\n images: Array;\r\n}\r\n","/* Multilayer è un layer con caratteristiche di rendering multiplo per i graphics */\r\n\r\nimport { Esri } from \"@/esriMap\";\r\n\r\nexport async function MultiLayer(options): Promise {\r\n\r\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\r\n\r\n let MultilayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\r\n // create Web workers to manipulate the raster image\r\n // Attach property watchers to layer\r\n attach: function () {\r\n this._imagesWatcher = this.layer.watch(\"graphics\", function () {\r\n this.requestRender();\r\n })\r\n },\r\n // Detach property watchers from layer\r\n detach: function () {\r\n this._propertyHandle.remove();\r\n this._propertyHandle = null;\r\n },\r\n\r\n preRenderingCallBack: null,\r\n renderingCallBack: null,\r\n\r\n // Funzione di HitTest\r\n async hitTest(x, y): Promise<__esri.Graphic> {\r\n let hitTestBuffer = this.layer.hitTestBuffer;\r\n\r\n let g = this.layer.graphics.find(e => {\r\n let xy = e[\"_screenPoint\"];\r\n if (xy) {\r\n return (xy[0] - hitTestBuffer) <= x &&\r\n (xy[0] + hitTestBuffer) >= x &&\r\n (xy[1] - hitTestBuffer) <= y &&\r\n (xy[1] + hitTestBuffer) >= y;\r\n }\r\n return false;\r\n });\r\n return g;\r\n },\r\n render(renderParameters: { context: CanvasRenderingContext2D, stationary: boolean, state: IState }) {\r\n var state = renderParameters.state;\r\n var context = renderParameters.context as any;\r\n\r\n context.save();\r\n\r\n // ROTATE the context with map;\r\n context.translate(state.width * 0.5, state.height * 0.5);\r\n context.rotate((state.rotation * Math.PI) / 180);\r\n context.translate(-state.width * 0.5, -state.height * 0.5);\r\n\r\n let prerender = (this.preRenderingCallBack || this.layer.preRenderingCallBack) as PreRenderingFunctionDelegate;\r\n let grender = (this.renderingCallBack || this.layer.renderingCallBack) as RenderingFunctionDelegate;\r\n context.imageSmoothingEnabled = true;\r\n if (prerender) prerender(context, state);\r\n\r\n if (grender)\r\n (this.layer.graphics).forEach((element: __esri.Graphic) => {\r\n\r\n if (element.geometry.type == \"point\") {\r\n var point = element.geometry as __esri.Point;\r\n if (point.spatialReference.isWGS84) {\r\n point = webMercatorUtils.geographicToWebMercator(element.geometry) as __esri.Point;\r\n // Salvo le coordinate convertite in WebMercatore per non doverle ricalcolare.\r\n element.geometry = point;\r\n }\r\n\r\n var xy = [0, 0];\r\n\r\n state.toScreenNoRotation(xy, [point.x, point.y]);\r\n // Salvo la posizione del graphic nello schermo per la funzione di HitTest\r\n element[\"_screenPoint\"] = xy;\r\n // xy[0] = Math.round(xy[0]);\r\n // xy[1] = Math.round(xy[1]);\r\n\r\n if (xy[0] > 0 && xy[1] > 0 && xy[0] < state.width && xy[1] < state.height)\r\n grender(new RenderingHelper(context, xy), element);\r\n }\r\n\r\n });\r\n context.restore();\r\n },\r\n });\r\n\r\n let coll = await Esri.Core.Collection();\r\n let MultilayerConstructor = (await Esri.Layers.BaseTileLayer()).createSubclass({\r\n properties: {\r\n skipIfNoValue: true,\r\n },\r\n preRenderingCallBack: null,\r\n renderingCallBack: null,\r\n hitTestBuffer: 5,\r\n graphics: coll,\r\n createLayerView(view) {\r\n return new MultilayerView({\r\n view: view,\r\n layer: this\r\n });\r\n }\r\n });\r\n return new MultilayerConstructor(options) as IMultiLayer;\r\n}\r\n\r\nclass RenderingHelper {\r\n public context: CanvasRenderingContext2D;\r\n\r\n private xy: number[] = null;\r\n\r\n constructor(context: CanvasRenderingContext2D, xy: number[]) {\r\n this.context = context;\r\n this.xy = xy;\r\n }\r\n\r\n public drawCircle(radius: number,\r\n fillStyle: string | CanvasGradient | CanvasPattern,\r\n strokeStyle: string | CanvasGradient | CanvasPattern, strokeWidth: number = 2) {\r\n this.context.lineWidth = strokeWidth;\r\n this.context.beginPath();\r\n this.context.arc(this.xy[0], this.xy[1], radius, 0, 2 * Math.PI);\r\n\r\n if (strokeStyle) {\r\n this.context.strokeStyle = strokeStyle;\r\n this.context.stroke();\r\n }\r\n\r\n if (fillStyle) {\r\n this.context.fillStyle = fillStyle;\r\n this.context.fill();\r\n }\r\n }\r\n\r\n public drawRect(width: number, height: number,\r\n fillStyle: string | CanvasGradient | CanvasPattern,\r\n strokeStyle: string | CanvasGradient | CanvasPattern, strokeWidth: number = 2) {\r\n\r\n this.context.lineWidth = strokeWidth;\r\n if (fillStyle) {\r\n this.context.fillStyle = fillStyle;\r\n this.context.fillRect(this.xy[0] - width / 2, this.xy[1] - height / 2, width, height);\r\n }\r\n if (strokeStyle) {\r\n this.context.strokeStyle = strokeStyle;\r\n this.context.strokeRect(this.xy[0] - width / 2, this.xy[1] - height / 2, width, height);\r\n }\r\n }\r\n\r\n public drawText(value: string,\r\n font: string,\r\n fillStyle: string | CanvasGradient | CanvasPattern,\r\n strokeStyle: string | CanvasGradient | CanvasPattern,\r\n width: number,\r\n offsetx?: number, offsety?: number, strokeWidth: number = 2) {\r\n\r\n this.context.lineWidth = strokeWidth;\r\n if (font) this.context.font = font;\r\n if (fillStyle) this.context.fillStyle = fillStyle;\r\n if (strokeStyle) this.context.strokeStyle = strokeStyle;\r\n\r\n let x = this.xy[0] - (width || 0) / 2;\r\n let y = this.xy[1];\r\n\r\n if (typeof (offsetx) === \"number\") x = x + offsetx;\r\n if (typeof (offsety) === \"number\") y = y + offsety;\r\n\r\n this.context.fillText(value, x, y, width);\r\n if (strokeStyle) this.context.strokeText(value, x, y, width);\r\n }\r\n\r\n}\r\n\r\n\r\ninterface RenderingFunctionDelegate {\r\n (rendering: RenderingHelper, graphic: __esri.Graphic)\r\n}\r\n\r\ninterface PreRenderingFunctionDelegate {\r\n (context: CanvasRenderingContext2D, state: IState)\r\n}\r\n\r\nexport interface IMultiLayer {\r\n graphics: __esri.Collection<__esri.Graphic>,\r\n preRenderingCallBack: PreRenderingFunctionDelegate,\r\n renderingCallBack: RenderingFunctionDelegate\r\n}\r\n\r\nexport interface IMultiLayerView {\r\n preRenderingCallBack: PreRenderingFunctionDelegate,\r\n renderingCallBack: RenderingFunctionDelegate\r\n}\r\n\r\ninterface IState {\r\n toScreenNoRotation(destination, source),\r\n width: number,\r\n rotation: number,\r\n scale: number,\r\n height: number,\r\n latitude: number,\r\n longitude: number\r\n}\r\n","import { ICustomLayerRenderer, IGeometryRaster, IState, IColoringFunction } from \"../ClientsideImageryLayer\";\r\n\r\nexport const defaultGeoTiffRenderer: ICustomLayerRenderer = (element: IGeometryRaster,\r\n context: CanvasRenderingContext2D,\r\n state: IState, wmUtils: __esri.webMercatorUtils,\r\n applyBlur: boolean = true,\r\n avoidTransparent: boolean = false,\r\n coloringFunction: IColoringFunction = null) => {\r\n\r\n let xmin = element.rasterdata.xmin;\r\n let ymin = element.rasterdata.ymin;\r\n let xmax = element.rasterdata.xmax;\r\n let ymax = element.rasterdata.ymax;\r\n\r\n let top = [0, 0];\r\n let bottom = [0, 0];\r\n state.toScreenNoRotation(top, [xmin, ymax]);\r\n state.toScreenNoRotation(bottom, [xmax, ymin]);\r\n\r\n if (applyBlur) {\r\n var sw = Math.floor((bottom[0] - top[0]) / element.rasterdata.width);\r\n (context as any).filter = 'opacity(1) blur(' + (sw * 0.5) + 'px)';\r\n }\r\n\r\n context.globalCompositeOperation = \"source-over\";\r\n let rxstep = ((element.rasterdata.xmax - element.rasterdata.xmin) / element.rasterdata.width);\r\n let rystep = ((-element.rasterdata.ymax + element.rasterdata.ymin) / element.rasterdata.height);\r\n\r\n element.rasterdata.values.forEach((ras, index) => {\r\n for (let x = 0; x < element.rasterdata.width; x++) {\r\n for (let y = 0; y < element.rasterdata.height; y++) {\r\n let val = ras[y][x];\r\n\r\n if (!val || val == element.rasterdata.no_data_value || val < -1000) continue;\r\n\r\n let gxmin = (xmin + (x) * rxstep);\r\n let gxmax = (xmin + (x + 1) * rxstep);\r\n let gymin = (ymax + (y) * rystep);\r\n let gymax = (ymax + (y + 1) * rystep);\r\n\r\n let p1 = [0, 0];\r\n let p2 = [0, 0];\r\n state.toScreenNoRotation(p1, [gxmin, gymax]);\r\n state.toScreenNoRotation(p2, [gxmax, gymin]);\r\n\r\n var color = coloringFunction ? coloringFunction(val) : [0, 0, 0, val];\r\n\r\n context.fillStyle = `rgba(${color[0]},${color[1]},${color[2]}, ${color[3]})`\r\n context.fillRect(p1[0], p1[1], p2[0] - p1[0], p2[1] - p1[1]);\r\n }\r\n }\r\n });\r\n\r\n // if (applyBlur && avoidTransparent) {\r\n // // Il blur applica di suo delle trasparenze,\r\n // // imposto a opaco la banda alfa.\r\n // var idata = context.getImageData(top[0], top[1], bottom[0] - top[0], bottom[1] - top[1]);\r\n // var il = idata.width * idata.height;\r\n // // var ih = idata.height;\r\n // var imgdata = idata.data;\r\n // for (var x = 0; x < il; x++)\r\n // {\r\n // let idx = x * 4 + 3;\r\n // imgdata[idx] = imgdata[idx]>0? 255:0;\r\n // }\r\n\r\n // context.putImageData(idata, top[0], top[1]);\r\n // }\r\n};\r\n","import { Esri, geometryClip, ArrayObserver } from \"@/esriMap\";\r\nimport { bilinear_unrolled, bilinear_optimized, nearest, nearest_unrolled, bicubic_optimized } from \"./functions/upscalingFunctions\";\r\nimport { defaultGeoTiffRenderer } from \"./renderers/defaultGeoTiffRenderer\";\r\n\r\nexport async function ClientsideImageryLayer(options): Promise {\r\n\r\n let webMercatorUtils = await Esri.Geometry.Support.webMercatorUtils();\r\n\r\n let ClientsideImageryLayerView = (await Esri.Layers.BaseLayerView2D()).createSubclass({\r\n // create Web workers to manipulate the raster image\r\n // Attach property watchers to layer\r\n attach: function () {\r\n this._imagesWatcher = this.layer.watch(\"applyBlur\", function () {\r\n this.requestRender();\r\n })\r\n },\r\n // Detach property watchers from layer\r\n detach: function () {\r\n this._imagesWatcher.remove();\r\n // this._propertyHandle = null;\r\n },\r\n async render(renderParameters: { context: Object, stationary: boolean, state: IState }) {\r\n var state = renderParameters.state;\r\n var context = renderParameters.context as any;\r\n\r\n var pixelRatio = state.pixelRatio;\r\n var width = state.size[0];\r\n var height = state.size[1];\r\n\r\n // exit if scale is too high\r\n if (this.layer.applyScaleLimit && state.scale > this.layer.renderingScaleLimit) return;\r\n\r\n if (state.rotation !== 0) {\r\n context.translate(width * pixelRatio * 0.5, height * pixelRatio * 0.5);\r\n context.rotate((state.rotation * Math.PI) / 180);\r\n context.translate(- width * pixelRatio * 0.5, -height * pixelRatio * 0.5);\r\n }\r\n\r\n context.save();\r\n\r\n (this.layer.geometryRasters).forEach(async (element: IGeometryRaster) => {\r\n\r\n { //// CHECK DI USCITA ANTICIPATO\r\n let ext = state.extent;\r\n let rd = element.geometry.extent.clone();\r\n\r\n if (rd.spatialReference.isWGS84) {\r\n let minxy = webMercatorUtils.lngLatToXY(rd.xmin, rd.ymin);\r\n let maxxy = webMercatorUtils.lngLatToXY(rd.xmax, rd.ymax);\r\n\r\n\r\n rd.xmin = minxy[0];\r\n rd.ymin = minxy[1];\r\n rd.xmax = maxxy[0];\r\n rd.ymax = maxxy[1];\r\n }\r\n\r\n\r\n if (rd.xmin > ext.xmax || rd.xmax < ext.xmin || rd.ymax < ext.ymin || rd.ymin > ext.ymax) {\r\n return;\r\n }\r\n }\r\n\r\n if (!element.rasterdata && this.layer.rasterLoader) {\r\n let rpromise = this.layer.rasterLoader(element.rasterUri, element.minValue, element.maxValue)\r\n element.rasterdata = rpromise;\r\n element.rasterdata = this.layer.toWebMercator(await rpromise);\r\n\r\n // Request render.\r\n this.requestRender();\r\n }\r\n else\r\n if (element.rasterdata && !(element.rasterdata instanceof Promise)) {\r\n this.createTile(element, context, state);\r\n }\r\n });\r\n\r\n context.restore();\r\n },\r\n\r\n redraw: function () {\r\n this.requestRender();\r\n },\r\n\r\n createTile: function (element: IGeometryRaster, context, state) {\r\n\r\n context.save();\r\n // Chiamate alle funzioni di preprocessing\r\n this.layer.preProcessingFunctions.forEach((func: IPreProcessingFunction) => {\r\n element = func(element, context, state, webMercatorUtils) || element;\r\n });\r\n\r\n if (this.layer.renderer) {\r\n this.layer.renderer(element, context, state, webMercatorUtils, this.layer.applyBlur, false, this.layer.coloringFunction);\r\n }\r\n\r\n // Chiamata alle funzioni di postprocessing\r\n this.layer.postProcessingFunctions.forEach((func: IPostProcessingFunction) => {\r\n func(element, context, state, webMercatorUtils);\r\n });\r\n context.restore();\r\n },\r\n })\r\n\r\n let ClientsideImageryLayer = (await Esri.Layers.BaseTileLayer()).createSubclass({\r\n properties: {\r\n skipIfNoValue: true,\r\n },\r\n\r\n preProcessingFunctions: [geometryClip] as Array,\r\n postProcessingFunctions: [] as Array,\r\n renderer: defaultGeoTiffRenderer,\r\n coloringFunction: null as IColoringFunction,\r\n geometryRasters: [] as IGeometryRaster[],\r\n applyBlur: false,\r\n renderingScaleLimit: 30000,\r\n applyScaleLimit: true,\r\n rasterLoader: null,\r\n\r\n addImageRaster: function (item: IGeometryRaster) {\r\n this.geometryRasters.push({\r\n attributes: item.attributes,\r\n geometry: item.geometry,\r\n rasterUri: item.rasterUri,\r\n rasterdata: item.rasterdata ? this.toWebMercator(item.rasterdata) : null,\r\n minValue: item.minValue,\r\n maxValue: item.maxValue\r\n } as IGeometryRaster);\r\n },\r\n\r\n toWebMercator: function (rasterdata) {\r\n if (rasterdata.projection == 4326) {\r\n let minxy = webMercatorUtils.lngLatToXY(rasterdata.xmin, rasterdata.ymin);\r\n let maxxy = webMercatorUtils.lngLatToXY(rasterdata.xmax, rasterdata.ymax);\r\n\r\n rasterdata.xmin = minxy[0];\r\n rasterdata.ymin = minxy[1];\r\n rasterdata.xmax = maxxy[0];\r\n rasterdata.ymax = maxxy[1];\r\n }\r\n\r\n return rasterdata;\r\n },\r\n createLayerView(view): IClientsideImageryLayerView {\r\n\r\n let lv = new ClientsideImageryLayerView({\r\n view: view,\r\n layer: this\r\n });\r\n\r\n this.requestRender = () => lv.requestRender();\r\n return lv;\r\n },\r\n redraw() {\r\n this.requestRender();\r\n }\r\n\r\n });\r\n\r\n let instance = new ClientsideImageryLayer(options) as IClientsideImageryLayer;\r\n instance.geometryRasters = [];\r\n instance.applyBlur = false;\r\n return instance;\r\n}\r\n\r\nexport interface IClientsideImageryLayer extends __esri.Layer {\r\n geometryRasters: Array;\r\n addImageRaster(item: IGeometryRaster);\r\n preProcessingFunctions: Array,\r\n postProcessingFunctions: Array,\r\n renderer: ICustomLayerRenderer,\r\n applyBlur: boolean,\r\n renderingScaleLimit: 30000,\r\n applyScaleLimit: true,\r\n rasterLoader: (uri: string, min, max) => Promise,\r\n coloringFunction: IColoringFunction,\r\n requestRender()\r\n // redraw()\r\n}\r\n\r\nexport interface IClientsideImageryLayerView extends __esri.LayerView {\r\n\r\n}\r\n\r\n\r\nexport interface IGeometryRaster {\r\n geometry: __esri.Polygon;\r\n rasterdata: IRaster, // | Promise,\r\n rasterUri: string,\r\n\r\n attributes?: any,\r\n _currentScale?: number,\r\n _tile?: any;\r\n\r\n minValue?: number;\r\n maxValue?: number;\r\n}\r\n\r\nexport interface IRaster {\r\n values: Array>>,\r\n xmin: number,\r\n ymin: number,\r\n xmax: number,\r\n ymax: number,\r\n width: number,\r\n height: number,\r\n no_data_value: number,\r\n projection: number,\r\n normalized: boolean,\r\n interpolated: boolean,\r\n cleaned: boolean\r\n}\r\n\r\nexport interface IPreProcessingFunction {\r\n (data: IGeometryRaster,\r\n context: CanvasRenderingContext2D,\r\n state: {\r\n toScreenNoRotation(destination, source)\r\n }, wmUtils: __esri.webMercatorUtils\r\n ): IGeometryRaster;\r\n}\r\n\r\nexport interface IPostProcessingFunction {\r\n (data: IGeometryRaster,\r\n context: CanvasRenderingContext2D,\r\n state: IState, wmUtils: __esri.webMercatorUtils);\r\n}\r\n\r\nexport interface IColoringFunction {\r\n (data: number): number[]\r\n}\r\n\r\nexport interface ICustomLayerRenderer {\r\n (data: IGeometryRaster,\r\n context: CanvasRenderingContext2D,\r\n state: IState, wmUtils: __esri.webMercatorUtils,\r\n applyBlur: boolean,\r\n avoidTransparent: boolean,\r\n coloringFunction: IColoringFunction);\r\n}\r\n\r\nexport interface IState {\r\n toScreenNoRotation(destination, source),\r\n // width: number,\r\n rotation: number,\r\n scale: number,\r\n // height: number,\r\n size: Array,\r\n center: Array,\r\n // latitude: number,\r\n // longitude: number\r\n pixelRatio: number,\r\n extent: { xmax: number, xmin: number, ymax: number, ymin: number }\r\n}\r\n\r\nexport function BindArrayToImagery(from: T[], to: IClientsideImageryLayer,\r\n filter: { (item: T): boolean } = i => true,\r\n map: { (item: T): Promise },\r\n deep: boolean = false) {\r\n function removeRaster(_g) {\r\n if (_g == null) return;\r\n let $g = _g._$graphic$_;\r\n let idx = to.geometryRasters.indexOf($g);\r\n if (idx >= 0) to.geometryRasters.splice(idx, 1);\r\n _g._$graphic$_ = null;\r\n }\r\n\r\n async function addRaster(_g) {\r\n if (_g == null) return;\r\n if ((_g as any)._$graphic$_) return;\r\n let $g = (await map(_g)) as IGeometryRaster;\r\n (_g as any)._$graphic$_ = $g;\r\n to.addImageRaster($g);\r\n }\r\n\r\n let observer = new ArrayObserver(from, deep);\r\n observer.Subscribe((operation, inserted, deleted) => {\r\n\r\n if (deleted)\r\n deleted.filter(i => filter(i)).forEach((i: any) => {\r\n if (i instanceof Array)\r\n i.forEach(element => removeRaster(element));\r\n else\r\n removeRaster(i);\r\n });\r\n\r\n if (inserted)\r\n inserted.filter(i => filter(i)).forEach(async i => {\r\n addRaster(i);\r\n });\r\n });\r\n\r\n (from).filter(i => filter(i)).forEach(async i => {\r\n addRaster(i);\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(options?: any): Promise<__esri.BaseDynamicLayer> {\r\n // return await Loader.create<__esri.BaseDynamicLayer>(Loader.packageName + \"/layers/BaseDynamicLayer\", options);\r\n // }\r\n\r\n // public async BaseElevationLayer(options?: any): Promise<__esri.BaseElevationLayer> {\r\n // return await Loader.create<__esri.BaseElevationLayer>(Loader.packageName + \"/layers/BaseElevationLayer\", 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 { Loader, CreationResult } from \"./esriUtils\";\r\nimport { Esri } from \"@/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 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: Array<__esri.Geometry>): Promise<__esri.Extent> {\r\n let extent: __esri.Extent = null;\r\n if (geometries)\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 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 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 MultipointConstructor(): Promise<__esri.PointConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/Multipoint\"));\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 public Support = {\r\n normalizeUtils: async function (): Promise<__esri.normalizeUtils> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/support/normalizeUtils\")) as __esri.normalizeUtils;\r\n },\r\n jsonUtils: async function (): Promise<__esri.jsonUtils> {\r\n return (await Loader.get(Loader.packageName + \"/geometry/support/jsonUtils\")) as __esri.jsonUtils;\r\n },\r\n webMercatorUtils: async function (): 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","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\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, CreationResult } 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, 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<__esri.Sketch>(Loader.packageName + \"/widgets/Sketch\", options));\r\n }\r\n\r\n public async SketchViewModel(options?: any): Promise {\r\n return (await Loader.create<__esri.SketchViewModel>(Loader.packageName + \"/widgets/Sketch/SketchViewModel\", 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\r\n public async Search(mapView: __esri.View, position: string = \"top-left\"): Promise<__esri.Search> {\r\n let search: __esri.Search = await new Widgets().Search({ view: mapView } as __esri.SearchProperties);\r\n // mapView.ui.add(search, { position: position, index: 0 });\r\n mapView.ui.add([{ component: search, position: 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 let home = await new Widgets().Home({ view: mapView } as __esri.HomeProperties);\r\n mapView.ui.add(home, { position: 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 let result = await new Widgets().Locate({ view: mapView } as __esri.LocateProperties);\r\n mapView.ui.add(result, { position: 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 let result = await new Widgets().Track({ view: mapView } as __esri.TrackProperties);\r\n mapView.ui.add(result, { position: 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 let _widgets = new Widgets();\r\n let legendFunction = function (event) {\r\n let 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 let 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 let 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: 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 let result = await new Widgets().Legend({ view: mapView });\r\n mapView.ui.add(result, { position: 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 let result = await new Widgets().Legend({ view: mapView, container: document.createElement(\"div\"), style: \"card\" });\r\n let expand = await new Widgets().Expand({ view: mapView, content: result, expandIconClass: iconClass });\r\n\r\n mapView.ui.add(expand, { position: 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 let _widgets = new Widgets();\r\n let result = await _widgets.BasemapGallery({\r\n view: mapView, container: document.createElement(\"div\"), source: {\r\n portal: {\r\n url: \"https://www.arcgis.com\",\r\n useVectorBasemaps: true, // Load vector tile basemap group\r\n },\r\n }\r\n });\r\n let 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: 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 let _widgets = new Widgets();\r\n let result = await _widgets.AreaMeasurement2D({})\r\n mapView.ui.add(result, { position: position } as any);\r\n }\r\n\r\n}\r\n","import { Loader, CreationResult } 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/smartMapping/statistics/classBreaks\", 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 async ClassBreaks(options: any): Promise {\r\n let func = await (Loader.get(Loader.packageName + \"/renderers/smartMapping/statistics/classBreaks\"));\r\n return await func(options);\r\n }\r\n\r\n public async ColorRendererCreator(): Promise<__esri.color> {\r\n return await Loader.get(Loader.packageName + \"/renderers/smartMapping/creators/color\")\r\n }\r\n\r\n public Symbology: Symbology = new Symbology();\r\n}\r\n\r\nexport class Symbology {\r\n public Color: Color = new Color();\r\n}\r\n\r\nexport class Color {\r\n public async getSchemes(): Promise<__esri.ColorScheme> {\r\n let 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 let 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 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}","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\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 public async PromiseUtils(): Promise<__esri.promiseUtils> {\r\n return (await Loader.get(Loader.packageName + \"/core/promiseUtils\")) as __esri.promiseUtils;\r\n }\r\n\r\n public async WatchUtils(): Promise<__esri.watchUtils> {\r\n return (await Loader.get(Loader.packageName + \"/core/watchUtils\")) as __esri.watchUtils;\r\n }\r\n\r\n\r\n}\r\n\r\nexport class Esri {\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\r\n\r\n public static async GraphicConstructor(): Promise<__esri.GraphicConstructor> {\r\n return (await Loader.get(Loader.packageName + \"/Graphic\"));\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 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\r\n\r\n\r\n\r\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","import { baseRestService } from \"@/utils/baseRestService\";\r\nimport { Config } from \"@/config\";\r\n\r\nclass AccountService extends baseRestService {\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.api.apiServerUrl;\r\n }\r\n\r\n async UsernameExist(username: string): Promise {\r\n return await this.Get(`/api/account/username/exist/${username}`, { applicationId: Config.auth.client_id});\r\n }\r\n\r\n async UsernameHasInternal(username: string): Promise {\r\n return await this.Get(`/api/account/username/has-internal/${username}`, { applicationId: Config.auth.client_id});\r\n }\r\n\r\n async EmailExist(email: string): Promise {\r\n return await this.Get(`/api/account/email/exist/${email}`, { applicationId: Config.auth.client_id});\r\n }\r\n\r\n async Invite(obj: server.auth.invite): Promise {\r\n const returnUrl = `${location.origin}/email-confirm`;\r\n return await this.Post(`/api/account/invite`, obj, { returnUrl: returnUrl, applicationId: Config.auth.client_id});\r\n }\r\n\r\n async InternalCredentials(obj: server.auth.internalCredentials): Promise {\r\n return await this.Post(`/api/account/generate-internal-credential`, obj, { returnUrl: location.origin, applicationId: Config.auth.client_id});\r\n }\r\n \r\n async ForgotPassword(obj: server.account.forgotPassword): Promise {\r\n const returnUrl = `${location.origin}/reset-password`;\r\n return await this.Post(`/api/account/password/forgot`, obj, {returnUrl: returnUrl, applicationId: Config.auth.client_id});\r\n }\r\n\r\n async ResetPassword(obj: server.account.resetPassword): Promise {\r\n return await this.Post(`/api/account/password/reset`, obj, { applicationId: Config.auth.client_id});\r\n }\r\n\r\n async SetPassword(obj: server.account.setPassword): Promise {\r\n return await this.Post(`/api/account/password/reset`, obj, { applicationId: Config.auth.client_id});\r\n }\r\n\r\n async ChangePassword(obj: server.account.changePassword): Promise {\r\n return await this.Post(`/api/account/password/change`, obj, { applicationId: Config.auth.client_id});\r\n }\r\n}\r\n\r\nexport const accountService: AccountService = new AccountService();","/* eslint-disable no-console */\r\n\r\nimport { register, unregister, } from 'register-service-worker'\r\nimport { Config } from '@/config';\r\n\r\nif (Config.serviceWorker.workerEnabled) {\r\n // Register sync service worker .. \r\n console.log('installing or upgrading worker', `${process.env.BASE_URL}sw.js`)\r\n try {\r\n register(`${process.env.BASE_URL}sw.js`, {\r\n registrationOptions: { scope: '/' },\r\n ready() { \r\n console.log('APP is being served from cache by a service worker.\\n')\r\n },\r\n registered() { },\r\n });\r\n } catch (err) {\r\n console.error(\"Error in registering or upgrading \")\r\n }\r\n}\r\nelse {\r\n unregister();\r\n}\r\n","//dynamic modules\r\n\r\n// ATTENZIONE \r\n// ------------------------------------------------------\r\n// 1) NOMINARE IN MODO CORRETTO IL MODULO DI WEBPACK \r\n// 2) L'ordine di caricamento dei moduli determina l'ordine di visualizzazione dei moduli nella home\r\n// ------------------------------------------------------\r\n\r\nlet MODULE_REGISTRY = {\r\n \r\n syncMap: () => import(/* webpackChunkName: \"modules/baseMapsSync\" */ '@/modules/baseMapsSync'),\r\n domains: () => import(/* webpackChunkName: \"modules/domains\" */ '@/modules/domains'),\r\n media: () => import( /* webpackChunkName: \"modules/media\" */ '@/modules/media'),\r\n logs: () => import( /* webpackChunkName: \"modules/media\" */ '@/modules/Logs'),\r\n \r\n syncDeletedRow: () => import(/* webpackChunkName: \"modules/SyncDeletedRow\" */ '@/modules/SyncDeletedRow'),\r\n \r\n versioneInSitu: () => import(/* webpackChunkName: \"modules/VersioneInSitu\" */ '@/modules/VersioneInSitu'),\r\n versioneExSitu: () => import(/* webpackChunkName: \"modules/VersioneExSitu\" */ '@/modules/VersioneExSitu'),\r\n utenti: () => import(/* webpackChunkName: \"modules/utenti\" */ '@/modules/Utenti'),\r\n\r\n areeOmogenee: () => import(/* webpackChunkName: \"modules/areeOmogenee\" */ '@/modules/AreeOmogenee'),\r\n areeBoscoDaSeme: () => import(/* webpackChunkName: \"modules/AreeBoscoDaSeme\" */ '@/modules/AreeBoscoDaSeme'),\r\n areaRaccolta: () => import(/* webpackChunkName: \"modules/AreaRaccolta\" */ '@/modules/AreaRaccolta'),\r\n areaSaggio: () => import(/* webpackChunkName: \"modules/AreaSaggio\" */ '@/modules/AreaSaggio'),\r\n areaSaggioClasseDiametrica: () => import(/* webpackChunkName: \"modules/AreaSaggioClasseDiametrica\" */ '@/modules/AreaSaggioClasseDiametrica'),\r\n areaSaggioPiantaCampione: () => import(/* webpackChunkName: \"modules/AreaSaggioPiantaCampione\" */ '@/modules/AreaSaggioPiantaCampione'),\r\n piantaPlus: () => import(/* webpackChunkName: \"modules/PiantaPlus\" */ '@/modules/PiantaPlus'),\r\n \r\n areaSperimentale: () => import(/* webpackChunkName: \"modules/AreaSperimentale\" */ '@/modules/AreaSperimentale'),\r\n areaSpecieProvenienza: () => import(/* webpackChunkName: \"modules/AreaSpecieProvenienza\" */ '@/modules/AreaSpecieProvenienza'),\r\n piantaSemeMarze: () => import(/* webpackChunkName: \"modules/PiantaSemeMarze\" */ '@/modules/PiantaSemeMarze'),\r\n\r\n report: () => import(/* webpackChunkName: \"modules/reports\" */ '@/modules/Reports'),\r\n\r\n accounting: () => import(/* webpackChunkName: \"modules/accounting\" */ '@/modules/Accounting'),\r\n \r\n agolSync: () => import(/* webpackChunkName: \"modules/agolSync\" */ '@/modules/AgolSync'),\r\n\r\n mapVisualization : () => import(/* webpackChunkName: \"modules/MapVisualization\" */ '@/modules/MapVisualization'),\r\n\r\n}\r\n\r\nexport default MODULE_REGISTRY;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app web\"},[_c('drawer-menu'),_c('div',{staticClass:\"app-body\"},[_c('app-bar'),_c('article',[_c('router-view'),_c('modal-container')],1)],1),_c('alert')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{directives:[{name:\"area\",rawName:\"v-area:header\",arg:\"header\"}]},[_c('div',{staticClass:\"content\"},[_c('button',{on:{\"click\":_vm.toggledrawerMenu}},[_c('i',{staticClass:\"fas fa-bars\"})]),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(_vm.$route.meta.title)))]),_c('sync-button')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isWeb)?_c('div',{staticClass:\"sync-data-container\"},[_c('div',{staticClass:\"sync-data\",on:{\"click\":function($event){_vm.workOffline = !_vm.workOffline}}},[_c('i',{staticClass:\"fas fa-wifi\",class:{ 'off': _vm.workOffline }})]),_c('div',{staticClass:\"sync-data\",class:{ 'off': _vm.workOffline },on:{\"click\":function($event){!_vm.workOffline && _vm.sync()}}},[_c('i',{staticClass:\"fas fa-sync\",class:{ 'fa-spin fa-fw': _vm.state === 'start' }}),(!_vm.workOffline)?_c('i',{staticClass:\"notification\",class:{'green': _vm.state === 'complete', 'red': _vm.state === 'error'}}):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { messageService } from '@/utils/MessageService';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\n@Component({})\r\nexport default class syncButton extends Vue {\r\n state: \"start\" | \"complete\" | \"error\" = \"complete\";\r\n\r\n get isWeb(): boolean {\r\n return layoutHelper.isWeb;\r\n }\r\n\r\n async mounted() {\r\n messageService.subscribe('syncData', (message: syncDataMessages) => {\r\n this.state = message.state;\r\n });\r\n\r\n this.offline = await PersistentStore.getKey(\"WorkOffline\") || false;\r\n\r\n if (this.isWeb) {\r\n this.offline = false\r\n await PersistentStore.setKey(\"WorkOffline\", false);\r\n }\r\n }\r\n\r\n offline: boolean = false;\r\n\r\n get workOffline(): boolean {\r\n return this.offline;\r\n }\r\n set workOffline(value: boolean) {\r\n PersistentStore.setKey(\"WorkOffline\", value).then(() => {\r\n this.$nextTick(() => this.offline = value);\r\n });\r\n\r\n messageService.publish(\"OfflineChanged\");\r\n }\r\n\r\n sync() {\r\n if (this.state !== \"start\") {\r\n messageService.publish('syncDataRequired')\r\n }\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./syncButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./syncButton.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./syncButton.vue?vue&type=template&id=b79ef58a&\"\nimport script from \"./syncButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./syncButton.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./syncButton.vue?vue&type=style&index=0&lang=less&\"\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","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { store } from '@/store';\r\nimport syncButton from '@/components/sync-button/syncButton.vue';\r\n\r\n\r\n@Component({\r\n components: {\r\n syncButton,\r\n }\r\n})\r\nexport default class AppBar extends Vue {\r\n\r\n get subMenuOpened() { return store.getters.ui.subMenuOpened(); }\r\n set subMenuOpened(value) { store.actions.ui.toggleSubMenu(value); }\r\n\r\n toggledrawerMenu() {\r\n store.actions.ui.toggleUserMenu(false);\r\n store.actions.ui.toggleDrawerMenu(!store.getters.ui.drawerMenuOpened());\r\n }\r\n\r\n get showExpander() {\r\n return store.getters.ui.modalVisible() ? false : (this.$route.meta && this.$route.meta.showExpander)\r\n }\r\n\r\n mounted() {\r\n\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./appBar.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./appBar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appBar.vue?vue&type=template&id=2b8907d4&\"\nimport script from \"./appBar.ts?vue&type=script&lang=ts&\"\nexport * from \"./appBar.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./appBar.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"drawer-menu\",class:{ show: _vm.drawerMenuOpened }},[_vm._m(0),_c('header',[_c('div',{staticClass:\"accounting\"},[_c('button',{class:{ active: _vm.userMenuOpened },on:{\"click\":function($event){return _vm.toggleuserMenu(!_vm.userMenuOpened)}}},[_c('i',{class:_vm.userMenuOpened ? \"fas fa-times\" : \"fas fa-ellipsis-v\"})]),_c('div',{class:{ show: _vm.userMenuOpened }},[_c('button',{on:{\"click\":function($event){return _vm.goToRouted('Change_Data')}}},[_c('i',{staticClass:\"fas fa-user-edit\"}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(\"change-user-data\",\"Modifica i tuoi dati\")))])]),_c('button',{on:{\"click\":function($event){return _vm.goToRouted('Change_Password')}}},[_c('i',{staticClass:\"fas fa-key\"}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(\"change-password\",\"Cambia Password\")))])]),_c('button',{on:{\"click\":function($event){_vm.layout = true}}},[_c('i',{staticClass:\"fas fa-mobile-alt\"}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(\"switch-to-mobile\",\"Switch to mobile\")))])]),_c('button',{on:{\"click\":function($event){return _vm.logoff()}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(\"log-off\",\"Esci\")))])])])]),(_vm.userInfo)?_c('div',{staticClass:\"user-info\"},[(_vm.userInfo.firstName && _vm.userInfo.lastName)?_c('div',{staticClass:\"user-initals rounded\"},[_c('span',[_vm._v(_vm._s(_vm.userInfo.firstName.split(\"\")[0]))]),_c('span',[_vm._v(_vm._s(_vm.userInfo.lastName.split(\"\")[0]))])]):_c('img',{staticClass:\"user-initals rounded\",attrs:{\"src\":_vm._f(\"gravatar\")(_vm.userInfo.email)}}),_c('label',[_vm._v(_vm._s(_vm.userInfo.firstName)+\" \"+_vm._s(_vm.userInfo.lastName))])]):_vm._e()]),(_vm.drawerMenuOpened)?_c('section',[_c('ul',[_c('li',{class:{ routed: _vm.routed == 'home' },on:{\"click\":function($event){return _vm.goToRouted('home')}}},[_c('i',{staticClass:\"fas fa-home\"}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(\"home\",\"Home\")))])])]),_vm._l((_vm.drawerMenu),function(dm,index){return _c('div',{key:index,staticClass:\"group-items\",attrs:{\"clas\":\"\"}},[_c('label',[_vm._v(_vm._s(dm[0]))]),_c('ul',_vm._l((dm[1]),function(m){return _c('li',{key:m.item.name,class:[{ routed: _vm.routed == m.item.routeName }, m.item.class],on:{\"click\":function($event){return _vm.goTo(m)}}},[_c('i',{class:m.item.icon}),_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(m.item.description)))])])}),0)])})],2):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo-area\"},[_c('span',{staticClass:\"logo\"},[_vm._v(\"UmbraFlor\")])])}]\n\nexport { render, staticRenderFns }","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { store } from '@/store';\r\nimport { IMenuDefinition, MenuHelper, menuType } from '@/helpers/MenuHelper';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { securityService } from '@/services/securityService';\r\nimport Toggle from '@/components/inputs/toggle.vue';\r\nimport { modalHelper } from '@/components/modal/modalHelper';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\n@Component({ components: { toggle: Toggle } })\r\nexport default class DrawerMenu extends Vue {\r\n\r\n get layout(): boolean {\r\n return !layoutHelper.isWeb;\r\n }\r\n\r\n set layout(mobileLayout: boolean) {\r\n layoutHelper.set(mobileLayout ? \"mobile\" : \"web\")\r\n this.goToRouted('home');\r\n window.location = window.location.origin as any;\r\n }\r\n\r\n get drawerMenu() {\r\n var grouped = MenuHelper.getMenu(menuType.drawer).reduce((a, c) => {\r\n if (!a[c.item.group]) {\r\n a[c.item.group] = [];\r\n }\r\n a[c.item.group].push(c);\r\n return a;\r\n }, {});\r\n return Object.entries(grouped);\r\n }\r\n\r\n get drawerMenuOpened() { return store.getters.ui.drawerMenuOpened(); }\r\n\r\n get userMenuOpened() { return store.getters.ui.userMenuOpened(); }\r\n\r\n toggledrawerMenu() {\r\n store.actions.ui.toggleDrawerMenu(!store.getters.ui.drawerMenuOpened());\r\n }\r\n\r\n toggleuserMenu(opened: boolean) {\r\n store.actions.ui.toggleUserMenu(opened);\r\n // store.actions.ui.toggleUserMenu(!store.getters.ui.userMenuOpened());\r\n }\r\n\r\n get userInfo(): server.userInfo {\r\n return securityService.getInfo()\r\n }\r\n\r\n async logoff() {\r\n await PersistentStore.CleanDB();\r\n await securityService.Logout();\r\n window.location = (window.location.origin as any);\r\n }\r\n\r\n goTo(m: { item: IMenuDefinition, children: IMenuDefinition[] }) {\r\n if (m.item.routeName) {\r\n modalHelper.closeModal();\r\n this.toggledrawerMenu();\r\n this.toggleuserMenu(false);\r\n this.$router.push({ name: m.item.routeName, params: m.item.routeParams as any }).catch(err => { })\r\n }\r\n }\r\n\r\n get routed() {\r\n return this.$route.name;\r\n }\r\n\r\n goToRouted(route) {\r\n modalHelper.closeModal();\r\n this.toggledrawerMenu();\r\n this.toggleuserMenu(false);\r\n this.$router.push({ name: route })\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./drawerMenu.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./drawerMenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./drawerMenu.vue?vue&type=template&id=64f2c4e8&\"\nimport script from \"./drawerMenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./drawerMenu.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./drawerMenu.vue?vue&type=style&index=0&lang=less&\"\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","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { store } from '@/store';\r\nimport appBar from \"./components/web/appBar.vue\";\r\nimport drawerMenu from \"./components/web/drawerMenu.vue\";\r\n@Component({\r\n components: {\r\n appBar,\r\n drawerMenu,\r\n }\r\n})\r\n\r\nexport default class Main extends Vue {\r\n get drawerMenuOpened() {\r\n return store.getters.ui.drawerMenuOpened();\r\n }\r\n}","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./layout.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./layout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./layout.vue?vue&type=template&id=6a0c7cab&\"\nimport script from \"./layout.ts?vue&type=script&lang=ts&\"\nexport * from \"./layout.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./layout.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"scrollable grid-web-dashboard\"},[(_vm.inSituComponents && _vm.inSituComponents.length > 0)?_c('section',[_c('label',[_vm._v(_vm._s((\"Censimento in situ \" + (_vm.currentInSitu ? _vm.currentInSitu.alias : \"\"))))]),_c('div',{},_vm._l((_vm.inSituComponents),function(c,idx){return _c(c,{key:(\"in-situ_dashboard_item_\" + idx),tag:\"component\"})}),1)]):_vm._e(),(_vm.exSituComponents && _vm.exSituComponents.length > 0)?_c('section',[_c('label',[_vm._v(_vm._s((\"Censimento ex situ \" + (_vm.currentExSitu ? _vm.currentExSitu.alias : \"\"))))]),_c('div',{},_vm._l((_vm.exSituComponents),function(c,idx){return _c(c,{key:(\"ex-situ_dashboard_item_\" + idx),tag:\"component\"})}),1)]):_vm._e(),(_vm.components && _vm.components.length > 0)?_c('section',[_c('div',{},_vm._l((_vm.components),function(c,idx){return _c(c,{key:(\"default_dashboard_item_\" + idx),tag:\"component\"})}),1)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { dashboardHelper } from '@/helpers/DashboardHelper';\r\nimport components from '@/components';\r\nimport { versioneInSituStore } from '@/modules/VersioneInSitu/store/VersioneInSitu.store';\r\nimport { versioneExSituStore } from '@/modules/VersioneExSitu/store/VersioneExSitu.store';\r\nimport { Async } from '@/utils/AsyncDecorators';\r\n@Component({\r\n components: {}\r\n})\r\nexport default class Home extends Vue {\r\n\r\n get components(): Vue[] {\r\n return dashboardHelper.getComponents();\r\n }\r\n\r\n get inSituComponents(): Vue[] {\r\n return dashboardHelper.getComponents(\"insitu\");\r\n }\r\n\r\n get exSituComponents(): Vue[] {\r\n return dashboardHelper.getComponents(\"exsitu\");\r\n }\r\n\r\n @Async({ async get() { return await versioneInSituStore.getters.current() }, default: {}, lazy: false })\r\n currentInSitu: server.VersioneInSitu;\r\n\r\n @Async({ async get() { return await versioneExSituStore.getters.current() }, default: {}, lazy: false })\r\n currentExSitu: server.VersioneExSitu;\r\n\r\n goTo(routeName) {\r\n this.$router.push({ name: routeName })\r\n }\r\n\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./home.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./home.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=578cd2e2&\"\nimport script from \"./home.ts?vue&type=script&lang=ts&\"\nexport * from \"./home.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app mobile\"},[_vm._m(0),_c('div',{staticClass:\"app-body\"},[_c('app-bar'),_c('article',[_c('router-view'),_c('modal-container'),_c('mobilemenu')],1),(_vm.bottomMenuVisibile)?_c('bottom-menu'):_vm._e()],1),_c('install-button'),_c('alert')],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('head',[_c('meta',{attrs:{\"name\":\"viewport\",\"content\":\"width=device-width, user-scalable=no\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{directives:[{name:\"area\",rawName:\"v-area:header\",arg:\"header\"}],class:{ expanded: _vm.subMenuOpened }},[_c('div',{staticClass:\"content\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"localize\")(_vm.$route.meta.title)))]),_c('sync-button')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { store } from '@/store';\r\nimport syncButton from '@/components/sync-button/syncButton.vue';\r\n\r\n\r\n@Component({\r\n components: {\r\n syncButton\r\n }\r\n})\r\nexport default class AppBar extends Vue {\r\n\r\n get subMenuOpened() { return store.getters.ui.subMenuOpened(); }\r\n set subMenuOpened(value) { store.actions.ui.toggleSubMenu(value); }\r\n\r\n get showExpander() {\r\n return store.getters.ui.modalVisible() ? false : (this.$route.meta && this.$route.meta.showExpander)\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./appBar.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./appBar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appBar.vue?vue&type=template&id=2fa64676&\"\nimport script from \"./appBar.ts?vue&type=script&lang=ts&\"\nexport * from \"./appBar.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./appBar.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"bottom-menu\"},[_c('button',{staticClass:\"ripple\",class:{'active': _vm.$route.name == 'home'},on:{\"click\":function($event){return _vm.goto('home')}}},[_c('i',{staticClass:\"fas fa-home\"})]),_vm._l((_vm.bottomMenu),function(m){return _c('button',{key:m.item.name,staticClass:\"ripple\",class:{'active': _vm.$route.name == m.item.routeName || _vm.$route.path.toString().startsWith((\"/\" + (m.item.routeName)))},on:{\"click\":function($event){return _vm.goto(m.item.routeName)}}},[_c('i',{class:m.item.icon})])}),_c('button',{staticClass:\"ripple mapbutton\",class:{'active': _vm.$route.name == 'syncMap'},on:{\"click\":function($event){return _vm.goto('syncMap')}}},[_c('i',{staticClass:\"fas fa-map-marked-alt\"}),_c('i',{staticClass:\"notification\",class:_vm.IsSynced ? \"green\" : \"red\"})]),_c('button',{staticClass:\"ripple\",class:{'active': _vm.menumobile},on:{\"click\":function($event){return _vm.mobilemenu()}}},[_c('i',{class:_vm.menumobile ? \"fas fa-times\" : \"fas fa-ellipsis-h\"})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { IMenuDefinition, MenuHelper, menuType, MenuNotifications } from '@/helpers/MenuHelper';\r\nimport { store } from '@/store';\r\nimport { hasCache } from '@/modules/baseMapsSync/module';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\n\r\n@Component({})\r\nexport default class BottomMenu extends Vue {\r\n async mounted() {\r\n this.bottomMenu = MenuHelper.getMenu(menuType.bottom);\r\n MenuHelper.Notifications.$on(MenuNotifications.menuDefinitionAdded, () => {\r\n this.bottomMenu = MenuHelper.getMenu(menuType.bottom);\r\n });\r\n\r\n var sync = await hasCache() && !!(await PersistentStore.getKey(\"syncMapOfflineParameters\"));\r\n store.actions.ui.setIsSynced(sync);\r\n }\r\n\r\n get IsSynced() {\r\n\r\n return store.getters.ui.getIsSynced();\r\n }\r\n\r\n bottomMenu: { item: IMenuDefinition, children: IMenuDefinition[] }[] = [];\r\n\r\n goto(routeName) {\r\n if (this.$route.name != routeName || this.$route.path.toString().startsWith(`/${routeName}`))\r\n store.actions.ui.toggleMobileMenu(false);\r\n this.$router.push({ name: routeName })\r\n }\r\n\r\n get menumobile() {\r\n return store.getters.ui.mobileMenuVisible()\r\n }\r\n\r\n mobilemenu() {\r\n store.actions.ui.toggleMobileMenu(!this.menumobile);\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./bottomMenu.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./bottomMenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./bottomMenu.vue?vue&type=template&id=69a3fe60&\"\nimport script from \"./bottomMenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./bottomMenu.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mobileSubMenu\",class:{ show: _vm.mobileMenuOpened }},[_c('div',{staticClass:\"mobile-grid\"},[(_vm.userInfo)?_c('div',{staticClass:\"user\"},[_c('label',[_vm._v(_vm._s(_vm.userInfo.firstName)+\" \"+_vm._s(_vm.userInfo.lastName))]),_c('div',[_vm._v(\"Nome Utente: \"+_vm._s(_vm.username))])]):_vm._e(),_c('label',{on:{\"click\":function($event){return _vm.goToRouted('Change_Data')}}},[_c('i',{staticClass:\"fas fa-user-edit\"}),_vm._v(\" \"+_vm._s(_vm._f(\"localize\")(\"change-user-data\",\"Modifica i tuoi dati\"))+\" \")]),_c('label',{on:{\"click\":function($event){return _vm.goToRouted('Change_Password')}}},[_c('i',{staticClass:\"fas fa-key\"}),_vm._v(\" \"+_vm._s(_vm._f(\"localize\")(\"change-password\",\"Cambia Password\"))+\" \")]),_c('label',{on:{\"click\":function($event){_vm.layout = false}}},[_c('i',{staticClass:\"fas fa-desktop\"}),_vm._v(\" Switch to web \")]),(!_vm.offline)?_c('label',{on:{\"click\":function($event){return _vm.logoff()}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_vm._v(\" Esci \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { securityService } from '@/services/securityService';\r\nimport { PersistentStore } from '@/utils/PersistentStore';\r\nimport { store } from '@/store';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\nimport { toastHelper } from '@/helpers/ToastHelper';\r\nimport { onlineCheck } from '@/utils/onlineCheck';\r\nimport { messageService } from '@/utils/MessageService';\r\n\r\n@Component({\r\n components: {\r\n }\r\n})\r\nexport default class Mobilemenù extends Vue {\r\n\r\n offline: boolean = false;\r\n\r\n mounted() {\r\n let $this = this;\r\n messageService.subscribe(\"OfflineChanged\", async () => {\r\n let result = await PersistentStore.getKey(\"WorkOffline\");\r\n this.$nextTick(() => this.offline = result)\r\n })\r\n }\r\n\r\n get mobileMenuOpened() {\r\n return store.getters.ui.mobileMenuVisible();\r\n }\r\n\r\n get username() {\r\n let username = this.userInfo.userName\r\n let usernameSplitted = username.split(\"::\");\r\n return usernameSplitted.length > 0 ? usernameSplitted[1] : username;\r\n }\r\n\r\n get userInfo(): server.userInfo {\r\n return securityService.getInfo()\r\n }\r\n\r\n get layout(): boolean {\r\n return !layoutHelper.isWeb;\r\n }\r\n\r\n set layout(mobileLayout: boolean) {\r\n layoutHelper.set(mobileLayout ? \"mobile\" : \"web\")\r\n this.goToRouted('home');\r\n window.location = window.location.origin as any;\r\n }\r\n\r\n async logoff() {\r\n if (onlineCheck()) {\r\n await PersistentStore.CleanDB();\r\n await securityService.Logout();\r\n window.location = (window.location.origin as any);\r\n } else {\r\n toastHelper.error(\"Funzione disabilitata in modalità offline\");\r\n }\r\n }\r\n\r\n goToRouted(route) {\r\n store.actions.ui.toggleMobileMenu(false);\r\n this.$router.push({ name: route })\r\n }\r\n\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./mobilemenu.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./mobilemenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./mobilemenu.vue?vue&type=template&id=a8854c6e&scoped=true&\"\nimport script from \"./mobilemenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./mobilemenu.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./mobilemenu.vue?vue&type=style&index=0&id=a8854c6e&lang=less&scoped=true&\"\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 \"a8854c6e\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { store } from '@/store';\r\nimport appBar from \"./components/mobile/appBar.vue\";\r\nimport bottomMenu from \"./components/mobile/bottomMenu.vue\";\r\nimport mobilemenu from './components/mobile/mobilemenu.vue';\r\n\r\n@Component({\r\n components: {\r\n appBar,\r\n bottomMenu,\r\n mobilemenu,\r\n }\r\n})\r\nexport default class Main extends Vue {\r\n get bottomMenuVisibile() {\r\n return store.getters.ui.bottomMenuVisible();\r\n }\r\n}","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./mobile.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./mobile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./mobile.vue?vue&type=template&id=864e6ac2&\"\nimport script from \"./mobile.ts?vue&type=script&lang=ts&\"\nexport * from \"./mobile.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./mobile.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"grid scrollable grid-mobile-dashboard\"},[(_vm.inSituComponents && _vm.inSituComponents.length > 0)?_c('section',[_c('label',[_vm._v(_vm._s((\"Censimento in situ \" + (_vm.currentInSitu ? _vm.currentInSitu.alias : \"\"))))]),_c('div',{},_vm._l((_vm.inSituComponents),function(c,idx){return _c(c,{key:(\"in-situ_dashboard_item_\" + idx),tag:\"component\"})}),1)]):_vm._e(),(_vm.components && _vm.components.length > 0)?_c('section',[_c('div',{},_vm._l((_vm.components),function(c,idx){return _c(c,{key:(\"default_dashboard_item_\" + idx),tag:\"component\"})}),1)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { dashboardHelper } from '@/helpers/DashboardHelper';\r\nimport { versioneInSituStore } from '@/modules/VersioneInSitu/store/VersioneInSitu.store';\r\nimport { Async } from '@/utils/AsyncDecorators';\r\n@Component({\r\n components: {}\r\n})\r\nexport default class Home extends Vue {\r\n\r\n goTo(routeName) {\r\n this.$router.push({ name: routeName })\r\n }\r\n\r\n get inSituComponents(): Vue[] {\r\n return dashboardHelper.getComponents(\"insitu\");\r\n }\r\n\r\n @Async({ async get() { return await versioneInSituStore.getters.current() }, default: {}, lazy: false })\r\n currentInSitu: server.VersioneInSitu;\r\n\r\n get components(): Vue[] {\r\n return dashboardHelper.getComponents();\r\n }\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./home.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./home.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=75a72ae1&\"\nimport script from \"./home.ts?vue&type=script&lang=ts&\"\nexport * from \"./home.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"not-authorized-account\"},[_c('div',{staticClass:\"not-authorized-account-box\",class:{ web: _vm.layout == 'web' }},[_vm._m(0),_c('form',{attrs:{\"autocomplete\":\"off\"}},[_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"type\":\"text\",\"placeholder\":\"Nome utente\",\"autocomplete\":\"off\",\"autofocus\":\"true\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-lock\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"placeholder\":\"password\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})])]),_c('button',{class:{'btn-busy': _vm.loading},attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.login}},[_vm._v(\"Accedi\")]),_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goTo('forgotPassword')}}},[_vm._v(\"Password dimenticata? Richiedi il recupero\")])]),(_vm.isMobile)?_c('install-button'):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',[_c('div',{staticClass:\"title\"},[_vm._v(\"UmbraFlor\")]),_c('div',{staticClass:\"sub-title\"},[_vm._v(\"Accedi\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { securityService } from '@/services/securityService';\r\nimport { store } from '@/store';\r\nimport { InitializeApp } from '@/startup';\r\nimport { toastHelper } from '@/helpers/ToastHelper';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\n\r\n\r\n@Component({})\r\nexport default class Login extends Vue {\r\n\r\n username: string = null;\r\n\r\n password: string = null;\r\n\r\n loading: boolean = false;\r\n\r\n get layout() {\r\n return layoutHelper.get();\r\n }\r\n\r\n get isMobile(): boolean {\r\n var isMobile = layoutHelper.isWeb\r\n return !isMobile;\r\n }\r\n\r\n async login() {\r\n this.loading = true;\r\n securityService.Login(this.username, this.password).then(async (result) => {\r\n await InitializeApp();\r\n this.$router.push({ name: \"home\" });\r\n this.loading = false;\r\n }, (e) => {\r\n if (e && e.response) {\r\n toastHelper.error(e.response.data?.error_description || e.response.data?.error, 4800);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n created() {\r\n if (securityService.isUserAuthenticated())\r\n this.$router.push({ name: \"home\" });\r\n }\r\n\r\n goTo(name) {\r\n this.$router.push({ name: name });\r\n }\r\n}","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./login.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./login.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=859e80cc&scoped=true&\"\nimport script from \"./login.ts?vue&type=script&lang=ts&\"\nexport * from \"./login.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=859e80cc&lang=less&scoped=true&\"\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 \"859e80cc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"not-authorized-account\"},[_c('div',{staticClass:\"not-authorized-account-box\",class:{ web: _vm.layout == 'web' }},[_vm._m(0),_c('form',{ref:\"form\",attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();},\"change\":_vm.validateForm}},[_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value.userName),expression:\"value.userName\"}],attrs:{\"required\":\"\",\"type\":\"text\",\"placeholder\":\"Nome utente\",\"autocomplete\":\"off\",\"autofocus\":\"true\"},domProps:{\"value\":(_vm.value.userName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, \"userName\", $event.target.value)}}})])]),_c('button',{attrs:{\"disabled\":!_vm.formIsValid},on:{\"click\":_vm.recoverPassword}},[_vm._v(\" Recupera password \")]),(_vm.notification)?_c('span',{staticClass:\"notification-badge\",class:((_vm.notification.type) + \"-badge\")},[_vm._v(_vm._s(_vm.notification.message))]):_vm._e(),_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goTo('login')}}},[_vm._v(\"Ho già una password. Torna alla login\")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',[_c('div',{staticClass:\"title\"},[_vm._v(\"UmbraFlor\")]),_c('div',{staticClass:\"sub-title\"},[_vm._v(\"Recupera password\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { securityService } from '@/services/securityService';\r\nimport { accountService } from '@/services/accountService';\r\nimport { toastHelper } from '@/helpers/ToastHelper';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\n\r\n\r\n@Component({})\r\nexport default class ForgotPassword extends Vue {\r\n value: server.account.forgotPassword = { userName: null }\r\n loading: boolean = false;\r\n\r\n mounted() {\r\n setTimeout(this.validateForm, 2000); \r\n }\r\n \r\n formIsValid: boolean = false;\r\n validateForm() {\r\n this.formIsValid = (this.$refs.form && (this.$refs.form as any).checkValidity())\r\n }\r\n\r\n get layout() {\r\n return layoutHelper.get();\r\n }\r\n\r\n notification: { type: string, message: string } = null;\r\n async recoverPassword() {\r\n if (this.$refs.form && (this.$refs.form as any).checkValidity()) {\r\n const exist = await accountService.UsernameExist(this.value.userName);\r\n if (!exist) {\r\n toastHelper.error(\"Si è verificato un errore nel reset della password dell'account.
Il nome utente specificato non esiste!\")\r\n return\r\n }\r\n\r\n const isInternal = await accountService.UsernameHasInternal(this.value.userName);\r\n if (isInternal) {\r\n toastHelper.error(`Richiesta di recupero password inoltrata per un utente interno.
Per il reset della password contattare l'amministratore di sistema.`);\r\n return\r\n }\r\n\r\n accountService.ForgotPassword(this.value)\r\n .then(result => {\r\n toastHelper.success(`Richiesta di recupero password inoltrata con successo.
Controlla la tua e-mail e concludi la procedura di recupero password!`);\r\n this.value.userName = null;\r\n }, (err => {\r\n toastHelper.error(\"Si è verificato un errore nel reset della password dell'account.
Contattare l'amministratore di sistema.\");\r\n this.loading = false;\r\n }));\r\n }\r\n }\r\n\r\n created() {\r\n if (securityService.isUserAuthenticated())\r\n this.$router.push({ name: \"home\" });\r\n }\r\n\r\n goTo(name) {\r\n this.$router.push({ name: name });\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./forgotPassword.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./forgotPassword.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./forgotPassword.vue?vue&type=template&id=c8d48678&scoped=true&\"\nimport script from \"./forgotPassword.ts?vue&type=script&lang=ts&\"\nexport * from \"./forgotPassword.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./forgotPassword.vue?vue&type=style&index=0&id=c8d48678&lang=less&scoped=true&\"\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 \"c8d48678\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"not-authorized-account\"},[_c('div',{staticClass:\"not-authorized-account-box\",class:{ web: _vm.layout == 'web' }},[_vm._m(0),(_vm.value)?_c('form',{ref:\"form\",attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();},\"change\":_vm.validateForm}},[_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value.userName),expression:\"value.userName\"}],attrs:{\"required\":\"\",\"disabled\":\"\",\"type\":\"text\",\"placeholder\":\"Nome utente\",\"autocomplete\":\"off\",\"autofocus\":\"true\"},domProps:{\"value\":(_vm.value.userName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, \"userName\", $event.target.value)}}})]),_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-lock\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value.password),expression:\"value.password\"}],attrs:{\"required\":\"\",\"type\":\"password\",\"placeholder\":\"Nuova passowrd\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.value.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, \"password\", $event.target.value)}}})]),_c('div',{staticClass:\"not-authorized-account-input\"},[_c('i',{staticClass:\"fas fa-lock\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value.confirmPassword),expression:\"value.confirmPassword\"}],attrs:{\"required\":\"\",\"type\":\"password\",\"placeholder\":\"Conferma password\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.value.confirmPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, \"confirmPassword\", $event.target.value)}}})])]):_vm._e(),_c('button',{attrs:{\"disabled\":!_vm.formIsValid},on:{\"click\":_vm.reset}},[_vm._v(\"Recupera password\")]),_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goTo('login')}}},[_vm._v(\"Ho già una password. Torna alla login\")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',[_c('div',{staticClass:\"title\"},[_vm._v(\"UmbraFlor\")]),_c('div',{staticClass:\"sub-title\"},[_vm._v(\"Recupera password\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { securityService } from '@/services/securityService';\r\nimport { accountService } from '@/services/accountService';\r\nimport { toastHelper } from '@/helpers/ToastHelper';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\n@Component({})\r\nexport default class ResetPassword extends Vue {\r\n @Prop()\r\n userName: string;\r\n \r\n value: server.account.resetPassword = null;\r\n loading: boolean = false;\r\n\r\n mounted() {\r\n this.value = {\r\n userName: this.userName,\r\n code: this.$route.query.code,\r\n password: null,\r\n confirmPassword: null,\r\n } as server.account.resetPassword;\r\n setTimeout(this.validateForm, 2000); \r\n }\r\n \r\n formIsValid: boolean = false;\r\n validateForm() {\r\n this.formIsValid = (this.$refs.form && (this.$refs.form as any).checkValidity())\r\n }\r\n\r\n\r\n get layout() {\r\n return layoutHelper.get();\r\n }\r\n\r\n notification: { type: string, message: string } = null;\r\n public async reset() {\r\n this.loading = true;\r\n accountService.ResetPassword(this.value)\r\n .then(result => {\r\n toastHelper.success(\"La password è stata cambiata con successo.
Accedi al servizio utilizzando le nuove credenziali impostate!\");\r\n this.loading = false;\r\n setTimeout(() => {\r\n this.goTo(\"login\");\r\n }, 3600);\r\n }, (err => {\r\n toastHelper.error(\"Si è verificato un errore nel reset della password dell'account.\");\r\n this.loading = false;\r\n }));\r\n }\r\n\r\n created() {\r\n if (securityService.isUserAuthenticated())\r\n this.$router.push({ name: \"home\" });\r\n }\r\n\r\n goTo(name) {\r\n this.$router.push({ name: name });\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./resetPassword.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./resetPassword.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./resetPassword.vue?vue&type=template&id=346d30f1&scoped=true&\"\nimport script from \"./resetPassword.ts?vue&type=script&lang=ts&\"\nexport * from \"./resetPassword.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./resetPassword.vue?vue&type=style&index=0&id=346d30f1&lang=less&scoped=true&\"\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 \"346d30f1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\n\r\n@Component({})\r\nexport default class CompleteAccount extends Vue {\r\n @Prop()\r\n userName: string;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./completeAccount.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./completeAccount.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./completeAccount.vue?vue&type=template&id=7b794e42&\"\nimport script from \"./completeAccount.ts?vue&type=script&lang=ts&\"\nexport * from \"./completeAccount.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\n\r\n// import {FooterMain } from \"../layout/components\";\r\n\r\n@Component({})\r\nexport default class EmailConfirm extends Vue {\r\n @Prop()\r\n userName: string;\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./emailConfirm.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./emailConfirm.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./emailConfirm.vue?vue&type=template&id=5818ca59&\"\nimport script from \"./emailConfirm.ts?vue&type=script&lang=ts&\"\nexport * from \"./emailConfirm.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 Vue from \"vue\"\r\nimport VueRouter, { RouteConfig, Route } from \"vue-router\"\r\nimport { securityService } from \"@/services/securityService\";\r\n\r\nimport WebLayout from \"@/layout/layout.vue\";\r\nimport WebHome from \"@/views/web/home.vue\";\r\n\r\nimport MobileLayout from \"@/layout/mobile.vue\";\r\nimport MobileHome from \"@/views/mobile/home.vue\";\r\n\r\nimport User from \"@/views/user.vue\";\r\n\r\nimport Login from \"@/views/login.vue\";\r\nimport ForgotPassword from '@/views/account/forgotPassword.vue';\r\nimport ResetPassword from '@/views/account/resetPassword.vue';\r\nimport CompleteAccount from '@/views/account/completeAccount.vue';\r\nimport EmailConfirm from '@/views/account/emailConfirm.vue';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\nVue.use(VueRouter);\r\n\r\n\r\nexport function InjectRoutes(parent: RouteConfig, ...children: RouteConfig[]) {\r\n for (const element of children) {\r\n if (!parent.children.find(i => i.name === element.name)) {\r\n parent.children.push(element);\r\n }\r\n }\r\n\r\n}\r\n\r\nlet layout = layoutHelper.get()\r\n\r\nexport const mainRoute = {\r\n path: \"/\",\r\n name: \"Main\",\r\n component: layout === \"web\" ? WebLayout : MobileLayout,\r\n redirect: \"home\",\r\n children: [{\r\n path: \"home\",\r\n name: \"home\",\r\n meta: { title: \"Umbraflor\", requireAuth: true },\r\n // component: Home\r\n component: layout === \"web\" ? WebHome : MobileHome,\r\n }],\r\n};\r\n\r\n\r\n\r\nconst routes: Array = [\r\n mainRoute,\r\n {\r\n path: \"/login\",\r\n name: \"login\",\r\n meta: { requireAuth: false },\r\n component: Login\r\n }, {\r\n path: '/complete-account/:userName',\r\n name: `Completa l'account`,\r\n component: CompleteAccount,\r\n meta: { requireAuth: false },\r\n props: true,\r\n }, {\r\n path: '/forgot-password',\r\n name: 'forgotPassword',\r\n component: ForgotPassword,\r\n meta: { requireAuth: false },\r\n }, {\r\n path: '/reset-password/:userName',\r\n name: 'resetPassword',\r\n component: ResetPassword,\r\n meta: { requireAuth: false },\r\n props: true,\r\n }, {\r\n path: '/email-confirm/:userName',\r\n name: 'Conferma E-Mail',\r\n component: EmailConfirm,\r\n meta: { requireAuth: false },\r\n props: true,\r\n }\r\n];\r\n\r\nexport function RestartRouter() {\r\n router.addRoutes(routes);\r\n}\r\n\r\nfunction exploreRoutes(routes: RouteConfig[]): RouteConfig[] {\r\n let result = [];\r\n for (const route of routes) {\r\n result.push(route);\r\n if (route.children && route.children.length) {\r\n result.push(exploreRoutes(route.children))\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.meta && to.meta.requireAuth === false) {\r\n next(); // route accessible without authorization\r\n } else {\r\n if (securityService.isUserAuthenticated()) {\r\n next(); // authorization has been granted\r\n } else {\r\n next({ name: \"login\" }); // authorization is missing\r\n }\r\n }\r\n});\r\n\r\n\r\n\r\nexport default router;\r\n\r\n\r\n","//this file is included dynamically from App.ts after the application has verified user authentication and retrieved already retreaved relevant data\r\n\r\n\r\nimport { store } from './store';\r\nimport dynamicModules from \"@/modules\";\r\nimport { securityService } from './services/securityService';\r\nimport { RestartRouter, InjectRoutes, mainRoute } from './router';\r\nimport { SyncWorker } from './utils/syncWorker';\r\nimport { Config } from './config';\r\nimport { PersistentStore } from './utils/PersistentStore';\r\nimport { IModuleOptions } from './utils/IModuleOptions';\r\nimport { messageService } from './utils/MessageService';\r\nimport { Loader } from './esriMap';\r\n\r\nexport async function InitializeApp() {\r\n // await LoadLocalization();\r\n await InitializeUserInfo();\r\n\r\n if (!securityService.isUserAuthenticated()) return;\r\n\r\n // Chiamata iniziale per verificare di avere un token buono dell'utente. \r\n try {\r\n if (navigator.onLine)\r\n await securityService.autoRenewToken();\r\n } catch {\r\n\r\n }\r\n \r\n Loader.initialize();\r\n\r\n await store.actions.navigation.init();\r\n await loadModules();\r\n}\r\n\r\n\r\nexport async function InitializeUserInfo() {\r\n let r: server.userInfo = await PersistentStore.getKey(\"userInfo\");\r\n securityService.setUserInfo(r as server.userInfo);\r\n}\r\n\r\n// Carico la localizzazione dell'utente \r\n// export async function LoadLocalization() {\r\n// await store.actions.localization.init();\r\n\r\n// try {\r\n// let suplang = await localizationService.handshake();\r\n// store.actions.localization.setSupportedLanguages(suplang);\r\n// } catch{\r\n\r\n// }\r\n\r\n// if (store.getters.localization.hasLabels()) return;\r\n\r\n// let currentLanguage = await store.getters.localization.getCurrentLanguage();\r\n// let labels = await localizationService.getLabels(currentLanguage);\r\n// store.actions.localization.changeLanguage({ newLanguage: currentLanguage, labels: labels });\r\n// }\r\n\r\nconst syncOperations: { (): Promise }[] = [];\r\n\r\n\r\nexport async function loadModules() //loader for imported modules\r\n{\r\n var modules: IModuleOptions[] = [];\r\n var userRoles = securityService.getInfo()?.roles || [];\r\n\r\n // Caricamento del modulo\r\n for (let moduleName in dynamicModules) {\r\n let module = dynamicModules[moduleName];\r\n if (module) {\r\n const m = ((await module()).default) as IModuleOptions;\r\n if (!m.roles || m.roles.length <= 0 || userRoles.filter((value) => m.roles.includes(value)).length > 0) {\r\n modules.push(m);\r\n }\r\n }\r\n }\r\n\r\n // Esegue la registrazioni delle rotte\r\n for (let mm of modules) {\r\n if (mm.route && mm.route.default) InjectRoutes(mainRoute, ...mm.route.default);\r\n }\r\n\r\n // Esegue la registrazioni dei moduli\r\n for (let mm of modules) {\r\n if (mm.module && mm.module.init) mm.module.init();\r\n }\r\n\r\n // Esegue operazioni di pre startup\r\n for (let mm of modules) {\r\n if (mm.sync && mm.sync.default && mm.sync.default.preStartup) await mm.sync.default.preStartup();\r\n }\r\n\r\n // Esegue operazioni allo startup\r\n for (let mm of modules) {\r\n if (mm.sync && mm.sync.default && mm.sync.default.startup) await mm.sync.default.startup();\r\n\r\n // Schedula le operazioni di sync in risposta ai messaggi dei service Worker. \r\n if (mm.sync && mm.sync.default && mm.sync.default.syncOperations)\r\n syncOperations.push(mm.sync.default.syncOperations)\r\n }\r\n\r\n RestartRouter();\r\n}\r\n\r\n\r\nvar runningSyncOperations: boolean = false;\r\n\r\n// Attivo il worker per la sincronia\r\nvar syncWorker: SyncWorker = null;\r\nif (Config.serviceWorker.syncData)\r\n syncWorker = new SyncWorker(self, async () => {\r\n if (runningSyncOperations) return;\r\n\r\n messageService.publish('syncData', { state: \"start\", errors: null } as syncDataMessages);\r\n console.log(\"sync started...\");\r\n\r\n // mando in sync una operazione alla volta per non intasare la rete e la app\r\n for (const syncMethod of syncOperations) {\r\n try {\r\n await syncMethod();\r\n }\r\n catch (e) {\r\n messageService.publish('syncData', { state: \"error\", errors: e } as syncDataMessages);\r\n console.error('Error on sync ...', e);\r\n }\r\n }\r\n messageService.publish('syncData', { state: \"complete\", errors: null } as syncDataMessages);\r\n console.log(\"sync completed...\");\r\n\r\n runningSyncOperations = false;\r\n });\r\n\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 }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class App extends Vue { }","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=e152c7d2&\"\nimport script from \"./App.ts?vue&type=script&lang=ts&\"\nexport * from \"./App.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\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","\r\nimport md5 from \"md5\";\r\n\r\nexport function gravatarFunction(email) {\r\n if (email)\r\n return `https://www.gravatar.com/avatar/ ${md5(email)}`;\r\n return null;\r\n}\r\n\r\n","\r\nexport function roundFunction(number: number, digits: number = 2): number {\r\n return Number(Math.round(number * Math.pow(10, digits)) / Math.pow(10, digits));\r\n}","import { localizeFunction } from \"./localizeFilter\";\r\nimport { gravatarFunction } from \"./gravatar\";\r\nimport { dateformatFunction } from \"./dateFormat\";\r\nimport { roundFunction } from \"./round\";\r\n\r\nexport default {\r\n localize: localizeFunction,\r\n gravatar: gravatarFunction,\r\n dateformat: dateformatFunction,\r\n round: roundFunction\r\n}","const inject = {\r\n\r\n inserted: (el: Element, bind) => {\r\n if(!el) return;\r\n var element = AreaManager.areas.has(bind.arg) ? AreaManager.areas.get(bind.arg) : null;\r\n el.parentElement.removeChild(el);\r\n if (element) element.append(el);\r\n },\r\n unbind: (el: Element, bind) => {\r\n if(!el) return;\r\n var element = AreaManager.areas.has(bind.arg) ? AreaManager.areas.get(bind.arg) : null;\r\n if (element) element.removeChild(el);\r\n }\r\n}\r\n\r\n\r\nconst area = {\r\n bind: (el, binding) => {\r\n if(!el) return;\r\n AreaManager.areas.set(binding.arg, el);\r\n }\r\n}\r\n\r\nexport default {\r\n inject, area\r\n}\r\n\r\nclass AreaManager {\r\n static areas = new Map();\r\n}","import Vue from \"vue\";\r\n\r\n// credit: http://www.javascriptkit.com/javatutors/touchevents2.shtml\r\nfunction swipedetect(el, callback, onmovecallback, onstart, onstop) {\r\n\r\n var touchsurface = el,\r\n swipedir,\r\n startX,\r\n startY,\r\n lastXswipe,\r\n lastYswipe,\r\n distX,\r\n distY,\r\n threshold = 10, //required min distance traveled to be considered swipe\r\n restraint = 1000, // maximum distance allowed at the same time in perpendicular direction\r\n allowedTime = 300, // maximum time allowed to travel that distance\r\n elapsedTime,\r\n handleswipe = callback || function (swipedir) { }\r\n\r\n touchsurface.addEventListener('touchstart', function (e) {\r\n var touchobj = e.changedTouches[0]\r\n swipedir = 'none'\r\n distX = 0\r\n distY = 0\r\n startX = touchobj.pageX\r\n startY = touchobj.pageY\r\n lastXswipe = touchobj.pageX\r\n lastYswipe = touchobj.pageY\r\n // e.preventDefault()\r\n\r\n if (onstart) onstart(e);\r\n\r\n }, false)\r\n\r\n touchsurface.addEventListener('touchmove', function (e) {\r\n // e.preventDefault() // prevent scrolling when inside DIV\r\n\r\n var touchobj = e.changedTouches[0];\r\n distX = touchobj.pageX - lastXswipe;\r\n distY = touchobj.pageY - lastYswipe;\r\n\r\n if (Math.abs(distY) >= threshold && Math.abs(distX) < restraint && swipedir != 'left' && swipedir != 'right') {\r\n swipedir = (distY < 0) ? 'up' : 'down'\r\n }\r\n if (Math.abs(distX) >= threshold && Math.abs(distY) < restraint && swipedir != 'up' && swipedir != 'down') {\r\n swipedir = (distX < 0) ? 'left' : 'right'\r\n }\r\n\r\n lastXswipe = touchobj.pageX\r\n lastYswipe = touchobj.pageY\r\n\r\n if (onmovecallback)\r\n onmovecallback(e)\r\n\r\n }, false)\r\n\r\n touchsurface.addEventListener('touchend', function (e) {\r\n var touchobj = e.changedTouches[0];\r\n if (onstop) onstop(e);\r\n\r\n handleswipe(swipedir)\r\n // e.preventDefault()\r\n }, false)\r\n}\r\n\r\nVue.component('vue-gesture', {\r\n template: '
',\r\n props: {\r\n\r\n call: { type: Function },\r\n onmove: { type: Function },\r\n onstart: { type: Function },\r\n onstop: { type: Function }\r\n },\r\n mounted: function () {\r\n var self = this;\r\n\r\n if (this.call && typeof this.call !== 'function') {\r\n return console.error('The expression of directive \"v-gesture call\" must be a function!');\r\n }\r\n\r\n if (this.onmove && typeof this.onmove !== 'function') {\r\n return console.error('The expression of directive \"v-gesture onmove\" must be a function!');\r\n }\r\n\r\n if (this.$el) \r\n swipedetect(this.$el, this.call || function(){}, this.onmove, this.onstart, this.onstop);\r\n }\r\n});\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nVue.config.productionTip = false\r\n\r\nimport AsyncComputed from 'vue-async-computed';\r\nVue.use(AsyncComputed)\r\n\r\nimport './workers/registerServiceWorkers';\r\n\r\nimport { PersistentStore } from './utils/PersistentStore';\r\nimport { InitializeApp } from './startup';\r\nimport { securityService } from './services/securityService';\r\n\r\nimport App from \"@/App.vue\";\r\nimport router from \"@/router\";\r\nimport store from \"@/store\";\r\n\r\nimport filters from \"@/filters\";\r\nfor (let name in filters) {\r\n Vue.filter(name, filters[name]);\r\n}\r\n\r\nimport directives from \"@/directives\";\r\nfor (let name in directives) {\r\n Vue.directive(name, directives[name]);\r\n}\r\n\r\nimport HighchartsVue from \"highcharts-vue\";\r\nVue.use(HighchartsVue);\r\n\r\nimport components from \"@/components\";\r\nimport { Esri } from './esriMap';\r\n\r\nfor (let name in components) {\r\n Vue.component(name, components[name]);\r\n}\r\n\r\nimport \"@/components/gesture/gestures\";\r\n\r\nasync function startup() {\r\n await PersistentStore.Enable();\r\n await securityService.RenewToken();\r\n await InitializeApp();\r\n}\r\n\r\nstartup().then(() => new Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app'));\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=style&index=0&id=ccc2f736&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=style&index=0&id=ccc2f736&lang=less&scoped=true&\"","\r\n\r\ndeclare const CONFIGURATION: IConfiguration;\r\n\r\nconsole.log('loaded configuration', CONFIGURATION);\r\nexport const Config: IConfiguration = CONFIGURATION;\r\n\r\ninterface IConfiguration\r\n{\r\n env: string,\r\n applicationVersion: string,\r\n serviceWorker: {\r\n workerEnabled: boolean,\r\n serveLocally: boolean,\r\n syncData: boolean,\r\n precachingItems: string[],\r\n blacklistCacheItems: string[]\r\n },\r\n auth: {\r\n isAuthenticationNeeded: boolean,\r\n authenticationServerUrl: string,\r\n client_id: string,\r\n openid_scope: string,\r\n checkSessionInterval: number,\r\n renewSessionTimeLimit: number\r\n },\r\n api: {\r\n apiServerUrl: string,\r\n commerceServerUrl: string,\r\n meteoApiServerUrl: string\r\n },\r\n cdn: {\r\n apiServerUrl: string,\r\n },\r\n languages:{\r\n current: string,\r\n formatter: {\r\n en: {\r\n icon: string,\r\n text: string\r\n },\r\n it: {\r\n icon: string,\r\n text: string\r\n }\r\n }\r\n },\r\n application:{\r\n maxDownloadableAreaSize: number // numero in km^2, per 4 km^2 di area ci mette 10 minuti circa in LTE\r\n }\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./autocomplete.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./autocomplete.vue?vue&type=style&index=0&lang=less&\"","/// ---------------------------------------------------------------------------- ///\r\n/// ATTENZIONE ///\r\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\r\n/// ---------------------------------------------------------------------------- ///\r\nexport class Deferred {\r\n resolve: Function;\r\n reject: Function;\r\n 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","\r\nimport ModalContainer from \"./modalContainer\";\r\nimport { Deferred } from '@/utils/Deferred';\r\nimport { store } from '@/store';\r\nimport { IModalBase } from './IModalBase';\r\n\r\n\r\nclass ModalHelper {\r\n static containers = new Map();\r\n\r\n modals = new Map();\r\n\r\n showModal(component: any, data: any, container: string = \"default\", queue: boolean = false, deferred = new Deferred()): Promise> {\r\n store.actions.ui.toggleDrawerMenu(false);\r\n store.actions.ui.toggleUserMenu(false);\r\n \r\n if (!queue) {\r\n this.modals.set(container, [{ component, data, queue, deferred }]);\r\n } else {\r\n if (!this.modals.has(container)) {\r\n this.modals.set(container, []);\r\n }\r\n this.modals.get(container).push({ component, data, queue, deferred });\r\n }\r\n\r\n ModalHelper.containers.get(container).deferred = deferred;\r\n ModalHelper.containers.get(container).model = data as T;\r\n ModalHelper.containers.get(container).currentView = component;\r\n store.actions.ui.toggleModalVisibility(true);\r\n\r\n ModalHelper.containers.get(container).deferred.promise.then(() => this.closeModal(container)).catch(() => this.closeModal(container));\r\n\r\n return ModalHelper.containers.get(container).deferred.promise;\r\n }\r\n\r\n closeModal(container: string = \"default\"): boolean {\r\n\r\n if (this.modals.has(container)) {\r\n this.modals.get(container).pop()\r\n }\r\n\r\n if (ModalHelper.containers.get(container) && ModalHelper.containers.get(container).currentView) {\r\n ModalHelper.containers.get(container).currentView = null;\r\n ModalHelper.containers.get(container).model = null;\r\n\r\n if (ModalHelper.containers.get(container).deferred) try { ModalHelper.containers.get(container).deferred.reject(); } catch{ }\r\n ModalHelper.containers.get(container).deferred = null;\r\n store.actions.ui.toggleModalVisibility(false);\r\n\r\n if (this.modals.has(container)) {\r\n let c = this.modals.get(container);\r\n if (c.length) {\r\n let m = c.pop();\r\n if (m) this.showModal(m.component, m.data, container, m.queue, m.deferred);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n setContainer(container, name: string = \"default\") {\r\n ModalHelper.containers.set(name, container);\r\n }\r\n\r\n Unchanged(modal: IModalBase) {\r\n modal.deferred.resolve({ item: modal.value, status: DataItemStatus.unchanged } as DataItem);\r\n }\r\n\r\n Changed(modal: IModalBase) {\r\n modal.deferred.resolve({ item: modal.value, status: DataItemStatus.changed } as DataItem);\r\n }\r\n\r\n Deleted(modal: IModalBase) {\r\n modal.deferred.resolve({ item: modal.value, status: DataItemStatus.deleted } as DataItem);\r\n }\r\n}\r\n\r\nexport class DataItem {\r\n\r\n public status: DataItemStatus = DataItemStatus.unchanged;\r\n public item: T = null;\r\n}\r\n\r\nexport enum DataItemStatus {\r\n unchanged,\r\n changed,\r\n deleted\r\n}\r\n\r\nexport const modalHelper = new ModalHelper();","import { baseRestService } from \"@/utils/baseRestService\";\r\nimport { Config } from \"@/config\";\r\n\r\nclass SyncDeletedRowService extends baseRestService {\r\n\r\n constructor() {\r\n super();\r\n this.baseUrl = Config.api.apiServerUrl;\r\n }\r\n\r\n async List(ts: number = null): Promise {\r\n return await this.Get(`/api/sync-deleted-rows`, { ts: ts }) || [];\r\n }\r\n\r\n async Set(obj: server.rowDeleted): Promise {\r\n return await this.Post(`/api/sync-deleted-rows`, obj);\r\n }\r\n\r\n async Remove(id: string): Promise {\r\n return await this.Delete(`​/api​/sync-deleted-rows​/${id}`);\r\n }\r\n\r\n async Clean(): Promise {\r\n return await this.Delete(`/api/sync-deleted-rows/clean`);\r\n }\r\n\r\n}\r\n\r\nexport const syncDeletedRowService: SyncDeletedRowService = new SyncDeletedRowService();","import { GetterTree, ActionTree } from 'vuex';\r\nimport { replaceInArray } from '@/utils/Array';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { syncDeletedRowService } from '../services/syncDeletedRowService';\r\n\r\nexport interface SyncDeletedRowStoreModel { }\r\n\r\nexport interface SyncDeletedRowStoreActions {\r\n clean(): Promise;\r\n}\r\n\r\nexport interface SyncDeletedRowStoreGetters {\r\n getTableDeletedRows(tableName: string): Promise;\r\n getAll(): Promise;\r\n}\r\n\r\nexport const TABLES = { syncDeletedRow: 'syncDeletedRow' };\r\nexport const SyncDeletedRowStore = {\r\n PREFIX: 'syncDeletedRow',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n getTableDeletedRows: (state) => async (tableName: string): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.syncDeletedRow) || [];\r\n return result.filter(f => f.tableName.toLowerCase() === tableName.toLowerCase());\r\n },\r\n getAll: (state) => async (): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.syncDeletedRow) || [];\r\n var maxts = await PersistentStore.getMaxTs(TABLES.syncDeletedRow);\r\n\r\n syncDeletedRowService.List(maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.syncDeletedRow, r);\r\n });\r\n return result;\r\n },\r\n } as GetterTree,\r\n\r\n actions: {\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.syncDeletedRow) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.syncDeletedRow, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const syncDeletedRowStore = CreateTypedStoreProxy(vuestore, SyncDeletedRowStore.PREFIX);\r\n","import { GetterTree, ActionTree } from 'vuex';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport { replaceInArray } from '@/utils/Array';\r\n\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { versioneExSituService } from '../services/VersioneExSituService';\r\nimport { Guid } from 'guid-typescript';\r\nimport { localVersionHelper } from '@/helpers/LocalVersionHelper';\r\nimport { syncDeletedRow } from '@/modules/SyncDeletedRow/helper/syncDeletedRowHelper';\r\nimport { cleanerHelper } from '@/helpers/CleanerHelper';\r\nimport { operationLogService } from '@/modules/Logs/services/operationLogService';\r\n\r\nexport interface VersioneExSituStoreModel { }\r\n\r\nexport interface VersioneExSituStoreActions {\r\n setCurrent(payload: server.VersioneExSitu): Promise;\r\n set(payload: server.VersioneExSitu): Promise;\r\n remove(payload: server.VersioneExSitu): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface VersioneExSituStoreGetters {\r\n current(): Promise;\r\n get(id): Promise;\r\n getAll(): Promise;\r\n}\r\n\r\nexport const TABLES = { versioneExSitu: 'VersioneExSitu' };\r\nexport const VersioneExSituStore = {\r\n PREFIX: 'VersioneExSitu',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n current: (state) => async (): Promise => {\r\n const previewVersionStored = localVersionHelper.get(\"ExSitu\") as server.VersioneExSitu;\r\n const currentStored = (await PersistentStore.getKey('exsituCurrent')) as server.VersioneExSitu;\r\n if (previewVersionStored || currentStored) return previewVersionStored || currentStored;\r\n\r\n versioneExSituService.List(0).then(async (r) => {\r\n let current = r.find(f => f.attivo === true);\r\n await PersistentStore.setKey('exsituCurrent', current);\r\n // if (!currentStored || (currentStored && currentStored.id !== current.id)) {\r\n // await PersistentStore.setKey('exsituCurrent', current);\r\n // if (!previewVersionStored && !!currentStored && currentStored.id !== current.id) {\r\n // await cleanerHelper.CleanDBWithoutAuth();\r\n // window.location = (window.location.origin as any);\r\n // }\r\n // }\r\n return current;\r\n });\r\n \r\n if(previewVersionStored) return previewVersionStored;\r\n if (currentStored) return currentStored;\r\n },\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.versioneExSitu, id),\r\n getAll: (state) => async (): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.versioneExSitu) || [];\r\n \r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.versioneExSitu, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.versioneExSitu);\r\n versioneExSituService.List(maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.versioneExSitu, r);\r\n await PersistentStore.setKey('exsituCurrent', result.find(f => f.attivo === true));\r\n });\r\n return result;\r\n }\r\n } as GetterTree,\r\n\r\n actions: {\r\n async setCurrent(context, payload: server.VersioneExSitu): Promise {\r\n var result = await PersistentStore.getAll(TABLES.versioneExSitu) || [];\r\n await PersistentStore.setKey('exsituCurrent', payload);\r\n versioneExSituService.Active(payload.id).then(async r => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.versioneExSitu, r);\r\n });\r\n },\r\n async set(context, payload: server.VersioneExSitu): Promise {\r\n let operation = syncOperation.update;\r\n if (!payload.id){\r\n payload.id = Guid.create().toString();\r\n operation = syncOperation.create;\r\n }\r\n if (payload.attivo) {\r\n await PersistentStore.setKey('exsituCurrent', payload);\r\n }\r\n\r\n await saveAndSync(payload, TABLES.versioneExSitu,\r\n i => operation,\r\n i => versioneExSituService.Set(i),\r\n i => versioneExSituService.Set(i),\r\n async (o, n, op) => {\r\n Object.assign(payload, n);\r\n })\r\n },\r\n async remove(context, payload: server.VersioneExSitu) {\r\n await versioneExSituService.Remove(payload.id);\r\n await PersistentStore.remove(TABLES.versioneExSitu, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.versioneExSitu) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.versioneExSitu, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const versioneExSituStore = CreateTypedStoreProxy(vuestore, VersioneExSituStore.PREFIX);","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgMap.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgMap.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loadMore.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loadMore.vue?vue&type=style&index=0&lang=css&\"","import { PersistentStore } from \"./PersistentStore\";\r\n\r\nexport async function onlineCheck() {\r\n const offline = await PersistentStore.getKey(\"WorkOffline\");\r\n if (offline) {\r\n return !offline;\r\n }\r\n\r\n // Handle IE and more capable browsers\r\n var xhr = new (window.ActiveXObject || XMLHttpRequest)(\"Microsoft.XMLHTTP\");\r\n // Open new request as a HEAD to the root hostname with a random param to bust the cache\r\n xhr.open(\"HEAD\", \"//\" + window.location.hostname + \":\" + window.location.port + \"/\", false);\r\n // Issue request and handle response\r\n try {\r\n xhr.send();\r\n return (xhr.status >= 200 && (xhr.status < 300 || xhr.status === 304));\r\n } catch (error) {\r\n return false;\r\n }\r\n}"],"sourceRoot":""}