@cauca-911/management 12.0.0 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +4 -4
  3. package/assets/i18n/cauca/en-management.json +16 -16
  4. package/assets/i18n/cauca/fr-management.json +16 -16
  5. package/bundles/cauca-911-management.umd.js +663 -500
  6. package/bundles/cauca-911-management.umd.js.map +1 -1
  7. package/bundles/cauca-911-management.umd.min.js +2 -0
  8. package/bundles/cauca-911-management.umd.min.js.map +1 -0
  9. package/cauca-911-management.d.ts +5 -5
  10. package/esm2015/cauca-911-management.js +5 -6
  11. package/esm2015/lib/cauca-management-group/cauca-management-group.component.js +298 -212
  12. package/esm2015/lib/cauca-management-user/cauca-management-user.component.js +106 -57
  13. package/esm2015/lib/cauca-management.component.js +27 -14
  14. package/esm2015/lib/cauca-management.module.js +56 -35
  15. package/esm2015/lib/cauca-management.service.js +14 -13
  16. package/esm2015/lib/shared/models/group-model.js +8 -8
  17. package/esm2015/lib/shared/models/group-permission-model.js +9 -9
  18. package/esm2015/lib/shared/models/permission-model.js +8 -8
  19. package/esm2015/lib/shared/models/user-group-model.js +8 -8
  20. package/esm2015/lib/shared/models/user-model.js +12 -11
  21. package/esm2015/lib/shared/models/user-permission-model.js +9 -9
  22. package/esm2015/lib/shared/services/management-group.service.js +34 -38
  23. package/esm2015/lib/shared/services/management-permission.service.js +31 -35
  24. package/esm2015/lib/shared/services/management-user.service.js +49 -53
  25. package/esm2015/public-api.js +16 -16
  26. package/fesm2015/cauca-911-management.js +606 -456
  27. package/fesm2015/cauca-911-management.js.map +1 -1
  28. package/lib/cauca-management-group/cauca-management-group.component.d.ts +45 -42
  29. package/lib/cauca-management-user/cauca-management-user.component.d.ts +20 -17
  30. package/lib/cauca-management.component.d.ts +8 -5
  31. package/lib/cauca-management.module.d.ts +14 -2
  32. package/lib/cauca-management.service.d.ts +6 -3
  33. package/lib/shared/models/group-model.d.ts +9 -9
  34. package/lib/shared/models/group-permission-model.d.ts +7 -7
  35. package/lib/shared/models/permission-model.d.ts +7 -7
  36. package/lib/shared/models/user-group-model.d.ts +6 -6
  37. package/lib/shared/models/user-model.d.ts +15 -14
  38. package/lib/shared/models/user-permission-model.d.ts +7 -7
  39. package/lib/shared/services/management-group.service.d.ts +17 -14
  40. package/lib/shared/services/management-permission.service.d.ts +16 -13
  41. package/lib/shared/services/management-user.service.d.ts +23 -20
  42. package/package.json +9 -7
  43. package/public-api.d.ts +12 -12
  44. package/cauca-911-management.metadata.json +0 -1
@@ -1,484 +1,634 @@
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';
1
+ import { ɵɵdefineInjectable, ɵsetClassMetadata, Injectable, ɵɵdefineComponent, ɵɵelementStart, ɵɵtext, ɵɵpipe, ɵɵelementEnd, ɵɵadvance, ɵɵtextInterpolate, ɵɵpipeBind1, Component, ɵɵinject, ɵɵgetCurrentView, ɵɵlistener, ɵɵrestoreView, ɵɵnextContext, ɵɵproperty, ɵɵtemplate, ɵɵpureFunction0, ɵɵdirectiveInject, ɵɵelement, Input, ɵɵdefineNgModule, ɵɵdefineInjector, ɵɵsetNgModuleScope, NgModule } from '@angular/core';
2
+ import { TranslatePipe } from '@ngx-translate/core';
3
+ import { DxCheckBoxComponent, DxCheckBoxModule } from 'devextreme-angular/ui/check-box';
4
+ import { DxListComponent, DxListModule } from 'devextreme-angular/ui/list';
5
+ import { DxTagBoxComponent, DxTagBoxModule } from 'devextreme-angular/ui/tag-box';
7
6
  import { CaucaCoreService, CaucaCoreForChildModule } from '@cauca-911/core';
8
- import { CaucaDevextremeModule } from '@cauca-911/devextreme';
9
- import { BreakpointObserver } from '@angular/cdk/layout';
7
+ import { CaucaDataGridComponent, CaucaDevextremeModule } from '@cauca-911/devextreme';
10
8
  import { map } from 'rxjs/operators';
11
- import * as i2 from '@angular/common/http';
12
9
  import { HttpClient } from '@angular/common/http';
10
+ import { BreakpointObserver } from '@angular/cdk/layout';
11
+ import { DxiColumnComponent, DxiValidationRuleComponent, DxoExportComponent, DxoEditingComponent, DxoPopupComponent, DxoFormComponent, DxiItemComponent } from 'devextreme-angular/ui/nested';
12
+ import { DxTemplateDirective } from 'devextreme-angular/core';
13
13
  import { CommonModule } from '@angular/common';
