@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.
Files changed (51) hide show
  1. package/cauca-911-management.d.ts +5 -5
  2. package/esm2020/cauca-911-management.mjs +5 -0
  3. package/esm2020/lib/cauca-management-group/cauca-management-group.component.mjs +285 -0
  4. package/esm2020/lib/cauca-management-user/cauca-management-user.component.mjs +96 -0
  5. package/esm2020/lib/cauca-management.component.mjs +23 -0
  6. package/esm2020/lib/cauca-management.module.mjs +57 -0
  7. package/esm2020/lib/cauca-management.service.mjs +14 -0
  8. package/{esm2015/lib/shared/models/group-model.js → esm2020/lib/shared/models/group-model.mjs} +8 -8
  9. package/{esm2015/lib/shared/models/group-permission-model.js → esm2020/lib/shared/models/group-permission-model.mjs} +9 -9
  10. package/{esm2015/lib/shared/models/permission-model.js → esm2020/lib/shared/models/permission-model.mjs} +8 -8
  11. package/{esm2015/lib/shared/models/user-group-model.js → esm2020/lib/shared/models/user-group-model.mjs} +8 -8
  12. package/{esm2015/lib/shared/models/user-model.js → esm2020/lib/shared/models/user-model.mjs} +11 -11
  13. package/{esm2015/lib/shared/models/user-permission-model.js → esm2020/lib/shared/models/user-permission-model.mjs} +9 -9
  14. package/esm2020/lib/shared/services/management-group.service.mjs +34 -0
  15. package/esm2020/lib/shared/services/management-permission.service.mjs +31 -0
  16. package/esm2020/lib/shared/services/management-user.service.mjs +49 -0
  17. package/{esm2015/public-api.js → esm2020/public-api.mjs} +15 -15
  18. package/fesm2015/cauca-911-management.mjs +649 -0
  19. package/fesm2015/cauca-911-management.mjs.map +1 -0
  20. package/fesm2020/cauca-911-management.mjs +613 -0
  21. package/fesm2020/cauca-911-management.mjs.map +1 -0
  22. package/lib/cauca-management-group/cauca-management-group.component.d.ts +45 -42
  23. package/lib/cauca-management-user/cauca-management-user.component.d.ts +20 -17
  24. package/lib/cauca-management.component.d.ts +8 -5
  25. package/lib/cauca-management.module.d.ts +15 -2
  26. package/lib/cauca-management.service.d.ts +6 -3
  27. package/lib/shared/models/group-model.d.ts +9 -9
  28. package/lib/shared/models/group-permission-model.d.ts +7 -7
  29. package/lib/shared/models/permission-model.d.ts +7 -7
  30. package/lib/shared/models/user-group-model.d.ts +6 -6
  31. package/lib/shared/models/user-model.d.ts +14 -14
  32. package/lib/shared/models/user-permission-model.d.ts +7 -7
  33. package/lib/shared/services/management-group.service.d.ts +17 -14
  34. package/lib/shared/services/management-permission.service.d.ts +16 -13
  35. package/lib/shared/services/management-user.service.d.ts +23 -20
  36. package/package.json +26 -11
  37. package/public-api.d.ts +12 -12
  38. package/bundles/cauca-911-management.umd.js +0 -540
  39. package/bundles/cauca-911-management.umd.js.map +0 -1
  40. package/cauca-911-management.metadata.json +0 -1
  41. package/esm2015/cauca-911-management.js +0 -6
  42. package/esm2015/lib/cauca-management-group/cauca-management-group.component.js +0 -212
  43. package/esm2015/lib/cauca-management-user/cauca-management-user.component.js +0 -57
  44. package/esm2015/lib/cauca-management.component.js +0 -14
  45. package/esm2015/lib/cauca-management.module.js +0 -35
  46. package/esm2015/lib/cauca-management.service.js +0 -13
  47. package/esm2015/lib/shared/services/management-group.service.js +0 -38
  48. package/esm2015/lib/shared/services/management-permission.service.js +0 -35
  49. package/esm2015/lib/shared/services/management-user.service.js +0 -53
  50. package/fesm2015/cauca-911-management.js +0 -484
  51. package/fesm2015/cauca-911-management.js.map +0 -1
