{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.some.js","webpack:///./src/modules/AreaSaggioPiantaCampione/route.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/components/dashboard/counter.vue?5685","webpack:///./src/modules/AreaSaggioPiantaCampione/components/dashboard/counter.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/components/dashboard/counter.ts?c600","webpack:///./src/modules/AreaSaggioPiantaCampione/components/dashboard/counter.vue","webpack:///./src/modules/AreaSaggioPiantaCampione/module.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/sync.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/index.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/store/areaSaggioPiantaCampione.store.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/services/areaSaggioPiantaCampioneService.ts"],"names":["$","$some","some","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","target","proto","forced","callbackfn","this","arguments","length","undefined","routes","path","name","component","isWeb","meta","title","showExpander","requireAuth","route","render","_vm","_h","$createElement","_c","_self","staticClass","on","$event","goTo","_v","_s","numeroTotale","staticRenderFns","DashboardItem","routeName","store","actions","ui","toggleDrawerMenu","toggleUserMenu","$router","push","areeSaggioPiantaCampione","get","getters","getAll","default","lazy","init","userRoles","securityService","getInfo","roles","includes","MenuHelper","addMenuDefinition","class","description","icon","orderIndex","group","section","drawer","bottom","addComponent","registerModule","PREFIX","startup","syncOperations","areaSaggioPiantaCampione","i","create","areaSaggioPiantaCampioneService","Set","versioneId","o","n","op","publish","type","oldTypeId","id","newTypeId","modulename","module","sync","TABLES","AreaSaggioPiantaCampioneStore","namespaced","mutations","state","current","currentVersion","result","getMaxTs","maxts","List","then","r","a","b","set","catch","requiredSync","s","__needsSync","nearestareaSaggioPiantaCampione","position","currentGPSPosition","areaSaggioPiantaCampioneStore","map","f","distance","sort","shift","setAreaSaggioPiantaCampione","context","payload","operation","update","toString","remove","Remove","clean","Promise","all","Math","sqrt","pow","abs","longitude","latitude","AreaSaggioPiantaCampioneService","baseUrl","api","apiServerUrl","ts","Get","obj","Post","Delete"],"mappings":"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","file":"modules/AreaSaggioPiantaCampione.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import { RouteConfig } from 'vue-router';\r\nimport { mainRoute, InjectRoutes } from '@/router';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\nconst routes: Array = [\r\n {\r\n path: 'RilievoIpsometrico',\r\n name: 'PiantaCampione',\r\n component: () => layoutHelper.isWeb ? import(\"./components/web/index-web.vue\") : import(\"./components/mobile/index-mobile.vue\"),\r\n meta: { title: 'Rilievo ipsometrico', showExpander: false, requireAuth: true }\r\n },\r\n]\r\n\r\n\r\nexport default routes;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"counter\",on:{\"click\":function($event){return _vm.goTo('PiantaCampione')}}},[_c('div',{staticClass:\"counter-body\"},[_c('i',{staticClass:\"icon-uf_areesaggio_pianta\"}),_c('span',[_vm._v(_vm._s(_vm.numeroTotale)+\" \")]),_c('small',[_vm._v(\"Rilievo Ipsometrico\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Async } from '@/utils/AsyncDecorators';\r\nimport { areaSaggioPiantaCampioneStore } from '../../store/areaSaggioPiantaCampione.store';\r\nimport { store } from '@/store';\r\n\r\n@Component({})\r\nexport default class DashboardItem extends Vue{\r\n \r\n @Async({ async get() { return await areaSaggioPiantaCampioneStore.getters.getAll() }, default: [], lazy: true })\r\n areeSaggioPiantaCampione: server.areaSaggioPiantaCampione[];\r\n\r\n get numeroTotale(){\r\n return this.areeSaggioPiantaCampione.length;\r\n }\r\n \r\n goTo(routeName) {\r\n store.actions.ui.toggleDrawerMenu(false);\r\n store.actions.ui.toggleUserMenu(false);\r\n this.$router.push({ name: routeName })\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!./counter.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!./counter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./counter.vue?vue&type=template&id=be9d7166&\"\nimport script from \"./counter.ts?vue&type=script&lang=ts&\"\nexport * from \"./counter.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 { MenuHelper, IMenuDefinition, menuType } from \"@/helpers/MenuHelper\";\r\nimport vuestore from '@/store';\r\nimport { AreaSaggioPiantaCampioneStore } from './store/areaSaggioPiantaCampione.store';\r\nimport Counter from \"./components/dashboard/counter.vue\";\r\nimport { dashboardHelper } from '@/helpers/DashboardHelper';\r\nimport { securityService } from \"@/services/securityService\";\r\n\r\nexport function init() {\r\n const userRoles = securityService.getInfo()?.roles;\r\n if (userRoles.includes(\"Amministratore\") || userRoles.includes(\"Editore\")){\r\n MenuHelper.addMenuDefinition(\r\n { name: \"areeSaggioPiantaCampione\", class: \"indent-1\", description: \"Rilievo ipsometrico\", icon: \"icon-uf_areesaggio_pianta\", routeName: \"PiantaCampione\", orderIndex: 1, group: \"Censimento in situ\" } as IMenuDefinition,\r\n { section: menuType.drawer },\r\n { section: menuType.bottom });\r\n dashboardHelper.addComponent(Counter, \"insitu\");\r\n }\r\n\r\n //REGISTRAZIONE DELLO STORE\r\n vuestore.registerModule(AreaSaggioPiantaCampioneStore.PREFIX, AreaSaggioPiantaCampioneStore);\r\n}","import { ISyncOptions } from '@/utils/ISyncOptions';\r\nimport { syncOperation, sync } from '@/utils/PersistentStore';\r\nimport { messageService } from '@/utils/MessageService';\r\nimport { areaSaggioPiantaCampioneStore, TABLES } from './store/areaSaggioPiantaCampione.store';\r\nimport { areaSaggioPiantaCampioneService } from './services/areaSaggioPiantaCampioneService';\r\n\r\nexport default {\r\n startup: async (): Promise => {\r\n await areaSaggioPiantaCampioneStore.getters.getAll();\r\n },\r\n syncOperations: async (): Promise => {\r\n await sync(TABLES.areaSaggioPiantaCampione,\r\n i => syncOperation.create, i => areaSaggioPiantaCampioneService.Set(i, i.versioneId), i => areaSaggioPiantaCampioneService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'areaSaggioPiantaCampione', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n }\r\n} as ISyncOptions;","import * as route from \"./route\";\r\nimport * as module from \"./module\";\r\nimport * as sync from \"./sync\";\r\nimport { IModuleOptions } from '@/utils/IModuleOptions';\r\n\r\nexport default {\r\n modulename: \"areeSaggioPiantaCampione\",\r\n module, route, sync, \r\n roles: [\"Amministratore\", \"Editore\", \"Visualizzatore\"]\r\n} as IModuleOptions","import { GetterTree, ActionTree } from 'vuex';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport { replaceInArray } from '@/utils/Array';\r\nimport { messageService } from '@/utils/MessageService';\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { areaSaggioPiantaCampioneService } from '../services/areaSaggioPiantaCampioneService';\r\nimport { Guid } from 'guid-typescript';\r\nimport { versioneInSituStore } from '@/modules/VersioneInSitu/store/VersioneInSitu.store';\r\nimport { syncDeletedRow } from '@/modules/SyncDeletedRow/helper/syncDeletedRowHelper';\r\n\r\nexport interface areaSaggioPiantaCampioneStoreModel { }\r\n\r\nexport interface areaSaggioPiantaCampioneStoreActions {\r\n setAreaSaggioPiantaCampione(payload: server.areaSaggioPiantaCampione);\r\n remove(payload: server.areaSaggioPiantaCampione): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface areaSaggioPiantaCampioneStoreGetters {\r\n get(id): Promise;\r\n getAll(): Promise;\r\n requiredSync(): Promise;\r\n nearestareaSaggioPiantaCampione(): Promise;\r\n}\r\n\r\nexport const TABLES = { areaSaggioPiantaCampione: 'AreeSaggioPianteCampione' };\r\nexport const AreaSaggioPiantaCampioneStore = {\r\n PREFIX: 'areaSaggioPiantaCampione',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.areaSaggioPiantaCampione, id),\r\n getAll: (state) => async (): Promise => {\r\n let currentVersion = await versioneInSituStore.getters.current();\r\n if (!currentVersion) return [];\r\n\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioPiantaCampione) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.areaSaggioPiantaCampione, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.areaSaggioPiantaCampione);\r\n return areaSaggioPiantaCampioneService.List(currentVersion.id, maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.areaSaggioPiantaCampione, r);\r\n return result;\r\n }).catch(() => result);\r\n },\r\n requiredSync: (state) => async (): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioPiantaCampione) || [];\r\n return result.some((s: any) => s.__needsSync)\r\n },\r\n nearestareaSaggioPiantaCampione: (state) => async (): Promise => {\r\n var position = store.getters.ui.currentGPSPosition();\r\n if (position != null)\r\n return (await areaSaggioPiantaCampioneStore.getters.getAll()).map(f => { return { distance: distance(f, position), f } })\r\n .sort((a, b) => a.distance - b.distance).shift()?.f;\r\n return null;\r\n }\r\n } as GetterTree,\r\n\r\n actions: {\r\n async setAreaSaggioPiantaCampione(context, payload: server.areaSaggioPiantaCampione) {\r\n let operation: syncOperation = syncOperation.update;\r\n if (!payload.id) {\r\n payload.id = Guid.create().toString();\r\n operation = syncOperation.create;\r\n }\r\n\r\n await saveAndSync(payload, TABLES.areaSaggioPiantaCampione,\r\n i => operation, i => areaSaggioPiantaCampioneService.Set(i, i.versioneId), i => areaSaggioPiantaCampioneService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'areaSaggioPiantaCampione', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n },\r\n async remove(context, payload: server.areaSaggioPiantaCampione) {\r\n await areaSaggioPiantaCampioneService.Remove(payload.id, payload.versioneId);\r\n await PersistentStore.remove(TABLES.areaSaggioPiantaCampione, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioPiantaCampione) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.areaSaggioPiantaCampione, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const areaSaggioPiantaCampioneStore = CreateTypedStoreProxy(vuestore, AreaSaggioPiantaCampioneStore.PREFIX);\r\n\r\nfunction distance(f: server.areaSaggioPiantaCampione, position: { latitude: number, longitude: number }) {\r\n return Math.sqrt(\r\n Math.pow(Math.abs(f.longitude - position.longitude), 2) +\r\n Math.pow(Math.abs(f.latitude - position.latitude), 2)\r\n )\r\n}","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass AreaSaggioPiantaCampioneService 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(versioneId: string, ts: number): Promise {\r\n return await this.Get(`/api/in-situ/${versioneId}/area-saggio-pianta-campione`, { ts: ts }) || [];\r\n }\r\n\r\n async Detail(id: string, versioneId: string): Promise {\r\n return await this.Get(`/api/in-situ/${versioneId}/area-saggio-pianta-campione/${id}`);\r\n }\r\n\r\n async Set(obj: server.areaSaggioPiantaCampione, versioneId: string): Promise {\r\n return await this.Post(`/api/in-situ/${versioneId}/area-saggio-pianta-campione`, obj);\r\n }\r\n\r\n async Remove(id: string, versioneId: string): Promise {\r\n return await this.Delete(`/api/in-situ/${versioneId}/area-saggio-pianta-campione/${id}`);\r\n }\r\n\r\n}\r\n\r\nexport const areaSaggioPiantaCampioneService = new AreaSaggioPiantaCampioneService();"],"sourceRoot":""}