{"version":3,"sources":["webpack:///./src/modules/AreaSaggioClasseDiametrica/store/areaSaggioClasseDiametrica.store.ts","webpack:///./src/modules/Reports/route.ts","webpack:///./src/modules/Reports/module.ts","webpack:///./src/modules/Reports/sync.ts","webpack:///./src/modules/Reports/index.ts","webpack:///./src/modules/AreaSaggio/services/areaSaggioService.ts","webpack:///./node_modules/core-js/modules/es.array.some.js","webpack:///./src/modules/AreaSaggioPiantaCampione/store/areaSaggioPiantaCampione.store.ts","webpack:///./src/modules/AreaSaggio/store/areaSaggio.store.ts","webpack:///./src/modules/Reports/store/report.store.ts","webpack:///./src/modules/domains/module.ts","webpack:///./src/modules/domains/sync.ts","webpack:///./src/modules/domains/index.ts","webpack:///./src/modules/AreaSaggioClasseDiametrica/services/areaSaggioClasseDiametricaService.ts","webpack:///./src/modules/AreaSaggioPiantaCampione/services/areaSaggioPiantaCampioneService.ts"],"names":["TABLES","areaSaggioClasseDiametrica","AreaSaggioClasseDiametricaStore","PREFIX","namespaced","mutations","getters","get","state","id","getAll","current","currentVersion","result","length","getMaxTs","maxts","List","then","r","a","b","set","requiredSync","specieArboreaId","filter","f","specie","some","s","__needsSync","timeStamp","actions","setAreaSaggioClasseDiametrica","context","payload","operation","update","create","toString","i","Set","versioneId","o","n","op","remove","entity","Remove","removeAll","areaSaggioId","toRemove","Promise","all","map","areaSaggioClasseDiametricaStore","clean","routes","path","name","component","meta","title","showExpander","requireAuth","route","init","registerModule","MenuHelper","addMenuDefinition","class","description","icon","routeName","orderIndex","group","section","drawer","startup","specieArboree","modulename","module","sync","roles","AreaSaggioService","baseUrl","api","apiServerUrl","ts","this","Get","obj","Post","Delete","areaSaggioService","$","$some","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","target","proto","forced","callbackfn","arguments","undefined","areaSaggioPiantaCampione","AreaSaggioPiantaCampioneStore","catch","nearestareaSaggioPiantaCampione","position","ui","currentGPSPosition","areaSaggioPiantaCampioneStore","distance","sort","shift","setAreaSaggioPiantaCampione","publish","type","oldTypeId","newTypeId","Math","sqrt","pow","abs","longitude","latitude","areaSaggio","AreaSaggioStore","resultDoSync","classeDiametricaDoSync","piantaCampionDoSync","nearestAreaSaggio","areaSaggioStore","setAreaSaggio","ReportStore","logarithmicRegression","set_logarithmic_regression","regression","navigation","selected","getValuesOfLogarithmicExpression","value","commit","reportStore","coordinates","pianteCampione","m","diametro","altezza","data","options","order","precision","sum","len","log","coeffB","round","coeffA","fn","x","points","point","equation","string","r2","determinationCoefficient","results","predictions","observations","forEach","d","push","reduce","observation","mean","ssyy","difference","sse","accum","index","prediction","residual","number","factor","composizioneVegetazionali","danniOsservati","esposizioni","feriteTroncoCicatrizzazione","feriteTroncoDimensioni","fustiFibratura","fustiNodosita","fustiSezione","fustiTipo","giaciture","governi","lettiere","origineMaterialiSelezionati","originePiantePlus","originePopolamentiForestali","pietrosita","posizioniPiantePlus","potaturePiantePlus","struttureOrizzontali","struttureVerticali","substratiPetrogenici","terreniSottostanti","tipiPiantePlus","trattamenti","ubicazioni","istat","AreaSaggioClasseDiametricaService","areaSaggioClasseDiametricaService","AreaSaggioPiantaCampioneService","areaSaggioPiantaCampioneService"],"mappings":"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","file":"modules/reports.js","sourcesContent":["import { GetterTree, ActionTree } from 'vuex';\r\nimport { PersistentStore, saveAndSync, syncOperation } from '@/utils/PersistentStore';\r\nimport { replaceInArray } from '@/utils/Array';\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { areaSaggioClasseDiametricaService } from '../services/areaSaggioClasseDiametricaService';\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 AreaSaggioClasseDiametricaStoreModel { }\r\n\r\nexport interface AreaSaggioClasseDiametricaStoreActions {\r\n setAreaSaggioClasseDiametrica(payload: server.areaSaggioClasseDiametrica): Promise;\r\n remove(payload: server.areaSaggioClasseDiametrica): Promise;\r\n removeAll(payload: { areaSaggioId: string, versioneId: string }): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface AreaSaggioClasseDiametricaStoreGetters {\r\n get(id): Promise;\r\n getAll(): Promise;\r\n requiredSync(specieArboreaId: number): Promise;\r\n}\r\n\r\ninterface areaSaggioClasseDiametricaNeedSync extends server.areaSaggioClasseDiametrica {\r\n __needsSync: boolean\r\n}\r\n\r\nexport const TABLES = { areaSaggioClasseDiametrica: 'AreeSaggioClassiDiametriche' };\r\nexport const AreaSaggioClasseDiametricaStore = {\r\n PREFIX: 'areaSaggioClasseDiametrica',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.areaSaggioClasseDiametrica, 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.areaSaggioClasseDiametrica) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.areaSaggioClasseDiametrica, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.areaSaggioClasseDiametrica);\r\n areaSaggioClasseDiametricaService.List(currentVersion.id, maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.areaSaggioClasseDiametrica, r);\r\n });\r\n return result;\r\n },\r\n requiredSync: (state) => async (specieArboreaId?: number): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioClasseDiametrica) || [];\r\n return result.filter(f => (!specieArboreaId || specieArboreaId === f.specie)).some((s: areaSaggioClasseDiametricaNeedSync) => s.__needsSync === true && !s.timeStamp);\r\n }\r\n } as GetterTree,\r\n\r\n actions: {\r\n async setAreaSaggioClasseDiametrica(context, payload: server.areaSaggioClasseDiametrica) {\r\n\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.areaSaggioClasseDiametrica,\r\n i => operation, i => areaSaggioClasseDiametricaService.Set(i, i.versioneId), i => areaSaggioClasseDiametricaService.Set(i, i.versioneId),\r\n async (o, n, op) => { })\r\n },\r\n async remove(context, payload: server.areaSaggioClasseDiametrica) {\r\n const entity: areaSaggioClasseDiametricaNeedSync = await PersistentStore.get(TABLES.areaSaggioClasseDiametrica, payload.id);\r\n if (entity.timeStamp) {\r\n await areaSaggioClasseDiametricaService.Remove(payload.id, payload.versioneId);\r\n }\r\n await PersistentStore.remove(TABLES.areaSaggioClasseDiametrica, payload);\r\n },\r\n async removeAll(context, payload: { areaSaggioId: string, versioneId: string }) {\r\n if (payload.versioneId && payload.areaSaggioId) {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioClasseDiametrica) || [];\r\n if (result.length > 0) {\r\n const toRemove = result.filter(f => f.versioneId === payload.versioneId && f.areaSaggioId === payload.areaSaggioId);\r\n return Promise.all(toRemove.map(async (f) => await areaSaggioClasseDiametricaStore.actions.remove(f)));\r\n }\r\n }\r\n return;\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggioClasseDiametrica) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.areaSaggioClasseDiametrica, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const areaSaggioClasseDiametricaStore = CreateTypedStoreProxy(vuestore, AreaSaggioClasseDiametricaStore.PREFIX);","import { RouteConfig } from 'vue-router';\r\n\r\nconst routes: Array = [\r\n {\r\n path: 'dati-generali',\r\n name: 'dati-generali',\r\n component: () => import(\"./components/DatiGenerali/index.vue\"),\r\n meta: { title: 'Dati generali', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'numero-piante-classe-diametrica',\r\n name: 'numero-piante-classe-diametrica',\r\n component: () => import(\"./components/NumeroPianteClasseDiametrica/index.vue\"),\r\n meta: { title: 'Numero piante per classe diametrica', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'curva-ipsometrica',\r\n name: 'curva-ipsometrica',\r\n component: () => import(\"./components/CurvaIpsometrica/index.vue\"),\r\n meta: { title: 'Curva ipsometrica', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'area-basimetrica-classe-diametrica',\r\n name: 'area-basimetrica-classe-diametrica',\r\n component: () => import(\"./components/AreaBasimetrica/index.vue\"),\r\n meta: { title: 'Area basimetrica per classe diametrica', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'volume-classe-diametrica',\r\n name: 'volume-classe-diametrica',\r\n component: () => import(\"./components/VolumeAdEttaro/index.vue\"),\r\n meta: { title: 'Volume per classe diametrica', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'tabella-riepilogativa',\r\n name: 'tabella-riepilogativa',\r\n component: () => import(\"./components/TabellaRiepilogativa/index.vue\"),\r\n meta: { title: 'Tabella riepilogativa', showExpander: false, requireAuth: true }\r\n },\r\n {\r\n path: 'tabella-valori-incrementali',\r\n name: 'tabella-valori-incrementali',\r\n component: () => import(\"./components/ValoriIncrementali/index.vue\"),\r\n meta: { title: 'Tabella valori incrementali', showExpander: false, requireAuth: true }\r\n },\r\n]\r\n\r\n\r\nexport default routes;","import { MenuHelper, IMenuDefinition, menuType } from \"@/helpers/MenuHelper\";\r\nimport vuestore from \"@/store\";\r\nimport { ReportStore } from \"./store/report.store\";\r\n\r\nexport function init() {\r\n //REGISTRAZIONE DELLO STORE\r\n vuestore.registerModule(ReportStore.PREFIX, ReportStore);\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"dati-generali\", class: \"indent-0\", description: \"Dati Generali\", icon: \"fas fa-calculator\", routeName: \"dati-generali\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"numero-piante-classe-diametrica\", class: \"indent-0\", description: \"Numero di piante per classe diametrica\", icon: \"fas fa-file-contract\", routeName: \"numero-piante-classe-diametrica\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"curva-ipsometrica\", class: \"indent-0\", description: \"Curva ipsometrica\", icon: \"fas fa-file-contract\", routeName: \"curva-ipsometrica\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"area-basimetrica-classe-diametrica\", class: \"indent-0\", description: \"Area basimetrica per classe diametrica\", icon: \"fas fa-file-contract\", routeName: \"area-basimetrica-classe-diametrica\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"volume-classe-diametrica\", class: \"indent-0\", description: \"Volume per classe diametrica\", icon: \"fas fa-file-contract\", routeName: \"volume-classe-diametrica\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"tabella-riepilogativa\", class: \"indent-0\", description: \"Tabella riepilogativa\", icon: \"fas fa-file-invoice\", routeName: \"tabella-riepilogativa\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n\r\n MenuHelper.addMenuDefinition(\r\n { name: \"tabella-valori-incrementali\", class: \"indent-0\", description: \"Tabella valori incrementali\", icon: \"fas fa-file-invoice\", routeName: \"tabella-valori-incrementali\", orderIndex: 3, group: \"Reports\" } as IMenuDefinition,\r\n { section: menuType.drawer });\r\n};\r\n","import { ISyncOptions } from '@/utils/ISyncOptions';\r\nimport { areaSaggioStore } from '@/modules/AreaSaggio/store/areaSaggio.store';\r\nimport { areaSaggioPiantaCampioneStore } from '@/modules/AreaSaggioPiantaCampione/store/areaSaggioPiantaCampione.store';\r\nimport { areaSaggioClasseDiametricaStore } from '@/modules/AreaSaggioClasseDiametrica/store/areaSaggioClasseDiametrica.store';\r\nimport { domainStore } from '@/modules/domains';\r\nimport { reportStore } from './store/report.store';\r\n\r\nexport default {\r\n startup: async (): Promise => {\r\n await areaSaggioStore.getters.getAll();\r\n await areaSaggioClasseDiametricaStore.getters.getAll();\r\n await areaSaggioPiantaCampioneStore.getters.getAll();\r\n await domainStore.getters.specieArboree();\r\n await reportStore.actions.init();\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: \"reports\",\r\n module, route, sync, \r\n roles: [\"Amministratore\", \"Editore\", \"Visualizzatore\"]\r\n} as IModuleOptions","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass AreaSaggioService 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`, { 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/${id}`);\r\n }\r\n\r\n async Set(obj: server.areaSaggio, versioneId: string): Promise {\r\n return await this.Post(`/api/in-situ/${versioneId}/area-saggio`, 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/${id}`);\r\n }\r\n}\r\n\r\nexport const areaSaggioService = new AreaSaggioService();","'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 { 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 { 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 { areaSaggioService } from '../services/areaSaggioService';\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 AreaSaggioStoreModel { }\r\n\r\nexport interface AreaSaggioStoreActions {\r\n setAreaSaggio(payload: server.areaSaggio): Promise;\r\n remove(payload: server.areaSaggio): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface AreaSaggioStoreGetters {\r\n get(id): Promise;\r\n getAll(): Promise;\r\n requiredSync(areaSaggioId: string): Promise;\r\n nearestAreaSaggio(): Promise;\r\n}\r\n\r\nexport const TABLES = {\r\n areaSaggio: 'AreeSaggio',\r\n areaSaggioClasseDiametrica: 'AreeSaggioClassiDiametriche',\r\n areaSaggioPiantaCampione: 'AreeSaggioPianteCampione'\r\n};\r\nexport const AreaSaggioStore = {\r\n PREFIX: 'areaSaggio',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.areaSaggio, 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.areaSaggio) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.areaSaggio, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.areaSaggio);\r\n areaSaggioService.List(currentVersion.id, maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.areaSaggio, r);\r\n });\r\n return result;\r\n },\r\n requiredSync: (state) => async (areaSaggioId: string): Promise => {\r\n var resultDoSync = (await PersistentStore.getAll(TABLES.areaSaggio) || [])\r\n .filter(f => f.id === areaSaggioId).some((s: any) => s.__needsSync);\r\n var classeDiametricaDoSync = (await PersistentStore.getAll(TABLES.areaSaggioClasseDiametrica) || [])\r\n .filter(f => f.id === areaSaggioId).some((s: any) => s.__needsSync);\r\n var piantaCampionDoSync = (await PersistentStore.getAll(TABLES.areaSaggioPiantaCampione) || [])\r\n .filter(f => f.id === areaSaggioId).some((s: any) => s.__needsSync);\r\n return resultDoSync && classeDiametricaDoSync && piantaCampionDoSync;\r\n },\r\n nearestAreaSaggio: (state) => async (): Promise => {\r\n var position = store.getters.ui.currentGPSPosition();\r\n if (position != null)\r\n return (await areaSaggioStore.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 actions: {\r\n async setAreaSaggio(context, payload: server.areaSaggio) {\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.areaSaggio,\r\n i => operation, i => areaSaggioService.Set(i, i.versioneId), i => areaSaggioService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'areaSaggio', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n },\r\n async remove(context, payload: server.areaSaggio) {\r\n await areaSaggioService.Remove(payload.id, payload.versioneId);\r\n await PersistentStore.remove(TABLES.areaSaggio, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.areaSaggio) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.areaSaggio, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const areaSaggioStore = CreateTypedStoreProxy(vuestore, AreaSaggioStore.PREFIX);\r\n\r\nfunction distance(f: server.areaSaggio, 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 { GetterTree, ActionTree } from 'vuex';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport vuestore, { store } from '../../../store';\r\nimport { areaSaggioPiantaCampioneStore } from '@/modules/AreaSaggioPiantaCampione/store/areaSaggioPiantaCampione.store';\r\n\r\nexport interface ReportStoreModel {\r\n logarithmicRegression: report.regression\r\n}\r\n\r\nexport interface ReportStoreActions {\r\n init();\r\n set_logarithmic_regression: (areaSaggioId) => Promise;\r\n}\r\n\r\nexport interface ReportStoreGetters {\r\n regression: () => report.regression;\r\n}\r\n\r\nexport const ReportStore = {\r\n PREFIX: 'report',\r\n namespaced: true,\r\n state: {\r\n logarithmicRegression: null\r\n },\r\n mutations: {\r\n set_logarithmic_regression(state: ReportStoreModel, regression: report.regression) {\r\n state.logarithmicRegression = regression\r\n },\r\n },\r\n getters: {\r\n regression: (state) => () => state.logarithmicRegression\r\n } as GetterTree,\r\n actions: {\r\n async init(context) {\r\n const areaSaggioId = store.getters.navigation.selected(\"areaSaggio\");\r\n const value = await getValuesOfLogarithmicExpression(areaSaggioId);\r\n context.commit('set_logarithmic_regression', value);\r\n },\r\n async set_logarithmic_regression(context, areaSaggioId: string) {\r\n const value = await getValuesOfLogarithmicExpression(areaSaggioId);\r\n context.commit('set_logarithmic_regression', value);\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const reportStore = CreateTypedStoreProxy(vuestore, ReportStore.PREFIX);\r\n\r\nasync function getValuesOfLogarithmicExpression(areaSaggioId: string): Promise {\r\n let coordinates = [];\r\n if (!areaSaggioId)\r\n return null;\r\n const pianteCampione = (await areaSaggioPiantaCampioneStore.getters.getAll())\r\n .filter(i => i.areaSaggioId === areaSaggioId);\r\n\r\n coordinates = pianteCampione.map(m => {\r\n return [m.diametro || 0, m.altezza || 0];\r\n })\r\n return logarithmicRegression(coordinates);\r\n\r\n}\r\n\r\nfunction logarithmicRegression(data, options: { order: number, precision: number } = { order: 2, precision: 2 }): report.regression {\r\n const sum = [0, 0, 0, 0];\r\n const len = data.length;\r\n\r\n for (let n = 0; n < len; n++) {\r\n if (data[n][1] !== null) {\r\n sum[0] += Math.log(data[n][0]);\r\n sum[1] += data[n][1] * Math.log(data[n][0]);\r\n sum[2] += data[n][1];\r\n sum[3] += (Math.log(data[n][0]) ** 2);\r\n }\r\n }\r\n\r\n const a = ((len * sum[1]) - (sum[2] * sum[0])) / ((len * sum[3]) - (sum[0] * sum[0]));\r\n const coeffB = round(a, options.precision);\r\n const coeffA = round((sum[2] - (coeffB * sum[0])) / len, options.precision);\r\n \r\n \r\n const fn = x => round(round(coeffA + (coeffB * Math.log(x)), options.precision), options.precision);\r\n const points = data.map(point => fn(point[0]));\r\n\r\n return {\r\n points,\r\n fn: fn,\r\n equation: [coeffA, coeffB],\r\n string: `y = ${coeffA} + ${coeffB} ln(x)`,\r\n r2: round(determinationCoefficient(data, points), options.precision),\r\n };\r\n\r\n function determinationCoefficient(data, results) {\r\n const predictions = [];\r\n const observations = [];\r\n\r\n data.forEach((d, i) => {\r\n if (d[1] !== null) {\r\n observations.push(d);\r\n predictions.push(results[i]);\r\n }\r\n });\r\n\r\n const sum = observations.reduce((a, observation) => a + observation[1], 0);\r\n const mean = sum / observations.length;\r\n\r\n const ssyy = observations.reduce((a, observation) => {\r\n const difference = observation[1] - mean;\r\n return a + (difference * difference);\r\n }, 0);\r\n\r\n const sse = observations.reduce((accum, observation, index) => {\r\n const prediction = predictions[index];\r\n const residual = observation[1] - prediction[1];\r\n return accum + (residual * residual);\r\n }, 0);\r\n\r\n return 1 - (sse / ssyy);\r\n }\r\n\r\n function round(number, precision) {\r\n const factor = 10 ** precision;\r\n return Math.round(number * factor) / factor;\r\n }\r\n}\r\n","import vuestore from '@/store';\r\nimport { DomainStore } from './store/domains.store';\r\nimport { IstatStore } from './store/istat.store';\r\n\r\nexport function init() {\r\n //REGISTRAZIONE DELLO STORE\r\n vuestore.registerModule(DomainStore.PREFIX, DomainStore);\r\n vuestore.registerModule(IstatStore.PREFIX, IstatStore);\r\n}","import { domainStore } from './store/domains.store';\r\nimport { istatStore } from './store/istat.store';\r\nimport { ISyncOptions } from '@/utils/ISyncOptions';\r\n\r\nexport default {\r\n\r\n startup: async (): Promise => {\r\n await domainStore.getters.composizioneVegetazionali();\r\n await domainStore.getters.danniOsservati();\r\n await domainStore.getters.esposizioni();\r\n await domainStore.getters.feriteTroncoCicatrizzazione();\r\n await domainStore.getters.feriteTroncoDimensioni();\r\n await domainStore.getters.fustiFibratura();\r\n await domainStore.getters.fustiNodosita();\r\n await domainStore.getters.fustiSezione();\r\n await domainStore.getters.fustiTipo();\r\n await domainStore.getters.giaciture();\r\n await domainStore.getters.governi();\r\n await domainStore.getters.lettiere();\r\n await domainStore.getters.origineMaterialiSelezionati();\r\n await domainStore.getters.originePiantePlus();\r\n await domainStore.getters.originePopolamentiForestali();\r\n await domainStore.getters.pietrosita();\r\n await domainStore.getters.posizioniPiantePlus();\r\n await domainStore.getters.potaturePiantePlus();\r\n await domainStore.getters.specieArboree();\r\n await domainStore.getters.struttureOrizzontali();\r\n await domainStore.getters.struttureVerticali();\r\n await domainStore.getters.substratiPetrogenici();\r\n await domainStore.getters.terreniSottostanti();\r\n await domainStore.getters.tipiPiantePlus();\r\n await domainStore.getters.trattamenti();\r\n await domainStore.getters.ubicazioni();\r\n\r\n await istatStore.getters.istat();\r\n }\r\n\r\n} as ISyncOptions;","\r\nimport * as module from \"./module\";\r\nimport * as sync from \"./sync\";\r\nimport { IModuleOptions } from '@/utils/IModuleOptions';\r\n\r\n\r\n// IMPORTANTE: Esportare le rotte e il module\r\nexport default {\r\n modulename: 'domains', module, sync, \r\n roles: [\"Amministratore\", \"Editore\", \"Visualizzatore\"]\r\n} as IModuleOptions\r\n\r\n\r\nexport { domainService } from \"./services/domainService\";\r\nexport { domainStore } from \"./store/domains.store\";\r\nexport { istatStore } from \"./store/istat.store\";","import { baseRestService } from \"@/utils/baseRestService\"\r\nimport { Config } from '@/config';\r\n\r\nclass AreaSaggioClasseDiametricaService 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 = null, areaSaggioId: string = null): Promise {\r\n return await this.Get(`/api/in-situ/${versioneId}/area-saggio-classe-diametrica`, { ts: ts, areaSaggioId: areaSaggioId }) || [];\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-classe-diametrica/${id}`);\r\n }\r\n\r\n async Set(obj: server.areaSaggioClasseDiametrica, versioneId: string): Promise {\r\n\r\n return await this.Post(`/api/in-situ/${versioneId}/area-saggio-classe-diametrica`, 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-classe-diametrica/${id}`);\r\n }\r\n}\r\n\r\nexport const areaSaggioClasseDiametricaService = new AreaSaggioClasseDiametricaService();","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":""}