{"version":3,"sources":["webpack:///./src/modules/AreeBoscoDaSeme/components/dashboard/counter.vue?02e9","webpack:///./src/modules/AreeBoscoDaSeme/components/dashboard/counter.ts","webpack:///./src/modules/AreeBoscoDaSeme/components/dashboard/counter.ts?805a","webpack:///./src/modules/AreeBoscoDaSeme/components/dashboard/counter.vue","webpack:///./src/modules/AreeBoscoDaSeme/module.ts","webpack:///./src/modules/AreeBoscoDaSeme/services/areaBoscoDaSemeService.ts","webpack:///./src/modules/AreeBoscoDaSeme/route.ts","webpack:///./src/modules/AreeBoscoDaSeme/sync.ts","webpack:///./src/modules/AreeBoscoDaSeme/index.ts","webpack:///./src/modules/AreeBoscoDaSeme/store/areaBoscoDaSeme.store.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","on","$event","goTo","_v","_s","numeroTotale","areaTotale","toFixed","_e","staticRenderFns","DashboardItem","routeName","store","actions","ui","toggleDrawerMenu","toggleUserMenu","$router","push","name","areeBoscoDaSeme","length","tot","area","get","getters","getAll","default","lazy","component","init","userRoles","securityService","getInfo","roles","isWeb","includes","MenuHelper","addMenuDefinition","description","icon","orderIndex","group","section","drawer","addComponent","registerModule","PREFIX","parentSymbol","type","color","outline","width","symbol","invalidSymbol","style","AreaBoscoDaSemeService","baseUrl","api","apiServerUrl","versioneId","ts","Get","id","obj","Post","Delete","areaBoscoDaSemeService","routes","path","meta","title","showExpander","requireAuth","route","startup","syncOperations","areaBoscoDaSeme","i","create","Set","o","n","op","publish","oldTypeId","newTypeId","modulename","module","sync","TABLES","AreaBoscoDaSemeStore","namespaced","mutations","state","current","currentVersion","result","getMaxTs","maxts","List","then","r","a","b","set","nearestAreaBoscoDaSeme","position","currentGPSPosition","areaBoscoDaSemeStore","map","f","distance","sort","shift","setAreaBoscoDaSeme","context","payload","operation","update","toString","remove","Remove","clean","Promise","all","Math","sqrt","pow","abs","longitude","latitude"],"mappings":"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","file":"modules/AreeBoscoDaSeme.js","sourcesContent":["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('areeBoscoDaSeme')}}},[_c('div',{staticClass:\"counter-body\"},[_c('i',{staticClass:\"icon-uf_areeseme\"}),_c('span',[_vm._v(_vm._s(_vm.numeroTotale)+\" \")]),_c('small',[_vm._v(\"Aree Bosco da Seme\")])]),(_vm.areaTotale)?_c('footer',[_vm._v(\" Area totale: \"+_vm._s(_vm.areaTotale.toFixed(2))+\" m\"),_c('sup',[_vm._v(\"2\")])]):_vm._e()])}\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 { store } from '@/store';\r\nimport { areaBoscoDaSemeStore } from '../../store/areaBoscoDaSeme.store';\r\n\r\n@Component({})\r\nexport default class DashboardItem extends Vue{\r\n \r\n @Async({ async get() { return await areaBoscoDaSemeStore.getters.getAll() }, default: [], lazy: true })\r\n areeBoscoDaSeme: server.areaSaggio[];\r\n\r\n get numeroTotale(){\r\n return this.areeBoscoDaSeme.length;\r\n }\r\n\r\n get areaTotale(){\r\n var tot=0;\r\n for (var area of this.areeBoscoDaSeme) {\r\n tot = tot + area.area;\r\n }\r\n return tot;\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=9da23d42&\"\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 { AreaBoscoDaSemeStore } from './store/areaBoscoDaSeme.store';\r\nimport { dashboardHelper } from '@/helpers/DashboardHelper';\r\nimport Counter from \"./components/dashboard/counter.vue\";\r\nimport { securityService } from '@/services/securityService';\r\nimport { layoutHelper } from '@/helpers/LayoutHelper';\r\n\r\nexport function init() {\r\n const userRoles = securityService.getInfo()?.roles;\r\n if (layoutHelper.isWeb && (userRoles.includes(\"Amministratore\") || userRoles.includes(\"Visualizzatore\"))){\r\n MenuHelper.addMenuDefinition(\r\n { name: \"areeBoscoDaSeme\", description: \"Aree Boschi da Seme\", icon: \"icon-uf_areeseme\", routeName: \"areeBoscoDaSeme\", orderIndex: 1, group: \"Censimento in situ\" } as IMenuDefinition,\r\n { section: menuType.drawer },\r\n );\r\n dashboardHelper.addComponent(Counter, \"insitu\");\r\n }\r\n\r\n //REGISTRAZIONE DELLO STORE\r\n vuestore.registerModule(AreaBoscoDaSemeStore.PREFIX, AreaBoscoDaSemeStore);\r\n}\r\n\r\nexport const parentSymbol = {\r\n type: \"simple-fill\",\r\n color: [60, 179, 113, 0.1],\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 2\r\n }\r\n};\r\nexport const symbol = {\r\n type: \"simple-fill\",\r\n color: [60, 179, 113, 0.8],\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 2\r\n }\r\n};\r\n\r\n\r\nexport const invalidSymbol = {\r\n type: \"simple-fill\",\r\n style: \"diagonal-cross\",\r\n color: [255, 0, 0],\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 2\r\n }\r\n}","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass AreaBoscoDaSemeService 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-bosco-da-seme`, { 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-bosco-da-seme/${id}`);\r\n }\r\n\r\n async Set(obj: server.areaBoscoDaSeme, versioneId: string,): Promise {\r\n return await this.Post(`/api/in-situ/${versioneId}/area-bosco-da-seme`, 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-bosco-da-seme/${id}`);\r\n }\r\n}\r\n\r\nexport const areaBoscoDaSemeService = new AreaBoscoDaSemeService();","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: 'areeBoscoDaSeme',\r\n name: 'areeBoscoDaSeme',\r\n component: () => layoutHelper.isWeb ? import(\"./components/web/index-web.vue\") : import(\"./components/mobile/index-mobile.vue\"),\r\n meta: { title: 'Aree Boschi da Seme', showExpander: false, requireAuth: true }\r\n },\r\n]\r\n\r\n\r\nexport default routes;","import { ISyncOptions } from '@/utils/ISyncOptions';\r\nimport { syncOperation, sync } from '@/utils/PersistentStore';\r\nimport { messageService } from '@/utils/MessageService';\r\nimport { areaBoscoDaSemeStore, TABLES } from './store/areaBoscoDaSeme.store';\r\nimport { areaBoscoDaSemeService } from './services/areaBoscoDaSemeService';\r\n\r\nexport default {\r\n startup: async (): Promise => {\r\n await areaBoscoDaSemeStore.getters.getAll();\r\n },\r\n syncOperations: async (): Promise => {\r\n await sync(TABLES.areaBoscoDaSeme,\r\n i => syncOperation.create, i => areaBoscoDaSemeService.Set(i, i.versioneId), i => areaBoscoDaSemeService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'areaBoscoDaSeme', 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: \"areeBoscoDaSeme\",\r\n module, route, sync, \r\n roles: [\"Amministratore\",\"Visualizzatore\"]\r\n} as IModuleOptions","import { GetterTree, ActionTree } from 'vuex';\r\nimport { replaceInArray } from '@/utils/Array';\r\nimport { messageService } from '@/utils/MessageService';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { areaBoscoDaSemeService } from '../services/areaBoscoDaSemeService';\r\nimport { versioneInSituStore } from '@/modules/VersioneInSitu/store/VersioneInSitu.store';\r\nimport { Guid } from 'guid-typescript';\r\nimport { syncDeletedRow } from '@/modules/SyncDeletedRow/helper/syncDeletedRowHelper';\r\n\r\nexport interface AreaBoscoDaSemeStoreModel { }\r\n\r\nexport interface AreaBoscoDaSemeStoreActions {\r\n setAreaBoscoDaSeme(payload: server.areaBoscoDaSeme): Promise;\r\n remove(payload: server.areaBoscoDaSeme): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface AreaBoscoDaSemeStoreGetters {\r\n get(id): Promise;\r\n getAll(): Promise;\r\n nearestAreaBoscoDaSeme(): Promise;\r\n}\r\n\r\nexport const TABLES = { areaBoscoDaSeme: 'AreeBoschiDaSeme' };\r\nexport const AreaBoscoDaSemeStore = {\r\n PREFIX: 'areaBoscoDaSeme',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.areaBoscoDaSeme, 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.areaBoscoDaSeme) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.areaBoscoDaSeme, result);\r\n }\r\n \r\n var maxts = await PersistentStore.getMaxTs(TABLES.areaBoscoDaSeme);\r\n areaBoscoDaSemeService.List(currentVersion.id, maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.areaBoscoDaSeme, r);\r\n });\r\n return result;\r\n },\r\n nearestAreaBoscoDaSeme: (state) => async (): Promise => {\r\n var position = store.getters.ui.currentGPSPosition();\r\n if (position != null)\r\n return (await areaBoscoDaSemeStore.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 setAreaBoscoDaSeme(context, payload: server.areaBoscoDaSeme) {\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.areaBoscoDaSeme,\r\n i => operation, i => areaBoscoDaSemeService.Set(i, i.versioneId), i => areaBoscoDaSemeService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'areaBoscoDaSeme', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n },\r\n async remove(context, payload: server.areaBoscoDaSeme) {\r\n await areaBoscoDaSemeService.Remove(payload.id, payload.versioneId);\r\n await PersistentStore.remove(TABLES.areaBoscoDaSeme, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.areaBoscoDaSeme) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.areaBoscoDaSeme, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const areaBoscoDaSemeStore = CreateTypedStoreProxy(vuestore, AreaBoscoDaSemeStore.PREFIX);\r\n\r\nfunction distance(f: server.areaBoscoDaSeme, 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}"],"sourceRoot":""}