{"version":3,"sources":["webpack:///./src/modules/Utenti/services/usersService.ts","webpack:///./src/modules/AreaSpecieProvenienza/export.ts","webpack:///./src/modules/AreaSpecieProvenienza/components/areaSpecieProvenienzaItem.ts","webpack:///./src/modules/AreaSpecieProvenienza/components/areaSpecieProvenienzaItem.ts?4e2e","webpack:///./src/modules/Utenti/store/users.store.ts"],"names":["UsersService","baseUrl","api","apiServerUrl","ts","this","Get","userId","applicationId","auth","client_id","username","id","obj","Put","Delete","roleId","usersService","exportForm","source","type","printer","pdf","utenteCreatore","utentiRilevatori","getters","getAll","users","user","find","f","toLowerCase","firstName","lastName","length","filter","map","m","indexOf","sort","a","b","localeCompare","get","versioneId","alias","areaSperimentaleId","nome","provincia","comune","localita","area","toFixed","header","data","datiCatastali","areaBoscoDaSemeId","piantaPlusId","specie","undefined","specieArborea","label","note","format","printObj","print","AreaSpecieProvenienzaItem","startX","move","rowElement","buttonRowLeftWidth","buttonRowRightWidth","e","$refs","rowContent","buttonRowSwipeLeft","offsetWidth","buttonRowSwipeRight","touches","clientX","style","transform","$emit","JSON","parse","stringify","item","areaSpecieProvenienzaService","Detail","detail","default","lazy","TABLES","userInRole","UsersStore","PREFIX","namespaced","mutations","state","result","getMaxTs","maxts","List","then","r","set","actions","setUtenti","context","payload","operation","update","create","toString","i","Set","o","n","op","publish","oldTypeId","newTypeId","remove","Remove","setRole","SetRole","removeRole","RemoveRole","usersStore"],"mappings":"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","file":"chunk-97cfc2f2.js","sourcesContent":["import { baseRestService } from \"@/utils/baseRestService\";\r\nimport { Config } from \"@/config\";\r\n\r\nclass UsersService 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/users`, { ts }) || [];\r\n }\r\n\r\n async Count(): Promise {\r\n return await this.Get(`/api/users/count`);\r\n }\r\n\r\n async GetById(userId: string): Promise {\r\n return await this.Get(`/api/users/get-by-id/${userId}`, { applicationId: Config.auth.client_id });\r\n }\r\n\r\n async GetByName(username: string): Promise {\r\n return await this.Get(`/api/users/get-by-name/${username}`, { applicationId: Config.auth.client_id });\r\n }\r\n\r\n async ToggleComplete(id: string): Promise {\r\n return await this.Get(`/api/users/${id}/toggle/complete`);\r\n }\r\n\r\n async ToggleConfirm(id: string): Promise {\r\n return await this.Get(`/api/users/${id}/toggle/email-confirm`);\r\n }\r\n\r\n async Set(obj: server.user, id: string): Promise {\r\n return await this.Put(`/api/users/${id}`, obj, { applicationId: Config.auth.client_id });\r\n }\r\n\r\n async Remove(id: string): Promise {\r\n return await this.Delete(`/api/users/${id}`);\r\n }\r\n\r\n async SetRole(obj: server.userInRole, userId: string): Promise {\r\n return await this.Put(`/api/users/${userId}/roles`, obj);\r\n }\r\n\r\n async RemoveRole(userId: string, roleId: string): Promise {\r\n return await this.Delete(`/api/users/${userId}/roles/${roleId}`);\r\n }\r\n}\r\n\r\nexport const usersService: UsersService = new UsersService();","import moment from 'moment';\r\nimport { printerHelper } from '../printer';\r\nimport { areaSperimentaleStore } from '../AreaSperimentale/store/areaSperimentale.store';\r\nimport { versioneExSituStore } from '../VersioneExSitu/store/VersioneExSitu.store';\r\nimport { domainStore } from '../domains/store/domains.store';\r\nimport { usersStore } from '../Utenti/store/users.store';\r\n\r\nexport async function exportForm(source: server.areaSpecieProvenienza, type: printer.type = printer.type.pdf): Promise {\r\n let utenteCreatore = [\"-- nessun creatore --\"];\r\n let utentiRilevatori: string[] = [\"-- nessun rilevatore --\"];\r\n const users = await usersStore.getters.getAll();\r\n\r\n if (source.userId) {\r\n const user = users.find(f => f.id.toLowerCase() === source.userId.toLowerCase());\r\n if (user) utenteCreatore = [`${user.firstName} ${user.lastName}`];\r\n }\r\n\r\n if ((source.utentiRilevatori || []).length > 0) {\r\n utentiRilevatori = users.filter(f => source.utentiRilevatori.map(m => m.toLowerCase()).indexOf(f.id.toLowerCase()) !== -1)\r\n .map((m) => `${m.firstName} ${m.lastName}`)\r\n .sort((a, b) => a.localeCompare(b));\r\n }\r\n\r\n const printObj = [\r\n {\r\n header: \"Dati Generali\",\r\n data: {\r\n 'Anno censimento': (await versioneExSituStore.getters.get(source.versioneId)).alias,\r\n 'Area Sperimentale di riferimento': (await areaSperimentaleStore.getters.get(source.areaSperimentaleId))?.nome,\r\n 'Denominazione Area': source.nome ? source.nome : '',\r\n 'Provincia': source.provincia ? source.provincia : '',\r\n 'Comune': source.comune ? source.comune : '',\r\n 'Località': source.localita ? source.localita : '',\r\n 'Superficie Area': source.area ? source.area.toFixed(2) + ' m2' : '',\r\n }\r\n }, {\r\n header: \"Dati catastali\",\r\n data: {\r\n 'Dati catastali': source.datiCatastali ? source.datiCatastali : '',\r\n }\r\n },\r\n {\r\n header: \"Dati\",\r\n data: {\r\n 'Tipologia Provenienza': source.areaBoscoDaSemeId || source.piantaPlusId ? (source.areaBoscoDaSemeId && !source.piantaPlusId ? 'Bosco Da Seme' : 'Pianta Plus') : '',\r\n 'Id Provenienza': source.areaBoscoDaSemeId || source.piantaPlusId ? (source.areaBoscoDaSemeId && !source.piantaPlusId ? source.areaBoscoDaSemeId : source.piantaPlusId) : '',\r\n 'Specie': source.specie != null && source.specie != undefined ? (await domainStore.getters.specieArborea(source.specie))?.label : '',\r\n }\r\n }, {\r\n header: \"Altro\",\r\n data: {\r\n 'Note': source.note ? source.note : null,\r\n 'Data rilievo': source.data ? moment(source.data).format(\"DD-MM-YYYY\") : '',\r\n 'Utente creatore dell\\'area': utenteCreatore,\r\n 'Rilevatori in campo': utentiRilevatori\r\n }\r\n }\r\n ] as printer.group[];\r\n printerHelper.print(type, source.nome, 'Area per Specie/Provenienza', printObj);\r\n}","\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport { Async } from '@/utils/AsyncDecorators';\r\nimport { areaSperimentaleStore } from '@/modules/AreaSperimentale/store/areaSperimentale.store';\r\nimport { exportForm } from '../export';\r\nimport { areaSpecieProvenienzaStore } from '../store/areaSpecieProvenienza.store';\r\nimport { areaSpecieProvenienzaService } from '../services/areaSpecieProvenienzaService';\r\n\r\n@Component({})\r\nexport default class AreaSpecieProvenienzaItem extends Vue {\r\n\r\n @Prop()\r\n item: server.areaSpecieProvenienza;\r\n \r\n @Async({ async get() { return (await (await areaSperimentaleStore.getters.get(this.item.areaSperimentaleId)).nome); }, default: [], lazy: true })\r\n areaSperimentale: string;\r\n\r\n @Async({ async get() { return (await areaSperimentaleStore.getters.getAll()).sort((a, b) => a.nome.localeCompare(b.nome)); }, default: [], lazy: true })\r\n areeSperimentale: server.areaSperimentale[];\r\n private startX: number = 0;\r\n private move: number = 0;\r\n private rowElement: any = null;\r\n\r\n private buttonRowLeftWidth: any = null;\r\n private buttonRowRightWidth: any = null;\r\n\r\n public async start(e) {\r\n this.rowElement = this.$refs.rowContent;\r\n this.buttonRowLeftWidth = (this.$refs.buttonRowSwipeLeft as any)?.offsetWidth ? (this.$refs.buttonRowSwipeLeft as any)?.offsetWidth -20 : 0;\r\n this.buttonRowRightWidth = (this.$refs.buttonRowSwipeRight as any)?.offsetWidth ? (this.$refs.buttonRowSwipeRight as any)?.offsetWidth - 20 : 0;\r\n this.startX = e.touches[0].clientX;\r\n }\r\n\r\n public onswipe(e) {\r\n (this.$refs.buttonRowSwipeLeft as any).style = \"visibility: visible;\";\r\n (this.$refs.buttonRowSwipeRight as any).style = \"visibility: visible;\";\r\n this.move = e.touches[0].clientX - this.startX;\r\n if (this.move >= 0) {\r\n (this.$refs.buttonRowSwipeRight as any).style = \"visibility: hidden\";\r\n // (this.$refs.buttonRowSwipeLeft as any).style = \"visibility: visible;\";\r\n if (this.move <= this.buttonRowLeftWidth) {\r\n this.rowElement.style.transform =\r\n \"translate(\" + this.move + \"px\" + \")\";\r\n } else {\r\n this.rowElement.style.transform = \"translate(\" + this.buttonRowLeftWidth + \"px)\";\r\n }\r\n }\r\n\r\n if (this.move < 0) {\r\n (this.$refs.buttonRowSwipeLeft as any).style = \"visibility: hidden;\";\r\n // (this.$refs.buttonRowSwipeRight as any).style = \"visibility: visible;\";\r\n if (!(-this.move >= this.buttonRowRightWidth)) {\r\n this.rowElement.style.transform =\r\n \"translate(\" + this.move + \"px\" + \")\";\r\n } else {\r\n this.rowElement.style.transform = \"translate(-\" + this.buttonRowRightWidth + \"px)\";\r\n }\r\n }\r\n }\r\n\r\n public onstop() {\r\n if (this.move >= 0) {\r\n if (this.move < this.buttonRowLeftWidth) {\r\n this.rowElement.style.transform = \"translate(0)\";\r\n }\r\n }\r\n if (this.move < 0) {\r\n if (!(-this.move >= this.buttonRowRightWidth)) {\r\n this.rowElement.style.transform = \"translate(0)\";\r\n }\r\n }\r\n }\r\n\r\n async edit()\r\n { \r\n this.$emit('edit', JSON.parse(JSON.stringify(this.item)));\r\n }\r\n\r\n async exporting(type: printer.type = printer.type.pdf){\r\n const detail = await areaSpecieProvenienzaService.Detail(this.item.id, this.item.versioneId);\r\n await exportForm(detail, type)\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!./areaSpecieProvenienzaItem.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!./areaSpecieProvenienzaItem.ts?vue&type=script&lang=ts&\"","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 { usersService } from '../services/usersService';\r\nimport { Guid } from 'guid-typescript';\r\n\r\nexport interface UsersStoreModel { }\r\n\r\nexport interface UsersStoreActions {\r\n setUtenti(payload: server.user): Promise;\r\n remove(payload: server.user): Promise;\r\n}\r\n\r\nexport interface UsersStoreGetters {\r\n get(id: string): Promise;\r\n getAll(): Promise;\r\n}\r\n\r\nexport const TABLES = { users: 'users', userInRole: 'user-in-role' };\r\nexport const UsersStore = {\r\n PREFIX: 'users',\r\n namespaced: true,\r\n mutations: {},\r\n getters: {\r\n get: (state) => async (id): Promise => {\r\n return await PersistentStore.get(TABLES.users, id);\r\n },\r\n getAll: (state) => async (): Promise => {\r\n const result: server.user[] = await PersistentStore.getAll(TABLES.users) || [];\r\n const maxts: number = await PersistentStore.getMaxTs(TABLES.users);\r\n usersService.List(maxts).then(async (r) => {\r\n replaceInArray(r, result, (a, b) => a.id === b.id);\r\n await PersistentStore.set(TABLES.users, r);\r\n });\r\n return result;\r\n },\r\n } as GetterTree,\r\n\r\n actions: {\r\n async setUtenti(context, payload: server.user) {\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 await saveAndSync(payload, TABLES.users,\r\n i => operation, i => usersService.Set(i, i.id), i => usersService.Set(i, i.id),\r\n async (o, n, op) => {\r\n messageService.publish('updateMediaReference', { type: 'users', oldTypeId: o.id, newTypeId: n.id } as messages.updateMediaReference);\r\n })\r\n },\r\n async remove(context, payload: server.user) {\r\n await usersService.Remove(payload.id);\r\n await PersistentStore.remove(TABLES.users, payload);\r\n },\r\n async setRole(context, payload: server.userInRole) {\r\n const operation = payload.id > 0 ? syncOperation.update : syncOperation.create\r\n await saveAndSync(payload, TABLES.userInRole,\r\n i => operation,\r\n i => usersService.SetRole(i, i.userId),\r\n i => usersService.SetRole(i, i.userId),\r\n async (o, n, op) => {\r\n await this.getters.getAll();\r\n });\r\n },\r\n async removeRole(context, payload: server.userInRole) {\r\n await usersService.RemoveRole(payload.userId, payload.roleId);\r\n await PersistentStore.remove(TABLES.userInRole, payload);\r\n await this.getters.getAll();\r\n }\r\n } as ActionTree\r\n}\r\n\r\nexport const usersStore = CreateTypedStoreProxy(vuestore, UsersStore.PREFIX);\r\n"],"sourceRoot":""}