{"version":3,"sources":["webpack:///./src/modules/users/services/userService.ts","webpack:///./src/modules/users/components/userAutocomplete.vue?bead","webpack:///./src/modules/users/components/userAutocomplete.ts","webpack:///./src/modules/users/components/userAutocomplete.ts?fb47","webpack:///./src/modules/users/components/userAutocomplete.vue","webpack:///./src/modules/roles/components/roleUsers/roleUsers.vue?ce4b","webpack:///./src/modules/roles/services/rolesServices.ts","webpack:///./src/modules/roles/views/rolesView.vue?373b","webpack:///./src/modules/roles/components/rolesList/rolesList.vue?ae37","webpack:///./src/modules/roles/components/rolesList/rolesList.ts","webpack:///./src/modules/roles/components/rolesList/rolesList.ts?5e13","webpack:///./src/modules/roles/components/rolesList/rolesList.vue","webpack:///./src/modules/roles/components/roleClaims/roleClaims.vue?c961","webpack:///./src/modules/roles/components/roleClaims/roleClaims.ts","webpack:///./src/modules/roles/components/roleClaims/roleClaims.ts?e3df","webpack:///./src/modules/roles/components/roleClaims/roleClaims.vue","webpack:///./src/modules/roles/components/roleUsers/roleUsers.vue?eddf","webpack:///./src/modules/roles/components/roleUsers/roleUsers.ts","webpack:///./src/modules/roles/components/roleUsers/roleUsers.ts?02aa","webpack:///./src/modules/roles/components/roleUsers/roleUsers.vue","webpack:///./src/modules/roles/views/rolesView.ts","webpack:///./src/modules/roles/views/rolesView.ts?87a5","webpack:///./src/modules/roles/views/rolesView.vue","webpack:///./src/modules/roles/views/rolesView.vue?189b","webpack:///./src/modules/roles/components/rolesList/rolesList.vue?9360","webpack:///./src/modules/roles/components/roleClaims/roleClaims.vue?45f6"],"names":["UserService","super","this","baseUrl","params","Get","id","user","returnUrl","location","origin","Post","Put","Delete","obj","userId","ids","userService","render","_vm","_c","_self","_setupProxy","staticClass","class","className","_t","attrs","remoteMethod","clearable","loading","placeholder","size","defaultFirstOption","disabled","on","model","value","callback","$$v","selected","expression","_l","item","key","label","staticRenderFns","options","$emit","initDefaultSelect","n","o","s","Detail","findIndex","f","push","nomeCompleto","userName","query","users","AssignableUsers","search","page","take","map","m","default","component","RolesServices","roleName","claimType","rolesServices","selectedRole","_e","$set","handleAdd","filteredRoles","highlightCurrentRow","rowClick","scopedSlots","_u","fn","row","_v","_s","name","pagination","pageSizes","total","filter","roles","getRoles","length","r","toLowerCase","indexOf","sort","a","b","localeCompare","slice","$prompt","confirmButtonText","cancelButtonText","inputValidator","validateRuolo","inputPlaceholder","then","createNewRole","role","$message","message","dangerouslyUseHTMLString","type","duration","catch","error","showClose","replace","find","normalizedName","toUpperCase","$confirm","deleteRole","idx","splice","claims","g","allClaimsInGroup","e","toggleAllClaimsInGroups","$t","claim","getRoleClaim","$event","toggleRoleClaim","roleClaims","fetchData","rc","getAllClaims","getRoleClaims","mp","Map","c","substring","has","set","get","Array","from","entries","deleteRoleClaim","createNewRoleClaim","current","deep","directives","rawName","list","handleDelete","slot","usersPerRole","getRoleUsers","element","assignRoleToUser","removeUserFromRole","components","userAutocomplete","rolesList","roleUsers"],"mappings":"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","file":"js/roles.4a2a9b3b.js","sourcesContent":["import settings from '@/settings';\nimport { baseRestService } from '@/services/_base/baseRestService'\n\nclass UserService extends baseRestService {\n constructor() {\n super();\n this.baseUrl = () => `${settings.baseUrl}/identity/`;\n }\n\n public async Count(params?: user.queryParams): Promise<number> {\n return await this.Get<number>(\"users/count\", params);\n }\n\n public async List(params?: user.queryParams): Promise<user.summary[]> {\n return await this.Get<user.summary[]>(\"users\", params);\n }\n\n public async AssignableUsers(params?: user.queryParams): Promise<user.summary[]> {\n return await this.Get<user.summary[]>(\"users/assignable\", params);\n }\n\n public async Detail(id: string): Promise<user.item> {\n return await this.Get<user.item>(`users/${id}`);\n }\n\n public async Create(user: user.item): Promise<user.item> {\n const returnUrl = `${location.origin}/addCredential`;\n return await this.Post<user.item>(`users`, user, { returnUrl });\n }\n\n public async Update(user: user.item): Promise<user.item> {\n return await this.Put<user.item>(`users/${user.id}`, user);\n }\n\n public async Remove(id: string): Promise<void> {\n return await this.Delete<void>(`users/${id}`);\n }\n\n async ToggleLocked(id: string): Promise<user.item> {\n const returnUrl = `${location.origin}`;\n return await this.Get<user.item>(`users/${id}/toggle/locked`, { returnUrl });\n }\n\n async ToggleEmailConfirm(id: string): Promise<user.item> {\n return await this.Get<user.item>(`users/${id}/toggle/email-confirm`);\n }\n\n public async Complete(id: string, obj: user.item): Promise<user.item> {\n const returnUrl = `${location.origin}`;\n return await this.Put<user.item>(`/users/complete/${id}`, obj, { returnUrl });\n }\n\n public async getUserRoles(userId: string): Promise<string[]> {\n return await this.Get(`users/${userId}/roles`);\n }\n\n public async getUsersByIds(ids: string[]): Promise<user.summary[]> {\n return await this.Post('users/usersByIds', ids);\n }\n}\n\nexport const userService = new UserService()\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"autocomplete-container\",class:_vm.className},[_vm._t(\"prefix\"),_c('el-select',{attrs:{\"filterable\":\"\",\"remote\":\"\",\"remote-method\":_vm.remoteMethod,\"clearable\":_vm.clearable,\"loading\":_vm.loading,\"placeholder\":_vm.placeholder,\"size\":_vm.size,\"default-first-option\":_vm.defaultFirstOption,\"disabled\":_vm.disabled},on:{\"focus\":_vm.remoteMethod},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component, Watch, Prop } from \"vue-property-decorator\";\nimport { userService } from \"../services/userService\";\n\n@Component({})\nexport default class userAutocomplete extends Vue {\n @Prop()\n value?: string;\n\n @Prop({ default: false })\n clearable?: boolean\n @Prop({ default: false })\n defaultFirstOption: boolean\n @Prop({ default: `Ricerca l'utente` })\n placeholder?: string\n @Prop({})\n size?: 'medium' | 'mini' | 'small'\n @Prop({})\n className?: string\n @Prop({default: false})\n disabled: boolean\n\n loading: boolean = false;\n options: { value: string, label: string }[] = [];\n\n public get selected(): string {\n return this.value;\n }\n public set selected(value: string) {\n this.$emit('input', value);\n this.$emit('change', value);\n }\n \n created() {\n this.initDefaultSelect();\n }\n\n @Watch(\"value\")\n async valueChange(n, o) {\n if (n !== o) {\n await this.initDefaultSelect()\n }\n }\n async initDefaultSelect() {\n if (this.value) {\n const s = await userService.Detail(this.value);\n if (!s) {\n this.selected = null;\n } else if (this.options.findIndex(f => f.value === s.id) < 0) {\n this.options.push({ label: `${s.nomeCompleto} - ${s.userName}`, value: s.id })\n }\n } else {\n if (this.selected) this.selected = null;\n }\n }\n\n async remoteMethod(query) {\n if (query !== '') {\n this.loading = true;\n const users = await userService.AssignableUsers({ search: query, page: 1, take: 20 });\n this.options = users.map(m => { return { label: `${m.nomeCompleto} - ${m.userName}`, value: m.id } });\n this.loading = false;\n } else {\n this.options = [];\n }\n }\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./userAutocomplete.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./userAutocomplete.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./userAutocomplete.vue?vue&type=template&id=25f5c2ba\"\nimport script from \"./userAutocomplete.ts?vue&type=script&lang=ts&external\"\nexport * from \"./userAutocomplete.ts?vue&type=script&lang=ts&external\"\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","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./roleUsers.vue?vue&type=style&index=0&id=ed8286a2&prod&lang=less&scoped=true\"","import settings from \"@/settings\";\nimport { baseRestService } from '@/services/_base/baseRestService'\n\nclass RolesServices extends baseRestService {\n\n constructor() {\n super();\n this.baseUrl = () => `${settings.baseUrl}/identity/roles`;\n }\n\n /**\n * Get all the available roles from the backend\n * @returns an Array of Role\n */\n public async getRoles(): Promise<Array<role.item>> {\n return await this.Get<Array<role.item>>(\"\");\n }\n\n public async getRoleByName(roleName:string): Promise<role.item>{\n return await this.Get<role.item>(`/${roleName}`);\n }\n\n /**\n * Get all the claims related to the specified role name\n * @param roleName the name of the role\n * @returns an Array of Claims related to that roleName\n */\n public async getRoleClaims(roleName: string): Promise<Array<role.roleClaim>> {\n return await this.Get<Array<role.roleClaim>>(`/${roleName}/claims`);\n }\n\n /**\n * Fetch all the available claims\n * @returns the Array of all available claims\n */\n public async getAllClaims(): Promise<Array<role.claim>> {\n return await this.Get<Array<role.claim>>(\"/claims\");\n }\n\n /**\n * Creates relationship between Role and Claim\n * @param roleName the role name who will have new claim\n * @param claimType the claim to associate with the role\n * @returns a RoleClaim object representing the new association\n */\n public async createNewRoleClaim(roleName: string, claimType: string): Promise<Array<role.roleClaim>> {\n return await this.Post<Array<role.roleClaim>>(`/${roleName}/claim/${claimType}`, {});\n }\n\n /**\n * Deletes relationship between Role and Claim\n * @param roleName the role name who will have new claim\n * @param claimType the claim to associate with the role\n * @returns a RoleClaim object representing the deleted association\n */\n public async deleteRoleClaim(roleName: string, claimType: string): Promise<role.roleClaim> {\n return await this.Delete<role.roleClaim>(`/${roleName}/claim/${claimType}`);\n }\n\n /**\n * Creates a new Role with the specified name\n * @param roleName the name of the Role to be created\n */\n public async createNewRole(roleName: string): Promise<role.item> {\n return await this.Post<role.item>(`/${roleName}`,roleName); \n }\n\n /**\n * Deletes a Role\n * @param roleName name of the role to delete\n */\n public async deleteRole(roleName: string): Promise<void> {\n await this.Delete(`/${roleName}`);\n }\n\n /**\n * Get all users related to a specific role\n * @param roleName the roleName users are linked to\n * @returns an Array of UserSummary\n */\n public async getRoleUsers(roleName: string): Promise<Array<user.summary>>{\n return await this.Get(`/${roleName}/users`);\n }\n\n /**\n * Relates a User to a Role\n * @param roleName the Role Name that will be related to a user\n * @param userId the UserId that will receive Role\n */\n public async assignRoleToUser(roleName: string, userId: string): Promise<void>{\n await this.Post(`/${roleName}/user/${userId}`, {});\n }\n \n public async removeUserFromRole(roleName: string, userId: string): Promise<void>{\n await this.Delete(`/${roleName}/user/${userId}`);\n }\n}\n\nexport const rolesServices = new RolesServices();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"container roles-container\"},[_c('roles-list',{model:{value:(_vm.selectedRole),callback:function ($$v) {_vm.selectedRole=$$v},expression:\"selectedRole\"}}),_c('div',{staticClass:\"detail\"},[(_vm.selectedRole)?_c('el-tabs',{attrs:{\"type\":\"border-card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Permessi\"}},[_c('role-claims',{attrs:{\"role\":_vm.selectedRole}})],1),_c('el-tab-pane',{attrs:{\"label\":\"Utenti\"}},[_c('role-users',{attrs:{\"role\":_vm.selectedRole}})],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('aside',{staticClass:\"role-sidebar\"},[_c('header',{staticClass:\"header-tools-container\"},[_c('el-input',{attrs:{\"placeholder\":\"Ricerca un ruolo\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-search\",\"label\":\"Ricerca ruolo\"},model:{value:(_vm.query.filter),callback:function ($$v) {_vm.$set(_vm.query, \"filter\", $$v)},expression:\"query.filter\"}}),_c('el-button',{attrs:{\"type\":\"success\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.handleAdd}})],1),_c('el-table',{staticClass:\"role-list\",attrs:{\"height\":\"calc(100vh - 98px)\",\"data\":_vm.filteredRoles,\"row-class-name\":_vm.highlightCurrentRow,\"empty-text\":\"Nessun ruolo trovato\",\"header-row-class-name\":\"header-bg-color\"},on:{\"row-click\":_vm.rowClick}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"label\":\"Elenco ruoli utente\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row }){return [_vm._v(\" \"+_vm._s(row.name)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component, Prop } from \"vue-property-decorator\";\nimport { rolesServices } from \"../../services/rolesServices\";\n\n@Component({})\n\nexport default class rolesList extends Vue {\n @Prop({ default: null })\n value!: role.item;\n\n pagination: { pageSizes: number[], total: number, } = {\n pageSizes: [15],\n total: 0\n }\n\n query: { page: number, take: number, filter: string } = {\n page: 1,\n take: 15,\n filter: null\n };\n\n roles: role.item[] = [];\n async created() {\n this.roles = await rolesServices.getRoles();\n this.pagination.total = this.roles.length;\n }\n\n get selectedRole(): role.item {\n return this.value;\n }\n set selectedRole(value: role.item) {\n this.$emit(\"input\", value);\n }\n\n get filteredRoles() {\n if (this.roles.length <= 0) return [];\n return this.roles\n .filter((r) => !this.query.filter || (r.name.toLowerCase() || '').indexOf(this.query.filter.toLowerCase()) >= 0)\n .sort((a, b) => a.name.localeCompare(b.name))\n .slice((this.query.page - 1) * this.query.take, (this.query.page * this.query.take))\n }\n\n paginationSizeChange(size) {\n this.query.take = size;\n this.query.page = 1;\n }\n\n paginationPageChange(page) {\n this.query.page = page;\n }\n\n rowClick(row: role.item) {\n this.selectedRole = row;\n }\n\n highlightCurrentRow({ row }: { row: role.item }) {\n if (row === this.selectedRole)\n return 'highlight-selected-row';\n return '';\n }\n\n handleAdd() {\n this.$prompt(`Crea un nuovo ruolo con cui aggregare i permessi`, `Aggiungi un nuovo ruolo`, {\n confirmButtonText: `Salva`,\n cancelButtonText: 'Annulla',\n inputValidator: this.validateRuolo,\n inputPlaceholder: 'Inserisci il nome del nuovo ruolo'\n }).then(({ value }: any) => {\n rolesServices.createNewRole(value)\n .then((role: role.item) => {\n this.roles.push(role);\n this.selectedRole = role;\n this.$message({\n message: `Il ruolo <strong>${role.name}</strong> è stato aggiunto con successo`,\n dangerouslyUseHTMLString: true,\n type: \"success\",\n duration: 5000,\n });\n }).catch((error) => {\n this.$message({\n message: `Si è verificato un errore nell'inserimento del ruolo <strong>${value}</strong>`,\n showClose: true,\n dangerouslyUseHTMLString: true,\n type: \"error\",\n duration: 5000,\n });\n });\n }).catch(() => { });\n }\n\n validateRuolo(value: string) {\n if (!value || value.replace(/\\s+/, \"\").length <= 0)\n return `E' obbligatorio inserire il nome del ruolo`;\n if((this.roles || []).find(r => r.normalizedName.toUpperCase() == value.toUpperCase())){\n return `Esiste un ruolo con questo nome`;\n }\n return true;\n }\n\n async handleDelete(role: role.item) {\n try {\n this.$confirm(`Il ruolo verrà rimosso <strong>${role.name}</strong> definitivamente. Continuare?`, \"Attenzione!\", {\n confirmButtonText: 'OK',\n cancelButtonText: 'Annulla',\n dangerouslyUseHTMLString: true,\n type: 'warning'\n }).then(async () => {\n await rolesServices.deleteRole(role.name);\n const idx = this.roles.findIndex(f => f.id === role.id);\n if (idx >= 0) this.roles.splice(idx, 1);\n this.$message({\n message: `Il ruolo <strong>${role.name}</strong> è stato rimosso con successo`,\n dangerouslyUseHTMLString: true,\n type: \"success\",\n })\n })\n } catch (error) {\n this.$message({\n message: `Errore nella rimozione del ruolo <strong>${role.name}</strong>`,\n dangerouslyUseHTMLString: true,\n type: \"error\",\n })\n }\n\n\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./rolesList.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./rolesList.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./rolesList.vue?vue&type=template&id=7d5e0fc4\"\nimport script from \"./rolesList.ts?vue&type=script&lang=ts&external\"\nexport * from \"./rolesList.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./rolesList.vue?vue&type=style&index=0&id=7d5e0fc4&prod&lang=less\"\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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"claims-detail-container\"},[(_vm.claims && _vm.claims.length > 0)?_c('section',[_vm._l((_vm.groupedClaims),function(g){return [_c('div',{key:`t-${g[0]}`,staticClass:\"claims-group-container\"},[_c('header',{key:`l-${g[0]}`,staticClass:\"claim-group-header\"},[_c('el-switch',{attrs:{\"id\":`claim-${g[0]}`,\"value\":_vm.allClaimsInGroup(g[1])},on:{\"input\":e => _vm.toggleAllClaimsInGroups(g[1], e)}}),_c('h3',[_vm._v(_vm._s(_vm.$t(`claims.${g[0]}.__groupTitle`)))])],1),_c('div',{staticClass:\"claim-group-body\"},_vm._l((g[1]),function(claim){return _c('div',{key:claim.type,staticClass:\"claim-group-toggle-item\"},[_c('el-button',{staticClass:\"claim-toggle-button\",attrs:{\"type\":!!_vm.getRoleClaim(claim.type) ? 'success' : 'info',\"plain\":\"\",\"aria-label\":`Claim ${claim.type}`},on:{\"click\":function($event){return _vm.toggleRoleClaim(claim.type)}}},[_c('div',{staticClass:\"claim-name\"},[_vm._v(_vm._s(_vm.$t(`claims.${claim.label}`)))]),_c('div',{staticClass:\"claim-description\"},[_vm._v(_vm._s(claim.type))])])],1)}),0)])]})],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\nimport { rolesServices } from \"../../services/rolesServices\";\n\n@Component\nexport default class RoleClaims extends Vue {\n @Prop({ default: null })\n role: role.item;\n\n claims: Array<role.claim> = [];\n roleClaims: Array<role.roleClaim> = [];\n\n async created() {\n await this.fetchData();\n }\n\n @Watch(\"role\", { deep: true })\n async chaneRole(n, o) {\n if (n && n != o) {\n await this.fetchData();\n }\n }\n \n getRoleClaim(claimType: string): role.roleClaim {\n return this.roleClaims?.find((rc) => rc.type === claimType);\n }\n\n loading: boolean = false;\n async fetchData(){\n this.loading = true;\n this.claims = await rolesServices.getAllClaims();\n this.roleClaims = await rolesServices.getRoleClaims(this.role.name);\n this.loading = false;\n }\n\n get groupedClaims() {\n var mp = new Map<string, role.claim[]>();\n for (const c of this.claims) {\n var g = c.type.substring(0, c.type.replace(\"-\", \".\").indexOf(\".\"));\n if (!mp.has(g)) {\n mp.set(g, []);\n }\n\n mp.get(g).push(c);\n }\n\n return Array.from(mp.entries());\n }\n\n async toggleRoleClaim(claimType: string) {\n let claim = this.getRoleClaim(claimType);\n\n if (!claim) {\n this.roleClaims = await rolesServices.createNewRoleClaim(this.role.name, claimType);\n } else {\n let idx = this.roleClaims.indexOf(claim);\n this.roleClaims.splice(idx, 1);\n await rolesServices.deleteRoleClaim(this.role.name, claim.type);\n }\n }\n\n allClaimsInGroup(claims: role.claim[]): boolean {\n for (const claim of claims) {\n if (!this.getRoleClaim(claim.type)) return false;\n }\n return true;\n }\n\n async toggleAllClaimsInGroups(claims: role.claim[], value) {\n for (const claim of claims) {\n let current = this.getRoleClaim(claim.type);\n if (value && !current) {\n await rolesServices.createNewRoleClaim(this.role.name, claim.type);\n }\n\n if (!value && current) {\n await rolesServices.deleteRoleClaim(this.role.name, claim.type);\n }\n }\n\n this.fetchData();\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./roleClaims.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./roleClaims.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./roleClaims.vue?vue&type=template&id=6db1a9d3\"\nimport script from \"./roleClaims.ts?vue&type=script&lang=ts&external\"\nexport * from \"./roleClaims.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./roleClaims.vue?vue&type=style&index=0&id=6db1a9d3&prod&lang=less\"\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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"hide-empty-block\",attrs:{\"data\":_vm.list,\"show-overflow-tooltip\":\"\",\"border\":\"\",\"fit\":\"\",\"highlight-current-row\":\"\"}},[_c('el-table-column',{attrs:{\"label\":\"#\",\"type\":\"index\",\"width\":\"70px\",\"align\":\"center\"}}),_c('el-table-column',{attrs:{\"prop\":\"userName\",\"label\":\"Username\"}}),_c('el-table-column',{attrs:{\"align\":\"right\",\"width\":\"200px\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row }){return [_c('el-button',{attrs:{\"icon\":\"el-icon-delete\",\"type\":\"danger\",\"aria-label\":\"Dissocia utente\"},on:{\"click\":function($event){return _vm.handleDelete(row)}}},[_vm._v(\"Disassocia Utente\")])]}}])}),_c('template',{slot:\"append\"},[_c('div',{staticClass:\"last-row\"},[_c('div',{staticClass:\"first-cell-index\"},[_c('i',{staticClass:\"fas fa-search\"})]),_c('user-autocomplete',{attrs:{\"clearable\":true,\"default-first-option\":true,\"placeholder\":`Ricerca l'utente da associare all'anagrafica`},model:{value:(_vm.userId),callback:function ($$v) {_vm.userId=$$v},expression:\"userId\"}}),_c('el-button',{staticClass:\"last-button\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-plus\",\"disabled\":!_vm.userId,\"aria-label\":\"Associa utente\"},on:{\"click\":function($event){return _vm.handleAdd()}}},[_vm._v(\"Associa Utente \")])],1)])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\nimport userAutocomplete from \"@/modules/users/components/userAutocomplete.vue\";\nimport { rolesServices } from \"../../services/rolesServices\";\n\n@Component({\n components: {\n userAutocomplete\n }\n})\n\nexport default class RoleUsers extends Vue {\n @Prop()\n role: role.item;\n\n userId: string = \"\"\n\n usersPerRole: { id: string, userName: string }[] = [];\n async created() {\n await this.fetchData();\n }\n\n @Watch(\"role\", { deep: true })\n async chaneRole(n, o) {\n if (n && n != o) {\n await this.fetchData();\n }\n }\n\n loading: boolean = false;\n async fetchData() {\n this.loading = true;\n this.usersPerRole = (await rolesServices.getRoleUsers(this.role.name)).map(element => {\n return { id: element.id, userName: element.userName }\n })\n this.loading = false;\n }\n\n get list(): { id: string, userName: string }[] {\n return this.usersPerRole.sort((a, b) => a.userName.localeCompare(b.userName));\n }\n\n async handleAdd() {\n try {\n await rolesServices.assignRoleToUser(this.role.name, this.userId)\n this.$message({\n message: `Utente assegnato correttamente al ruolo <strong>${this.role.name}</strong>`,\n dangerouslyUseHTMLString: true,\n type: \"success\",\n })\n await this.fetchData();\n this.userId = null;\n } catch (error) {\n this.$message({\n message: `Errore nell'assegnazione dell'utente al ruolo <strong>${this.role.name}</strong>`,\n dangerouslyUseHTMLString: true,\n type: \"error\",\n })\n }\n }\n\n handleDelete(user: { id: string, userName: string }) {\n try {\n this.$confirm(`Vuoi rimuovere l'associazione dell'utente <strong>${user.userName}</strong><br>con il ruolo <strong>${this.role.name}</strong>?`, \"Attenzione!\", {\n confirmButtonText: 'OK',\n cancelButtonText: 'Annulla',\n dangerouslyUseHTMLString: true,\n type: 'warning'\n }).then(async () => {\n await rolesServices.removeUserFromRole(this.role.name, user.id)\n this.$message({\n message: `L'utente <strong>${user.userName}</strong> è stato rimosso con successo dal ruolo <strong>${this.role.name}</strong>`,\n dangerouslyUseHTMLString: true,\n type: \"success\",\n })\n await this.fetchData();\n })\n } catch (error) {\n this.$message({\n message: `Errore nella rimozione dell'utente <strong>${user.userName}</strong><br>dal ruolo <strong>${this.role.name}</strong>`,\n dangerouslyUseHTMLString: true,\n type: \"error\",\n })\n }\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./roleUsers.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./roleUsers.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./roleUsers.vue?vue&type=template&id=ed8286a2&scoped=true\"\nimport script from \"./roleUsers.ts?vue&type=script&lang=ts&external\"\nexport * from \"./roleUsers.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./roleUsers.vue?vue&type=style&index=0&id=ed8286a2&prod&lang=less&scoped=true\"\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 \"ed8286a2\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport rolesList from '../components/rolesList/rolesList.vue'\nimport roleClaims from \"../components/roleClaims/roleClaims.vue\";\nimport { rolesServices } from \"../services/rolesServices\";\nimport roleUsers from \"../components/roleUsers/roleUsers.vue\";\n\n@Component({\n components: {\n rolesList,\n roleClaims,\n roleUsers,\n }\n})\n\nexport default class rolesView extends Vue {\n selectedRole: role.item = null;\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./rolesView.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./rolesView.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./rolesView.vue?vue&type=template&id=a420d5cc\"\nimport script from \"./rolesView.ts?vue&type=script&lang=ts&external\"\nexport * from \"./rolesView.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./rolesView.vue?vue&type=style&index=0&id=a420d5cc&prod&lang=less\"\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rolesView.vue?vue&type=style&index=0&id=a420d5cc&prod&lang=less\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rolesList.vue?vue&type=style&index=0&id=7d5e0fc4&prod&lang=less\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./roleClaims.vue?vue&type=style&index=0&id=6db1a9d3&prod&lang=less\""],"sourceRoot":""}