@@ -1,484 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, Component, Input, NgModule } from '@angular/core';
3
- import { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';
4
- import { DxListModule } from 'devextreme-angular/ui/list';
5
- import { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';
6
- import * as i1 from '@cauca-911/core';
7
- import { CaucaCoreService, CaucaCoreForChildModule } from '@cauca-911/core';
8
- import { CaucaDevextremeModule } from '@cauca-911/devextreme';
9
- import { BreakpointObserver } from '@angular/cdk/layout';
10
- import { map } from 'rxjs/operators';
11
- import * as i2 from '@angular/common/http';
12
- import { HttpClient } from '@angular/common/http';
13
- import { CommonModule } from '@angular/common';
14
-
15
- class CaucaManagementService {
16
- constructor() { }
17
- }
18
- CaucaManagementService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaucaManagementService_Factory() { return new CaucaManagementService(); }, token: CaucaManagementService, providedIn: "root" });
19
- CaucaManagementService.decorators = [
20
- { type: Injectable, args: [{
21
- providedIn: 'root'
22
- },] }
23
- ];
24
- CaucaManagementService.ctorParameters = () => [];
25
-
26
- class CaucaManagementComponent {
27
- constructor() { }
28
- ngOnInit() {
29
- }
30
- }
31
- CaucaManagementComponent.decorators = [
32
- { type: Component, args: [{
33
- selector: 'cauca-management',
34
- template: "<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>"
35
- },] }
36
- ];
37
- CaucaManagementComponent.ctorParameters = () => [];
38
-
39
- class ManagementGroupService {
40
- constructor(coreService, http) {
41
- this.http = http;
42
- this.config = coreService.getConfig();
43
- }
44
- getAll() {
45
- return this.http.get(`${this.config.apiUrl}GroupManagement`);
46
- }
47
- get(idGroup) {
48
- return this.http.get(`${this.config.apiUrl}GroupManagement/${idGroup}`);
49
- }
50
- save(group) {
51
- return this.http.post(`${this.config.apiUrl}GroupManagement`, group);
52
- }
53
- delete(idGroup) {
54
- return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);
55
- }
56
- hasExistingGroupName(group) {
57
- return this.http.post(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);
58
- }
59
- }
60
- ManagementGroupService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementGroupService_Factory() { return new ManagementGroupService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementGroupService, providedIn: "root" });
61
- ManagementGroupService.decorators = [
62
- { type: Injectable, args: [{
63
- providedIn: 'root'
64
- },] }
65
- ];
66
- ManagementGroupService.ctorParameters = () => [
67
- { type: CaucaCoreService },
68
- { type: HttpClient }
69
- ];
70
-
71
- class ManagementUserService {
72
- constructor(coreService, http) {
73
- this.http = http;
74
- this.config = coreService.getConfig();
75
- }
76
- getAll() {
77
- return this.http.get(`${this.config.apiUrl}UserManagement`);
78
- }
79
- get(idUser) {
80
- return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}`);
81
- }
82
- getGroup(idUser) {
83
- return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);
84
- }
85
- addGroup(userGroup) {
86
- return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);
87
- }
88
- deleteGroup(idUserGroup) {
89
- return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);
90
- }
91
- addPermission(userPermission) {
92
- return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);
93
- }
94
- deletePermission(idUserPermission) {
95
- return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);
96
- }
97
- save(user) {
98
- return this.http.post(`${this.config.apiUrl}UserManagement`, user);
99
- }
100
- delete(idUser) {
101
- return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);
102
- }
103
- hasExistingUserName(user) {
104
- return this.http.post(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);
105
- }
106
- }
107
- ManagementUserService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementUserService_Factory() { return new ManagementUserService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementUserService, providedIn: "root" });
108
- ManagementUserService.decorators = [
109
- { type: Injectable, args: [{
110
- providedIn: 'root'
111
- },] }
112
- ];
113
- ManagementUserService.ctorParameters = () => [
114
- { type: CaucaCoreService },
115
- { type: HttpClient }
116
- ];
117
-
118
- class ManagementPermissionService {
119
- constructor(coreService, http) {
120
- this.http = http;
121
- this.config = coreService.getConfig();
122
- }
123
- getAll() {
124
- return this.http.get(`${this.config.apiUrl}PermissionManagement`);
125
- }
126
- get(idPermission) {
127
- return this.http.get(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
128
- }
129
- save(permission) {
130
- return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);
131
- }
132
- delete(idPermission) {
133
- return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
134
- }
135
- }
136
- ManagementPermissionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ManagementPermissionService_Factory() { return new ManagementPermissionService(i0.ɵɵinject(i1.CaucaCoreService), i0.ɵɵinject(i2.HttpClient)); }, token: ManagementPermissionService, providedIn: "root" });
137
- ManagementPermissionService.decorators = [
138
- { type: Injectable, args: [{
139
- providedIn: 'root'
140
- },] }
141
- ];
142
- ManagementPermissionService.ctorParameters = () => [
143
- { type: CaucaCoreService },
144
- { type: HttpClient }
145
- ];
146
-
147
- class CaucaManagementGroupComponent {
148
- constructor(managementGroupService, managementUserService, managementPermissionService, breakpointObserver) {
149
- this.managementGroupService = managementGroupService;
150
- this.managementUserService = managementUserService;
151
- this.managementPermissionService = managementPermissionService;
152
- this.showPrintButton = true;
153
- this.hoverStatePermission = true;
154
- this.groups = [];
155
- this.users = [];
156
- this.permissions = [];
157
- this.userFullName = {};
158
- this.showColumn = true;
159
- this.showColumnXS = true;
160
- this.translations = [];
161
- this.calculateUsersCellValue = (e) => {
162
- const users = (e.users ? e.users : []);
163
- let usersNames = [];
164
- users.forEach((user) => {
165
- const userGroup = this.users.filter((u) => u.id === user.idUser);
166
- if (userGroup && userGroup[0]) {
167
- usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);
168
- }
169
- });
170
- usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));
171
- return usersNames.join(', ');
172
- };
173
- this.groupNameAlreadyUsedValidation = (e) => {
174
- return this.managementGroupService.hasExistingGroupName(e.data).pipe(map((exist) => {
175
- return !exist;
176
- })).toPromise();
177
- };
178
- breakpointObserver.observe(['(max-width: 1000px)']).subscribe((result) => {
179
- this.showColumn = !result.matches;
180
- });
181
- breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
182
- this.showColumnXS = !result.matches;
183
- });
184
- }
185
- ngOnInit() {
186
- this.managementUserService.getAll().subscribe((data) => {
187
- this.users = data;
188
- this.users.forEach((user) => {
189
- if (user.isActive) {
190
- if (user.firstName !== '' && user.lastName !== '') {
191
- this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;
192
- }
193
- }
194
- });
195
- });
196
- this.managementPermissionService.getAll().subscribe((permissions) => {
197
- const permissionIndex = permissions.findIndex((c) => {
198
- return c.tag === 'CanAccessPermissions';
199
- });
200
- if (permissionIndex !== -1) {
201
- permissions.splice(permissionIndex, 1);
202
- }
203
- permissions.sort((a, b) => {
204
- if (a.name < b.name) {
205
- return -1;
206
- }
207
- if (a.name > b.name) {
208
- return 1;
209
- }
210
- return 0;
211
- });
212
- this.permissions = permissions;
213
- });
214
- this.getGroups();
215
- }
216
- fullName(data) {
217
- if (!data) {
218
- return '';
219
- }
220
- return `${data.firstName} ${data.lastName}`;
221
- }
222
- getGroupUser(field, e) {
223
- const users = [];
224
- if (this.groupUsers) {
225
- this.groupUsers.forEach((user) => {
226
- users.push(user.idUser);
227
- });
228
- }
229
- e.component.option('value', users);
230
- }
231
- setGroupUser(field, e) {
232
- const groupUser = [];
233
- e.value.forEach((idUser) => {
234
- const groupIndex = (field.data.users || []).findIndex((g) => g.idUser === idUser);
235
- if (groupIndex === -1) {
236
- groupUser.push({ idUser, });
237
- }
238
- else {
239
- groupUser.push(field.data.users[groupIndex]);
240
- }
241
- });
242
- field.setValue(JSON.parse(JSON.stringify(groupUser)));
243
- }
244
- setGroupPermission(field, e) {
245
- const groupUser = [];
246
- e.value.forEach((idUser) => {
247
- groupUser.push({
248
- idUser,
249
- });
250
- });
251
- field.setValue(JSON.parse(JSON.stringify(groupUser)));
252
- }
253
- getPermissionStatus(field, permission, e) {
254
- const groupPermission = (field.value || []).find((p) => p.idModulePermission === permission.id);
255
- if (groupPermission) {
256
- e.component.option('value', groupPermission.isAllowed);
257
- }
258
- else {
259
- e.component.option('value', undefined);
260
- }
261
- }
262
- checkBoxToggled(field, permission, e) {
263
- if (e.component.skipOnValueChanged) {
264
- e.component.skipOnValueChanged = false;
265
- return;
266
- }
267
- if (e.component.setUndefinedNextTime) {
268
- e.component.setUndefinedNextTime = false;
269
- e.component.skipOnValueChanged = true;
270
- e.component.option('value', undefined);
271
- this.setPermissionStatus(field, permission, undefined);
272
- return;
273
- }
274
- if (e.value === false) {
275
- e.component.setUndefinedNextTime = true;
276
- }
277
- this.setPermissionStatus(field, permission, e.value);
278
- }
279
- onRowInserted(e) {
280
- this.saveGroup(e.data);
281
- }
282
- onRowUpdated(e) {
283
- this.saveGroup(e.data);
284
- }
285
- onRowRemoved(e) {
286
- const group = e.data;
287
- this.managementGroupService.delete(group.id).subscribe(() => {
288
- this.getGroups();
289
- });
290
- }
291
- onEditingStart(e) {
292
- this.groupUsers = e.data.users;
293
- }
294
- onInitNewRow() {
295
- this.groupUsers = [];
296
- }
297
- setPermissionStatus(field, permission, value) {
298
- const groupPermissions = field.value || [];
299
- const groupIndex = groupPermissions.findIndex((p) => p.idModulePermission === permission.id);
300
- if (groupIndex > -1) {
301
- groupPermissions[groupIndex].isAllowed = value;
302
- }
303
- else {
304
- groupPermissions.push({
305
- idModulePermission: permission.id,
306
- isAllowed: value,
307
- });
308
- }
309
- field.setValue(JSON.parse(JSON.stringify(groupPermissions)));
310
- }
311
- saveGroup(group) {
312
- this.removePermissionUndefined(group);
313
- if (group.users) {
314
- group.users.forEach((userGroup) => {
315
- userGroup.idGroup = group.id;
316
- });
317
- }
318
- if (group.permissions) {
319
- group.permissions.forEach((groupPermission) => {
320
- groupPermission.idGroup = group.id;
321
- });
322
- }
323
- this.managementGroupService.save(group).subscribe(() => {
324
- this.getGroups();
325
- });
326
- this.groupUsers = [];
327
- }
328
- removePermissionUndefined(group) {
329
- group.permissions = group.permissions.filter((permission) => permission.isAllowed !== undefined);
330
- }
331
- getGroups() {
332
- this.managementGroupService.getAll().subscribe((data) => this.groups = data);
333
- }
334
- }
335
- CaucaManagementGroupComponent.decorators = [
336
- { type: Component, args: [{
337
- selector: 'cauca-management-group',
338
- 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>",
339
- styles: [""]
340
- },] }
341
- ];
342
- CaucaManagementGroupComponent.ctorParameters = () => [
343
- { type: ManagementGroupService },
344
- { type: ManagementUserService },
345
- { type: ManagementPermissionService },
346
- { type: BreakpointObserver }
347
- ];
348
- CaucaManagementGroupComponent.propDecorators = {
349
- showPrintButton: [{ type: Input }],
350
- hoverStatePermission: [{ type: Input }]
351
- };
352
-
353
- class UserModel {
354
- constructor() {
355
- this.userName = '';
356
- this.firstName = '';
357
- this.lastName = '';
358
- this.password = '';
359
- this.email = '';
360
- this.isActive = true;
361
- }
362
- }
363
-
364
- class CaucaManagementUserComponent {
365
- constructor(managementUserService, breakpointObserver) {
366
- this.managementUserService = managementUserService;
367
- this.users = [
368
- new UserModel()
369
- ];
370
- this.showColumnXS = true;
371
- this.userNameAlreadyUsedValidation = (e) => {
372
- return this.managementUserService.hasExistingUserName(e.data).pipe(map((exist) => {
373
- return !exist;
374
- })).toPromise();
375
- };
376
- breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
377
- this.showColumnXS = !result.matches;
378
- });
379
- }
380
- ngOnInit() {
381
- this.getUsers();
382
- }
383
- onRowInserted(e) {
384
- this.saveGroup(e.data);
385
- }
386
- onRowUpdated(e) {
387
- this.saveGroup(e.key);
388
- }
389
- onRowRemoved(e) {
390
- const user = e.data;
391
- this.managementUserService.delete(user.id).subscribe((data) => {
392
- this.getUsers();
393
- });
394
- }
395
- saveGroup(user) {
396
- this.managementUserService.save(user).subscribe(() => {
397
- this.getUsers();
398
- });
399
- }
400
- getUsers() {
401
- this.managementUserService.getAll().subscribe((data) => this.users = data);
402
- }
403
- }
404
- CaucaManagementUserComponent.decorators = [
405
- { type: Component, args: [{
406
- selector: 'cauca-management-user',
407
- 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",
408
- styles: [""]
409
- },] }
410
- ];
411
- CaucaManagementUserComponent.ctorParameters = () => [
412
- { type: ManagementUserService },
413
- { type: BreakpointObserver }
414
- ];
415
-
416
- class CaucaManagementModule {
417
- }
418
- CaucaManagementModule.decorators = [
419
- { type: NgModule, args: [{
420
- declarations: [
421
- CaucaManagementComponent,
422
- CaucaManagementGroupComponent,
423
- CaucaManagementUserComponent
424
- ],
425
- imports: [
426
- CommonModule,
427
- DxCheckBoxModule,
428
- DxListModule,
429
- DxTagBoxModule,
430
- CaucaCoreForChildModule,
431
- CaucaDevextremeModule,
432
- ],
433
- exports: [
434
- CaucaManagementComponent,
435
- CaucaManagementUserComponent,
436
- CaucaManagementGroupComponent,
437
- ]
438
- },] }
439
- ];
440
-
441
- class UserGroupModel {
442
- constructor() {
443
- this.idUserGroup = '';
444
- this.idGroup = '';
445
- this.idUser = '';
446
- }
447
- }
448
-
449
- class UserPermissionModel {
450
- constructor() {
451
- this.idUserPermission = '';
452
- this.isAllowed = false;
453
- this.idUser = '';
454
- this.idModulePermission = '';
455
- }
456
- }
457
-
458
- class GroupModel {
459
- constructor() {
460
- this.name = '';
461
- this.users = [];
462
- this.permissions = [];
463
- }
464
- }
465
-
466
- class GroupPermissionModel {
467
- constructor() {
468
- this.idGroupPermission = '';
469
- this.isAllowed = false;
470
- this.idGroup = '';
471
- this.idModulePermission = '';
472
- }
473
- }
474
-
475
- /*
476
- * Public API Surface of cauca-management
477
- */
478
-
479
- /**
480
- * Generated bundle index. Do not edit.
481
- */
482
-
483
- export { CaucaManagementComponent, CaucaManagementGroupComponent, CaucaManagementModule, CaucaManagementService, CaucaManagementUserComponent, GroupModel, GroupPermissionModel, ManagementGroupService, ManagementUserService, UserGroupModel, UserModel, UserPermissionModel, ManagementPermissionService as ɵa };
484
- //# sourceMappingURL=cauca-911-management.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cauca-911-management.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: any) => {\n this.showColumn = !result.matches;\n });\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: any) => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.managementUserService.getAll<UserModel>().subscribe((data: UserModel[]) => {\n this.users = data;\n this.users.forEach((user: UserModel) => {\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: PermissionModel[]) => {\n const permissionIndex = permissions.findIndex((c: PermissionModel) => {\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: any): string {\n if (!data) {\n return '';\n }\n\n return `${data.firstName} ${data.lastName}`;\n }\n\n public getGroupUser(field: any, e: any): void {\n const users: string[] = [];\n if (this.groupUsers) {\n this.groupUsers.forEach((user: any) => {\n users.push(user.idUser);\n });\n }\n e.component.option('value', users);\n }\n\n public setGroupUser(field: any, e: any): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach((idUser: string) => {\n const groupIndex = (field.data.users || []).findIndex((g: any) => 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: any, e: any): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach((idUser: string) => {\n groupUser.push({\n idUser,\n } as UserGroupModel);\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public getPermissionStatus(field: any, permission: any, e: any): void {\n const groupPermission = (field.value || []).find((p: any) => 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: any, permission: any, e: any): 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: any): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowUpdated(e: any): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowRemoved(e: any): void {\n const group = (e.data as GroupModel);\n this.managementGroupService.delete(group.id).subscribe(() => {\n this.getGroups();\n });\n }\n\n public calculateUsersCellValue = (e: any): string => {\n const users = (e.users ? e.users as UserGroupModel[] : []);\n let usersNames: any[] = [];\n users.forEach((user: UserGroupModel) => {\n const userGroup = this.users.filter((u: UserModel) => 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: string, two: string) => (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: any): 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: any, value: any): void {\n const groupPermissions = field.value || [];\n const groupIndex = groupPermissions.findIndex((p: GroupPermissionModel) => 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: any) => 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}\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":[],"mappings":"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"}