14
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 = () => [];
15
+ class CaucaManagementService {
16
+ constructor() { }
17
+ }
18
+ CaucaManagementService.ɵfac = function CaucaManagementService_Factory(t) { return new (t || CaucaManagementService)(); };
19
+ CaucaManagementService.ɵprov = ɵɵdefineInjectable({ token: CaucaManagementService, factory: CaucaManagementService.ɵfac, providedIn: 'root' });
20
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(CaucaManagementService, [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }], function () { return []; }, null); })();
25
26
 
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 = () => [];
27
+ class CaucaManagementComponent {
28
+ constructor() { }
29
+ ngOnInit() {
30
+ }
31
+ }
32
+ CaucaManagementComponent.ɵfac = function CaucaManagementComponent_Factory(t) { return new (t || CaucaManagementComponent)(); };
33
+ CaucaManagementComponent.ɵcmp = ɵɵdefineComponent({ type: CaucaManagementComponent, selectors: [["cauca-management"]], decls: 3, vars: 3, template: function CaucaManagementComponent_Template(rf, ctx) { if (rf & 1) {
34
+ ɵɵelementStart(0, "div");
35
+ ɵɵtext(1);
36
+ ɵɵpipe(2, "translate");
37
+ ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ ɵɵadvance(1);
40
+ ɵɵtextInterpolate(ɵɵpipeBind1(2, 1, "core.noGenericComponentOnThisLibrary"));
41
+ } }, pipes: [TranslatePipe], encapsulation: 2 });
42
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(CaucaManagementComponent, [{
43
+ type: Component,
44
+ args: [{
45
+ selector: 'cauca-management',
46
+ templateUrl: './cauca-management.component.html',
47
+ styles: []
48
+ }]
49
+ }], function () { return []; }, null); })();
38
50
 
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
- ];
51
+ class ManagementGroupService {
52
+ constructor(coreService, http) {
53
+ this.http = http;
54
+ this.config = coreService.getConfig();
55
+ }
56
+ getAll() {
57
+ return this.http.get(`${this.config.apiUrl}GroupManagement`);
58
+ }
59
+ get(idGroup) {
60
+ return this.http.get(`${this.config.apiUrl}GroupManagement/${idGroup}`);
61
+ }
62
+ save(group) {
63
+ return this.http.post(`${this.config.apiUrl}GroupManagement`, group);
64
+ }
65
+ delete(idGroup) {
66
+ return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);
67
+ }
68
+ hasExistingGroupName(group) {
69
+ return this.http.post(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);
70
+ }
71
+ }
72
+ ManagementGroupService.ɵfac = function ManagementGroupService_Factory(t) { return new (t || ManagementGroupService)(ɵɵinject(CaucaCoreService), ɵɵinject(HttpClient)); };
73
+ ManagementGroupService.ɵprov = ɵɵdefineInjectable({ token: ManagementGroupService, factory: ManagementGroupService.ɵfac, providedIn: 'root' });
74
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(ManagementGroupService, [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }], function () { return [{ type: CaucaCoreService }, { type: HttpClient }]; }, null); })();
70
80
 
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
- ];
81
+ class ManagementUserService {
82
+ constructor(coreService, http) {
83
+ this.http = http;
84
+ this.config = coreService.getConfig();
85
+ }
86
+ getAll() {
87
+ return this.http.get(`${this.config.apiUrl}UserManagement`);
88
+ }
89
+ get(idUser) {
90
+ return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}`);
91
+ }
92
+ getGroup(idUser) {
93
+ return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);
94
+ }
95
+ addGroup(userGroup) {
96
+ return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);
97
+ }
98
+ deleteGroup(idUserGroup) {
99
+ return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);
100
+ }
101
+ addPermission(userPermission) {
102
+ return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);
103
+ }
104
+ deletePermission(idUserPermission) {
105
+ return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);
106
+ }
107
+ save(user) {
108
+ return this.http.post(`${this.config.apiUrl}UserManagement`, user);
109
+ }
110
+ delete(idUser) {
111
+ return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);
112
+ }
113
+ hasExistingUserName(user) {
114
+ return this.http.post(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);
115
+ }
116
+ }
117
+ ManagementUserService.ɵfac = function ManagementUserService_Factory(t) { return new (t || ManagementUserService)(ɵɵinject(CaucaCoreService), ɵɵinject(HttpClient)); };
118
+ ManagementUserService.ɵprov = ɵɵdefineInjectable({ token: ManagementUserService, factory: ManagementUserService.ɵfac, providedIn: 'root' });
119
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(ManagementUserService, [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root'
123
+ }]
124
+ }], function () { return [{ type: CaucaCoreService }, { type: HttpClient }]; }, null); })();
117
125
 
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
- ];
126
+ class ManagementPermissionService {
127
+ constructor(coreService, http) {
128
+ this.http = http;
129
+ this.config = coreService.getConfig();
130
+ }
131
+ getAll() {
132
+ return this.http.get(`${this.config.apiUrl}PermissionManagement`);
133
+ }
134
+ get(idPermission) {
135
+ return this.http.get(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
136
+ }
137
+ save(permission) {
138
+ return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);
139
+ }
140
+ delete(idPermission) {
141
+ return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);
142
+ }
143
+ }
144
+ ManagementPermissionService.ɵfac = function ManagementPermissionService_Factory(t) { return new (t || ManagementPermissionService)(ɵɵinject(CaucaCoreService), ɵɵinject(HttpClient)); };
145
+ ManagementPermissionService.ɵprov = ɵɵdefineInjectable({ token: ManagementPermissionService, factory: ManagementPermissionService.ɵfac, providedIn: 'root' });
146
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(ManagementPermissionService, [{
147
+ type: Injectable,
148
+ args: [{
149
+ providedIn: 'root'
150
+ }]
151
+ }], function () { return [{ type: CaucaCoreService }, { type: HttpClient }]; }, null); })();
146
152
 
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
- };
153
+ function CaucaManagementGroupComponent_div_17_Template(rf, ctx) { if (rf & 1) {
154
+ const _r4 = ɵɵgetCurrentView();
155
+ ɵɵelementStart(0, "div");
156
+ ɵɵelementStart(1, "dx-tag-box", 13);
157
+ ɵɵlistener("onInitialized", function CaucaManagementGroupComponent_div_17_Template_dx_tag_box_onInitialized_1_listener($event) { ɵɵrestoreView(_r4); const field_r2 = ctx.$implicit; const ctx_r3 = ɵɵnextContext(); return ctx_r3.getGroupUser(field_r2, $event); })("onValueChanged", function CaucaManagementGroupComponent_div_17_Template_dx_tag_box_onValueChanged_1_listener($event) { ɵɵrestoreView(_r4); const field_r2 = ctx.$implicit; const ctx_r5 = ɵɵnextContext(); return ctx_r5.setGroupUser(field_r2, $event); });
158
+ ɵɵelementEnd();
159
+ ɵɵelementEnd();
160
+ } if (rf & 2) {
161
+ const ctx_r0 = ɵɵnextContext();
162
+ ɵɵadvance(1);
163
+ ɵɵproperty("displayExpr", ctx_r0.fullName)("dataSource", ctx_r0.users)("searchEnabled", true)("searchExpr", ctx_r0.fullName);
164
+ } }
165
+ function CaucaManagementGroupComponent_div_18_div_2_Template(rf, ctx) { if (rf & 1) {
166
+ const _r11 = ɵɵgetCurrentView();
167
+ ɵɵelementStart(0, "div");
168
+ ɵɵelementStart(1, "dx-check-box", 15);
169
+ ɵɵlistener("onInitialized", function CaucaManagementGroupComponent_div_18_div_2_Template_dx_check_box_onInitialized_1_listener($event) { ɵɵrestoreView(_r11); const permission_r8 = ctx.$implicit; const field_r6 = ɵɵnextContext().$implicit; const ctx_r9 = ɵɵnextContext(); return ctx_r9.getPermissionStatus(field_r6, permission_r8, $event); })("onValueChanged", function CaucaManagementGroupComponent_div_18_div_2_Template_dx_check_box_onValueChanged_1_listener($event) { ɵɵrestoreView(_r11); const permission_r8 = ctx.$implicit; const field_r6 = ɵɵnextContext().$implicit; const ctx_r12 = ɵɵnextContext(); return ctx_r12.checkBoxToggled(field_r6, permission_r8, $event); });
170
+ ɵɵelementEnd();
171
+ ɵɵelementEnd();
172
+ } if (rf & 2) {
173
+ const permission_r8 = ctx.$implicit;
174
+ ɵɵadvance(1);
175
+ ɵɵproperty("text", permission_r8.name);
176
+ } }
177
+ const _c0 = function () { return ["name", "tag"]; };
178
+ function CaucaManagementGroupComponent_div_18_Template(rf, ctx) { if (rf & 1) {
179
+ ɵɵelementStart(0, "div");
180
+ ɵɵelementStart(1, "dx-list", 14);
181
+ ɵɵtemplate(2, CaucaManagementGroupComponent_div_18_div_2_Template, 2, 1, "div", 12);
182
+ ɵɵelementEnd();
183
+ ɵɵelementEnd();
184
+ } if (rf & 2) {
185
+ const ctx_r1 = ɵɵnextContext();
186
+ ɵɵadvance(1);
187
+ ɵɵproperty("dataSource", ctx_r1.permissions)("searchEnabled", true)("searchExpr", ɵɵpureFunction0(5, _c0))("hoverStateEnabled", ctx_r1.hoverStatePermission);
188
+ ɵɵadvance(1);
189
+ ɵɵproperty("dxTemplateOf", "rowTemplate");
190
+ } }
191
+ class CaucaManagementGroupComponent {
192
+ constructor(managementGroupService, managementUserService, managementPermissionService, breakpointObserver) {
193
+ this.managementGroupService = managementGroupService;
194
+ this.managementUserService = managementUserService;
195
+ this.managementPermissionService = managementPermissionService;
196
+ this.showPrintButton = true;
197
+ this.hoverStatePermission = true;
198
+ this.groups = [];
199
+ this.users = [];
200
+ this.permissions = [];
201
+ this.userFullName = {};
202
+ this.showColumn = true;
203
+ this.showColumnXS = true;
204
+ this.translations = [];
205
+ this.calculateUsersCellValue = (e) => {
206
+ const users = (e.users ? e.users : []);
207
+ let usersNames = [];
208
+ users.forEach((user) => {
209
+ const userGroup = this.users.filter((u) => u.id === user.idUser);
210
+ if (userGroup && userGroup[0]) {
211
+ usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);
212
+ }
213
+ });
214
+ usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));
215
+ return usersNames.join(', ');
216
+ };
217
+ this.groupNameAlreadyUsedValidation = (e) => this.managementGroupService.hasExistingGroupName(e.data).pipe(map((exist) => !exist)).toPromise();
218
+ breakpointObserver.observe(['(max-width: 1000px)']).subscribe((result) => {
219
+ this.showColumn = !result.matches;
220
+ });
221
+ breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
222
+ this.showColumnXS = !result.matches;
223
+ });
224
+ }
225
+ ngOnInit() {
226
+ this.managementUserService.getAll().subscribe((data) => {
227
+ this.users = data;
228
+ this.users.forEach((user) => {
229
+ if (user.isActive) {
230
+ if (user.firstName !== '' && user.lastName !== '') {
231
+ this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;
232
+ }
233
+ }
234
+ });
235
+ });
236
+ this.managementPermissionService.getAll().subscribe((permissions) => {
237
+ const permissionIndex = permissions.findIndex((c) => c.tag === 'CanAccessPermissions');
238
+ if (permissionIndex !== -1) {
239
+ permissions.splice(permissionIndex, 1);
240
+ }
241
+ permissions.sort((a, b) => {
242
+ if (a.name < b.name) {
243
+ return -1;
244
+ }
245
+ if (a.name > b.name) {
246
+ return 1;
247
+ }
248
+ return 0;
249
+ });
250
+ this.permissions = permissions;
251
+ });
252
+ this.getGroups();
253
+ }
254
+ fullName(data) {
255
+ if (!data) {
256
+ return '';
257
+ }
258
+ return `${data.firstName} ${data.lastName}`;
259
+ }
260
+ getGroupUser(field, e) {
261
+ const users = [];
262
+ if (this.groupUsers) {
263
+ this.groupUsers.forEach((user) => {
264
+ users.push(user.idUser);
265
+ });
266
+ }
267
+ e.component.option('value', users);
268
+ }
269
+ setGroupUser(field, e) {
270
+ const groupUser = [];
271
+ e.value.forEach((idUser) => {
272
+ const groupIndex = (field.data.users || []).findIndex((g) => g.idUser === idUser);
273
+ if (groupIndex === -1) {
274
+ groupUser.push({ idUser, });
275
+ }
276
+ else {
277
+ groupUser.push(field.data.users[groupIndex]);
278
+ }
279
+ });
280
+ field.setValue(JSON.parse(JSON.stringify(groupUser)));
281
+ }
282
+ setGroupPermission(field, e) {
283
+ const groupUser = [];
284
+ e.value.forEach((idUser) => {
285
+ groupUser.push({
286
+ idUser,
287
+ });
288
+ });
289
+ field.setValue(JSON.parse(JSON.stringify(groupUser)));
290
+ }
291
+ getPermissionStatus(field, permission, e) {
292
+ const groupPermission = (field.value || []).find((p) => p.idModulePermission === permission.id);
293
+ if (groupPermission) {
294
+ e.component.option('value', groupPermission.isAllowed);
295
+ }
296
+ else {
297
+ e.component.option('value', undefined);
298
+ }
299
+ }
300
+ checkBoxToggled(field, permission, e) {
301
+ if (e.component.skipOnValueChanged) {
302
+ e.component.skipOnValueChanged = false;
303
+ return;
304
+ }
305
+ if (e.component.setUndefinedNextTime) {
306
+ e.component.setUndefinedNextTime = false;
307
+ e.component.skipOnValueChanged = true;
308
+ e.component.option('value', undefined);
309
+ this.setPermissionStatus(field, permission, undefined);
310
+ return;
311
+ }
312
+ if (e.value === false) {
313
+ e.component.setUndefinedNextTime = true;
314
+ }
315
+ this.setPermissionStatus(field, permission, e.value);
316
+ }
317
+ onRowInserted(e) {
318
+ this.saveGroup(e.data);
319
+ }
320
+ onRowUpdated(e) {
321
+ this.saveGroup(e.data);
322
+ }
323
+ onRowRemoved(e) {
324
+ const group = e.data;
325
+ this.managementGroupService.delete(group.id).subscribe(() => {
326
+ this.getGroups();
327
+ });
328
+ }
329
+ onEditingStart(e) {
330
+ this.groupUsers = e.data.users;
331
+ }
332
+ onInitNewRow() {
333
+ this.groupUsers = [];
334
+ }
335
+ setPermissionStatus(field, permission, value) {
336
+ const groupPermissions = field.value || [];
337
+ const groupIndex = groupPermissions.findIndex((p) => p.idModulePermission === permission.id);
338
+ if (groupIndex > -1) {
339
+ groupPermissions[groupIndex].isAllowed = value;
340
+ }
341
+ else {
342
+ groupPermissions.push({
343
+ idModulePermission: permission.id,
344
+ isAllowed: value,
345
+ });
346
+ }
347
+ field.setValue(JSON.parse(JSON.stringify(groupPermissions)));
348
+ }
349
+ saveGroup(group) {
350
+ this.removePermissionUndefined(group);
351
+ if (group.users) {
352
+ group.users.forEach((userGroup) => {
353
+ userGroup.idGroup = group.id;
354
+ });
355
+ }
356
+ if (group.permissions) {
357
+ group.permissions.forEach((groupPermission) => {
358
+ groupPermission.idGroup = group.id;
359
+ });
360
+ }
361
+ this.managementGroupService.save(group).subscribe(() => {
362
+ this.getGroups();
363
+ });
364
+ this.groupUsers = [];
365
+ }
366
+ removePermissionUndefined(group) {
367
+ group.permissions = group.permissions.filter((permission) => permission.isAllowed !== undefined);
368
+ }
369
+ getGroups() {
370
+ this.managementGroupService.getAll().subscribe((data) => this.groups = data);
371
+ }
372
+ }
373
+ CaucaManagementGroupComponent.ɵfac = function CaucaManagementGroupComponent_Factory(t) { return new (t || CaucaManagementGroupComponent)(ɵɵdirectiveInject(ManagementGroupService), ɵɵdirectiveInject(ManagementUserService), ɵɵdirectiveInject(ManagementPermissionService), ɵɵdirectiveInject(BreakpointObserver)); };
374
+ CaucaManagementGroupComponent.ɵcmp = ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission" }, decls: 19, vars: 31, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "users", "editCellTemplate", "usersEditTemplate", 3, "caption", "calculateCellValue"], ["dataField", "permissions", "editCellTemplate", "permissionsEditTemplate", 3, "caption", "visible"], [3, "enabled"], ["mode", "popup", 3, "allowAdding", "allowUpdating", "allowDeleting", "useIcons"], [3, "showTitle", "title", "fullScreen"], ["colCount", "1", 3, "labelLocation"], ["dataField", "name", 3, "isRequired"], ["dataField", "users"], ["dataField", "permissions"], [4, "dxTemplate", "dxTemplateOf"], ["valueExpr", "id", 3, "displayExpr", "dataSource", "searchEnabled", "searchExpr", "onInitialized", "onValueChanged"], ["itemTemplate", "rowTemplate", 3, "dataSource", "searchEnabled", "searchExpr", "hoverStateEnabled"], [3, "text", "onInitialized", "onValueChanged"]], template: function CaucaManagementGroupComponent_Template(rf, ctx) { if (rf & 1) {
375
+ ɵɵelementStart(0, "cauca-dx-data-grid", 0);
376
+ ɵɵlistener("onRowInserted", function CaucaManagementGroupComponent_Template_cauca_dx_data_grid_onRowInserted_0_listener($event) { return ctx.onRowInserted($event); })("onInitNewRow", function CaucaManagementGroupComponent_Template_cauca_dx_data_grid_onInitNewRow_0_listener() { return ctx.onInitNewRow(); })("onRowUpdated", function CaucaManagementGroupComponent_Template_cauca_dx_data_grid_onRowUpdated_0_listener($event) { return ctx.onRowUpdated($event); })("onEditingStart", function CaucaManagementGroupComponent_Template_cauca_dx_data_grid_onEditingStart_0_listener($event) { return ctx.onEditingStart($event); })("onRowRemoved", function CaucaManagementGroupComponent_Template_cauca_dx_data_grid_onRowRemoved_0_listener($event) { return ctx.onRowRemoved($event); });
377
+ ɵɵelementStart(1, "dxi-column", 1);
378
+ ɵɵpipe(2, "translate");
379
+ ɵɵelement(3, "dxi-validation-rule", 2);
380
+ ɵɵpipe(4, "translate");
381
+ ɵɵelementEnd();
382
+ ɵɵelement(5, "dxi-column", 3);
383
+ ɵɵpipe(6, "translate");
384
+ ɵɵelement(7, "dxi-column", 4);
385
+ ɵɵpipe(8, "translate");
386
+ ɵɵelement(9, "dxo-export", 5);
387
+ ɵɵelementStart(10, "dxo-editing", 6);
388
+ ɵɵelement(11, "dxo-popup", 7);
389
+ ɵɵpipe(12, "translate");
390
+ ɵɵelementStart(13, "dxo-form", 8);
391
+ ɵɵelement(14, "dxi-item", 9);
392
+ ɵɵelement(15, "dxi-item", 10);
393
+ ɵɵelement(16, "dxi-item", 11);
394
+ ɵɵelementEnd();
395
+ ɵɵelementEnd();
396
+ ɵɵtemplate(17, CaucaManagementGroupComponent_div_17_Template, 2, 4, "div", 12);
397
+ ɵɵtemplate(18, CaucaManagementGroupComponent_div_18_Template, 3, 6, "div", 12);
398
+ ɵɵelementEnd();
399
+ } if (rf & 2) {
400
+ ɵɵproperty("allowPrint", ctx.showPrintButton)("dataSource", ctx.groups);
401
+ ɵɵadvance(1);
402
+ ɵɵproperty("caption", ɵɵpipeBind1(2, 21, "management.name"));
403
+ ɵɵadvance(2);
404
+ ɵɵproperty("message", ɵɵpipeBind1(4, 23, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
405
+ ɵɵadvance(2);
406
+ ɵɵproperty("caption", ɵɵpipeBind1(6, 25, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
407
+ ɵɵadvance(2);
408
+ ɵɵproperty("caption", ɵɵpipeBind1(8, 27, "management.permissions"))("visible", false);
409
+ ɵɵadvance(2);
410
+ ɵɵproperty("enabled", false);
411
+ ɵɵadvance(1);
412
+ ɵɵproperty("allowAdding", true)("allowUpdating", true)("allowDeleting", true)("useIcons", true);
413
+ ɵɵadvance(1);
414
+ ɵɵproperty("showTitle", true)("title", ɵɵpipeBind1(12, 29, "management.group"))("fullScreen", !ctx.showColumn);
415
+ ɵɵadvance(2);
416
+ ɵɵproperty("labelLocation", ctx.showColumnXS ? "left" : "top");
417
+ ɵɵadvance(1);
418
+ ɵɵproperty("isRequired", true);
419
+ ɵɵadvance(3);
420
+ ɵɵproperty("dxTemplateOf", "usersEditTemplate");
421
+ ɵɵadvance(1);
422
+ ɵɵproperty("dxTemplateOf", "permissionsEditTemplate");
423
+ } }, directives: [CaucaDataGridComponent, DxiColumnComponent, DxiValidationRuleComponent, DxoExportComponent, DxoEditingComponent, DxoPopupComponent, DxoFormComponent, DxiItemComponent, DxTemplateDirective, DxTagBoxComponent, DxListComponent, DxCheckBoxComponent], pipes: [TranslatePipe], styles: [""] });
424
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(CaucaManagementGroupComponent, [{
425
+ type: Component,
426
+ args: [{
427
+ selector: 'cauca-management-group',
428
+ templateUrl: './cauca-management-group.component.html',
429
+ styleUrls: ['./cauca-management-group.component.scss']
430
+ }]
431
+ }], function () { return [{ type: ManagementGroupService }, { type: ManagementUserService }, { type: ManagementPermissionService }, { type: BreakpointObserver }]; }, { showPrintButton: [{
432
+ type: Input
433
+ }], hoverStatePermission: [{
434
+ type: Input
435
+ }] }); })();
352
436
 
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
- }
437
+ class UserModel {
438
+ constructor() {
439
+ this.userName = '';
440
+ this.firstName = '';
441
+ this.lastName = '';
442
+ this.password = '';
443
+ this.email = '';
444
+ this.isActive = true;
445
+ this.twoFactorAuthenticatorEnabled = false;
446
+ }
362
447
  }
363
448
 
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
- ];
449
+ class CaucaManagementUserComponent {
450
+ constructor(managementUserService, breakpointObserver) {
451
+ this.managementUserService = managementUserService;
452
+ this.users = [
453
+ new UserModel()
454
+ ];
455
+ this.showColumnXS = true;
456
+ this.userNameAlreadyUsedValidation = (e) => this.managementUserService.hasExistingUserName(e.data).pipe(map((exist) => !exist)).toPromise();
457
+ breakpointObserver.observe(['(max-width: 600px)']).subscribe((result) => {
458
+ this.showColumnXS = !result.matches;
459
+ });
460
+ }
461
+ ngOnInit() {
462
+ this.getUsers();
463
+ }
464
+ onRowInserted(e) {
465
+ this.saveGroup(e.data);
466
+ }
467
+ onRowUpdated(e) {
468
+ this.saveGroup(e.key);
469
+ }
470
+ onRowRemoved(e) {
471
+ const user = e.data;
472
+ this.managementUserService.delete(user.id).subscribe((data) => {
473
+ this.getUsers();
474
+ });
475
+ }
476
+ saveGroup(user) {
477
+ this.managementUserService.save(user).subscribe(() => {
478
+ this.getUsers();
479
+ });
480
+ }
481
+ getUsers() {
482
+ this.managementUserService.getAll().subscribe((data) => this.users = data);
483
+ }
484
+ }
485
+ CaucaManagementUserComponent.ɵfac = function CaucaManagementUserComponent_Factory(t) { return new (t || CaucaManagementUserComponent)(ɵɵdirectiveInject(ManagementUserService), ɵɵdirectiveInject(BreakpointObserver)); };
486
+ CaucaManagementUserComponent.ɵcmp = ɵɵdefineComponent({ type: CaucaManagementUserComponent, selectors: [["cauca-management-user"]], decls: 22, vars: 31, consts: [["keyExpr", "id", 3, "dataSource", "onRowInserted", "onRowUpdated", "onRowRemoved"], ["dataField", "userName", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "isActive", 3, "caption", "visible"], ["dataField", "firstName", 3, "caption"], ["dataField", "lastName", 3, "caption"], ["dataField", "groups", 3, "caption"], ["mode", "popup", 3, "allowAdding", "allowUpdating", "allowDeleting", "useIcons"], [3, "showTitle", "title"], ["colCount", "2", 3, "labelLocation"], ["dataField", "userName", 3, "isRequired"], ["dataField", "isActive"], ["dataField", "firstName"], ["dataField", "lastName"], ["dataField", "group"]], template: function CaucaManagementUserComponent_Template(rf, ctx) { if (rf & 1) {
487
+ ɵɵelementStart(0, "cauca-dx-data-grid", 0);
488
+ ɵɵlistener("onRowInserted", function CaucaManagementUserComponent_Template_cauca_dx_data_grid_onRowInserted_0_listener($event) { return ctx.onRowInserted($event); })("onRowUpdated", function CaucaManagementUserComponent_Template_cauca_dx_data_grid_onRowUpdated_0_listener($event) { return ctx.onRowUpdated($event); })("onRowRemoved", function CaucaManagementUserComponent_Template_cauca_dx_data_grid_onRowRemoved_0_listener($event) { return ctx.onRowRemoved($event); });
489
+ ɵɵelementStart(1, "dxi-column", 1);
490
+ ɵɵpipe(2, "translate");
491
+ ɵɵelement(3, "dxi-validation-rule", 2);
492
+ ɵɵpipe(4, "translate");
493
+ ɵɵelementEnd();
494
+ ɵɵelement(5, "dxi-column", 3);
495
+ ɵɵpipe(6, "translate");
496
+ ɵɵelement(7, "dxi-column", 4);
497
+ ɵɵpipe(8, "translate");
498
+ ɵɵelement(9, "dxi-column", 5);
499
+ ɵɵpipe(10, "translate");
500
+ ɵɵelement(11, "dxi-column", 6);
501
+ ɵɵpipe(12, "translate");
502
+ ɵɵelementStart(13, "dxo-editing", 7);
503
+ ɵɵelement(14, "dxo-popup", 8);
504
+ ɵɵpipe(15, "translate");
505
+ ɵɵelementStart(16, "dxo-form", 9);
506
+ ɵɵelement(17, "dxi-item", 10);
507
+ ɵɵelement(18, "dxi-item", 11);
508
+ ɵɵelement(19, "dxi-item", 12);
509
+ ɵɵelement(20, "dxi-item", 13);
510
+ ɵɵelement(21, "dxi-item", 14);
511
+ ɵɵelementEnd();
512
+ ɵɵelementEnd();
513
+ ɵɵelementEnd();
514
+ } if (rf & 2) {
515
+ ɵɵproperty("dataSource", ctx.users);
516
+ ɵɵadvance(1);
517
+ ɵɵproperty("caption", ɵɵpipeBind1(2, 17, "management.userName"));
518
+ ɵɵadvance(2);
519
+ ɵɵproperty("message", ɵɵpipeBind1(4, 19, "management.userNameAlreadyUsed"))("validationCallback", ctx.userNameAlreadyUsedValidation);
520
+ ɵɵadvance(2);
521
+ ɵɵproperty("caption", ɵɵpipeBind1(6, 21, "management.isActive"))("visible", false);
522
+ ɵɵadvance(2);
523
+ ɵɵproperty("caption", ɵɵpipeBind1(8, 23, "management.firstName"));
524
+ ɵɵadvance(2);
525
+ ɵɵproperty("caption", ɵɵpipeBind1(10, 25, "management.lastName"));
526
+ ɵɵadvance(2);
527
+ ɵɵproperty("caption", ɵɵpipeBind1(12, 27, "management.group"));
528
+ ɵɵadvance(2);
529
+ ɵɵproperty("allowAdding", true)("allowUpdating", true)("allowDeleting", true)("useIcons", true);
530
+ ɵɵadvance(1);
531
+ ɵɵproperty("showTitle", true)("title", ɵɵpipeBind1(15, 29, "management.group"));
532
+ ɵɵadvance(2);
533
+ ɵɵproperty("labelLocation", ctx.showColumnXS ? "left" : "top");
534
+ ɵɵadvance(1);
535
+ ɵɵproperty("isRequired", true);
536
+ } }, directives: [CaucaDataGridComponent, DxiColumnComponent, DxiValidationRuleComponent, DxoEditingComponent, DxoPopupComponent, DxoFormComponent, DxiItemComponent], pipes: [TranslatePipe], styles: [""] });
537
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(CaucaManagementUserComponent, [{
538
+ type: Component,
539
+ args: [{
540
+ selector: 'cauca-management-user',
541
+ templateUrl: './cauca-management-user.component.html',
542
+ styleUrls: ['./cauca-management-user.component.scss']
543
+ }]
544
+ }], function () { return [{ type: ManagementUserService }, { type: BreakpointObserver }]; }, null); })();
415
545
 
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
- ];
546
+ class CaucaManagementModule {
547
+ }
548
+ CaucaManagementModule.ɵmod = ɵɵdefineNgModule({ type: CaucaManagementModule });
549
+ CaucaManagementModule.ɵinj = ɵɵdefineInjector({ factory: function CaucaManagementModule_Factory(t) { return new (t || CaucaManagementModule)(); }, imports: [[
550
+ CommonModule,
551
+ DxCheckBoxModule,
552
+ DxListModule,
553
+ DxTagBoxModule,
554
+ CaucaCoreForChildModule,
555
+ CaucaDevextremeModule,
556
+ ]] });
557
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵɵsetNgModuleScope(CaucaManagementModule, { declarations: [CaucaManagementComponent,
558
+ CaucaManagementGroupComponent,
559
+ CaucaManagementUserComponent], imports: [CommonModule,
560
+ DxCheckBoxModule,
561
+ DxListModule,
562
+ DxTagBoxModule,
563
+ CaucaCoreForChildModule,
564
+ CaucaDevextremeModule], exports: [CaucaManagementComponent,
565
+ CaucaManagementUserComponent,
566
+ CaucaManagementGroupComponent] }); })();
567
+ /*@__PURE__*/ (function () { ɵsetClassMetadata(CaucaManagementModule, [{
568
+ type: NgModule,
569
+ args: [{
570
+ declarations: [
571
+ CaucaManagementComponent,
572
+ CaucaManagementGroupComponent,
573
+ CaucaManagementUserComponent
574
+ ],
575
+ imports: [
576
+ CommonModule,
577
+ DxCheckBoxModule,
578
+ DxListModule,
579
+ DxTagBoxModule,
580
+ CaucaCoreForChildModule,
581
+ CaucaDevextremeModule,
582
+ ],
583
+ exports: [
584
+ CaucaManagementComponent,
585
+ CaucaManagementUserComponent,
586
+ CaucaManagementGroupComponent,
587
+ ]
588
+ }]
589
+ }], null, null); })();
440
590
 
441
- class UserGroupModel {
442
- constructor() {
443
- this.idUserGroup = '';
444
- this.idGroup = '';
445
- this.idUser = '';
446
- }
591
+ class UserGroupModel {
592
+ constructor() {
593
+ this.idUserGroup = '';
594
+ this.idGroup = '';
595
+ this.idUser = '';
596
+ }
447
597
  }
448
598
 
449
- class UserPermissionModel {
450
- constructor() {
451
- this.idUserPermission = '';
452
- this.isAllowed = false;
453
- this.idUser = '';
454
- this.idModulePermission = '';
455
- }
599
+ class UserPermissionModel {
600
+ constructor() {
601
+ this.idUserPermission = '';
602
+ this.isAllowed = false;
603
+ this.idUser = '';
604
+ this.idModulePermission = '';
605
+ }
456
606
  }
457
607
 
458
- class GroupModel {
459
- constructor() {
460
- this.name = '';
461
- this.users = [];
462
- this.permissions = [];
463
- }
608
+ class GroupModel {
609
+ constructor() {
610
+ this.name = '';
611
+ this.users = [];
612
+ this.permissions = [];
613
+ }
464
614
  }
465
615
 
466
- class GroupPermissionModel {
467
- constructor() {
468
- this.idGroupPermission = '';
469
- this.isAllowed = false;
470
- this.idGroup = '';
471
- this.idModulePermission = '';
472
- }
616
+ class GroupPermissionModel {
617
+ constructor() {
618
+ this.idGroupPermission = '';
619
+ this.isAllowed = false;
620
+ this.idGroup = '';
621
+ this.idModulePermission = '';
622
+ }
473
623
  }
474
624
 
475
- /*
476
- * Public API Surface of cauca-management
625
+ /*
626
+ * Public API Surface of cauca-management
477
627
  */
478
628
 
479
- /**
480
- * Generated bundle index. Do not edit.
629
+ /**
630
+ * Generated bundle index. Do not edit.
481
631
  */
482
632
 
483
- export { CaucaManagementComponent, CaucaManagementGroupComponent, CaucaManagementModule, CaucaManagementService, CaucaManagementUserComponent, GroupModel, GroupPermissionModel, ManagementGroupService, ManagementUserService, UserGroupModel, UserModel, UserPermissionModel, ManagementPermissionService as ɵa };
633
+ export { CaucaManagementComponent, CaucaManagementGroupComponent, CaucaManagementModule, CaucaManagementService, CaucaManagementUserComponent, GroupModel, GroupPermissionModel, ManagementGroupService, ManagementUserService, UserGroupModel, UserModel, UserPermissionModel };
484
634
  //# sourceMappingURL=cauca-911-management.js.map