@cauca-911/management 12.0.0 → 13.0.0
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.
- package/cauca-911-management.d.ts +5 -5
- package/esm2020/cauca-911-management.mjs +5 -0
- package/esm2020/lib/cauca-management-group/cauca-management-group.component.mjs +285 -0
- package/esm2020/lib/cauca-management-user/cauca-management-user.component.mjs +96 -0
- package/esm2020/lib/cauca-management.component.mjs +23 -0
- package/esm2020/lib/cauca-management.module.mjs +57 -0
- package/esm2020/lib/cauca-management.service.mjs +14 -0
- package/{esm2015/lib/shared/models/group-model.js → esm2020/lib/shared/models/group-model.mjs} +8 -8
- package/{esm2015/lib/shared/models/group-permission-model.js → esm2020/lib/shared/models/group-permission-model.mjs} +9 -9
- package/{esm2015/lib/shared/models/permission-model.js → esm2020/lib/shared/models/permission-model.mjs} +8 -8
- package/{esm2015/lib/shared/models/user-group-model.js → esm2020/lib/shared/models/user-group-model.mjs} +8 -8
- package/{esm2015/lib/shared/models/user-model.js → esm2020/lib/shared/models/user-model.mjs} +11 -11
- package/{esm2015/lib/shared/models/user-permission-model.js → esm2020/lib/shared/models/user-permission-model.mjs} +9 -9
- package/esm2020/lib/shared/services/management-group.service.mjs +34 -0
- package/esm2020/lib/shared/services/management-permission.service.mjs +31 -0
- package/esm2020/lib/shared/services/management-user.service.mjs +49 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +15 -15
- package/fesm2015/cauca-911-management.mjs +649 -0
- package/fesm2015/cauca-911-management.mjs.map +1 -0
- package/fesm2020/cauca-911-management.mjs +613 -0
- package/fesm2020/cauca-911-management.mjs.map +1 -0
- package/lib/cauca-management-group/cauca-management-group.component.d.ts +45 -42
- package/lib/cauca-management-user/cauca-management-user.component.d.ts +20 -17
- package/lib/cauca-management.component.d.ts +8 -5
- package/lib/cauca-management.module.d.ts +15 -2
- package/lib/cauca-management.service.d.ts +6 -3
- package/lib/shared/models/group-model.d.ts +9 -9
- package/lib/shared/models/group-permission-model.d.ts +7 -7
- package/lib/shared/models/permission-model.d.ts +7 -7
- package/lib/shared/models/user-group-model.d.ts +6 -6
- package/lib/shared/models/user-model.d.ts +14 -14
- package/lib/shared/models/user-permission-model.d.ts +7 -7
- package/lib/shared/services/management-group.service.d.ts +17 -14
- package/lib/shared/services/management-permission.service.d.ts +16 -13
- package/lib/shared/services/management-user.service.d.ts +23 -20
- package/package.json +26 -11
- package/public-api.d.ts +12 -12
- package/bundles/cauca-911-management.umd.js +0 -540
- package/bundles/cauca-911-management.umd.js.map +0 -1
- package/cauca-911-management.metadata.json +0 -1
- package/esm2015/cauca-911-management.js +0 -6
- package/esm2015/lib/cauca-management-group/cauca-management-group.component.js +0 -212
- package/esm2015/lib/cauca-management-user/cauca-management-user.component.js +0 -57
- package/esm2015/lib/cauca-management.component.js +0 -14
- package/esm2015/lib/cauca-management.module.js +0 -35
- package/esm2015/lib/cauca-management.service.js +0 -13
- package/esm2015/lib/shared/services/management-group.service.js +0 -38
- package/esm2015/lib/shared/services/management-permission.service.js +0 -35
- package/esm2015/lib/shared/services/management-user.service.js +0 -53
- package/fesm2015/cauca-911-management.js +0 -484
- package/fesm2015/cauca-911-management.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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,6 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtOTExLW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9jYXVjYS05MTEtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UnOyJdfQ==
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { ManagementGroupService } from '../shared/services/management-group.service';
|
|
5
|
-
import { ManagementUserService } from '../shared/services/management-user.service';
|
|
6
|
-
import { ManagementPermissionService } from '../shared/services/management-permission.service';
|
|
7
|
-
export class CaucaManagementGroupComponent {
|
|
8
|
-
constructor(managementGroupService, managementUserService, managementPermissionService, breakpointObserver) {
|
|
9
|
-
this.managementGroupService = managementGroupService;
|
|
10
|
-
this.managementUserService = managementUserService;
|
|
11
|
-
this.managementPermissionService = managementPermissionService;
|
|
12
|
-
this.showPrintButton = true;
|
|
13
|
-
this.hoverStatePermission = true;
|
|
14
|
-
this.groups = [];
|
|
15
|
-
this.users = [];
|
|
16
|
-
this.permissions = [];
|
|
17
|
-
this.userFullName = {};
|
|
18
|
-
this.showColumn = true;
|
|
19
|
-
this.showColumnXS = true;
|
|
20
|
-
this.translations = [];
|
|
21
|
-
this.calculateUsersCellValue = (e) => {
|
|
22
|
-
const users = (e.users ? e.users : []);
|
|
23
|
-
let usersNames = [];
|
|
24
|
-
users.forEach((user) => {
|
|
25
|
-
const userGroup = this.users.filter((u) => u.id === user.idUser);
|
|
26
|
-
if (userGroup && userGroup[0]) {
|
|
27
|
-
usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));
|
|
31
|
-
return usersNames.join(', ');
|
|
32
|
-
};
|
|
33
|
-
this.groupNameAlreadyUsedValidation = (e) => {
|
|
34
|
-
return this.managementGroupService.hasExistingGroupName(e.data).pipe(map((exist) => {
|
|
35
|
-
return !exist;
|
|
36
|
-
})).toPromise();
|
|
37
|
-
};
|
|
38
|
-
breakpointObserver.observe(['(max-width: 1000px)']).subscribe((result) => {
|
|
39
|
-
this.showColumn = !result.matches;
|
|
40
|
-
});
|
|
41
|
-
breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
|
|
42
|
-
this.showColumnXS = !result.matches;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
ngOnInit() {
|
|
46
|
-
this.managementUserService.getAll().subscribe((data) => {
|
|
47
|
-
this.users = data;
|
|
48
|
-
this.users.forEach((user) => {
|
|
49
|
-
if (user.isActive) {
|
|
50
|
-
if (user.firstName !== '' && user.lastName !== '') {
|
|
51
|
-
this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
this.managementPermissionService.getAll().subscribe((permissions) => {
|
|
57
|
-
const permissionIndex = permissions.findIndex((c) => {
|
|
58
|
-
return c.tag === 'CanAccessPermissions';
|
|
59
|
-
});
|
|
60
|
-
if (permissionIndex !== -1) {
|
|
61
|
-
permissions.splice(permissionIndex, 1);
|
|
62
|
-
}
|
|
63
|
-
permissions.sort((a, b) => {
|
|
64
|
-
if (a.name < b.name) {
|
|
65
|
-
return -1;
|
|
66
|
-
}
|
|
67
|
-
if (a.name > b.name) {
|
|
68
|
-
return 1;
|
|
69
|
-
}
|
|
70
|
-
return 0;
|
|
71
|
-
});
|
|
72
|
-
this.permissions = permissions;
|
|
73
|
-
});
|
|
74
|
-
this.getGroups();
|
|
75
|
-
}
|
|
76
|
-
fullName(data) {
|
|
77
|
-
if (!data) {
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
return `${data.firstName} ${data.lastName}`;
|
|
81
|
-
}
|
|
82
|
-
getGroupUser(field, e) {
|
|
83
|
-
const users = [];
|
|
84
|
-
if (this.groupUsers) {
|
|
85
|
-
this.groupUsers.forEach((user) => {
|
|
86
|
-
users.push(user.idUser);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
e.component.option('value', users);
|
|
90
|
-
}
|
|
91
|
-
setGroupUser(field, e) {
|
|
92
|
-
const groupUser = [];
|
|
93
|
-
e.value.forEach((idUser) => {
|
|
94
|
-
const groupIndex = (field.data.users || []).findIndex((g) => g.idUser === idUser);
|
|
95
|
-
if (groupIndex === -1) {
|
|
96
|
-
groupUser.push({ idUser, });
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
groupUser.push(field.data.users[groupIndex]);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
field.setValue(JSON.parse(JSON.stringify(groupUser)));
|
|
103
|
-
}
|
|
104
|
-
setGroupPermission(field, e) {
|
|
105
|
-
const groupUser = [];
|
|
106
|
-
e.value.forEach((idUser) => {
|
|
107
|
-
groupUser.push({
|
|
108
|
-
idUser,
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
field.setValue(JSON.parse(JSON.stringify(groupUser)));
|
|
112
|
-
}
|
|
113
|
-
getPermissionStatus(field, permission, e) {
|
|
114
|
-
const groupPermission = (field.value || []).find((p) => p.idModulePermission === permission.id);
|
|
115
|
-
if (groupPermission) {
|
|
116
|
-
e.component.option('value', groupPermission.isAllowed);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
e.component.option('value', undefined);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
checkBoxToggled(field, permission, e) {
|
|
123
|
-
if (e.component.skipOnValueChanged) {
|
|
124
|
-
e.component.skipOnValueChanged = false;
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
if (e.component.setUndefinedNextTime) {
|
|
128
|
-
e.component.setUndefinedNextTime = false;
|
|
129
|
-
e.component.skipOnValueChanged = true;
|
|
130
|
-
e.component.option('value', undefined);
|
|
131
|
-
this.setPermissionStatus(field, permission, undefined);
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
if (e.value === false) {
|
|
135
|
-
e.component.setUndefinedNextTime = true;
|
|
136
|
-
}
|
|
137
|
-
this.setPermissionStatus(field, permission, e.value);
|
|
138
|
-
}
|
|
139
|
-
onRowInserted(e) {
|
|
140
|
-
this.saveGroup(e.data);
|
|
141
|
-
}
|
|
142
|
-
onRowUpdated(e) {
|
|
143
|
-
this.saveGroup(e.data);
|
|
144
|
-
}
|
|
145
|
-
onRowRemoved(e) {
|
|
146
|
-
const group = e.data;
|
|
147
|
-
this.managementGroupService.delete(group.id).subscribe(() => {
|
|
148
|
-
this.getGroups();
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
onEditingStart(e) {
|
|
152
|
-
this.groupUsers = e.data.users;
|
|
153
|
-
}
|
|
154
|
-
onInitNewRow() {
|
|
155
|
-
this.groupUsers = [];
|
|
156
|
-
}
|
|
157
|
-
setPermissionStatus(field, permission, value) {
|
|
158
|
-
const groupPermissions = field.value || [];
|
|
159
|
-
const groupIndex = groupPermissions.findIndex((p) => p.idModulePermission === permission.id);
|
|
160
|
-
if (groupIndex > -1) {
|
|
161
|
-
groupPermissions[groupIndex].isAllowed = value;
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
groupPermissions.push({
|
|
165
|
-
idModulePermission: permission.id,
|
|
166
|
-
isAllowed: value,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
field.setValue(JSON.parse(JSON.stringify(groupPermissions)));
|
|
170
|
-
}
|
|
171
|
-
saveGroup(group) {
|
|
172
|
-
this.removePermissionUndefined(group);
|
|
173
|
-
if (group.users) {
|
|
174
|
-
group.users.forEach((userGroup) => {
|
|
175
|
-
userGroup.idGroup = group.id;
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
if (group.permissions) {
|
|
179
|
-
group.permissions.forEach((groupPermission) => {
|
|
180
|
-
groupPermission.idGroup = group.id;
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
this.managementGroupService.save(group).subscribe(() => {
|
|
184
|
-
this.getGroups();
|
|
185
|
-
});
|
|
186
|
-
this.groupUsers = [];
|
|
187
|
-
}
|
|
188
|
-
removePermissionUndefined(group) {
|
|
189
|
-
group.permissions = group.permissions.filter((permission) => permission.isAllowed !== undefined);
|
|
190
|
-
}
|
|
191
|
-
getGroups() {
|
|
192
|
-
this.managementGroupService.getAll().subscribe((data) => this.groups = data);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
CaucaManagementGroupComponent.decorators = [
|
|
196
|
-
{ type: Component, args: [{
|
|
197
|
-
selector: 'cauca-management-group',
|
|
198
|
-
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>",
|
|
199
|
-
styles: [""]
|
|
200
|
-
},] }
|
|
201
|
-
];
|
|
202
|
-
CaucaManagementGroupComponent.ctorParameters = () => [
|
|
203
|
-
{ type: ManagementGroupService },
|
|
204
|
-
{ type: ManagementUserService },
|
|
205
|
-
{ type: ManagementPermissionService },
|
|
206
|
-
{ type: BreakpointObserver }
|
|
207
|
-
];
|
|
208
|
-
CaucaManagementGroupComponent.propDecorators = {
|
|
209
|
-
showPrintButton: [{ type: Input }],
|
|
210
|
-
hoverStatePermission: [{ type: Input }]
|
|
211
|
-
};
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvY2F1Y2EtbWFuYWdlbWVudC1ncm91cC9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFPL0YsTUFBTSxPQUFPLDZCQUE2QjtJQWV0QyxZQUNZLHNCQUE4QyxFQUM5QyxxQkFBNEMsRUFDNUMsMkJBQXdELEVBQ2hFLGtCQUFzQztRQUg5QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQWQ3RCxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUVoQyx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsV0FBTSxHQUFpQixFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBQ3BDLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsaUJBQVksR0FB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LFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFnQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFTyxTQUFTO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN0RixDQUFDOzs7WUE3TkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLG1rRkFBc0Q7O2FBRXpEOzs7WUFUUSxzQkFBc0I7WUFDdEIscUJBQXFCO1lBRXJCLDJCQUEyQjtZQVQzQixrQkFBa0I7Ozs4QkFtQnRCLEtBQUs7bUNBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3VzZXItbW9kZWwnO1xuaW1wb3J0IHsgVXNlckdyb3VwTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3VzZXItZ3JvdXAtbW9kZWwnO1xuaW1wb3J0IHsgR3JvdXBNb2RlbCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvZ3JvdXAtbW9kZWwnO1xuaW1wb3J0IHsgR3JvdXBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2dyb3VwLXBlcm1pc3Npb24tbW9kZWwnO1xuaW1wb3J0IHsgTWFuYWdlbWVudEdyb3VwU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9tYW5hZ2VtZW50LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFuYWdlbWVudFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL21hbmFnZW1lbnQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25Nb2RlbCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvcGVybWlzc2lvbi1tb2RlbCc7XG5pbXBvcnQgeyBNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhdWNhLW1hbmFnZW1lbnQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FNYW5hZ2VtZW50R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgZ3JvdXBVc2VyczogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1ByaW50QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBob3ZlclN0YXRlUGVybWlzc2lvbiA9IHRydWU7XG4gICAgcHVibGljIGdyb3VwczogR3JvdXBNb2RlbFtdID0gW107XG4gICAgcHVibGljIHVzZXJzOiBVc2VyTW9kZWxbXSA9IFtdO1xuICAgIHB1YmxpYyBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10gPSBbXTtcbiAgICBwdWJsaWMgdXNlckZ1bGxOYW1lOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgc2hvd0NvbHVtbiA9IHRydWU7XG4gICAgcHVibGljIHNob3dDb2x1bW5YUyA9IHRydWU7XG4gICAgcHVibGljIHRyYW5zbGF0aW9uczogYW55ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYW5hZ2VtZW50R3JvdXBTZXJ2aWNlOiBNYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRVc2VyU2VydmljZTogTWFuYWdlbWVudFVzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRQZXJtaXNzaW9uU2VydmljZTogTWFuYWdlbWVudFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoWycobWF4LXdpZHRoOiAxMDAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtbiA9ICFyZXN1bHQubWF0Y2hlcztcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFsnKG1heC13aWR0aDogNjAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtblhTID0gIXJlc3VsdC5tYXRjaGVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudFVzZXJTZXJ2aWNlLmdldEFsbDxVc2VyTW9kZWw+KCkuc3Vic2NyaWJlKChkYXRhOiBVc2VyTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VycyA9IGRhdGE7XG4gICAgICAgICAgICB0aGlzLnVzZXJzLmZvckVhY2goKHVzZXI6IFVzZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh1c2VyLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyLmZpcnN0TmFtZSAhPT0gJycgJiYgdXNlci5sYXN0TmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckZ1bGxOYW1lW3VzZXIuaWRdICA9IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UuZ2V0QWxsKCkuc3Vic2NyaWJlKChwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25JbmRleCA9IHBlcm1pc3Npb25zLmZpbmRJbmRleCgoYzogUGVybWlzc2lvbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMudGFnID09PSAnQ2FuQWNjZXNzUGVybWlzc2lvbnMnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAocGVybWlzc2lvbkluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zLnNwbGljZShwZXJtaXNzaW9uSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGVybWlzc2lvbnMuc29ydCgoYTogUGVybWlzc2lvbk1vZGVsLCBiOiBQZXJtaXNzaW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5uYW1lIDwgYi5uYW1lKSB7IHJldHVybiAtMTsgfVxuICAgICAgICAgICAgICAgIGlmIChhLm5hbWUgPiBiLm5hbWUpIHsgcmV0dXJuIDE7IH1cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRHcm91cHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZnVsbE5hbWUoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7ZGF0YS5maXJzdE5hbWV9ICR7ZGF0YS5sYXN0TmFtZX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcm91cFVzZXIoZmllbGQ6IGFueSwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVzZXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5ncm91cFVzZXJzKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwVXNlcnMuZm9yRWFjaCgodXNlcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdXNlcnMucHVzaCh1c2VyLmlkVXNlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlLmNvbXBvbmVudC5vcHRpb24oJ3ZhbHVlJywgdXNlcnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRHcm91cFVzZXIoZmllbGQ6IGFueSwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwVXNlcjogVXNlckdyb3VwTW9kZWxbXSA9IFtdO1xuXG4gICAgICAgIGUudmFsdWUuZm9yRWFjaCgoaWRVc2VyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwSW5kZXggPSAoZmllbGQuZGF0YS51c2VycyB8fCBbXSkuZmluZEluZGV4KChnOiBhbnkpID0+IGcuaWRVc2VyID09PSBpZFVzZXIpO1xuXG4gICAgICAgICAgICBpZiAoZ3JvdXBJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBncm91cFVzZXIucHVzaCh7IGlkVXNlciwgfSBhcyBVc2VyR3JvdXBNb2RlbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGdyb3VwVXNlci5wdXNoKGZpZWxkLmRhdGEudXNlcnNbZ3JvdXBJbmRleF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZC5zZXRWYWx1ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGdyb3VwVXNlcikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0R3JvdXBQZXJtaXNzaW9uKGZpZWxkOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFVzZXI6IFVzZXJHcm91cE1vZGVsW10gPSBbXTtcblxuICAgICAgICBlLnZhbHVlLmZvckVhY2goKGlkVXNlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBncm91cFVzZXIucHVzaCh7XG4gICAgICAgICAgICAgICAgaWRVc2VyLFxuICAgICAgICAgICAgfSBhcyBVc2VyR3JvdXBNb2RlbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZpZWxkLnNldFZhbHVlKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZ3JvdXBVc2VyKSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQZXJtaXNzaW9uU3RhdHVzKGZpZWxkOiBhbnksIHBlcm1pc3Npb246IGFueSwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwUGVybWlzc2lvbiA9IChmaWVsZC52YWx1ZSB8fCBbXSkuZmluZCgocDogYW55KSA9PiBwLmlkTW9kdWxlUGVybWlzc2lvbiA9PT0gcGVybWlzc2lvbi5pZCk7XG5cbiAgICAgICAgaWYgKGdyb3VwUGVybWlzc2lvbikge1xuICAgICAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIGdyb3VwUGVybWlzc2lvbi5pc0FsbG93ZWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tCb3hUb2dnbGVkKGZpZWxkOiBhbnksIHBlcm1pc3Npb246IGFueSwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChlLmNvbXBvbmVudC5za2lwT25WYWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50LnNraXBPblZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLmNvbXBvbmVudC5zZXRVbmRlZmluZWROZXh0VGltZSkge1xuICAgICAgICAgICAgZS5jb21wb25lbnQuc2V0VW5kZWZpbmVkTmV4dFRpbWUgPSBmYWxzZTtcbiAgICAgICAgICAgIGUuY29tcG9uZW50LnNraXBPblZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5vcHRpb24oJ3ZhbHVlJywgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIHRoaXMuc2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZCwgcGVybWlzc2lvbiwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS52YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50LnNldFVuZGVmaW5lZE5leHRUaW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZCwgcGVybWlzc2lvbiwgZS52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm93SW5zZXJ0ZWQoZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZUdyb3VwKGUuZGF0YSBhcyBHcm91cE1vZGVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3dVcGRhdGVkKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVHcm91cChlLmRhdGEgYXMgR3JvdXBNb2RlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm93UmVtb3ZlZChlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSAoZS5kYXRhIGFzIEdyb3VwTW9kZWwpO1xuICAgICAgICB0aGlzLm1hbmFnZW1lbnRHcm91cFNlcnZpY2UuZGVsZXRlKGdyb3VwLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRHcm91cHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbGN1bGF0ZVVzZXJzQ2VsbFZhbHVlID0gKGU6IGFueSk6IHN0cmluZyA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gKGUudXNlcnMgPyBlLnVzZXJzIGFzIFVzZXJHcm91cE1vZGVsW10gOiBbXSk7XG4gICAgICAgIGxldCB1c2Vyc05hbWVzOiBhbnlbXSA9IFtdO1xuICAgICAgICB1c2Vycy5mb3JFYWNoKCh1c2VyOiBVc2VyR3JvdXBNb2RlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXNlckdyb3VwID0gdGhpcy51c2Vycy5maWx0ZXIoKHU6IFVzZXJNb2RlbCkgPT4gdS5pZCA9PT0gdXNlci5pZFVzZXIpO1xuICAgICAgICAgICAgaWYgKHVzZXJHcm91cCAmJiB1c2VyR3JvdXBbMF0pIHtcbiAgICAgICAgICAgICAgICB1c2Vyc05hbWVzLnB1c2godXNlckdyb3VwWzBdLmZpcnN0TmFtZSArICcgJyArIHVzZXJHcm91cFswXS5sYXN0TmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB1c2Vyc05hbWVzID0gdXNlcnNOYW1lcy5zb3J0KChvbmU6IHN0cmluZywgdHdvOiBzdHJpbmcpID0+IChvbmUgPCB0d28gPyAtMSA6IDEpKTtcbiAgICAgICAgcmV0dXJuIHVzZXJzTmFtZXMuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FZGl0aW5nU3RhcnQoZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBVc2VycyA9IGUuZGF0YS51c2VycztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Jbml0TmV3Um93KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyb3VwVXNlcnMgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ3JvdXBOYW1lQWxyZWFkeVVzZWRWYWxpZGF0aW9uID0gKGU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLmhhc0V4aXN0aW5nR3JvdXBOYW1lKGUuZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXhpc3Q6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWV4aXN0O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBlcm1pc3Npb25TdGF0dXMoZmllbGQ6IGFueSwgcGVybWlzc2lvbjogYW55LCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwUGVybWlzc2lvbnMgPSBmaWVsZC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwUGVybWlzc2lvbnMuZmluZEluZGV4KChwOiBHcm91cFBlcm1pc3Npb25Nb2RlbCkgPT4gcC5pZE1vZHVsZVBlcm1pc3Npb24gPT09IHBlcm1pc3Npb24uaWQpO1xuXG4gICAgICAgIGlmIChncm91cEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGdyb3VwUGVybWlzc2lvbnNbZ3JvdXBJbmRleF0uaXNBbGxvd2VkID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBncm91cFBlcm1pc3Npb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkTW9kdWxlUGVybWlzc2lvbjogcGVybWlzc2lvbi5pZCxcbiAgICAgICAgICAgICAgICBpc0FsbG93ZWQ6IHZhbHVlLFxuICAgICAgICAgICAgfSBhcyBHcm91cFBlcm1pc3Npb25Nb2RlbCk7XG4gICAgICAgIH1cblxuICAgICAgICBmaWVsZC5zZXRWYWx1ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGdyb3VwUGVybWlzc2lvbnMpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlR3JvdXAoZ3JvdXA6IEdyb3VwTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVQZXJtaXNzaW9uVW5kZWZpbmVkKGdyb3VwKTtcbiAgICAgICAgaWYgKGdyb3VwLnVzZXJzKSB7XG4gICAgICAgICAgICBncm91cC51c2Vycy5mb3JFYWNoKCh1c2VyR3JvdXA6IFVzZXJHcm91cE1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdXNlckdyb3VwLmlkR3JvdXAgPSBncm91cC5pZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChncm91cC5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgZ3JvdXAucGVybWlzc2lvbnMuZm9yRWFjaCgoZ3JvdXBQZXJtaXNzaW9uOiBHcm91cFBlcm1pc3Npb25Nb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGdyb3VwUGVybWlzc2lvbi5pZEdyb3VwID0gZ3JvdXAuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hbmFnZW1lbnRHcm91cFNlcnZpY2Uuc2F2ZShncm91cCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0R3JvdXBzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdyb3VwVXNlcnMgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVBlcm1pc3Npb25VbmRlZmluZWQoZ3JvdXA6IEdyb3VwTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgZ3JvdXAucGVybWlzc2lvbnMgPSBncm91cC5wZXJtaXNzaW9ucy5maWx0ZXIoKHBlcm1pc3Npb246IEdyb3VwUGVybWlzc2lvbk1vZGVsKSA9PiBwZXJtaXNzaW9uLmlzQWxsb3dlZCAhPT0gdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyb3VwcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLmdldEFsbCgpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB0aGlzLmdyb3VwcyA9IGRhdGEpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { UserModel } from '../shared/models/user-model';
|
|
3
|
-
import { ManagementUserService } from '../shared/services/management-user.service';
|
|
4
|
-
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
export class CaucaManagementUserComponent {
|
|
7
|
-
constructor(managementUserService, breakpointObserver) {
|
|
8
|
-
this.managementUserService = managementUserService;
|
|
9
|
-
this.users = [
|
|
10
|
-
new UserModel()
|
|
11
|
-
];
|
|
12
|
-
this.showColumnXS = true;
|
|
13
|
-
this.userNameAlreadyUsedValidation = (e) => {
|
|
14
|
-
return this.managementUserService.hasExistingUserName(e.data).pipe(map((exist) => {
|
|
15
|
-
return !exist;
|
|
16
|
-
})).toPromise();
|
|
17
|
-
};
|
|
18
|
-
breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
|
|
19
|
-
this.showColumnXS = !result.matches;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
this.getUsers();
|
|
24
|
-
}
|
|
25
|
-
onRowInserted(e) {
|
|
26
|
-
this.saveGroup(e.data);
|
|
27
|
-
}
|
|
28
|
-
onRowUpdated(e) {
|
|
29
|
-
this.saveGroup(e.key);
|
|
30
|
-
}
|
|
31
|
-
onRowRemoved(e) {
|
|
32
|
-
const user = e.data;
|
|
33
|
-
this.managementUserService.delete(user.id).subscribe((data) => {
|
|
34
|
-
this.getUsers();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
saveGroup(user) {
|
|
38
|
-
this.managementUserService.save(user).subscribe(() => {
|
|
39
|
-
this.getUsers();
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getUsers() {
|
|
43
|
-
this.managementUserService.getAll().subscribe((data) => this.users = data);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
CaucaManagementUserComponent.decorators = [
|
|
47
|
-
{ type: Component, args: [{
|
|
48
|
-
selector: 'cauca-management-user',
|
|
49
|
-
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",
|
|
50
|
-
styles: [""]
|
|
51
|
-
},] }
|
|
52
|
-
];
|
|
53
|
-
CaucaManagementUserComponent.ctorParameters = () => [
|
|
54
|
-
{ type: ManagementUserService },
|
|
55
|
-
{ type: BreakpointObserver }
|
|
56
|
-
];
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hbmFnZW1lbnQvc3JjL2xpYi9jYXVjYS1tYW5hZ2VtZW50LXVzZXIvY2F1Y2EtbWFuYWdlbWVudC11c2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3JDLE1BQU0sT0FBTyw0QkFBNEI7SUFNckMsWUFDWSxxQkFBNEMsRUFDcEQsa0JBQXNDO1FBRDlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFOakQsVUFBSyxHQUFnQjtZQUN4QixJQUFJLFNBQVMsRUFBRTtTQUNsQixDQUFDO1FBQ0ssaUJBQVksR0FBRyxJQUFJLENBQUM7UUE4QnBCLGtDQUE2QixHQUFHLENBQUMsQ0FBQyxFQUFvQixFQUFFO1lBQzNELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzlELEdBQUcsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO2dCQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFBO1FBOUJHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUF1QixFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sYUFBYSxDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBaUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxZQUFZLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFnQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxDQUFNO1FBQ3RCLE1BQU0sSUFBSSxHQUFJLENBQUMsQ0FBQyxJQUFrQixDQUFDO1FBQ25DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFVTyxTQUFTLENBQUMsSUFBZTtRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFZLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFFBQVE7UUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQy9GLENBQUM7OztZQXZESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMseW1EQUFxRDs7YUFFeEQ7OztZQVJRLHFCQUFxQjtZQUNyQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy91c2VyLW1vZGVsJztcbmltcG9ydCB7IE1hbmFnZW1lbnRVc2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9tYW5hZ2VtZW50LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhdWNhLW1hbmFnZW1lbnQtdXNlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhdWNhLW1hbmFnZW1lbnQtdXNlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2F1Y2EtbWFuYWdlbWVudC11c2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FNYW5hZ2VtZW50VXNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIHVzZXJzOiBVc2VyTW9kZWxbXSA9IFtcbiAgICAgICAgbmV3IFVzZXJNb2RlbCgpXG4gICAgXTtcbiAgICBwdWJsaWMgc2hvd0NvbHVtblhTID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRVc2VyU2VydmljZTogTWFuYWdlbWVudFVzZXJTZXJ2aWNlLFxuICAgICAgICBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoWycobWF4LXdpZHRoOiA2MDBweCknXSkuc3Vic2NyaWJlKChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93Q29sdW1uWFMgPSAhcmVzdWx0Lm1hdGNoZXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRVc2VycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd0luc2VydGVkKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVHcm91cChlLmRhdGEgYXMgVXNlck1vZGVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3dVcGRhdGVkKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVHcm91cChlLmtleSBhcyBVc2VyTW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd1JlbW92ZWQoZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSAoZS5kYXRhIGFzIFVzZXJNb2RlbCk7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudFVzZXJTZXJ2aWNlLmRlbGV0ZSh1c2VyLmlkKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRVc2VycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXNlck5hbWVBbHJlYWR5VXNlZFZhbGlkYXRpb24gPSAoZSk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VtZW50VXNlclNlcnZpY2UuaGFzRXhpc3RpbmdVc2VyTmFtZShlLmRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV4aXN0OiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFleGlzdDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlR3JvdXAodXNlcjogVXNlck1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudFVzZXJTZXJ2aWNlLnNhdmU8VXNlck1vZGVsPih1c2VyKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRVc2VycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVzZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hbmFnZW1lbnRVc2VyU2VydmljZS5nZXRBbGw8VXNlck1vZGVsPigpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB0aGlzLnVzZXJzID0gZGF0YSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
export class CaucaManagementComponent {
|
|
3
|
-
constructor() { }
|
|
4
|
-
ngOnInit() {
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
CaucaManagementComponent.decorators = [
|
|
8
|
-
{ type: Component, args: [{
|
|
9
|
-
selector: 'cauca-management',
|
|
10
|
-
template: "<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
CaucaManagementComponent.ctorParameters = () => [];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvY2F1Y2EtbWFuYWdlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU9sRCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRVYsUUFBUTtJQUNmLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qiw2RUFBZ0Q7YUFFakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXVjYS1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdWNhLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhTWFuYWdlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';
|
|
3
|
-
import { DxListModule } from 'devextreme-angular/ui/list';
|
|
4
|
-
import { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';
|
|
5
|
-
import { CaucaCoreForChildModule } from '@cauca-911/core';
|
|
6
|
-
import { CaucaDevextremeModule } from '@cauca-911/devextreme';
|
|
7
|
-
import { CaucaManagementComponent } from './cauca-management.component';
|
|
8
|
-
import { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';
|
|
9
|
-
import { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';
|
|
10
|
-
import { CommonModule } from '@angular/common';
|
|
11
|
-
export class CaucaManagementModule {
|
|
12
|
-
}
|
|
13
|
-
CaucaManagementModule.decorators = [
|
|
14
|
-
{ type: NgModule, args: [{
|
|
15
|
-
declarations: [
|
|
16
|
-
CaucaManagementComponent,
|
|
17
|
-
CaucaManagementGroupComponent,
|
|
18
|
-
CaucaManagementUserComponent
|
|
19
|
-
],
|
|
20
|
-
imports: [
|
|
21
|
-
CommonModule,
|
|
22
|
-
DxCheckBoxModule,
|
|
23
|
-
DxListModule,
|
|
24
|
-
DxTagBoxModule,
|
|
25
|
-
CaucaCoreForChildModule,
|
|
26
|
-
CaucaDevextremeModule,
|
|
27
|
-
],
|
|
28
|
-
exports: [
|
|
29
|
-
CaucaManagementComponent,
|
|
30
|
-
CaucaManagementUserComponent,
|
|
31
|
-
CaucaManagementGroupComponent,
|
|
32
|
-
]
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvY2F1Y2EtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXNCL0MsTUFBTSxPQUFPLHFCQUFxQjs7O1lBcEJqQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtvQkFDeEIsNkJBQTZCO29CQUM3Qiw0QkFBNEI7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixjQUFjO29CQUNkLHVCQUF1QjtvQkFDdkIscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asd0JBQXdCO29CQUN4Qiw0QkFBNEI7b0JBQzVCLDZCQUE2QjtpQkFDOUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeENoZWNrQm94TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBEeExpc3RNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbGlzdCc7XG5pbXBvcnQgeyBEeFRhZ0JveE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS90YWctYm94JztcbmltcG9ydCB7IENhdWNhQ29yZUZvckNoaWxkTW9kdWxlIH0gZnJvbSAnQGNhdWNhLTkxMS9jb3JlJztcbmltcG9ydCB7IENhdWNhRGV2ZXh0cmVtZU1vZHVsZSB9IGZyb20gJ0BjYXVjYS05MTEvZGV2ZXh0cmVtZSc7XG5pbXBvcnQgeyBDYXVjYU1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NhdWNhLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhdWNhTWFuYWdlbWVudEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwL2NhdWNhLW1hbmFnZW1lbnQtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IENhdWNhTWFuYWdlbWVudFVzZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdWNhLW1hbmFnZW1lbnQtdXNlci9jYXVjYS1tYW5hZ2VtZW50LXVzZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENhdWNhTWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBDYXVjYU1hbmFnZW1lbnRHcm91cENvbXBvbmVudCxcbiAgICBDYXVjYU1hbmFnZW1lbnRVc2VyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHhDaGVja0JveE1vZHVsZSxcbiAgICBEeExpc3RNb2R1bGUsXG4gICAgRHhUYWdCb3hNb2R1bGUsXG4gICAgQ2F1Y2FDb3JlRm9yQ2hpbGRNb2R1bGUsXG4gICAgQ2F1Y2FEZXZleHRyZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ2F1Y2FNYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIENhdWNhTWFuYWdlbWVudFVzZXJDb21wb25lbnQsXG4gICAgQ2F1Y2FNYW5hZ2VtZW50R3JvdXBDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FNYW5hZ2VtZW50TW9kdWxlIHsgfVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CaucaManagementService {
|
|
4
|
-
constructor() { }
|
|
5
|
-
}
|
|
6
|
-
CaucaManagementService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaucaManagementService_Factory() { return new CaucaManagementService(); }, token: CaucaManagementService, providedIn: "root" });
|
|
7
|
-
CaucaManagementService.decorators = [
|
|
8
|
-
{ type: Injectable, args: [{
|
|
9
|
-
providedIn: 'root'
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
CaucaManagementService.ctorParameters = () => [];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWFuYWdlbWVudC9zcmMvbGliL2NhdWNhLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLGdCQUFnQixDQUFDOzs7O1lBTGxCLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FNYW5hZ2VtZW50U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { CaucaCoreService } from '@cauca-911/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@cauca-911/core";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class ManagementGroupService {
|
|
8
|
-
constructor(coreService, http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.config = coreService.getConfig();
|
|
11
|
-
}
|
|
12
|
-
getAll() {
|
|
13
|
-
return this.http.get(`${this.config.apiUrl}GroupManagement`);
|
|
14
|
-
}
|
|
15
|
-
get(idGroup) {
|
|
16
|
-
return this.http.get(`${this.config.apiUrl}GroupManagement/${idGroup}`);
|
|
17
|
-
}
|
|
18
|
-
save(group) {
|
|
19
|
-
return this.http.post(`${this.config.apiUrl}GroupManagement`, group);
|
|
20
|
-
}
|
|
21
|
-
delete(idGroup) {
|
|
22
|
-
return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);
|
|
23
|
-
}
|
|
24
|
-
hasExistingGroupName(group) {
|
|
25
|
-
return this.http.post(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
ManagementGroupService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementGroupService_Factory() { return new ManagementGroupService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementGroupService, providedIn: "root" });
|
|
29
|
-
ManagementGroupService.decorators = [
|
|
30
|
-
{ type: Injectable, args: [{
|
|
31
|
-
providedIn: 'root'
|
|
32
|
-
},] }
|
|
33
|
-
];
|
|
34
|
-
ManagementGroupService.ctorParameters = () => [
|
|
35
|
-
{ type: CaucaCoreService },
|
|
36
|
-
{ type: HttpClient }
|
|
37
|
-
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWFuYWdlbWVudC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9tYW5hZ2VtZW50LWdyb3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFDSSxXQUE2QixFQUNyQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxHQUFHLENBQUMsT0FBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBaUI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBaUI7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RyxDQUFDOzs7O1lBL0JKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTHVCLGdCQUFnQjtZQUYvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIENhdWNhQ29yZVNlcnZpY2UgfSBmcm9tICdAY2F1Y2EtOTExL2NvcmUnO1xuaW1wb3J0IHsgR3JvdXBNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ncm91cC1tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlbWVudEdyb3VwU2VydmljZSB7XG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ3VyYXRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY29yZVNlcnZpY2U6IENhdWNhQ29yZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb3JlU2VydmljZS5nZXRDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsKCk6IE9ic2VydmFibGU8R3JvdXBNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdyb3VwTW9kZWxbXT4oYCR7dGhpcy5jb25maWcuYXBpVXJsfUdyb3VwTWFuYWdlbWVudGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQoaWRHcm91cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHcm91cE1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdyb3VwTW9kZWw+KGAke3RoaXMuY29uZmlnLmFwaVVybH1Hcm91cE1hbmFnZW1lbnQvJHtpZEdyb3VwfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKGdyb3VwOiBHcm91cE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuY29uZmlnLmFwaVVybH1Hcm91cE1hbmFnZW1lbnRgLCBncm91cCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShpZEdyb3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmNvbmZpZy5hcGlVcmx9R3JvdXBNYW5hZ2VtZW50LyR7aWRHcm91cH1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzRXhpc3RpbmdHcm91cE5hbWUoZ3JvdXA6IEdyb3VwTW9kZWwpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGJvb2xlYW4+KGAke3RoaXMuY29uZmlnLmFwaVVybH1Hcm91cE1hbmFnZW1lbnQvR3JvdXBOYW1lQWxyZWFkeUV4aXN0YCwgZ3JvdXApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { CaucaCoreService } from '@cauca-911/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@cauca-911/core";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class ManagementPermissionService {
|
|
8
|
-
constructor(coreService, http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.config = coreService.getConfig();
|
|
11
|
-
}
|
|
12
|
-
getAll() {
|
|
13
|
-
return this.http.get(`${this.config.apiUrl}PermissionManagement`);
|
|
14
|
-
}
|
|
15
|
-
get(idPermission) {
|
|
16
|
-
return this.http.get(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
|
|
17
|
-
}
|
|
18
|
-
save(permission) {
|
|
19
|
-
return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);
|
|
20
|
-
}
|
|
21
|
-
delete(idPermission) {
|
|
22
|
-
return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
ManagementPermissionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementPermissionService_Factory() { return new ManagementPermissionService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementPermissionService, providedIn: "root" });
|
|
26
|
-
ManagementPermissionService.decorators = [
|
|
27
|
-
{ type: Injectable, args: [{
|
|
28
|
-
providedIn: 'root'
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
ManagementPermissionService.ctorParameters = () => [
|
|
32
|
-
{ type: CaucaCoreService },
|
|
33
|
-
{ type: HttpClient }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL21hbmFnZW1lbnQtcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU9sRSxNQUFNLE9BQU8sMkJBQTJCO0lBR3BDLFlBQ0ksV0FBNkIsRUFDckIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUV4QixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLEdBQUcsQ0FBQyxZQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQTJCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Ozs7WUEzQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOdUIsZ0JBQWdCO1lBRi9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgQ2F1Y2FDb3JlU2VydmljZSB9IGZyb20gJ0BjYXVjYS05MTEvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvcGVybWlzc2lvbi1tb2RlbCc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGNvcmVTZXJ2aWNlOiBDYXVjYUNvcmVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gY29yZVNlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFsbCgpOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25Nb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBlcm1pc3Npb25Nb2RlbFtdPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9UGVybWlzc2lvbk1hbmFnZW1lbnRgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGlkUGVybWlzc2lvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9uTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGVybWlzc2lvbk1vZGVsPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9UGVybWlzc2lvbk1hbmFnZW1lbnQvJHtpZFBlcm1pc3Npb259YCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUocGVybWlzc2lvbjogUGVybWlzc2lvbk1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuY29uZmlnLmFwaVVybH1QZXJtaXNzaW9uTWFuYWdlbWVudGAsIHBlcm1pc3Npb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGUoaWRQZXJtaXNzaW9uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmNvbmZpZy5hcGlVcmx9UGVybWlzc2lvbk1hbmFnZW1lbnQvJHtpZFBlcm1pc3Npb259YCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { CaucaCoreService } from '@cauca-911/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@cauca-911/core";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class ManagementUserService {
|
|
8
|
-
constructor(coreService, http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.config = coreService.getConfig();
|
|
11
|
-
}
|
|
12
|
-
getAll() {
|
|
13
|
-
return this.http.get(`${this.config.apiUrl}UserManagement`);
|
|
14
|
-
}
|
|
15
|
-
get(idUser) {
|
|
16
|
-
return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}`);
|
|
17
|
-
}
|
|
18
|
-
getGroup(idUser) {
|
|
19
|
-
return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);
|
|
20
|
-
}
|
|
21
|
-
addGroup(userGroup) {
|
|
22
|
-
return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);
|
|
23
|
-
}
|
|
24
|
-
deleteGroup(idUserGroup) {
|
|
25
|
-
return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);
|
|
26
|
-
}
|
|
27
|
-
addPermission(userPermission) {
|
|
28
|
-
return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);
|
|
29
|
-
}
|
|
30
|
-
deletePermission(idUserPermission) {
|
|
31
|
-
return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);
|
|
32
|
-
}
|
|
33
|
-
save(user) {
|
|
34
|
-
return this.http.post(`${this.config.apiUrl}UserManagement`, user);
|
|
35
|
-
}
|
|
36
|
-
delete(idUser) {
|
|
37
|
-
return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);
|
|
38
|
-
}
|
|
39
|
-
hasExistingUserName(user) {
|
|
40
|
-
return this.http.post(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
ManagementUserService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementUserService_Factory() { return new ManagementUserService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementUserService, providedIn: "root" });
|
|
44
|
-
ManagementUserService.decorators = [
|
|
45
|
-
{ type: Injectable, args: [{
|
|
46
|
-
providedIn: 'root'
|
|
47
|
-
},] }
|
|
48
|
-
];
|
|
49
|
-
ManagementUserService.ctorParameters = () => [
|
|
50
|
-
{ type: CaucaCoreService },
|
|
51
|
-
{ type: HttpClient }
|
|
52
|
-
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC11c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL21hbmFnZW1lbnQtdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU9sRSxNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQ0ksV0FBNkIsRUFDbkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUUxQixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sR0FBRyxDQUFRLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxTQUFTLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQXlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLFdBQVcsQ0FBQyxXQUFtQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSxhQUFhLENBQUMsY0FBbUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQXdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sSUFBSSxDQUFRLElBQVc7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU0sbUJBQW1CLENBQVEsSUFBVztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Ozs7WUFuREosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOdUIsZ0JBQWdCO1lBRi9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgQ2F1Y2FDb3JlU2VydmljZSB9IGZyb20gJ0BjYXVjYS05MTEvY29yZSc7XG5pbXBvcnQgeyBVc2VyR3JvdXBNb2RlbCB9IGZyb20gJy4uL21vZGVscy91c2VyLWdyb3VwLW1vZGVsJztcbmltcG9ydCB7IFVzZXJQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvdXNlci1wZXJtaXNzaW9uLW1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VtZW50VXNlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGNvcmVTZXJ2aWNlOiBDYXVjYUNvcmVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb3JlU2VydmljZS5nZXRDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsPFRVc2VyPigpOiBPYnNlcnZhYmxlPFRVc2VyW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VFVzZXJbXT4oYCR7dGhpcy5jb25maWcuYXBpVXJsfVVzZXJNYW5hZ2VtZW50YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldDxUVXNlcj4oaWRVc2VyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRVc2VyPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9VXNlck1hbmFnZW1lbnQvJHtpZFVzZXJ9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyb3VwKGlkVXNlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jb25maWcuYXBpVXJsfVVzZXJNYW5hZ2VtZW50LyR7aWRVc2VyfS9ncm91cHNgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkR3JvdXAodXNlckdyb3VwOiBVc2VyR3JvdXBNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmNvbmZpZy5hcGlVcmx9VXNlck1hbmFnZW1lbnQvZ3JvdXBgLCB1c2VyR3JvdXApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVHcm91cChpZFVzZXJHcm91cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5jb25maWcuYXBpVXJsfVVzZXJNYW5hZ2VtZW50L2dyb3Vwcy8ke2lkVXNlckdyb3VwfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQZXJtaXNzaW9uKHVzZXJQZXJtaXNzaW9uOiBVc2VyUGVybWlzc2lvbk1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuY29uZmlnLmFwaVVybH1Vc2VyTWFuYWdlbWVudC9wZXJtaXNzaW9uYCwgdXNlclBlcm1pc3Npb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVQZXJtaXNzaW9uKGlkVXNlclBlcm1pc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuY29uZmlnLmFwaVVybH1Vc2VyTWFuYWdlbWVudC9ncm91cHMvJHtpZFVzZXJQZXJtaXNzaW9ufWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlPFRVc2VyPih1c2VyOiBUVXNlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmNvbmZpZy5hcGlVcmx9VXNlck1hbmFnZW1lbnRgLCB1c2VyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlKGlkVXNlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5jb25maWcuYXBpVXJsfVVzZXJNYW5hZ2VtZW50LyR7aWRVc2VyfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNFeGlzdGluZ1VzZXJOYW1lPFRVc2VyPih1c2VyOiBUVXNlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4oYCR7dGhpcy5jb25maWcuYXBpVXJsfVVzZXJNYW5hZ2VtZW50L1VzZXJOYW1lQWxyZWFkeUV4aXN0YCwgdXNlcik7XG4gICAgfVxufVxuIl19
|