@cauca-911/management 3.0.1 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +4 -4
  3. package/assets/i18n/cauca/en-management.json +16 -16
  4. package/assets/i18n/cauca/fr-management.json +16 -16
  5. package/bundles/cauca-911-management.umd.js +466 -465
  6. package/bundles/cauca-911-management.umd.js.map +1 -1
  7. package/bundles/cauca-911-management.umd.min.js +1 -1
  8. package/bundles/cauca-911-management.umd.min.js.map +1 -1
  9. package/cauca-911-management.d.ts +5 -5
  10. package/cauca-911-management.metadata.json +1 -1
  11. package/esm2015/cauca-911-management.js +6 -6
  12. package/esm2015/lib/cauca-management-group/cauca-management-group.component.js +212 -212
  13. package/esm2015/lib/cauca-management-user/cauca-management-user.component.js +57 -57
  14. package/esm2015/lib/cauca-management.component.js +14 -14
  15. package/esm2015/lib/cauca-management.module.js +35 -35
  16. package/esm2015/lib/cauca-management.service.js +13 -13
  17. package/esm2015/lib/shared/models/group-model.js +8 -8
  18. package/esm2015/lib/shared/models/group-permission-model.js +9 -9
  19. package/esm2015/lib/shared/models/permission-model.js +8 -8
  20. package/esm2015/lib/shared/models/user-group-model.js +8 -8
  21. package/esm2015/lib/shared/models/user-model.js +12 -11
  22. package/esm2015/lib/shared/models/user-permission-model.js +9 -9
  23. package/esm2015/lib/shared/services/management-group.service.js +38 -38
  24. package/esm2015/lib/shared/services/management-permission.service.js +35 -35
  25. package/esm2015/lib/shared/services/management-user.service.js +53 -53
  26. package/esm2015/public-api.js +16 -16
  27. package/fesm2015/cauca-911-management.js +439 -438
  28. package/fesm2015/cauca-911-management.js.map +1 -1
  29. package/lib/cauca-management-group/cauca-management-group.component.d.ts +42 -42
  30. package/lib/cauca-management-user/cauca-management-user.component.d.ts +17 -17
  31. package/lib/cauca-management.component.d.ts +5 -5
  32. package/lib/cauca-management.module.d.ts +2 -2
  33. package/lib/cauca-management.service.d.ts +3 -3
  34. package/lib/shared/models/group-model.d.ts +9 -9
  35. package/lib/shared/models/group-permission-model.d.ts +7 -7
  36. package/lib/shared/models/permission-model.d.ts +7 -7
  37. package/lib/shared/models/user-group-model.d.ts +6 -6
  38. package/lib/shared/models/user-model.d.ts +15 -14
  39. package/lib/shared/models/user-permission-model.d.ts +7 -7
  40. package/lib/shared/services/management-group.service.d.ts +14 -14
  41. package/lib/shared/services/management-permission.service.d.ts +13 -13
  42. package/lib/shared/services/management-user.service.d.ts +20 -20
  43. package/package.json +4 -4
  44. package/public-api.d.ts +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-management.umd.js","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/shared/services/management-group.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-user.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../../../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../../../projects/cauca-management/src/lib/shared/models/user-model.ts","../../../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../../projects/cauca-management/src/lib/cauca-management.module.ts","../../../projects/cauca-management/src/lib/shared/models/user-group-model.ts","../../../projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-permission-model.ts","../../../projects/cauca-management/src/public-api.ts","../../../projects/cauca-management/src/cauca-911-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaManagementService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'cauca-management',\n templateUrl: './cauca-management.component.html',\n styles: []\n})\nexport class CaucaManagementComponent implements OnInit {\n\n constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { GroupModel } from '../models/group-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementGroupService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<GroupModel[]> {\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\n }\n\n public get(idGroup: string): Observable<GroupModel> {\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public save(group: GroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\n }\n\n public delete(idGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { PermissionModel } from '../models/permission-model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementPermissionService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<PermissionModel[]> {\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\n }\n\n public get(idPermission: string): Observable<PermissionModel> {\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n\n public save(permission: PermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\n }\n\n public delete(idPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { UserModel } from '../shared/models/user-model';\nimport { UserGroupModel } from '../shared/models/user-group-model';\nimport { GroupModel } from '../shared/models/group-model';\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\nimport { ManagementGroupService } from '../shared/services/management-group.service';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { PermissionModel } from '../shared/models/permission-model';\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\n\n@Component({\n selector: 'cauca-management-group',\n templateUrl: './cauca-management-group.component.html',\n styleUrls: ['./cauca-management-group.component.scss']\n})\nexport class CaucaManagementGroupComponent implements OnInit {\n private groupUsers: any;\n\n @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n public groups: GroupModel[] = [];\n public users: UserModel[] = [];\n public permissions: PermissionModel[] = [];\n public userFullName: any = {};\n public showColumn = true;\n public showColumnXS = true;\n public translations: any = [];\n\n constructor(\n private managementGroupService: ManagementGroupService,\n private managementUserService: ManagementUserService,\n private managementPermissionService: ManagementPermissionService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\n this.showColumn = !result.matches;\n });\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.managementUserService.getAll<UserModel>().subscribe(data => {\n this.users = data;\n this.users.forEach(user => {\n if (user.isActive) {\n if (user.firstName !== '' && user.lastName !== '') {\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\n }\n }\n });\n });\n this.managementPermissionService.getAll().subscribe(permissions => {\n const permissionIndex = permissions.findIndex(c => {\n return c.tag === 'CanAccessPermissions';\n });\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) { return -1; }\n if (a.name > b.name) { return 1; }\n return 0;\n });\n this.permissions = permissions;\n });\n this.getGroups();\n }\n\n public fullName(data): string {\n if (!data) {\n return '';\n }\n\n return `${data.firstName} ${data.lastName}`;\n }\n\n public getGroupUser(field, e): void {\n const users: string[] = [];\n if (this.groupUsers) {\n this.groupUsers.forEach( user => {\n users.push(user.idUser);\n });\n }\n e.component.option('value', users);\n }\n\n public setGroupUser(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\n\n if (groupIndex === -1) {\n groupUser.push({ idUser, } as UserGroupModel);\n } else {\n groupUser.push(field.data.users[groupIndex]);\n }\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public setGroupPermission(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n groupUser.push({\n idUser,\n } as UserGroupModel);\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public getPermissionStatus(field, permission, e): void {\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\n\n if (groupPermission) {\n e.component.option('value', groupPermission.isAllowed);\n } else {\n e.component.option('value', undefined);\n }\n }\n\n public checkBoxToggled(field, permission, e): void {\n if (e.component.skipOnValueChanged) {\n e.component.skipOnValueChanged = false;\n return;\n }\n if (e.component.setUndefinedNextTime) {\n e.component.setUndefinedNextTime = false;\n e.component.skipOnValueChanged = true;\n e.component.option('value', undefined);\n this.setPermissionStatus(field, permission, undefined);\n return;\n }\n if (e.value === false) {\n e.component.setUndefinedNextTime = true;\n }\n\n this.setPermissionStatus(field, permission, e.value);\n }\n\n public onRowInserted(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowUpdated(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowRemoved(e): void {\n const group = (e.data as GroupModel);\n this.managementGroupService.delete(group.id).subscribe(data => {\n this.getGroups();\n });\n }\n\n public calculateUsersCellValue = (e): string => {\n const users = (e.users ? e.users as UserGroupModel[] : []);\n let usersNames: any[] = [];\n users.forEach(user => {\n const userGroup = this.users.filter(u => u.id === user.idUser);\n if (userGroup && userGroup[0]) {\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\n }\n });\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\n return usersNames.join(', ');\n }\n\n public onEditingStart(e: any): void {\n this.groupUsers = e.data.users;\n }\n\n public onInitNewRow(): void {\n this.groupUsers = [];\n }\n\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private setPermissionStatus(field: any, permission, value): void {\n const groupPermissions = field.value || [];\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\n\n if (groupIndex > -1) {\n groupPermissions[groupIndex].isAllowed = value;\n } else {\n groupPermissions.push({\n idModulePermission: permission.id,\n isAllowed: value,\n } as GroupPermissionModel);\n }\n\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\n }\n\n private saveGroup(group: GroupModel): void {\n this.removePermissionUndefined(group);\n if (group.users) {\n group.users.forEach((userGroup: UserGroupModel) => {\n userGroup.idGroup = group.id;\n });\n }\n if (group.permissions) {\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\n groupPermission.idGroup = group.id;\n });\n }\n this.managementGroupService.save(group).subscribe(() => {\n this.getGroups();\n });\n this.groupUsers = [];\n }\n\n private removePermissionUndefined(group: GroupModel): void {\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\n }\n\n private getGroups(): void {\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\n }\n}\n","import { UserGroupModel } from './user-group-model';\nimport { UserPermissionModel } from './user-permission-model';\n\nexport class UserModel {\n public id: string;\n public userName = '';\n public firstName = '';\n public lastName = '';\n public password = '';\n public email = '';\n public isActive = true;\n public groups: UserGroupModel[];\n public permissions: UserPermissionModel[];\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UserModel } from '../shared/models/user-model';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'cauca-management-user',\n templateUrl: './cauca-management-user.component.html',\n styleUrls: ['./cauca-management-user.component.scss']\n})\nexport class CaucaManagementUserComponent implements OnInit {\n public users: UserModel[] = [\n new UserModel()\n ];\n public showColumnXS = true;\n\n constructor(\n private managementUserService: ManagementUserService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.getUsers();\n }\n\n public onRowInserted(e: any): void {\n this.saveGroup(e.data as UserModel);\n }\n\n public onRowUpdated(e: any): void {\n this.saveGroup(e.key as UserModel);\n }\n\n public onRowRemoved(e: any): void {\n const user = (e.data as UserModel);\n this.managementUserService.delete(user.id).subscribe((data: any) => {\n this.getUsers();\n });\n }\n\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private saveGroup(user: UserModel): void {\n this.managementUserService.save<UserModel>(user).subscribe(() => {\n this.getUsers();\n });\n }\n\n private getUsers(): void {\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\n }\n}","import { NgModule } from '@angular/core';\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\nimport { DxListModule } from 'devextreme-angular/ui/list';\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\nimport { CaucaManagementComponent } from './cauca-management.component';\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n CaucaManagementComponent,\n CaucaManagementGroupComponent,\n CaucaManagementUserComponent\n ],\n imports: [\n CommonModule,\n DxCheckBoxModule,\n DxListModule,\n DxTagBoxModule,\n CaucaCoreForChildModule,\n CaucaDevextremeModule,\n ],\n exports: [\n CaucaManagementComponent,\n CaucaManagementUserComponent,\n CaucaManagementGroupComponent,\n ]\n})\nexport class CaucaManagementModule { }\n","export class UserGroupModel {\n public idUserGroup = '';\n public idGroup = '';\n public idUser = '';\n\n constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n","import {GroupPermissionModel} from './group-permission-model';\nimport {UserGroupModel} from './user-group-model';\n\nexport class GroupModel {\n public id: string;\n public name = '';\n public users: UserGroupModel[] = [];\n public permissions: GroupPermissionModel[] = [];\n\n constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n","/*\n * Public API Surface of cauca-management\n */\n\nexport * from './lib/cauca-management.service';\nexport * from './lib/cauca-management.component';\nexport * from './lib/cauca-management.module';\nexport * from './lib/cauca-management-group/cauca-management-group.component';\nexport * from './lib/cauca-management-user/cauca-management-user.component';\n\nexport { ManagementUserService } from './lib/shared/services/management-user.service';\nexport { ManagementGroupService } from './lib/shared/services/management-group.service';\nexport { UserModel } from './lib/shared/models/user-model';\nexport { UserGroupModel } from './lib/shared/models/user-group-model';\nexport { UserPermissionModel } from './lib/shared/models/user-permission-model';\nexport { GroupModel } from './lib/shared/models/group-model';\nexport { GroupPermissionModel } from './lib/shared/models/group-permission-model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ManagementPermissionService as ɵa} from './lib/shared/services/management-permission.service';"],"names":["Injectable","Component","CaucaCoreService","HttpClient","map","BreakpointObserver","Input","NgModule","CommonModule","DxCheckBoxModule","DxListModule","DxTagBoxModule","CaucaCoreForChildModule","CaucaDevextremeModule"],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-management.umd.js","sources":["../../projects/cauca-management/src/lib/cauca-management.service.ts","../../projects/cauca-management/src/lib/cauca-management.component.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-group.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-user.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-model.ts","../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../projects/cauca-management/src/lib/cauca-management.module.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-permission-model.ts","../../../projects/cauca-management/src/public-api.ts","../../../projects/cauca-management/src/cauca-911-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CaucaManagementService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cauca-management',\r\n templateUrl: './cauca-management.component.html',\r\n styles: []\r\n})\r\nexport class CaucaManagementComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { GroupModel } from '../models/group-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementGroupService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<GroupModel[]> {\r\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\r\n }\r\n\r\n public get(idGroup: string): Observable<GroupModel> {\r\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public save(group: GroupModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\r\n }\r\n\r\n public delete(idGroup: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { PermissionModel } from '../models/permission-model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementPermissionService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<PermissionModel[]> {\r\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\r\n }\r\n\r\n public get(idPermission: string): Observable<PermissionModel> {\r\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n\r\n public save(permission: PermissionModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\r\n }\r\n\r\n public delete(idPermission: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { UserGroupModel } from '../shared/models/user-group-model';\r\nimport { GroupModel } from '../shared/models/group-model';\r\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\r\nimport { ManagementGroupService } from '../shared/services/management-group.service';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { PermissionModel } from '../shared/models/permission-model';\r\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\r\n\r\n@Component({\r\n selector: 'cauca-management-group',\r\n templateUrl: './cauca-management-group.component.html',\r\n styleUrls: ['./cauca-management-group.component.scss']\r\n})\r\nexport class CaucaManagementGroupComponent implements OnInit {\r\n private groupUsers: any;\r\n\r\n @Input()\r\n public showPrintButton: boolean = true;\r\n @Input()\r\n public hoverStatePermission = true;\r\n public groups: GroupModel[] = [];\r\n public users: UserModel[] = [];\r\n public permissions: PermissionModel[] = [];\r\n public userFullName: any = {};\r\n public showColumn = true;\r\n public showColumnXS = true;\r\n public translations: any = [];\r\n\r\n constructor(\r\n private managementGroupService: ManagementGroupService,\r\n private managementUserService: ManagementUserService,\r\n private managementPermissionService: ManagementPermissionService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\r\n this.showColumn = !result.matches;\r\n });\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe(data => {\r\n this.users = data;\r\n this.users.forEach(user => {\r\n if (user.isActive) {\r\n if (user.firstName !== '' && user.lastName !== '') {\r\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\r\n }\r\n }\r\n });\r\n });\r\n this.managementPermissionService.getAll().subscribe(permissions => {\r\n const permissionIndex = permissions.findIndex(c => {\r\n return c.tag === 'CanAccessPermissions';\r\n });\r\n if (permissionIndex !== -1) {\r\n permissions.splice(permissionIndex, 1);\r\n }\r\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\r\n if (a.name < b.name) { return -1; }\r\n if (a.name > b.name) { return 1; }\r\n return 0;\r\n });\r\n this.permissions = permissions;\r\n });\r\n this.getGroups();\r\n }\r\n\r\n public fullName(data): string {\r\n if (!data) {\r\n return '';\r\n }\r\n\r\n return `${data.firstName} ${data.lastName}`;\r\n }\r\n\r\n public getGroupUser(field, e): void {\r\n const users: string[] = [];\r\n if (this.groupUsers) {\r\n this.groupUsers.forEach( user => {\r\n users.push(user.idUser);\r\n });\r\n }\r\n e.component.option('value', users);\r\n }\r\n\r\n public setGroupUser(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\r\n\r\n if (groupIndex === -1) {\r\n groupUser.push({ idUser, } as UserGroupModel);\r\n } else {\r\n groupUser.push(field.data.users[groupIndex]);\r\n }\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public setGroupPermission(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n groupUser.push({\r\n idUser,\r\n } as UserGroupModel);\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public getPermissionStatus(field, permission, e): void {\r\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\r\n\r\n if (groupPermission) {\r\n e.component.option('value', groupPermission.isAllowed);\r\n } else {\r\n e.component.option('value', undefined);\r\n }\r\n }\r\n\r\n public checkBoxToggled(field, permission, e): void {\r\n if (e.component.skipOnValueChanged) {\r\n e.component.skipOnValueChanged = false;\r\n return;\r\n }\r\n if (e.component.setUndefinedNextTime) {\r\n e.component.setUndefinedNextTime = false;\r\n e.component.skipOnValueChanged = true;\r\n e.component.option('value', undefined);\r\n this.setPermissionStatus(field, permission, undefined);\r\n return;\r\n }\r\n if (e.value === false) {\r\n e.component.setUndefinedNextTime = true;\r\n }\r\n\r\n this.setPermissionStatus(field, permission, e.value);\r\n }\r\n\r\n public onRowInserted(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowUpdated(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowRemoved(e): void {\r\n const group = (e.data as GroupModel);\r\n this.managementGroupService.delete(group.id).subscribe(data => {\r\n this.getGroups();\r\n });\r\n }\r\n\r\n public calculateUsersCellValue = (e): string => {\r\n const users = (e.users ? e.users as UserGroupModel[] : []);\r\n let usersNames: any[] = [];\r\n users.forEach(user => {\r\n const userGroup = this.users.filter(u => u.id === user.idUser);\r\n if (userGroup && userGroup[0]) {\r\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\r\n }\r\n });\r\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\r\n return usersNames.join(', ');\r\n }\r\n\r\n public onEditingStart(e: any): void {\r\n this.groupUsers = e.data.users;\r\n }\r\n\r\n public onInitNewRow(): void {\r\n this.groupUsers = [];\r\n }\r\n\r\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private setPermissionStatus(field: any, permission, value): void {\r\n const groupPermissions = field.value || [];\r\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\r\n\r\n if (groupIndex > -1) {\r\n groupPermissions[groupIndex].isAllowed = value;\r\n } else {\r\n groupPermissions.push({\r\n idModulePermission: permission.id,\r\n isAllowed: value,\r\n } as GroupPermissionModel);\r\n }\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\r\n }\r\n\r\n private saveGroup(group: GroupModel): void {\r\n this.removePermissionUndefined(group);\r\n if (group.users) {\r\n group.users.forEach((userGroup: UserGroupModel) => {\r\n userGroup.idGroup = group.id;\r\n });\r\n }\r\n if (group.permissions) {\r\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\r\n groupPermission.idGroup = group.id;\r\n });\r\n }\r\n this.managementGroupService.save(group).subscribe(() => {\r\n this.getGroups();\r\n });\r\n this.groupUsers = [];\r\n }\r\n\r\n private removePermissionUndefined(group: GroupModel): void {\r\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\r\n }\r\n\r\n private getGroups(): void {\r\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\r\n }\r\n}\r\n","import { UserGroupModel } from './user-group-model';\r\nimport { UserPermissionModel } from './user-permission-model';\r\n\r\nexport class UserModel {\r\n public id: string;\r\n public userName = '';\r\n public firstName = '';\r\n public lastName = '';\r\n public password = '';\r\n public email = '';\r\n public isActive = true;\r\n public groups: UserGroupModel[];\r\n public permissions: UserPermissionModel[];\r\n public twoFactorAuthenticatorEnabled = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'cauca-management-user',\r\n templateUrl: './cauca-management-user.component.html',\r\n styleUrls: ['./cauca-management-user.component.scss']\r\n})\r\nexport class CaucaManagementUserComponent implements OnInit {\r\n public users: UserModel[] = [\r\n new UserModel()\r\n ];\r\n public showColumnXS = true;\r\n\r\n constructor(\r\n private managementUserService: ManagementUserService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.getUsers();\r\n }\r\n\r\n public onRowInserted(e: any): void {\r\n this.saveGroup(e.data as UserModel);\r\n }\r\n\r\n public onRowUpdated(e: any): void {\r\n this.saveGroup(e.key as UserModel);\r\n }\r\n\r\n public onRowRemoved(e: any): void {\r\n const user = (e.data as UserModel);\r\n this.managementUserService.delete(user.id).subscribe((data: any) => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementUserService.hasExistingUserName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private saveGroup(user: UserModel): void {\r\n this.managementUserService.save<UserModel>(user).subscribe(() => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n private getUsers(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\r\nimport { DxListModule } from 'devextreme-angular/ui/list';\r\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\r\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\r\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\r\nimport { CaucaManagementComponent } from './cauca-management.component';\r\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\r\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n CaucaManagementComponent,\r\n CaucaManagementGroupComponent,\r\n CaucaManagementUserComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxCheckBoxModule,\r\n DxListModule,\r\n DxTagBoxModule,\r\n CaucaCoreForChildModule,\r\n CaucaDevextremeModule,\r\n ],\r\n exports: [\r\n CaucaManagementComponent,\r\n CaucaManagementUserComponent,\r\n CaucaManagementGroupComponent,\r\n ]\r\n})\r\nexport class CaucaManagementModule { }\r\n","export class UserGroupModel {\r\n public idUserGroup = '';\r\n public idGroup = '';\r\n public idUser = '';\r\n\r\n constructor() { }\r\n}\r\n","export class UserPermissionModel {\r\n public idUserPermission = '';\r\n public isAllowed = false;\r\n public idUser = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n","import {GroupPermissionModel} from './group-permission-model';\r\nimport {UserGroupModel} from './user-group-model';\r\n\r\nexport class GroupModel {\r\n public id: string;\r\n public name = '';\r\n public users: UserGroupModel[] = [];\r\n public permissions: GroupPermissionModel[] = [];\r\n\r\n constructor() { }\r\n}\r\n","export class GroupPermissionModel {\r\n public idGroupPermission = '';\r\n public isAllowed = false;\r\n public idGroup = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n * Public API Surface of cauca-management\r\n */\r\n\r\nexport * from './lib/cauca-management.service';\r\nexport * from './lib/cauca-management.component';\r\nexport * from './lib/cauca-management.module';\r\nexport * from './lib/cauca-management-group/cauca-management-group.component';\r\nexport * from './lib/cauca-management-user/cauca-management-user.component';\r\n\r\nexport { ManagementUserService } from './lib/shared/services/management-user.service';\r\nexport { ManagementGroupService } from './lib/shared/services/management-group.service';\r\nexport { UserModel } from './lib/shared/models/user-model';\r\nexport { UserGroupModel } from './lib/shared/models/user-group-model';\r\nexport { UserPermissionModel } from './lib/shared/models/user-permission-model';\r\nexport { GroupModel } from './lib/shared/models/group-model';\r\nexport { GroupPermissionModel } from './lib/shared/models/group-permission-model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ManagementPermissionService as ɵa} from './lib/shared/services/management-permission.service';"],"names":["Injectable","Component","CaucaCoreService","HttpClient","map","BreakpointObserver","Input","NgModule","CommonModule","DxCheckBoxModule","DxListModule","DxTagBoxModule","CaucaCoreForChildModule","CaucaDevextremeModule"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("devextreme-angular/ui/check-box"),require("devextreme-angular/ui/list"),require("devextreme-angular/ui/tag-box"),require("@cauca-911/core"),require("@cauca-911/devextreme"),require("@angular/cdk/layout"),require("rxjs/operators"),require("@angular/common/http"),require("@angular/common")):"function"==typeof define&&define.amd?define("@cauca-911/management",["exports","@angular/core","devextreme-angular/ui/check-box","devextreme-angular/ui/list","devextreme-angular/ui/tag-box","@cauca-911/core","@cauca-911/devextreme","@angular/cdk/layout","rxjs/operators","@angular/common/http","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["cauca-911"]=e["cauca-911"]||{},e["cauca-911"].management={}),e.ng.core,e.checkBox,e.list,e.tagBox,e.i1,e.devextreme,e.ng.cdk.layout,e.rxjs.operators,e.ng.common.http,e.ng.common)}(this,(function(e,t,n,i,o,r,a,s,u,p,d){"use strict";var c=function(){};c.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new c},token:c,providedIn:"root"}),c.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],c.ctorParameters=function(){return[]};var l=function(){function e(){}return e.prototype.ngOnInit=function(){},e}();l.decorators=[{type:t.Component,args:[{selector:"cauca-management",template:"<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"}]}],l.ctorParameters=function(){return[]};var m=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"GroupManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"GroupManagement/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"GroupManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"GroupManagement/"+e)},e.prototype.hasExistingGroupName=function(e){return this.http.post(this.config.apiUrl+"GroupManagement/GroupNameAlreadyExist",e)},e}();m.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new m(t.ɵɵinject(r.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:m,providedIn:"root"}),m.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],m.ctorParameters=function(){return[{type:r.CaucaCoreService},{type:p.HttpClient}]};var g=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"UserManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"UserManagement/"+e)},e.prototype.getGroup=function(e){return this.http.get(this.config.apiUrl+"UserManagement/"+e+"/groups")},e.prototype.addGroup=function(e){return this.http.post(this.config.apiUrl+"UserManagement/group",e)},e.prototype.deleteGroup=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/groups/"+e)},e.prototype.addPermission=function(e){return this.http.post(this.config.apiUrl+"UserManagement/permission",e)},e.prototype.deletePermission=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/groups/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"UserManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/"+e)},e.prototype.hasExistingUserName=function(e){return this.http.post(this.config.apiUrl+"UserManagement/UserNameAlreadyExist",e)},e}();g.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new g(t.ɵɵinject(r.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:g,providedIn:"root"}),g.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],g.ctorParameters=function(){return[{type:r.CaucaCoreService},{type:p.HttpClient}]};var f=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"PermissionManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"PermissionManagement/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"PermissionManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"PermissionManagement/"+e)},e}();f.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new f(t.ɵɵinject(r.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:f,providedIn:"root"}),f.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],f.ctorParameters=function(){return[{type:r.CaucaCoreService},{type:p.HttpClient}]};var h=function(){function e(e,t,n,i){var o=this;this.managementGroupService=e,this.managementUserService=t,this.managementPermissionService=n,this.showPrintButton=!0,this.hoverStatePermission=!0,this.groups=[],this.users=[],this.permissions=[],this.userFullName={},this.showColumn=!0,this.showColumnXS=!0,this.translations=[],this.calculateUsersCellValue=function(e){var t=e.users?e.users:[],n=[];return t.forEach((function(e){var t=o.users.filter((function(t){return t.id===e.idUser}));t&&t[0]&&n.push(t[0].firstName+" "+t[0].lastName)})),(n=n.sort((function(e,t){return e<t?-1:1}))).join(", ")},this.groupNameAlreadyUsedValidation=function(e){return o.managementGroupService.hasExistingGroupName(e.data).pipe(u.map((function(e){return!e}))).toPromise()},i.observe(["(max-width: 1000px)"]).subscribe((function(e){o.showColumn=!e.matches})),i.observe(["(max-width: 600px)"]).subscribe((function(e){o.showColumnXS=!e.matches}))}return e.prototype.ngOnInit=function(){var e=this;this.managementUserService.getAll().subscribe((function(t){e.users=t,e.users.forEach((function(t){t.isActive&&""!==t.firstName&&""!==t.lastName&&(e.userFullName[t.id]=t.firstName+" "+t.lastName)}))})),this.managementPermissionService.getAll().subscribe((function(t){var n=t.findIndex((function(e){return"CanAccessPermissions"===e.tag}));-1!==n&&t.splice(n,1),t.sort((function(e,t){return e.name<t.name?-1:e.name>t.name?1:0})),e.permissions=t})),this.getGroups()},e.prototype.fullName=function(e){return e?e.firstName+" "+e.lastName:""},e.prototype.getGroupUser=function(e,t){var n=[];this.groupUsers&&this.groupUsers.forEach((function(e){n.push(e.idUser)})),t.component.option("value",n)},e.prototype.setGroupUser=function(e,t){var n=[];t.value.forEach((function(t){var i=(e.data.users||[]).findIndex((function(e){return e.idUser===t}));-1===i?n.push({idUser:t}):n.push(e.data.users[i])})),e.setValue(JSON.parse(JSON.stringify(n)))},e.prototype.setGroupPermission=function(e,t){var n=[];t.value.forEach((function(e){n.push({idUser:e})})),e.setValue(JSON.parse(JSON.stringify(n)))},e.prototype.getPermissionStatus=function(e,t,n){var i=(e.value||[]).find((function(e){return e.idModulePermission===t.id}));i?n.component.option("value",i.isAllowed):n.component.option("value",void 0)},e.prototype.checkBoxToggled=function(e,t,n){if(n.component.skipOnValueChanged)n.component.skipOnValueChanged=!1;else{if(n.component.setUndefinedNextTime)return n.component.setUndefinedNextTime=!1,n.component.skipOnValueChanged=!0,n.component.option("value",void 0),void this.setPermissionStatus(e,t,void 0);!1===n.value&&(n.component.setUndefinedNextTime=!0),this.setPermissionStatus(e,t,n.value)}},e.prototype.onRowInserted=function(e){this.saveGroup(e.data)},e.prototype.onRowUpdated=function(e){this.saveGroup(e.data)},e.prototype.onRowRemoved=function(e){var t=this,n=e.data;this.managementGroupService.delete(n.id).subscribe((function(e){t.getGroups()}))},e.prototype.onEditingStart=function(e){this.groupUsers=e.data.users},e.prototype.onInitNewRow=function(){this.groupUsers=[]},e.prototype.setPermissionStatus=function(e,t,n){var i=e.value||[],o=i.findIndex((function(e){return e.idModulePermission===t.id}));o>-1?i[o].isAllowed=n:i.push({idModulePermission:t.id,isAllowed:n}),e.setValue(JSON.parse(JSON.stringify(i)))},e.prototype.saveGroup=function(e){var t=this;this.removePermissionUndefined(e),e.users&&e.users.forEach((function(t){t.idGroup=e.id})),e.permissions&&e.permissions.forEach((function(t){t.idGroup=e.id})),this.managementGroupService.save(e).subscribe((function(){t.getGroups()})),this.groupUsers=[]},e.prototype.removePermissionUndefined=function(e){e.permissions=e.permissions.filter((function(e){return void 0!==e.isAllowed}))},e.prototype.getGroups=function(){var e=this;this.managementGroupService.getAll().subscribe((function(t){return e.groups=t}))},e}();h.decorators=[{type:t.Component,args:[{selector:"cauca-management-group",template:'<cauca-dx-data-grid [allowPrint]="showPrintButton" keyExpr="id" [dataSource]="groups"\n (onRowInserted)="onRowInserted($event)" (onInitNewRow)="onInitNewRow()" (onRowUpdated)="onRowUpdated($event)"\n (onEditingStart)="onEditingStart($event)" (onRowRemoved)="onRowRemoved($event)">\n\n <dxi-column dataField="name" [caption]="\'management.name\' | translate">\n <dxi-validation-rule type="async" [message]="\'management.groupNameAlreadyUsed\' | translate"\n [validationCallback]="groupNameAlreadyUsedValidation"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField="users" [caption]="\'management.users\' | translate" editCellTemplate="usersEditTemplate"\n [calculateCellValue]="calculateUsersCellValue">\n </dxi-column>\n <dxi-column dataField="permissions" [caption]="\'management.permissions\' | translate" [visible]="false"\n editCellTemplate="permissionsEditTemplate">\n </dxi-column>\n <dxo-export [enabled]="false"></dxo-export>\n <dxo-editing mode="popup" [allowAdding]="true" [allowUpdating]="true" [allowDeleting]="true" [useIcons]="true">\n <dxo-popup [showTitle]="true" [title]="\'management.group\' | translate" [fullScreen]="!showColumn"></dxo-popup>\n <dxo-form colCount="1" [labelLocation]="showColumnXS ? \'left\' : \'top\'">\n <dxi-item dataField="name" [isRequired]="true"></dxi-item>\n <dxi-item dataField="users"></dxi-item>\n <dxi-item dataField="permissions"></dxi-item>\n </dxo-form>\n </dxo-editing>\n\n <div *dxTemplate="let field of \'usersEditTemplate\'">\n <dx-tag-box valueExpr="id" [displayExpr]="fullName" [dataSource]="users" [searchEnabled]="true"\n [searchExpr]="fullName" (onInitialized)="getGroupUser(field, $event)"\n (onValueChanged)="setGroupUser(field, $event)">\n </dx-tag-box>\n </div>\n <div *dxTemplate="let field of \'permissionsEditTemplate\'">\n <dx-list [dataSource]="permissions" itemTemplate="rowTemplate" [searchEnabled]="true"\n [searchExpr]="[\'name\', \'tag\']" [hoverStateEnabled]="hoverStatePermission">\n <div *dxTemplate="let permission of \'rowTemplate\'">\n <dx-check-box [text]="permission.name" (onInitialized)="getPermissionStatus(field, permission, $event)"\n (onValueChanged)="checkBoxToggled(field, permission, $event)">\n </dx-check-box>\n </div>\n </dx-list>\n </div>\n</cauca-dx-data-grid>',styles:[""]}]}],h.ctorParameters=function(){return[{type:m},{type:g},{type:f},{type:s.BreakpointObserver}]},h.propDecorators={showPrintButton:[{type:t.Input}],hoverStatePermission:[{type:t.Input}]};var v=function(){this.userName="",this.firstName="",this.lastName="",this.password="",this.email="",this.isActive=!0},x=function(){function e(e,t){var n=this;this.managementUserService=e,this.users=[new v],this.showColumnXS=!0,this.userNameAlreadyUsedValidation=function(e){return n.managementUserService.hasExistingUserName(e.data).pipe(u.map((function(e){return!e}))).toPromise()},t.observe(["(max-width: 600px)"]).subscribe((function(e){n.showColumnXS=!e.matches}))}return e.prototype.ngOnInit=function(){this.getUsers()},e.prototype.onRowInserted=function(e){this.saveGroup(e.data)},e.prototype.onRowUpdated=function(e){this.saveGroup(e.key)},e.prototype.onRowRemoved=function(e){var t=this,n=e.data;this.managementUserService.delete(n.id).subscribe((function(e){t.getUsers()}))},e.prototype.saveGroup=function(e){var t=this;this.managementUserService.save(e).subscribe((function(){t.getUsers()}))},e.prototype.getUsers=function(){var e=this;this.managementUserService.getAll().subscribe((function(t){return e.users=t}))},e}();x.decorators=[{type:t.Component,args:[{selector:"cauca-management-user",template:'<cauca-dx-data-grid\n keyExpr="id"\n [dataSource]="users"\n (onRowInserted)="onRowInserted($event)"\n (onRowUpdated)="onRowUpdated($event)"\n (onRowRemoved)="onRowRemoved($event)">\n\n <dxi-column dataField="userName" [caption]="\'management.userName\' | translate">\n <dxi-validation-rule type="async" [message]="\'management.userNameAlreadyUsed\' | translate" [validationCallback]="userNameAlreadyUsedValidation"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField="isActive" [caption]="\'management.isActive\' | translate" [visible]="false"></dxi-column>\n <dxi-column dataField="firstName" [caption]="\'management.firstName\' | translate"></dxi-column>\n <dxi-column dataField="lastName" [caption]="\'management.lastName\' | translate"></dxi-column>\n <dxi-column dataField="groups" [caption]="\'management.group\' | translate"></dxi-column>\n\n <dxo-editing mode="popup" [allowAdding]="true" [allowUpdating]="true" [allowDeleting]="true" [useIcons]="true">\n <dxo-popup [showTitle]="true" [title]="\'management.group\' | translate"></dxo-popup>\n <dxo-form colCount="2" [labelLocation]="showColumnXS ? \'left\' : \'top\'">\n <dxi-item dataField="userName" [isRequired]="true"></dxi-item>\n <dxi-item dataField="isActive"></dxi-item>\n <dxi-item dataField="firstName"></dxi-item>\n <dxi-item dataField="lastName"></dxi-item>\n <dxi-item dataField="group"></dxi-item>\n </dxo-form>\n </dxo-editing>\n</cauca-dx-data-grid>\n',styles:[""]}]}],x.ctorParameters=function(){return[{type:g},{type:s.BreakpointObserver}]};var y=function(){};y.decorators=[{type:t.NgModule,args:[{declarations:[l,h,x],imports:[d.CommonModule,n.DxCheckBoxModule,i.DxListModule,o.DxTagBoxModule,r.CaucaCoreForChildModule,a.CaucaDevextremeModule],exports:[l,x,h]}]}];var U=function(){this.idUserGroup="",this.idGroup="",this.idUser=""},C=function(){this.idUserPermission="",this.isAllowed=!1,this.idUser="",this.idModulePermission=""},w=function(){this.name="",this.users=[],this.permissions=[]},b=function(){this.idGroupPermission="",this.isAllowed=!1,this.idGroup="",this.idModulePermission=""};e.CaucaManagementComponent=l,e.CaucaManagementGroupComponent=h,e.CaucaManagementModule=y,e.CaucaManagementService=c,e.CaucaManagementUserComponent=x,e.GroupModel=w,e.GroupPermissionModel=b,e.ManagementGroupService=m,e.ManagementUserService=g,e.UserGroupModel=U,e.UserModel=v,e.UserPermissionModel=C,e.ɵa=f,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("devextreme-angular/ui/check-box"),require("devextreme-angular/ui/list"),require("devextreme-angular/ui/tag-box"),require("@cauca-911/core"),require("@cauca-911/devextreme"),require("@angular/cdk/layout"),require("rxjs/operators"),require("@angular/common/http"),require("@angular/common")):"function"==typeof define&&define.amd?define("@cauca-911/management",["exports","@angular/core","devextreme-angular/ui/check-box","devextreme-angular/ui/list","devextreme-angular/ui/tag-box","@cauca-911/core","@cauca-911/devextreme","@angular/cdk/layout","rxjs/operators","@angular/common/http","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["cauca-911"]=e["cauca-911"]||{},e["cauca-911"].management={}),e.ng.core,e["devextreme-angular/ui/check-box"],e["devextreme-angular/ui/list"],e["devextreme-angular/ui/tag-box"],e["@cauca-911/core"],e["@cauca-911/devextreme"],e.ng.cdk.layout,e.rxjs.operators,e.ng.common.http,e.ng.common)}(this,(function(e,t,n,r,i,o,a,s,u,p,d){"use strict";var c=function(){};c.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new c},token:c,providedIn:"root"}),c.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],c.ctorParameters=function(){return[]};var l=function(){function e(){}return e.prototype.ngOnInit=function(){},e}();l.decorators=[{type:t.Component,args:[{selector:"cauca-management",template:"<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"}]}],l.ctorParameters=function(){return[]};var m=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"GroupManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"GroupManagement/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"GroupManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"GroupManagement/"+e)},e.prototype.hasExistingGroupName=function(e){return this.http.post(this.config.apiUrl+"GroupManagement/GroupNameAlreadyExist",e)},e}();m.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new m(t.ɵɵinject(o.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:m,providedIn:"root"}),m.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],m.ctorParameters=function(){return[{type:o.CaucaCoreService},{type:p.HttpClient}]};var g=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"UserManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"UserManagement/"+e)},e.prototype.getGroup=function(e){return this.http.get(this.config.apiUrl+"UserManagement/"+e+"/groups")},e.prototype.addGroup=function(e){return this.http.post(this.config.apiUrl+"UserManagement/group",e)},e.prototype.deleteGroup=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/groups/"+e)},e.prototype.addPermission=function(e){return this.http.post(this.config.apiUrl+"UserManagement/permission",e)},e.prototype.deletePermission=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/groups/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"UserManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"UserManagement/"+e)},e.prototype.hasExistingUserName=function(e){return this.http.post(this.config.apiUrl+"UserManagement/UserNameAlreadyExist",e)},e}();g.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new g(t.ɵɵinject(o.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:g,providedIn:"root"}),g.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],g.ctorParameters=function(){return[{type:o.CaucaCoreService},{type:p.HttpClient}]};var f=function(){function e(e,t){this.http=t,this.config=e.getConfig()}return e.prototype.getAll=function(){return this.http.get(this.config.apiUrl+"PermissionManagement")},e.prototype.get=function(e){return this.http.get(this.config.apiUrl+"PermissionManagement/"+e)},e.prototype.save=function(e){return this.http.post(this.config.apiUrl+"PermissionManagement",e)},e.prototype.delete=function(e){return this.http.delete(this.config.apiUrl+"PermissionManagement/"+e)},e}();f.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new f(t.ɵɵinject(o.CaucaCoreService),t.ɵɵinject(p.HttpClient))},token:f,providedIn:"root"}),f.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],f.ctorParameters=function(){return[{type:o.CaucaCoreService},{type:p.HttpClient}]};var h=function(){function e(e,t,n,r){var i=this;this.managementGroupService=e,this.managementUserService=t,this.managementPermissionService=n,this.showPrintButton=!0,this.hoverStatePermission=!0,this.groups=[],this.users=[],this.permissions=[],this.userFullName={},this.showColumn=!0,this.showColumnXS=!0,this.translations=[],this.calculateUsersCellValue=function(e){var t=e.users?e.users:[],n=[];return t.forEach((function(e){var t=i.users.filter((function(t){return t.id===e.idUser}));t&&t[0]&&n.push(t[0].firstName+" "+t[0].lastName)})),(n=n.sort((function(e,t){return e<t?-1:1}))).join(", ")},this.groupNameAlreadyUsedValidation=function(e){return i.managementGroupService.hasExistingGroupName(e.data).pipe(u.map((function(e){return!e}))).toPromise()},r.observe(["(max-width: 1000px)"]).subscribe((function(e){i.showColumn=!e.matches})),r.observe(["(max-width: 600px)"]).subscribe((function(e){i.showColumnXS=!e.matches}))}return e.prototype.ngOnInit=function(){var e=this;this.managementUserService.getAll().subscribe((function(t){e.users=t,e.users.forEach((function(t){t.isActive&&""!==t.firstName&&""!==t.lastName&&(e.userFullName[t.id]=t.firstName+" "+t.lastName)}))})),this.managementPermissionService.getAll().subscribe((function(t){var n=t.findIndex((function(e){return"CanAccessPermissions"===e.tag}));-1!==n&&t.splice(n,1),t.sort((function(e,t){return e.name<t.name?-1:e.name>t.name?1:0})),e.permissions=t})),this.getGroups()},e.prototype.fullName=function(e){return e?e.firstName+" "+e.lastName:""},e.prototype.getGroupUser=function(e,t){var n=[];this.groupUsers&&this.groupUsers.forEach((function(e){n.push(e.idUser)})),t.component.option("value",n)},e.prototype.setGroupUser=function(e,t){var n=[];t.value.forEach((function(t){var r=(e.data.users||[]).findIndex((function(e){return e.idUser===t}));-1===r?n.push({idUser:t}):n.push(e.data.users[r])})),e.setValue(JSON.parse(JSON.stringify(n)))},e.prototype.setGroupPermission=function(e,t){var n=[];t.value.forEach((function(e){n.push({idUser:e})})),e.setValue(JSON.parse(JSON.stringify(n)))},e.prototype.getPermissionStatus=function(e,t,n){var r=(e.value||[]).find((function(e){return e.idModulePermission===t.id}));r?n.component.option("value",r.isAllowed):n.component.option("value",void 0)},e.prototype.checkBoxToggled=function(e,t,n){if(n.component.skipOnValueChanged)n.component.skipOnValueChanged=!1;else{if(n.component.setUndefinedNextTime)return n.component.setUndefinedNextTime=!1,n.component.skipOnValueChanged=!0,n.component.option("value",void 0),void this.setPermissionStatus(e,t,void 0);!1===n.value&&(n.component.setUndefinedNextTime=!0),this.setPermissionStatus(e,t,n.value)}},e.prototype.onRowInserted=function(e){this.saveGroup(e.data)},e.prototype.onRowUpdated=function(e){this.saveGroup(e.data)},e.prototype.onRowRemoved=function(e){var t=this,n=e.data;this.managementGroupService.delete(n.id).subscribe((function(e){t.getGroups()}))},e.prototype.onEditingStart=function(e){this.groupUsers=e.data.users},e.prototype.onInitNewRow=function(){this.groupUsers=[]},e.prototype.setPermissionStatus=function(e,t,n){var r=e.value||[],i=r.findIndex((function(e){return e.idModulePermission===t.id}));i>-1?r[i].isAllowed=n:r.push({idModulePermission:t.id,isAllowed:n}),e.setValue(JSON.parse(JSON.stringify(r)))},e.prototype.saveGroup=function(e){var t=this;this.removePermissionUndefined(e),e.users&&e.users.forEach((function(t){t.idGroup=e.id})),e.permissions&&e.permissions.forEach((function(t){t.idGroup=e.id})),this.managementGroupService.save(e).subscribe((function(){t.getGroups()})),this.groupUsers=[]},e.prototype.removePermissionUndefined=function(e){e.permissions=e.permissions.filter((function(e){return void 0!==e.isAllowed}))},e.prototype.getGroups=function(){var e=this;this.managementGroupService.getAll().subscribe((function(t){return e.groups=t}))},e}();h.decorators=[{type:t.Component,args:[{selector:"cauca-management-group",template:'<cauca-dx-data-grid [allowPrint]="showPrintButton" keyExpr="id" [dataSource]="groups"\r\n (onRowInserted)="onRowInserted($event)" (onInitNewRow)="onInitNewRow()" (onRowUpdated)="onRowUpdated($event)"\r\n (onEditingStart)="onEditingStart($event)" (onRowRemoved)="onRowRemoved($event)">\r\n\r\n <dxi-column dataField="name" [caption]="\'management.name\' | translate">\r\n <dxi-validation-rule type="async" [message]="\'management.groupNameAlreadyUsed\' | translate"\r\n [validationCallback]="groupNameAlreadyUsedValidation"></dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField="users" [caption]="\'management.users\' | translate" editCellTemplate="usersEditTemplate"\r\n [calculateCellValue]="calculateUsersCellValue">\r\n </dxi-column>\r\n <dxi-column dataField="permissions" [caption]="\'management.permissions\' | translate" [visible]="false"\r\n editCellTemplate="permissionsEditTemplate">\r\n </dxi-column>\r\n <dxo-export [enabled]="false"></dxo-export>\r\n <dxo-editing mode="popup" [allowAdding]="true" [allowUpdating]="true" [allowDeleting]="true" [useIcons]="true">\r\n <dxo-popup [showTitle]="true" [title]="\'management.group\' | translate" [fullScreen]="!showColumn"></dxo-popup>\r\n <dxo-form colCount="1" [labelLocation]="showColumnXS ? \'left\' : \'top\'">\r\n <dxi-item dataField="name" [isRequired]="true"></dxi-item>\r\n <dxi-item dataField="users"></dxi-item>\r\n <dxi-item dataField="permissions"></dxi-item>\r\n </dxo-form>\r\n </dxo-editing>\r\n\r\n <div *dxTemplate="let field of \'usersEditTemplate\'">\r\n <dx-tag-box valueExpr="id" [displayExpr]="fullName" [dataSource]="users" [searchEnabled]="true"\r\n [searchExpr]="fullName" (onInitialized)="getGroupUser(field, $event)"\r\n (onValueChanged)="setGroupUser(field, $event)">\r\n </dx-tag-box>\r\n </div>\r\n <div *dxTemplate="let field of \'permissionsEditTemplate\'">\r\n <dx-list [dataSource]="permissions" itemTemplate="rowTemplate" [searchEnabled]="true"\r\n [searchExpr]="[\'name\', \'tag\']" [hoverStateEnabled]="hoverStatePermission">\r\n <div *dxTemplate="let permission of \'rowTemplate\'">\r\n <dx-check-box [text]="permission.name" (onInitialized)="getPermissionStatus(field, permission, $event)"\r\n (onValueChanged)="checkBoxToggled(field, permission, $event)">\r\n </dx-check-box>\r\n </div>\r\n </dx-list>\r\n </div>\r\n</cauca-dx-data-grid>',styles:[""]}]}],h.ctorParameters=function(){return[{type:m},{type:g},{type:f},{type:s.BreakpointObserver}]},h.propDecorators={showPrintButton:[{type:t.Input}],hoverStatePermission:[{type:t.Input}]};var v=function(){this.userName="",this.firstName="",this.lastName="",this.password="",this.email="",this.isActive=!0,this.twoFactorAuthenticatorEnabled=!1},x=function(){function e(e,t){var n=this;this.managementUserService=e,this.users=[new v],this.showColumnXS=!0,this.userNameAlreadyUsedValidation=function(e){return n.managementUserService.hasExistingUserName(e.data).pipe(u.map((function(e){return!e}))).toPromise()},t.observe(["(max-width: 600px)"]).subscribe((function(e){n.showColumnXS=!e.matches}))}return e.prototype.ngOnInit=function(){this.getUsers()},e.prototype.onRowInserted=function(e){this.saveGroup(e.data)},e.prototype.onRowUpdated=function(e){this.saveGroup(e.key)},e.prototype.onRowRemoved=function(e){var t=this,n=e.data;this.managementUserService.delete(n.id).subscribe((function(e){t.getUsers()}))},e.prototype.saveGroup=function(e){var t=this;this.managementUserService.save(e).subscribe((function(){t.getUsers()}))},e.prototype.getUsers=function(){var e=this;this.managementUserService.getAll().subscribe((function(t){return e.users=t}))},e}();x.decorators=[{type:t.Component,args:[{selector:"cauca-management-user",template:'<cauca-dx-data-grid\r\n keyExpr="id"\r\n [dataSource]="users"\r\n (onRowInserted)="onRowInserted($event)"\r\n (onRowUpdated)="onRowUpdated($event)"\r\n (onRowRemoved)="onRowRemoved($event)">\r\n\r\n <dxi-column dataField="userName" [caption]="\'management.userName\' | translate">\r\n <dxi-validation-rule type="async" [message]="\'management.userNameAlreadyUsed\' | translate" [validationCallback]="userNameAlreadyUsedValidation"></dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField="isActive" [caption]="\'management.isActive\' | translate" [visible]="false"></dxi-column>\r\n <dxi-column dataField="firstName" [caption]="\'management.firstName\' | translate"></dxi-column>\r\n <dxi-column dataField="lastName" [caption]="\'management.lastName\' | translate"></dxi-column>\r\n <dxi-column dataField="groups" [caption]="\'management.group\' | translate"></dxi-column>\r\n\r\n <dxo-editing mode="popup" [allowAdding]="true" [allowUpdating]="true" [allowDeleting]="true" [useIcons]="true">\r\n <dxo-popup [showTitle]="true" [title]="\'management.group\' | translate"></dxo-popup>\r\n <dxo-form colCount="2" [labelLocation]="showColumnXS ? \'left\' : \'top\'">\r\n <dxi-item dataField="userName" [isRequired]="true"></dxi-item>\r\n <dxi-item dataField="isActive"></dxi-item>\r\n <dxi-item dataField="firstName"></dxi-item>\r\n <dxi-item dataField="lastName"></dxi-item>\r\n <dxi-item dataField="group"></dxi-item>\r\n </dxo-form>\r\n </dxo-editing>\r\n</cauca-dx-data-grid>\r\n',styles:[""]}]}],x.ctorParameters=function(){return[{type:g},{type:s.BreakpointObserver}]};var y=function(){};y.decorators=[{type:t.NgModule,args:[{declarations:[l,h,x],imports:[d.CommonModule,n.DxCheckBoxModule,r.DxListModule,i.DxTagBoxModule,o.CaucaCoreForChildModule,a.CaucaDevextremeModule],exports:[l,x,h]}]}];var U=function(){this.idUserGroup="",this.idGroup="",this.idUser=""},w=function(){this.idUserPermission="",this.isAllowed=!1,this.idUser="",this.idModulePermission=""},C=function(){this.name="",this.users=[],this.permissions=[]},b=function(){this.idGroupPermission="",this.isAllowed=!1,this.idGroup="",this.idModulePermission=""};e.CaucaManagementComponent=l,e.CaucaManagementGroupComponent=h,e.CaucaManagementModule=y,e.CaucaManagementService=c,e.CaucaManagementUserComponent=x,e.GroupModel=C,e.GroupPermissionModel=b,e.ManagementGroupService=m,e.ManagementUserService=g,e.UserGroupModel=U,e.UserModel=v,e.UserPermissionModel=w,e.ɵa=f,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=cauca-911-management.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/shared/services/management-group.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-user.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../../../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../../../projects/cauca-management/src/lib/shared/models/user-model.ts","../../../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../../projects/cauca-management/src/lib/cauca-management.module.ts","../../../projects/cauca-management/src/lib/shared/models/user-group-model.ts","../../../projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-permission-model.ts"],"names":["Injectable","args","providedIn","CaucaManagementComponent","prototype","ngOnInit","Component","selector","template","ManagementGroupService","coreService","http","this","config","getConfig","getAll","get","apiUrl","idGroup","save","group","post","delete","hasExistingGroupName","CaucaCoreService","HttpClient","ManagementUserService","idUser","getGroup","addGroup","userGroup","deleteGroup","idUserGroup","addPermission","userPermission","deletePermission","idUserPermission","user","hasExistingUserName","ManagementPermissionService","idPermission","permission","CaucaManagementGroupComponent","managementGroupService","managementUserService","managementPermissionService","breakpointObserver","_this","showPrintButton","hoverStatePermission","groups","users","permissions","userFullName","showColumn","showColumnXS","translations","calculateUsersCellValue","e","usersNames","forEach","filter","u","id","push","firstName","lastName","sort","one","two","join","groupNameAlreadyUsedValidation","data","pipe","map","exist","toPromise","observe","subscribe","result","matches","isActive","permissionIndex","findIndex","c","tag","splice","a","b","name","getGroups","fullName","getGroupUser","field","groupUsers","component","option","setGroupUser","groupUser","value","groupIndex","g","setValue","JSON","parse","stringify","setGroupPermission","getPermissionStatus","groupPermission","find","p","idModulePermission","isAllowed","undefined","checkBoxToggled","skipOnValueChanged","setUndefinedNextTime","setPermissionStatus","onRowInserted","saveGroup","onRowUpdated","onRowRemoved","onEditingStart","onInitNewRow","groupPermissions","removePermissionUndefined","BreakpointObserver","Input","userName","password","email","CaucaManagementUserComponent","UserModel","userNameAlreadyUsedValidation","getUsers","key","NgModule","declarations","imports","CommonModule","DxCheckBoxModule","DxListModule","DxTagBoxModule","CaucaCoreForChildModule","CaucaDevextremeModule","exports","idGroupPermission"],"mappings":"s/BAOE,4HALDA,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,kECMZ,SAAAC,YAEOA,EAAAC,UAAAC,SAAA,sCATRC,EAAAA,UAASL,KAAA,CAAC,CACTM,SAAU,mBACVC,SAAA,+HCQE,SAAAC,EACIC,EACQC,GAAAC,KAAAD,KAAAA,EAERC,KAAKC,OAASH,EAAYI,mBAGvBL,EAAAL,UAAAW,OAAA,WACH,OAAOH,KAAKD,KAAKK,IAAqBJ,KAAKC,OAAOI,OAAM,oBAGrDR,EAAAL,UAAAY,IAAA,SAAIE,GACP,OAAON,KAAKD,KAAKK,IAAmBJ,KAAKC,OAAOI,OAAM,mBAAmBC,IAGtET,EAAAL,UAAAe,KAAA,SAAKC,GACR,OAAOR,KAAKD,KAAKU,KAAQT,KAAKC,OAAOI,OAAM,kBAAmBG,IAG3DX,EAAAL,UAAAkB,OAAA,SAAOJ,GACV,OAAON,KAAKD,KAAKW,OAAUV,KAAKC,OAAOI,OAAM,mBAAmBC,IAG7DT,EAAAL,UAAAmB,qBAAA,SAAqBH,GACxB,OAAOR,KAAKD,KAAKU,KAAiBT,KAAKC,OAAOI,OAAM,wCAAyCG,iLA9BpGpB,EAAAA,WAAUC,KAAA,CAAC,CACRC,WAAY,oDAJQsB,EAAAA,wBAFfC,EAAAA,+BCYL,SAAAC,EACIhB,EACUC,GAAAC,KAAAD,KAAAA,EAEVC,KAAKC,OAASH,EAAYI,mBAGvBY,EAAAtB,UAAAW,OAAA,WACH,OAAOH,KAAKD,KAAKK,IAAgBJ,KAAKC,OAAOI,OAAM,mBAGhDS,EAAAtB,UAAAY,IAAA,SAAWW,GACd,OAAOf,KAAKD,KAAKK,IAAcJ,KAAKC,OAAOI,OAAM,kBAAkBU,IAGhED,EAAAtB,UAAAwB,SAAA,SAASD,GACZ,OAAOf,KAAKD,KAAKK,IAAOJ,KAAKC,OAAOI,OAAM,kBAAkBU,EAAM,YAG/DD,EAAAtB,UAAAyB,SAAA,SAASC,GACZ,OAAOlB,KAAKD,KAAKU,KAAQT,KAAKC,OAAOI,OAAM,uBAAwBa,IAGhEJ,EAAAtB,UAAA2B,YAAA,SAAYC,GACf,OAAOpB,KAAKD,KAAKW,OAAUV,KAAKC,OAAOI,OAAM,yBAAyBe,IAGnEN,EAAAtB,UAAA6B,cAAA,SAAcC,GACjB,OAAOtB,KAAKD,KAAKU,KAAQT,KAAKC,OAAOI,OAAM,4BAA6BiB,IAGrER,EAAAtB,UAAA+B,iBAAA,SAAiBC,GACpB,OAAOxB,KAAKD,KAAKW,OAAUV,KAAKC,OAAOI,OAAM,yBAAyBmB,IAGnEV,EAAAtB,UAAAe,KAAA,SAAYkB,GACf,OAAOzB,KAAKD,KAAKU,KAAQT,KAAKC,OAAOI,OAAM,iBAAkBoB,IAG1DX,EAAAtB,UAAAkB,OAAA,SAAOK,GACV,OAAOf,KAAKD,KAAKW,OAAUV,KAAKC,OAAOI,OAAM,kBAAkBU,IAG5DD,EAAAtB,UAAAkC,oBAAA,SAA2BD,GAC9B,OAAOzB,KAAKD,KAAKU,KAAiBT,KAAKC,OAAOI,OAAM,sCAAuCoB,iLAlDlGrC,EAAAA,WAAUC,KAAA,CAAC,CACRC,WAAY,oDALQsB,EAAAA,wBAFfC,EAAAA,+BCYL,SAAAc,EACI7B,EACQC,GAAAC,KAAAD,KAAAA,EAERC,KAAKC,OAASH,EAAYI,mBAGvByB,EAAAnC,UAAAW,OAAA,WACH,OAAOH,KAAKD,KAAKK,IAA0BJ,KAAKC,OAAOI,OAAM,yBAG1DsB,EAAAnC,UAAAY,IAAA,SAAIwB,GACP,OAAO5B,KAAKD,KAAKK,IAAwBJ,KAAKC,OAAOI,OAAM,wBAAwBuB,IAGhFD,EAAAnC,UAAAe,KAAA,SAAKsB,GACR,OAAO7B,KAAKD,KAAKU,KAAQT,KAAKC,OAAOI,OAAM,uBAAwBwB,IAGhEF,EAAAnC,UAAAkB,OAAA,SAAOkB,GACV,OAAO5B,KAAKD,KAAKW,OAAUV,KAAKC,OAAOI,OAAM,wBAAwBuB,iLA1B5ExC,EAAAA,WAAUC,KAAA,CAAC,CACRC,WAAY,oDALQsB,EAAAA,wBAFfC,EAAAA,+BC+BL,SAAAiB,EACYC,EACAC,EACAC,EACRC,GAJJ,IAAAC,EAAAnC,KACYA,KAAA+B,uBAAAA,EACA/B,KAAAgC,sBAAAA,EACAhC,KAAAiC,4BAAAA,EAdLjC,KAAAoC,iBAA2B,EAE3BpC,KAAAqC,sBAAuB,EACvBrC,KAAAsC,OAAuB,GACvBtC,KAAAuC,MAAqB,GACrBvC,KAAAwC,YAAiC,GACjCxC,KAAAyC,aAAoB,GACpBzC,KAAA0C,YAAa,EACb1C,KAAA2C,cAAe,EACf3C,KAAA4C,aAAoB,GAsIpB5C,KAAA6C,wBAA0B,SAACC,GAC9B,IAAMP,EAASO,EAAEP,MAAQO,EAAEP,MAA4B,GACnDQ,EAAoB,GAQxB,OAPAR,EAAMS,SAAQ,SAAAvB,GACV,IAAMP,EAAYiB,EAAKI,MAAMU,QAAO,SAAAC,GAAK,OAAAA,EAAEC,KAAO1B,EAAKV,UACnDG,GAAaA,EAAU,IACvB6B,EAAWK,KAAKlC,EAAU,GAAGmC,UAAY,IAAMnC,EAAU,GAAGoC,cAGpEP,EAAaA,EAAWQ,MAAK,SAACC,EAAKC,GAAQ,OAACD,EAAMC,GAAO,EAAI,MAC3CC,KAAK,OAWpB1D,KAAA2D,+BAAiC,SAACb,GACrC,OAAOX,EAAKJ,uBAAuBpB,qBAAqBmC,EAAEc,MAAMC,KAC5DC,EAAAA,KAAI,SAACC,GACD,OAAQA,MAEdC,aAxJF9B,EAAmB+B,QAAQ,CAAC,wBAAwBC,WAAU,SAAAC,GAC1DhC,EAAKO,YAAcyB,EAAOC,WAE9BlC,EAAmB+B,QAAQ,CAAC,uBAAuBC,WAAU,SAAAC,GACzDhC,EAAKQ,cAAgBwB,EAAOC,kBAI7BtC,EAAAtC,UAAAC,SAAA,WAAA,IAAA0C,EAAAnC,KACHA,KAAKgC,sBAAsB7B,SAAoB+D,WAAU,SAAAN,GACrDzB,EAAKI,MAAQqB,EACbzB,EAAKI,MAAMS,SAAQ,SAAAvB,GACXA,EAAK4C,UACkB,KAAnB5C,EAAK4B,WAAsC,KAAlB5B,EAAK6B,WAC9BnB,EAAKM,aAAahB,EAAK0B,IAAU1B,EAAK4B,UAAS,IAAI5B,EAAK6B,gBAKxEtD,KAAKiC,4BAA4B9B,SAAS+D,WAAU,SAAA1B,GAChD,IAAM8B,EAAkB9B,EAAY+B,WAAU,SAAAC,GAC1C,MAAiB,yBAAVA,EAAEC,QAEY,IAArBH,GACA9B,EAAYkC,OAAOJ,EAAiB,GAExC9B,EAAYe,MAAK,SAACoB,EAAoBC,GAClC,OAAID,EAAEE,KAAOD,EAAEC,MAAgB,EAC3BF,EAAEE,KAAOD,EAAEC,KAAe,EACvB,KAEX1C,EAAKK,YAAcA,KAEvBxC,KAAK8E,aAGFhD,EAAAtC,UAAAuF,SAAA,SAASnB,GACZ,OAAKA,EAIKA,EAAKP,UAAS,IAAIO,EAAKN,SAHtB,IAMRxB,EAAAtC,UAAAwF,aAAA,SAAaC,EAAOnC,GACvB,IAAMP,EAAkB,GACpBvC,KAAKkF,YACLlF,KAAKkF,WAAWlC,SAAS,SAAAvB,GACrBc,EAAMa,KAAK3B,EAAKV,WAGxB+B,EAAEqC,UAAUC,OAAO,QAAS7C,IAGzBT,EAAAtC,UAAA6F,aAAA,SAAaJ,EAAOnC,GACvB,IAAMwC,EAA8B,GAEpCxC,EAAEyC,MAAMvC,SAAQ,SAAAjC,GACZ,IAAMyE,GAAcP,EAAMrB,KAAKrB,OAAS,IAAIgC,WAAU,SAAAkB,GAAK,OAAAA,EAAE1E,SAAWA,MAEpD,IAAhByE,EACAF,EAAUlC,KAAK,CAAErC,OAAMA,IAEvBuE,EAAUlC,KAAK6B,EAAMrB,KAAKrB,MAAMiD,OAIxCP,EAAMS,SAASC,KAAKC,MAAMD,KAAKE,UAAUP,MAGtCxD,EAAAtC,UAAAsG,mBAAA,SAAmBb,EAAOnC,GAC7B,IAAMwC,EAA8B,GAEpCxC,EAAEyC,MAAMvC,SAAQ,SAAAjC,GACZuE,EAAUlC,KAAK,CACXrC,OAAMA,OAIdkE,EAAMS,SAASC,KAAKC,MAAMD,KAAKE,UAAUP,MAGtCxD,EAAAtC,UAAAuG,oBAAA,SAAoBd,EAAOpD,EAAYiB,GAC1C,IAAMkD,GAAmBf,EAAMM,OAAS,IAAIU,MAAK,SAAAC,GAAK,OAAAA,EAAEC,qBAAuBtE,EAAWsB,MAEtF6C,EACAlD,EAAEqC,UAAUC,OAAO,QAASY,EAAgBI,WAE5CtD,EAAEqC,UAAUC,OAAO,aAASiB,IAI7BvE,EAAAtC,UAAA8G,gBAAA,SAAgBrB,EAAOpD,EAAYiB,GACtC,GAAIA,EAAEqC,UAAUoB,mBACZzD,EAAEqC,UAAUoB,oBAAqB,MADrC,CAIA,GAAIzD,EAAEqC,UAAUqB,qBAKZ,OAJA1D,EAAEqC,UAAUqB,sBAAuB,EACnC1D,EAAEqC,UAAUoB,oBAAqB,EACjCzD,EAAEqC,UAAUC,OAAO,aAASiB,QAC5BrG,KAAKyG,oBAAoBxB,EAAOpD,OAAYwE,IAGhC,IAAZvD,EAAEyC,QACFzC,EAAEqC,UAAUqB,sBAAuB,GAGvCxG,KAAKyG,oBAAoBxB,EAAOpD,EAAYiB,EAAEyC,SAG3CzD,EAAAtC,UAAAkH,cAAA,SAAc5D,GACjB9C,KAAK2G,UAAU7D,EAAEc,OAGd9B,EAAAtC,UAAAoH,aAAA,SAAa9D,GAChB9C,KAAK2G,UAAU7D,EAAEc,OAGd9B,EAAAtC,UAAAqH,aAAA,SAAa/D,GAAb,IAAAX,EAAAnC,KACGQ,EAASsC,EAAEc,KACjB5D,KAAK+B,uBAAuBrB,OAAOF,EAAM2C,IAAIe,WAAU,SAAAN,GACnDzB,EAAK2C,gBAiBNhD,EAAAtC,UAAAsH,eAAA,SAAehE,GAClB9C,KAAKkF,WAAapC,EAAEc,KAAKrB,OAGtBT,EAAAtC,UAAAuH,aAAA,WACH/G,KAAKkF,WAAa,IAWdpD,EAAAtC,UAAAiH,oBAAA,SAAoBxB,EAAYpD,EAAY0D,GAChD,IAAMyB,EAAmB/B,EAAMM,OAAS,GAClCC,EAAawB,EAAiBzC,WAAU,SAAA2B,GAAK,OAAAA,EAAEC,qBAAuBtE,EAAWsB,MAEnFqC,GAAc,EACdwB,EAAiBxB,GAAYY,UAAYb,EAEzCyB,EAAiB5D,KAAK,CAClB+C,mBAAoBtE,EAAWsB,GAC/BiD,UAAWb,IAInBN,EAAMS,SAASC,KAAKC,MAAMD,KAAKE,UAAUmB,MAGrClF,EAAAtC,UAAAmH,UAAA,SAAUnG,GAAV,IAAA2B,EAAAnC,KACJA,KAAKiH,0BAA0BzG,GAC3BA,EAAM+B,OACN/B,EAAM+B,MAAMS,SAAQ,SAAC9B,GACjBA,EAAUZ,QAAUE,EAAM2C,MAG9B3C,EAAMgC,aACNhC,EAAMgC,YAAYQ,SAAQ,SAACgD,GACvBA,EAAgB1F,QAAUE,EAAM2C,MAGxCnD,KAAK+B,uBAAuBxB,KAAKC,GAAO0D,WAAU,WAC9C/B,EAAK2C,eAET9E,KAAKkF,WAAa,IAGdpD,EAAAtC,UAAAyH,0BAAA,SAA0BzG,GAC9BA,EAAMgC,YAAchC,EAAMgC,YAAYS,QAAO,SAACpB,GAAqC,YAAyBwE,IAAzBxE,EAAWuE,cAG1FtE,EAAAtC,UAAAsF,UAAA,WAAA,IAAA3C,EAAAnC,KACJA,KAAK+B,uBAAuB5B,SAAS+D,WAAU,SAAAN,GAAQ,OAAAzB,EAAKG,OAASsB,+BA5N5ElE,EAAAA,UAASL,KAAA,CAAC,CACPM,SAAU,yBACVC,SAAA,+hFAPKC,SACAiB,SAEAa,SATAuF,EAAAA,+DAmBJC,EAAAA,oCAEAA,EAAAA,eCRD,WATOnH,KAAAoH,SAAW,GACXpH,KAAAqD,UAAY,GACZrD,KAAAsD,SAAW,GACXtD,KAAAqH,SAAW,GACXrH,KAAAsH,MAAQ,GACRtH,KAAAqE,UAAW,gBCOlB,SAAAkD,EACYvF,EACRE,GAFJ,IAAAC,EAAAnC,KACYA,KAAAgC,sBAAAA,EANLhC,KAAAuC,MAAqB,CACxB,IAAIiF,GAEDxH,KAAA2C,cAAe,EA8Bf3C,KAAAyH,8BAAgC,SAAC3E,GACpC,OAAOX,EAAKH,sBAAsBN,oBAAoBoB,EAAEc,MAAMC,KAC1DC,EAAAA,KAAI,SAACC,GACD,OAAQA,MAEdC,aA7BF9B,EAAmB+B,QAAQ,CAAC,uBAAuBC,WAAU,SAACC,GAC1DhC,EAAKQ,cAAgBwB,EAAOC,kBAI7BmD,EAAA/H,UAAAC,SAAA,WACHO,KAAK0H,YAGFH,EAAA/H,UAAAkH,cAAA,SAAc5D,GACjB9C,KAAK2G,UAAU7D,EAAEc,OAGd2D,EAAA/H,UAAAoH,aAAA,SAAa9D,GAChB9C,KAAK2G,UAAU7D,EAAE6E,MAGdJ,EAAA/H,UAAAqH,aAAA,SAAa/D,GAAb,IAAAX,EAAAnC,KACGyB,EAAQqB,EAAEc,KAChB5D,KAAKgC,sBAAsBtB,OAAOe,EAAK0B,IAAIe,WAAU,SAACN,GAClDzB,EAAKuF,eAYLH,EAAA/H,UAAAmH,UAAA,SAAUlF,GAAV,IAAAU,EAAAnC,KACJA,KAAKgC,sBAAsBzB,KAAgBkB,GAAMyC,WAAU,WACvD/B,EAAKuF,eAILH,EAAA/H,UAAAkI,SAAA,WAAA,IAAAvF,EAAAnC,KACJA,KAAKgC,sBAAsB7B,SAAoB+D,WAAU,SAACN,GAAc,OAAAzB,EAAKI,MAAQqB,+BAtD5FlE,EAAAA,UAASL,KAAA,CAAC,CACPM,SAAU,wBACVC,SAAA,umDANKkB,SACAoG,EAAAA,4BC4BT,iCApBCU,EAAAA,SAAQvI,KAAA,CAAC,CACRwI,aAAc,CACZtI,EACAuC,EACAyF,GAEFO,QAAS,CACPC,EAAAA,aACAC,EAAAA,iBACAC,EAAAA,aACAC,EAAAA,eACAC,EAAAA,wBACAC,EAAAA,uBAEFC,QAAS,CACP9I,EACAgI,EACAzF,aCvBA,WAJO9B,KAAAoB,YAAc,GACdpB,KAAAM,QAAU,GACVN,KAAAe,OAAS,MCGhB,WALOf,KAAAwB,iBAAmB,GACnBxB,KAAAoG,WAAY,EACZpG,KAAAe,OAAS,GACTf,KAAAmG,mBAAqB,MCK5B,WAJOnG,KAAA6E,KAAO,GACP7E,KAAAuC,MAA0B,GAC1BvC,KAAAwC,YAAsC,MCD7C,WALOxC,KAAAsI,kBAAoB,GACpBtI,KAAAoG,WAAY,EACZpG,KAAAM,QAAU,GACVN,KAAAmG,mBAAqB","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaManagementService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'cauca-management',\n templateUrl: './cauca-management.component.html',\n styles: []\n})\nexport class CaucaManagementComponent implements OnInit {\n\n constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { GroupModel } from '../models/group-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementGroupService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<GroupModel[]> {\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\n }\n\n public get(idGroup: string): Observable<GroupModel> {\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public save(group: GroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\n }\n\n public delete(idGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { PermissionModel } from '../models/permission-model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementPermissionService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<PermissionModel[]> {\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\n }\n\n public get(idPermission: string): Observable<PermissionModel> {\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n\n public save(permission: PermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\n }\n\n public delete(idPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { UserModel } from '../shared/models/user-model';\nimport { UserGroupModel } from '../shared/models/user-group-model';\nimport { GroupModel } from '../shared/models/group-model';\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\nimport { ManagementGroupService } from '../shared/services/management-group.service';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { PermissionModel } from '../shared/models/permission-model';\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\n\n@Component({\n selector: 'cauca-management-group',\n templateUrl: './cauca-management-group.component.html',\n styleUrls: ['./cauca-management-group.component.scss']\n})\nexport class CaucaManagementGroupComponent implements OnInit {\n private groupUsers: any;\n\n @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n public groups: GroupModel[] = [];\n public users: UserModel[] = [];\n public permissions: PermissionModel[] = [];\n public userFullName: any = {};\n public showColumn = true;\n public showColumnXS = true;\n public translations: any = [];\n\n constructor(\n private managementGroupService: ManagementGroupService,\n private managementUserService: ManagementUserService,\n private managementPermissionService: ManagementPermissionService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\n this.showColumn = !result.matches;\n });\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.managementUserService.getAll<UserModel>().subscribe(data => {\n this.users = data;\n this.users.forEach(user => {\n if (user.isActive) {\n if (user.firstName !== '' && user.lastName !== '') {\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\n }\n }\n });\n });\n this.managementPermissionService.getAll().subscribe(permissions => {\n const permissionIndex = permissions.findIndex(c => {\n return c.tag === 'CanAccessPermissions';\n });\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) { return -1; }\n if (a.name > b.name) { return 1; }\n return 0;\n });\n this.permissions = permissions;\n });\n this.getGroups();\n }\n\n public fullName(data): string {\n if (!data) {\n return '';\n }\n\n return `${data.firstName} ${data.lastName}`;\n }\n\n public getGroupUser(field, e): void {\n const users: string[] = [];\n if (this.groupUsers) {\n this.groupUsers.forEach( user => {\n users.push(user.idUser);\n });\n }\n e.component.option('value', users);\n }\n\n public setGroupUser(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\n\n if (groupIndex === -1) {\n groupUser.push({ idUser, } as UserGroupModel);\n } else {\n groupUser.push(field.data.users[groupIndex]);\n }\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public setGroupPermission(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n groupUser.push({\n idUser,\n } as UserGroupModel);\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public getPermissionStatus(field, permission, e): void {\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\n\n if (groupPermission) {\n e.component.option('value', groupPermission.isAllowed);\n } else {\n e.component.option('value', undefined);\n }\n }\n\n public checkBoxToggled(field, permission, e): void {\n if (e.component.skipOnValueChanged) {\n e.component.skipOnValueChanged = false;\n return;\n }\n if (e.component.setUndefinedNextTime) {\n e.component.setUndefinedNextTime = false;\n e.component.skipOnValueChanged = true;\n e.component.option('value', undefined);\n this.setPermissionStatus(field, permission, undefined);\n return;\n }\n if (e.value === false) {\n e.component.setUndefinedNextTime = true;\n }\n\n this.setPermissionStatus(field, permission, e.value);\n }\n\n public onRowInserted(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowUpdated(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowRemoved(e): void {\n const group = (e.data as GroupModel);\n this.managementGroupService.delete(group.id).subscribe(data => {\n this.getGroups();\n });\n }\n\n public calculateUsersCellValue = (e): string => {\n const users = (e.users ? e.users as UserGroupModel[] : []);\n let usersNames: any[] = [];\n users.forEach(user => {\n const userGroup = this.users.filter(u => u.id === user.idUser);\n if (userGroup && userGroup[0]) {\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\n }\n });\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\n return usersNames.join(', ');\n }\n\n public onEditingStart(e: any): void {\n this.groupUsers = e.data.users;\n }\n\n public onInitNewRow(): void {\n this.groupUsers = [];\n }\n\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private setPermissionStatus(field: any, permission, value): void {\n const groupPermissions = field.value || [];\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\n\n if (groupIndex > -1) {\n groupPermissions[groupIndex].isAllowed = value;\n } else {\n groupPermissions.push({\n idModulePermission: permission.id,\n isAllowed: value,\n } as GroupPermissionModel);\n }\n\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\n }\n\n private saveGroup(group: GroupModel): void {\n this.removePermissionUndefined(group);\n if (group.users) {\n group.users.forEach((userGroup: UserGroupModel) => {\n userGroup.idGroup = group.id;\n });\n }\n if (group.permissions) {\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\n groupPermission.idGroup = group.id;\n });\n }\n this.managementGroupService.save(group).subscribe(() => {\n this.getGroups();\n });\n this.groupUsers = [];\n }\n\n private removePermissionUndefined(group: GroupModel): void {\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\n }\n\n private getGroups(): void {\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\n }\n}\n","import { UserGroupModel } from './user-group-model';\nimport { UserPermissionModel } from './user-permission-model';\n\nexport class UserModel {\n public id: string;\n public userName = '';\n public firstName = '';\n public lastName = '';\n public password = '';\n public email = '';\n public isActive = true;\n public groups: UserGroupModel[];\n public permissions: UserPermissionModel[];\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UserModel } from '../shared/models/user-model';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'cauca-management-user',\n templateUrl: './cauca-management-user.component.html',\n styleUrls: ['./cauca-management-user.component.scss']\n})\nexport class CaucaManagementUserComponent implements OnInit {\n public users: UserModel[] = [\n new UserModel()\n ];\n public showColumnXS = true;\n\n constructor(\n private managementUserService: ManagementUserService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.getUsers();\n }\n\n public onRowInserted(e: any): void {\n this.saveGroup(e.data as UserModel);\n }\n\n public onRowUpdated(e: any): void {\n this.saveGroup(e.key as UserModel);\n }\n\n public onRowRemoved(e: any): void {\n const user = (e.data as UserModel);\n this.managementUserService.delete(user.id).subscribe((data: any) => {\n this.getUsers();\n });\n }\n\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private saveGroup(user: UserModel): void {\n this.managementUserService.save<UserModel>(user).subscribe(() => {\n this.getUsers();\n });\n }\n\n private getUsers(): void {\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\n }\n}","import { NgModule } from '@angular/core';\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\nimport { DxListModule } from 'devextreme-angular/ui/list';\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\nimport { CaucaManagementComponent } from './cauca-management.component';\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n CaucaManagementComponent,\n CaucaManagementGroupComponent,\n CaucaManagementUserComponent\n ],\n imports: [\n CommonModule,\n DxCheckBoxModule,\n DxListModule,\n DxTagBoxModule,\n CaucaCoreForChildModule,\n CaucaDevextremeModule,\n ],\n exports: [\n CaucaManagementComponent,\n CaucaManagementUserComponent,\n CaucaManagementGroupComponent,\n ]\n})\nexport class CaucaManagementModule { }\n","export class UserGroupModel {\n public idUserGroup = '';\n public idGroup = '';\n public idUser = '';\n\n constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n","import {GroupPermissionModel} from './group-permission-model';\nimport {UserGroupModel} from './user-group-model';\n\nexport class GroupModel {\n public id: string;\n public name = '';\n public users: UserGroupModel[] = [];\n public permissions: GroupPermissionModel[] = [];\n\n constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n"]}
1
+ {"version":3,"sources":["../../projects/cauca-management/src/lib/cauca-management.service.ts","../../projects/cauca-management/src/lib/cauca-management.component.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-group.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-user.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-model.ts","../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../projects/cauca-management/src/lib/cauca-management.module.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-permission-model.ts"],"names":["Injectable","args","providedIn","CaucaManagementComponent","prototype","ngOnInit","Component","selector","template","ManagementGroupService","coreService","http","this","config","getConfig","getAll","get","apiUrl","idGroup","save","group","post","delete","hasExistingGroupName","CaucaCoreService","HttpClient","ManagementUserService","idUser","getGroup","addGroup","userGroup","deleteGroup","idUserGroup","addPermission","userPermission","deletePermission","idUserPermission","user","hasExistingUserName","ManagementPermissionService","idPermission","permission","CaucaManagementGroupComponent","managementGroupService","managementUserService","managementPermissionService","breakpointObserver","_this","showPrintButton","hoverStatePermission","groups","users","permissions","userFullName","showColumn","showColumnXS","translations","calculateUsersCellValue","e","usersNames","forEach","filter","u","id","push","firstName","lastName","sort","one","two","join","groupNameAlreadyUsedValidation","data","pipe","map","exist","toPromise","observe","subscribe","result","matches","isActive","permissionIndex","findIndex","c","tag","splice","a","b","name","getGroups","fullName","getGroupUser","field","groupUsers","component","option","setGroupUser","groupUser","value","groupIndex","g","setValue","JSON","parse","stringify","setGroupPermission","getPermissionStatus","groupPermission","find","p","idModulePermission","isAllowed","undefined","checkBoxToggled","skipOnValueChanged","setUndefinedNextTime","setPermissionStatus","onRowInserted","saveGroup","onRowUpdated","onRowRemoved","onEditingStart","onInitNewRow","groupPermissions","removePermissionUndefined","BreakpointObserver","Input","userName","password","email","twoFactorAuthenticatorEnabled","CaucaManagementUserComponent","UserModel","userNameAlreadyUsedValidation","getUsers","key","NgModule","declarations","imports","CommonModule","DxCheckBoxModule","DxListModule","DxTagBoxModule","CaucaCoreForChildModule","CaucaDevextremeModule","exports","idGroupPermission"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CaucaManagementService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cauca-management',\r\n templateUrl: './cauca-management.component.html',\r\n styles: []\r\n})\r\nexport class CaucaManagementComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { GroupModel } from '../models/group-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementGroupService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<GroupModel[]> {\r\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\r\n }\r\n\r\n public get(idGroup: string): Observable<GroupModel> {\r\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public save(group: GroupModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\r\n }\r\n\r\n public delete(idGroup: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { PermissionModel } from '../models/permission-model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementPermissionService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<PermissionModel[]> {\r\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\r\n }\r\n\r\n public get(idPermission: string): Observable<PermissionModel> {\r\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n\r\n public save(permission: PermissionModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\r\n }\r\n\r\n public delete(idPermission: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { UserGroupModel } from '../shared/models/user-group-model';\r\nimport { GroupModel } from '../shared/models/group-model';\r\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\r\nimport { ManagementGroupService } from '../shared/services/management-group.service';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { PermissionModel } from '../shared/models/permission-model';\r\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\r\n\r\n@Component({\r\n selector: 'cauca-management-group',\r\n templateUrl: './cauca-management-group.component.html',\r\n styleUrls: ['./cauca-management-group.component.scss']\r\n})\r\nexport class CaucaManagementGroupComponent implements OnInit {\r\n private groupUsers: any;\r\n\r\n @Input()\r\n public showPrintButton: boolean = true;\r\n @Input()\r\n public hoverStatePermission = true;\r\n public groups: GroupModel[] = [];\r\n public users: UserModel[] = [];\r\n public permissions: PermissionModel[] = [];\r\n public userFullName: any = {};\r\n public showColumn = true;\r\n public showColumnXS = true;\r\n public translations: any = [];\r\n\r\n constructor(\r\n private managementGroupService: ManagementGroupService,\r\n private managementUserService: ManagementUserService,\r\n private managementPermissionService: ManagementPermissionService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\r\n this.showColumn = !result.matches;\r\n });\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe(data => {\r\n this.users = data;\r\n this.users.forEach(user => {\r\n if (user.isActive) {\r\n if (user.firstName !== '' && user.lastName !== '') {\r\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\r\n }\r\n }\r\n });\r\n });\r\n this.managementPermissionService.getAll().subscribe(permissions => {\r\n const permissionIndex = permissions.findIndex(c => {\r\n return c.tag === 'CanAccessPermissions';\r\n });\r\n if (permissionIndex !== -1) {\r\n permissions.splice(permissionIndex, 1);\r\n }\r\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\r\n if (a.name < b.name) { return -1; }\r\n if (a.name > b.name) { return 1; }\r\n return 0;\r\n });\r\n this.permissions = permissions;\r\n });\r\n this.getGroups();\r\n }\r\n\r\n public fullName(data): string {\r\n if (!data) {\r\n return '';\r\n }\r\n\r\n return `${data.firstName} ${data.lastName}`;\r\n }\r\n\r\n public getGroupUser(field, e): void {\r\n const users: string[] = [];\r\n if (this.groupUsers) {\r\n this.groupUsers.forEach( user => {\r\n users.push(user.idUser);\r\n });\r\n }\r\n e.component.option('value', users);\r\n }\r\n\r\n public setGroupUser(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\r\n\r\n if (groupIndex === -1) {\r\n groupUser.push({ idUser, } as UserGroupModel);\r\n } else {\r\n groupUser.push(field.data.users[groupIndex]);\r\n }\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public setGroupPermission(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n groupUser.push({\r\n idUser,\r\n } as UserGroupModel);\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public getPermissionStatus(field, permission, e): void {\r\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\r\n\r\n if (groupPermission) {\r\n e.component.option('value', groupPermission.isAllowed);\r\n } else {\r\n e.component.option('value', undefined);\r\n }\r\n }\r\n\r\n public checkBoxToggled(field, permission, e): void {\r\n if (e.component.skipOnValueChanged) {\r\n e.component.skipOnValueChanged = false;\r\n return;\r\n }\r\n if (e.component.setUndefinedNextTime) {\r\n e.component.setUndefinedNextTime = false;\r\n e.component.skipOnValueChanged = true;\r\n e.component.option('value', undefined);\r\n this.setPermissionStatus(field, permission, undefined);\r\n return;\r\n }\r\n if (e.value === false) {\r\n e.component.setUndefinedNextTime = true;\r\n }\r\n\r\n this.setPermissionStatus(field, permission, e.value);\r\n }\r\n\r\n public onRowInserted(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowUpdated(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowRemoved(e): void {\r\n const group = (e.data as GroupModel);\r\n this.managementGroupService.delete(group.id).subscribe(data => {\r\n this.getGroups();\r\n });\r\n }\r\n\r\n public calculateUsersCellValue = (e): string => {\r\n const users = (e.users ? e.users as UserGroupModel[] : []);\r\n let usersNames: any[] = [];\r\n users.forEach(user => {\r\n const userGroup = this.users.filter(u => u.id === user.idUser);\r\n if (userGroup && userGroup[0]) {\r\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\r\n }\r\n });\r\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\r\n return usersNames.join(', ');\r\n }\r\n\r\n public onEditingStart(e: any): void {\r\n this.groupUsers = e.data.users;\r\n }\r\n\r\n public onInitNewRow(): void {\r\n this.groupUsers = [];\r\n }\r\n\r\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private setPermissionStatus(field: any, permission, value): void {\r\n const groupPermissions = field.value || [];\r\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\r\n\r\n if (groupIndex > -1) {\r\n groupPermissions[groupIndex].isAllowed = value;\r\n } else {\r\n groupPermissions.push({\r\n idModulePermission: permission.id,\r\n isAllowed: value,\r\n } as GroupPermissionModel);\r\n }\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\r\n }\r\n\r\n private saveGroup(group: GroupModel): void {\r\n this.removePermissionUndefined(group);\r\n if (group.users) {\r\n group.users.forEach((userGroup: UserGroupModel) => {\r\n userGroup.idGroup = group.id;\r\n });\r\n }\r\n if (group.permissions) {\r\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\r\n groupPermission.idGroup = group.id;\r\n });\r\n }\r\n this.managementGroupService.save(group).subscribe(() => {\r\n this.getGroups();\r\n });\r\n this.groupUsers = [];\r\n }\r\n\r\n private removePermissionUndefined(group: GroupModel): void {\r\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\r\n }\r\n\r\n private getGroups(): void {\r\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\r\n }\r\n}\r\n","import { UserGroupModel } from './user-group-model';\r\nimport { UserPermissionModel } from './user-permission-model';\r\n\r\nexport class UserModel {\r\n public id: string;\r\n public userName = '';\r\n public firstName = '';\r\n public lastName = '';\r\n public password = '';\r\n public email = '';\r\n public isActive = true;\r\n public groups: UserGroupModel[];\r\n public permissions: UserPermissionModel[];\r\n public twoFactorAuthenticatorEnabled = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'cauca-management-user',\r\n templateUrl: './cauca-management-user.component.html',\r\n styleUrls: ['./cauca-management-user.component.scss']\r\n})\r\nexport class CaucaManagementUserComponent implements OnInit {\r\n public users: UserModel[] = [\r\n new UserModel()\r\n ];\r\n public showColumnXS = true;\r\n\r\n constructor(\r\n private managementUserService: ManagementUserService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.getUsers();\r\n }\r\n\r\n public onRowInserted(e: any): void {\r\n this.saveGroup(e.data as UserModel);\r\n }\r\n\r\n public onRowUpdated(e: any): void {\r\n this.saveGroup(e.key as UserModel);\r\n }\r\n\r\n public onRowRemoved(e: any): void {\r\n const user = (e.data as UserModel);\r\n this.managementUserService.delete(user.id).subscribe((data: any) => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementUserService.hasExistingUserName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private saveGroup(user: UserModel): void {\r\n this.managementUserService.save<UserModel>(user).subscribe(() => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n private getUsers(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\r\nimport { DxListModule } from 'devextreme-angular/ui/list';\r\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\r\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\r\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\r\nimport { CaucaManagementComponent } from './cauca-management.component';\r\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\r\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n CaucaManagementComponent,\r\n CaucaManagementGroupComponent,\r\n CaucaManagementUserComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxCheckBoxModule,\r\n DxListModule,\r\n DxTagBoxModule,\r\n CaucaCoreForChildModule,\r\n CaucaDevextremeModule,\r\n ],\r\n exports: [\r\n CaucaManagementComponent,\r\n CaucaManagementUserComponent,\r\n CaucaManagementGroupComponent,\r\n ]\r\n})\r\nexport class CaucaManagementModule { }\r\n","export class UserGroupModel {\r\n public idUserGroup = '';\r\n public idGroup = '';\r\n public idUser = '';\r\n\r\n constructor() { }\r\n}\r\n","export class UserPermissionModel {\r\n public idUserPermission = '';\r\n public isAllowed = false;\r\n public idUser = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n","import {GroupPermissionModel} from './group-permission-model';\r\nimport {UserGroupModel} from './user-group-model';\r\n\r\nexport class GroupModel {\r\n public id: string;\r\n public name = '';\r\n public users: UserGroupModel[] = [];\r\n public permissions: GroupPermissionModel[] = [];\r\n\r\n constructor() { }\r\n}\r\n","export class GroupPermissionModel {\r\n public idGroupPermission = '';\r\n public isAllowed = false;\r\n public idGroup = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n"]}
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { ManagementPermissionService as ɵa } from './lib/shared/services/management-permission.service';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { ManagementPermissionService as ɵa } from './lib/shared/services/management-permission.service';
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"CaucaManagementService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"CaucaManagementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"cauca-management","styles":[],"template":"<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"CaucaManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"CaucaManagementComponent"},{"__symbolic":"reference","name":"CaucaManagementGroupComponent"},{"__symbolic":"reference","name":"CaucaManagementUserComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/check-box","name":"DxCheckBoxModule","line":19,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/list","name":"DxListModule","line":20,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/tag-box","name":"DxTagBoxModule","line":21,"character":4},{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreForChildModule","line":22,"character":4},{"__symbolic":"reference","module":"@cauca-911/devextreme","name":"CaucaDevextremeModule","line":23,"character":4}],"exports":[{"__symbolic":"reference","name":"CaucaManagementComponent"},{"__symbolic":"reference","name":"CaucaManagementUserComponent"},{"__symbolic":"reference","name":"CaucaManagementGroupComponent"}]}]}],"members":{}},"CaucaManagementGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"cauca-management-group","template":"<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"users\" [caption]=\"'management.users' | translate\" editCellTemplate=\"usersEditTemplate\"\n [calculateCellValue]=\"calculateUsersCellValue\">\n </dxi-column>\n <dxi-column dataField=\"permissions\" [caption]=\"'management.permissions' | translate\" [visible]=\"false\"\n editCellTemplate=\"permissionsEditTemplate\">\n </dxi-column>\n <dxo-export [enabled]=\"false\"></dxo-export>\n <dxo-editing mode=\"popup\" [allowAdding]=\"true\" [allowUpdating]=\"true\" [allowDeleting]=\"true\" [useIcons]=\"true\">\n <dxo-popup [showTitle]=\"true\" [title]=\"'management.group' | translate\" [fullScreen]=\"!showColumn\"></dxo-popup>\n <dxo-form colCount=\"1\" [labelLocation]=\"showColumnXS ? 'left' : 'top'\">\n <dxi-item dataField=\"name\" [isRequired]=\"true\"></dxi-item>\n <dxi-item dataField=\"users\"></dxi-item>\n <dxi-item dataField=\"permissions\"></dxi-item>\n </dxo-form>\n </dxo-editing>\n\n <div *dxTemplate=\"let field of 'usersEditTemplate'\">\n <dx-tag-box valueExpr=\"id\" [displayExpr]=\"fullName\" [dataSource]=\"users\" [searchEnabled]=\"true\"\n [searchExpr]=\"fullName\" (onInitialized)=\"getGroupUser(field, $event)\"\n (onValueChanged)=\"setGroupUser(field, $event)\">\n </dx-tag-box>\n </div>\n <div *dxTemplate=\"let field of 'permissionsEditTemplate'\">\n <dx-list [dataSource]=\"permissions\" itemTemplate=\"rowTemplate\" [searchEnabled]=\"true\"\n [searchExpr]=\"['name', 'tag']\" [hoverStateEnabled]=\"hoverStatePermission\">\n <div *dxTemplate=\"let permission of 'rowTemplate'\">\n <dx-check-box [text]=\"permission.name\" (onInitialized)=\"getPermissionStatus(field, permission, $event)\"\n (onValueChanged)=\"checkBoxToggled(field, permission, $event)\">\n </dx-check-box>\n </div>\n </dx-list>\n </div>\n</cauca-dx-data-grid>","styles":[""]}]}],"members":{"showPrintButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"hoverStatePermission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ManagementGroupService"},{"__symbolic":"reference","name":"ManagementUserService"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":36,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"fullName":[{"__symbolic":"method"}],"getGroupUser":[{"__symbolic":"method"}],"setGroupUser":[{"__symbolic":"method"}],"setGroupPermission":[{"__symbolic":"method"}],"getPermissionStatus":[{"__symbolic":"method"}],"checkBoxToggled":[{"__symbolic":"method"}],"onRowInserted":[{"__symbolic":"method"}],"onRowUpdated":[{"__symbolic":"method"}],"onRowRemoved":[{"__symbolic":"method"}],"onEditingStart":[{"__symbolic":"method"}],"onInitNewRow":[{"__symbolic":"method"}],"setPermissionStatus":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}],"removePermissionUndefined":[{"__symbolic":"method"}],"getGroups":[{"__symbolic":"method"}]}},"CaucaManagementUserComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"cauca-management-user","template":"<cauca-dx-data-grid\n keyExpr=\"id\"\n [dataSource]=\"users\"\n (onRowInserted)=\"onRowInserted($event)\"\n (onRowUpdated)=\"onRowUpdated($event)\"\n (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"userName\" [caption]=\"'management.userName' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.userNameAlreadyUsed' | translate\" [validationCallback]=\"userNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"isActive\" [caption]=\"'management.isActive' | translate\" [visible]=\"false\"></dxi-column>\n <dxi-column dataField=\"firstName\" [caption]=\"'management.firstName' | translate\"></dxi-column>\n <dxi-column dataField=\"lastName\" [caption]=\"'management.lastName' | translate\"></dxi-column>\n <dxi-column dataField=\"groups\" [caption]=\"'management.group' | translate\"></dxi-column>\n\n <dxo-editing mode=\"popup\" [allowAdding]=\"true\" [allowUpdating]=\"true\" [allowDeleting]=\"true\" [useIcons]=\"true\">\n <dxo-popup [showTitle]=\"true\" [title]=\"'management.group' | translate\"></dxo-popup>\n <dxo-form colCount=\"2\" [labelLocation]=\"showColumnXS ? 'left' : 'top'\">\n <dxi-item dataField=\"userName\" [isRequired]=\"true\"></dxi-item>\n <dxi-item dataField=\"isActive\"></dxi-item>\n <dxi-item dataField=\"firstName\"></dxi-item>\n <dxi-item dataField=\"lastName\"></dxi-item>\n <dxi-item dataField=\"group\"></dxi-item>\n </dxo-form>\n </dxo-editing>\n</cauca-dx-data-grid>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ManagementUserService"},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":19,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"onRowInserted":[{"__symbolic":"method"}],"onRowUpdated":[{"__symbolic":"method"}],"onRowRemoved":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}]}},"ManagementUserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":14,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":24}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getGroup":[{"__symbolic":"method"}],"addGroup":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}],"addPermission":[{"__symbolic":"method"}],"deletePermission":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"hasExistingUserName":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ManagementGroupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":13,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":22}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"hasExistingGroupName":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"UserModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UserGroupModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UserPermissionModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"GroupModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"GroupPermissionModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":14,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":22}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"CaucaManagementService":"./lib/cauca-management.service","CaucaManagementComponent":"./lib/cauca-management.component","CaucaManagementModule":"./lib/cauca-management.module","CaucaManagementGroupComponent":"./lib/cauca-management-group/cauca-management-group.component","CaucaManagementUserComponent":"./lib/cauca-management-user/cauca-management-user.component","ManagementUserService":"./lib/shared/services/management-user.service","ManagementGroupService":"./lib/shared/services/management-group.service","UserModel":"./lib/shared/models/user-model","UserGroupModel":"./lib/shared/models/user-group-model","UserPermissionModel":"./lib/shared/models/user-permission-model","GroupModel":"./lib/shared/models/group-model","GroupPermissionModel":"./lib/shared/models/group-permission-model","ɵa":"./lib/shared/services/management-permission.service"},"importAs":"@cauca-911/management"}
1
+ {"__symbolic":"module","version":4,"metadata":{"CaucaManagementService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"CaucaManagementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"cauca-management","styles":[],"template":"<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"CaucaManagementModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"CaucaManagementComponent"},{"__symbolic":"reference","name":"CaucaManagementGroupComponent"},{"__symbolic":"reference","name":"CaucaManagementUserComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/check-box","name":"DxCheckBoxModule","line":19,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/list","name":"DxListModule","line":20,"character":4},{"__symbolic":"reference","module":"devextreme-angular/ui/tag-box","name":"DxTagBoxModule","line":21,"character":4},{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreForChildModule","line":22,"character":4},{"__symbolic":"reference","module":"@cauca-911/devextreme","name":"CaucaDevextremeModule","line":23,"character":4}],"exports":[{"__symbolic":"reference","name":"CaucaManagementComponent"},{"__symbolic":"reference","name":"CaucaManagementUserComponent"},{"__symbolic":"reference","name":"CaucaManagementGroupComponent"}]}]}],"members":{}},"CaucaManagementGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"cauca-management-group","template":"<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\r\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\r\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\r\n\r\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\r\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\r\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"users\" [caption]=\"'management.users' | translate\" editCellTemplate=\"usersEditTemplate\"\r\n [calculateCellValue]=\"calculateUsersCellValue\">\r\n </dxi-column>\r\n <dxi-column dataField=\"permissions\" [caption]=\"'management.permissions' | translate\" [visible]=\"false\"\r\n editCellTemplate=\"permissionsEditTemplate\">\r\n </dxi-column>\r\n <dxo-export [enabled]=\"false\"></dxo-export>\r\n <dxo-editing mode=\"popup\" [allowAdding]=\"true\" [allowUpdating]=\"true\" [allowDeleting]=\"true\" [useIcons]=\"true\">\r\n <dxo-popup [showTitle]=\"true\" [title]=\"'management.group' | translate\" [fullScreen]=\"!showColumn\"></dxo-popup>\r\n <dxo-form colCount=\"1\" [labelLocation]=\"showColumnXS ? 'left' : 'top'\">\r\n <dxi-item dataField=\"name\" [isRequired]=\"true\"></dxi-item>\r\n <dxi-item dataField=\"users\"></dxi-item>\r\n <dxi-item dataField=\"permissions\"></dxi-item>\r\n </dxo-form>\r\n </dxo-editing>\r\n\r\n <div *dxTemplate=\"let field of 'usersEditTemplate'\">\r\n <dx-tag-box valueExpr=\"id\" [displayExpr]=\"fullName\" [dataSource]=\"users\" [searchEnabled]=\"true\"\r\n [searchExpr]=\"fullName\" (onInitialized)=\"getGroupUser(field, $event)\"\r\n (onValueChanged)=\"setGroupUser(field, $event)\">\r\n </dx-tag-box>\r\n </div>\r\n <div *dxTemplate=\"let field of 'permissionsEditTemplate'\">\r\n <dx-list [dataSource]=\"permissions\" itemTemplate=\"rowTemplate\" [searchEnabled]=\"true\"\r\n [searchExpr]=\"['name', 'tag']\" [hoverStateEnabled]=\"hoverStatePermission\">\r\n <div *dxTemplate=\"let permission of 'rowTemplate'\">\r\n <dx-check-box [text]=\"permission.name\" (onInitialized)=\"getPermissionStatus(field, permission, $event)\"\r\n (onValueChanged)=\"checkBoxToggled(field, permission, $event)\">\r\n </dx-check-box>\r\n </div>\r\n </dx-list>\r\n </div>\r\n</cauca-dx-data-grid>","styles":[""]}]}],"members":{"showPrintButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"hoverStatePermission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ManagementGroupService"},{"__symbolic":"reference","name":"ManagementUserService"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":36,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"fullName":[{"__symbolic":"method"}],"getGroupUser":[{"__symbolic":"method"}],"setGroupUser":[{"__symbolic":"method"}],"setGroupPermission":[{"__symbolic":"method"}],"getPermissionStatus":[{"__symbolic":"method"}],"checkBoxToggled":[{"__symbolic":"method"}],"onRowInserted":[{"__symbolic":"method"}],"onRowUpdated":[{"__symbolic":"method"}],"onRowRemoved":[{"__symbolic":"method"}],"onEditingStart":[{"__symbolic":"method"}],"onInitNewRow":[{"__symbolic":"method"}],"setPermissionStatus":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}],"removePermissionUndefined":[{"__symbolic":"method"}],"getGroups":[{"__symbolic":"method"}]}},"CaucaManagementUserComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"cauca-management-user","template":"<cauca-dx-data-grid\r\n keyExpr=\"id\"\r\n [dataSource]=\"users\"\r\n (onRowInserted)=\"onRowInserted($event)\"\r\n (onRowUpdated)=\"onRowUpdated($event)\"\r\n (onRowRemoved)=\"onRowRemoved($event)\">\r\n\r\n <dxi-column dataField=\"userName\" [caption]=\"'management.userName' | translate\">\r\n <dxi-validation-rule type=\"async\" [message]=\"'management.userNameAlreadyUsed' | translate\" [validationCallback]=\"userNameAlreadyUsedValidation\"></dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"isActive\" [caption]=\"'management.isActive' | translate\" [visible]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"firstName\" [caption]=\"'management.firstName' | translate\"></dxi-column>\r\n <dxi-column dataField=\"lastName\" [caption]=\"'management.lastName' | translate\"></dxi-column>\r\n <dxi-column dataField=\"groups\" [caption]=\"'management.group' | translate\"></dxi-column>\r\n\r\n <dxo-editing mode=\"popup\" [allowAdding]=\"true\" [allowUpdating]=\"true\" [allowDeleting]=\"true\" [useIcons]=\"true\">\r\n <dxo-popup [showTitle]=\"true\" [title]=\"'management.group' | translate\"></dxo-popup>\r\n <dxo-form colCount=\"2\" [labelLocation]=\"showColumnXS ? 'left' : 'top'\">\r\n <dxi-item dataField=\"userName\" [isRequired]=\"true\"></dxi-item>\r\n <dxi-item dataField=\"isActive\"></dxi-item>\r\n <dxi-item dataField=\"firstName\"></dxi-item>\r\n <dxi-item dataField=\"lastName\"></dxi-item>\r\n <dxi-item dataField=\"group\"></dxi-item>\r\n </dxo-form>\r\n </dxo-editing>\r\n</cauca-dx-data-grid>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ManagementUserService"},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":19,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"onRowInserted":[{"__symbolic":"method"}],"onRowUpdated":[{"__symbolic":"method"}],"onRowRemoved":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}]}},"ManagementUserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":14,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":24}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getGroup":[{"__symbolic":"method"}],"addGroup":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}],"addPermission":[{"__symbolic":"method"}],"deletePermission":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"hasExistingUserName":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ManagementGroupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":13,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":22}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"hasExistingGroupName":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"UserModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UserGroupModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UserPermissionModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"GroupModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"GroupPermissionModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cauca-911/core","name":"CaucaCoreService","line":14,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":22}]}],"getAll":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"CaucaManagementService":"./lib/cauca-management.service","CaucaManagementComponent":"./lib/cauca-management.component","CaucaManagementModule":"./lib/cauca-management.module","CaucaManagementGroupComponent":"./lib/cauca-management-group/cauca-management-group.component","CaucaManagementUserComponent":"./lib/cauca-management-user/cauca-management-user.component","ManagementUserService":"./lib/shared/services/management-user.service","ManagementGroupService":"./lib/shared/services/management-group.service","UserModel":"./lib/shared/models/user-model","UserGroupModel":"./lib/shared/models/user-group-model","UserPermissionModel":"./lib/shared/models/user-permission-model","GroupModel":"./lib/shared/models/group-model","GroupPermissionModel":"./lib/shared/models/group-permission-model","ɵa":"./lib/shared/services/management-permission.service"},"importAs":"@cauca-911/management"}
@@ -1,6 +1,6 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { ManagementPermissionService as ɵa } from './lib/shared/services/management-permission.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtOTExLW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvbWljaGFlbC5qb2xpbi9Qcm9ncmFtbWF0aW9ucy9DQVVDQS9jYXVzZS1hbmd1bGFyLWxpYnJhcnkvcHJvamVjdHMvY2F1Y2EtbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJjYXVjYS05MTEtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UnOyJdfQ==
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { ManagementPermissionService as ɵa } from './lib/shared/services/management-permission.service';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtOTExLW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJjYXVjYS05MTEtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UnOyJdfQ==