{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.some.js","webpack:///./src/modules/PiantaPlus/components/dashboard/counter.vue?d7b2","webpack:///./src/modules/PiantaPlus/components/dashboard/counter.ts","webpack:///./src/modules/PiantaPlus/components/dashboard/counter.ts?f4d5","webpack:///./src/modules/PiantaPlus/components/dashboard/counter.vue","webpack:///./src/modules/PiantaPlus/module.ts","webpack:///./src/modules/PiantaPlus/services/PiantaPlusService.ts","webpack:///./src/modules/PiantaPlus/route.ts","webpack:///./src/modules/PiantaPlus/sync.ts","webpack:///./src/modules/PiantaPlus/index.ts","webpack:///./src/modules/PiantaPlus/store/PiantaPlus.store.ts"],"names":["$","$some","some","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","target","proto","forced","callbackfn","this","arguments","length","undefined","render","_vm","_h","$createElement","_c","_self","staticClass","on","$event","goTo","_v","_s","numeroTotale","staticRenderFns","DashboardItem","routeName","store","actions","ui","toggleDrawerMenu","toggleUserMenu","$router","push","name","piante","get","getters","getAll","default","lazy","component","init","MenuHelper","addMenuDefinition","description","icon","orderIndex","group","section","drawer","bottom","addComponent","registerModule","PREFIX","symbol","type","style","size","color","outline","width","invalidSymbol","PiantaPlusService","baseUrl","api","apiServerUrl","versioneId","ts","Get","id","obj","Post","Delete","piantaPlusService","routes","path","isWeb","meta","title","showExpander","requireAuth","route","startup","syncOperations","piantaPlus","i","create","Set","o","n","op","publish","oldTypeId","newTypeId","modulename","module","sync","roles","TABLES","PiantaPlusStore","namespaced","mutations","state","current","currentVersion","result","getMaxTs","maxts","List","then","r","a","b","set","requiredSync","s","__needsSync","nearestPiantaPlus","position","currentGPSPosition","piantaPlusStore","map","f","distance","sort","shift","setPiantaPlus","context","payload","operation","update","toString","remove","Remove","clean","Promise","all","Math","sqrt","pow","abs","longitude","latitude"],"mappings":"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","file":"modules/PiantaPlus.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","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('PiantaPlus')}}},[_c('div',{staticClass:\"counter-body\"},[_c('i',{staticClass:\"icon-uf_piantaplus\"}),_c('span',[_vm._v(_vm._s(_vm.numeroTotale)+\" \")]),_c('small',[_vm._v(\" Piante da Seme/Piante Plus\")])])])}\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 { piantaPlusStore } from '../../store/PiantaPlus.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 piantaPlusStore.getters.getAll() }, default: [], lazy: true })\r\n piante: server.PiantaPlus[];\r\n\r\n get numeroTotale(){\r\n return this.piante.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=7b422290&\"\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 { PiantaPlusStore } from './store/PiantaPlus.store';\r\nimport Counter from \"./components/dashboard/counter.vue\";\r\nimport { dashboardHelper } from '@/helpers/DashboardHelper';\r\n\r\nexport function init() {\r\n MenuHelper.addMenuDefinition(\r\n { name: \"PiantaPlus\", description: \"Piante da Seme/Piante Plus\", icon: \"icon-uf_piantaplus\", routeName: \"PiantaPlus\", 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 //REGISTRAZIONE DELLO STORE\r\n vuestore.registerModule(PiantaPlusStore.PREFIX, PiantaPlusStore);\r\n}\r\n\r\nexport const symbol = {\r\n type: \"simple-marker\", // autocasts as new SimpleMarkerSymbol()\r\n style: \"circle\",\r\n size: \"15px\", // pixels\r\n color: \"#5F9EA0\",\r\n outline: { // autocasts as new SimpleLineSymbol()\r\n color: \"white\",\r\n width: 1\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 PiantaPlusService 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}/pianta-plus`, { 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}/pianta-plus/${id}`);\r\n }\r\n\r\n async Set(obj: server.PiantaPlus, versioneId: string): Promise {\r\n return await this.Post(`/api/in-situ/${versioneId}/pianta-plus`, obj);\r\n }\r\n\r\n async Remove(id: string, versioneId: string): Promise {\r\n return await this.Delete(`/api/in-situ/${versioneId}/pianta-plus/${id}`);\r\n }\r\n}\r\n\r\nexport const piantaPlusService = new PiantaPlusService();","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: 'PiantaPlus',\r\n name: 'PiantaPlus',\r\n component: () => layoutHelper.isWeb ? import(\"./components/web/index-web.vue\") : import(\"./components/mobile/index-mobile.vue\"),\r\n meta: { title: 'Piante da Seme/Piante Plus', 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 { piantaPlusStore, TABLES } from './store/PiantaPlus.store';\r\nimport { piantaPlusService } from './services/PiantaPlusService';\r\n\r\nexport default {\r\n startup: async (): Promise => {\r\n await piantaPlusStore.getters.getAll();\r\n },\r\n syncOperations: async (): Promise => {\r\n await sync(TABLES.piantaPlus,\r\n i => syncOperation.create, i => piantaPlusService.Set(i, i.versioneId), i => piantaPlusService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'PiantaPlus', 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: \"PiantaPlus\",\r\n module, route, sync, \r\n roles: [\"Amministratore\", \"Editore\"]\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\n\r\nimport vuestore, { store } from '@/store';\r\nimport { CreateTypedStoreProxy } from 'vuex-typed-store';\r\nimport { piantaPlusService } from '../services/PiantaPlusService';\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 PiantaPlusStoreModel { }\r\n\r\nexport interface PiantaPlusStoreActions {\r\n setPiantaPlus(payload: server.PiantaPlus): Promise;\r\n remove(payload: server.PiantaPlus): Promise;\r\n clean(): Promise;\r\n}\r\n\r\nexport interface PiantaPlusStoreGetters {\r\n get(id): Promise;\r\n getAll(): Promise;\r\n requiredSync(): Promise;\r\n nearestPiantaPlus(): Promise;\r\n}\r\n\r\nexport const TABLES = { piantaPlus: 'PiantePlus' };\r\nexport const PiantaPlusStore = {\r\n PREFIX: 'PiantaPlus',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => await PersistentStore.get(TABLES.piantaPlus, id),\r\n getAll: (state) => async (): Promise => {\r\n const currentVersion = await versioneInSituStore.getters.current();\r\n if (!currentVersion) return [];\r\n\r\n let result = await PersistentStore.getAll(TABLES.piantaPlus) || [];\r\n\r\n if (result.length > 0) {\r\n result = await syncDeletedRow(TABLES.piantaPlus, result);\r\n }\r\n\r\n var maxts = await PersistentStore.getMaxTs(TABLES.piantaPlus);\r\n piantaPlusService.List(currentVersion.id, maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id == b.id);\r\n await PersistentStore.set(TABLES.piantaPlus, r);\r\n });\r\n return result;\r\n },\r\n requiredSync: (state) => async (): Promise => {\r\n var result = await PersistentStore.getAll(TABLES.piantaPlus) || [];\r\n return result.some((s: any) => s.__needsSync)\r\n },\r\n nearestPiantaPlus: (state) => async (): Promise => {\r\n var position = store.getters.ui.currentGPSPosition();\r\n if (position != null)\r\n return (await piantaPlusStore.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 setPiantaPlus(context, payload: server.PiantaPlus) {\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.piantaPlus,\r\n i => operation, i => piantaPlusService.Set(i, i.versioneId), i => piantaPlusService.Set(i, i.versioneId),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'PiantaPlus', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n },\r\n async remove(context, payload: server.PiantaPlus) {\r\n await piantaPlusService.Remove(payload.id, payload.versioneId);\r\n await PersistentStore.remove(TABLES.piantaPlus, payload);\r\n },\r\n async clean(context) {\r\n var result = await PersistentStore.getAll(TABLES.piantaPlus) || [];\r\n if (result.length > 0) {\r\n return Promise.all(result.map(async (f) => PersistentStore.remove(TABLES.piantaPlus, f)));\r\n }\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const piantaPlusStore = CreateTypedStoreProxy(vuestore, PiantaPlusStore.PREFIX);\r\n\r\nfunction distance(f: server.PiantaPlus, 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":""}