@cauca-911/management 14.0.0 → 14.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.
@@ -51,6 +51,7 @@ export class CaucaManagementGroupComponent {
51
51
  this.managementPermissionService = managementPermissionService;
52
52
  this.showPrintButton = true;
53
53
  this.hoverStatePermission = true;
54
+ this.showAssignableByAllUsers = true;
54
55
  this.groups = [];
55
56
  this.users = [];
56
57
  this.permissions = [];
@@ -227,7 +228,7 @@ export class CaucaManagementGroupComponent {
227
228
  }
228
229
  }
229
230
  CaucaManagementGroupComponent.ɵfac = function CaucaManagementGroupComponent_Factory(t) { return new (t || CaucaManagementGroupComponent)(i0.ɵɵdirectiveInject(i1.ManagementGroupService), i0.ɵɵdirectiveInject(i2.ManagementUserService), i0.ɵɵdirectiveInject(i3.ManagementPermissionService), i0.ɵɵdirectiveInject(i4.BreakpointObserver)); };
230
- CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission" }, decls: 22, vars: 34, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption"], ["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"], ["dataField", "assignableByAllUsers"], [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) {
231
+ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission", showAssignableByAllUsers: "showAssignableByAllUsers" }, decls: 22, vars: 36, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption", "visible"], ["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"], ["dataField", "assignableByAllUsers", 3, "visible"], [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) {
231
232
  i0.ɵɵelementStart(0, "cauca-dx-data-grid", 0);
232
233
  i0.ɵɵ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); });
233
234
  i0.ɵɵelementStart(1, "dxi-column", 1);
@@ -254,36 +255,40 @@ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
254
255
  } if (rf & 2) {
255
256
  i0.ɵɵproperty("allowPrint", ctx.showPrintButton)("dataSource", ctx.groups);
256
257
  i0.ɵɵadvance(1);
257
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 22, "management.name"));
258
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 24, "management.name"));
258
259
  i0.ɵɵadvance(2);
259
- i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 24, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
260
+ i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 26, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
260
261
  i0.ɵɵadvance(2);
261
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 26, "management.assignableByAllUsers"));
262
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 28, "management.assignableByAllUsers"))("visible", ctx.showAssignableByAllUsers);
262
263
  i0.ɵɵadvance(2);
263
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 28, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
264
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 30, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
264
265
  i0.ɵɵadvance(2);
265
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 30, "management.permissions"))("visible", false);
266
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 32, "management.permissions"))("visible", false);
266
267
  i0.ɵɵadvance(2);
267
268
  i0.ɵɵproperty("enabled", false);
268
269
  i0.ɵɵadvance(1);
269
270
  i0.ɵɵproperty("allowAdding", true)("allowUpdating", true)("allowDeleting", true)("useIcons", true);
270
271
  i0.ɵɵadvance(1);
271
- i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 32, "management.group"))("fullScreen", !ctx.showColumn);
272
+ i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 34, "management.group"))("fullScreen", !ctx.showColumn);
272
273
  i0.ɵɵadvance(2);
273
274
  i0.ɵɵproperty("labelLocation", ctx.showColumnXS ? "left" : "top");
274
275
  i0.ɵɵadvance(1);
275
276
  i0.ɵɵproperty("isRequired", true);
276
- i0.ɵɵadvance(4);
277
+ i0.ɵɵadvance(3);
278
+ i0.ɵɵproperty("visible", ctx.showAssignableByAllUsers);
279
+ i0.ɵɵadvance(1);
277
280
  i0.ɵɵproperty("dxTemplateOf", "usersEditTemplate");
278
281
  i0.ɵɵadvance(1);
279
282
  i0.ɵɵproperty("dxTemplateOf", "permissionsEditTemplate");
280
283
  } }, dependencies: [i5.DxCheckBoxComponent, i6.DxTemplateDirective, i7.DxListComponent, i8.DxiItemComponent, i9.DxTagBoxComponent, i10.CaucaDataGridComponent, i8.DxiColumnComponent, i8.DxiValidationRuleComponent, i8.DxoEditingComponent, i8.DxoFormComponent, i8.DxoPopupComponent, i8.DxoExportComponent, i11.TranslatePipe] });
281
284
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaManagementGroupComponent, [{
282
285
  type: Component,
283
- args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\">\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 <dxi-item dataField=\"assignableByAllUsers\"></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>" }]
286
+ args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\" [visible]=\"showAssignableByAllUsers\">\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 <dxi-item dataField=\"assignableByAllUsers\" [visible]=\"showAssignableByAllUsers\"></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>" }]
284
287
  }], function () { return [{ type: i1.ManagementGroupService }, { type: i2.ManagementUserService }, { type: i3.ManagementPermissionService }, { type: i4.BreakpointObserver }]; }, { showPrintButton: [{
285
288
  type: Input
286
289
  }], hoverStatePermission: [{
287
290
  type: Input
291
+ }], showAssignableByAllUsers: [{
292
+ type: Input
288
293
  }] }); })();
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvY2F1Y2EtbWFuYWdlbWVudC1ncm91cC9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hbmFnZW1lbnQvc3JjL2xpYi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwL2NhdWNhLW1hbmFnZW1lbnQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUMwQmpDLDJCQUFvRCxxQkFBQTtJQUVwQixpUUFBaUIsZUFBQSxxQ0FBMkIsQ0FBQSxJQUFDLHNQQUNuRCxlQUFBLHFDQUEyQixDQUFBLElBRHdCO0lBRXpFLGlCQUFhLEVBQUE7OztJQUhjLGVBQXdCO0lBQXhCLDZDQUF3Qiw0QkFBQSx1QkFBQSwrQkFBQTs7OztJQVEvQywyQkFBbUQsdUJBQUE7SUFDUiw4VEFBaUIsZUFBQSwyREFBOEMsQ0FBQSxJQUFDLG9UQUNqRixlQUFBLHdEQUEwQyxDQUFBLElBRHVDO0lBRXZHLGlCQUFlLEVBQUE7OztJQUZELGVBQXdCO0lBQXhCLHlDQUF3Qjs7OztJQUpsRCwyQkFBMEQsa0JBQUE7SUFHbEQsc0ZBSU07SUFDVixpQkFBVSxFQUFBOzs7SUFQRCxlQUEwQjtJQUExQiwrQ0FBMEIsdUJBQUEsMENBQUEsa0RBQUE7SUFFRSxlQUFnQjtJQUFoQiw0Q0FBZ0I7O0FEcEI3RCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J0QyxZQUNZLHNCQUE4QyxFQUM5QyxxQkFBNEMsRUFDNUMsMkJBQXdE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QXlDO1FBQ2hDLGVBQXlEO1FBQXpELGtGQUF5RCwwREFBQTtRQUdsRCxlQUF5RDtRQUF6RCxrRkFBeUQ7UUFHeEUsZUFBMEM7UUFBMUMsbUVBQTBDLG1EQUFBO1FBR3BDLGVBQWdEO1FBQWhELDBFQUFnRCxrQkFBQTtRQUd4RSxlQUFpQjtRQUFqQiwrQkFBaUI7UUFDSCxlQUFvQjtRQUFwQixrQ0FBb0IsdUJBQUEsdUJBQUEsa0JBQUE7UUFDL0IsZUFBa0I7UUFBbEIsZ0NBQWtCLHFEQUFBLCtCQUFBO1FBQ04sZUFBK0M7UUFBL0MsaUVBQStDO1FBQ3ZDLGVBQW1CO1FBQW5CLGlDQUFtQjtRQU8xQixlQUFzQjtRQUF0QixrREFBc0I7UUFNdEIsZUFBNEI7UUFBNUIsd0RBQTRCOzt1RkRqQi9DLDZCQUE2QjtjQUx6QyxTQUFTOzJCQUNJLHdCQUF3Qjt3TEFNM0IsZUFBZTtrQkFEckIsS0FBSztZQUdDLG9CQUFvQjtrQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3VzZXItbW9kZWwnO1xuaW1wb3J0IHsgVXNlckdyb3VwTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3VzZXItZ3JvdXAtbW9kZWwnO1xuaW1wb3J0IHsgR3JvdXBNb2RlbCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvZ3JvdXAtbW9kZWwnO1xuaW1wb3J0IHsgR3JvdXBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2dyb3VwLXBlcm1pc3Npb24tbW9kZWwnO1xuaW1wb3J0IHsgTWFuYWdlbWVudEdyb3VwU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9tYW5hZ2VtZW50LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFuYWdlbWVudFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL21hbmFnZW1lbnQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25Nb2RlbCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvcGVybWlzc2lvbi1tb2RlbCc7XG5pbXBvcnQgeyBNYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhdWNhLW1hbmFnZW1lbnQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FNYW5hZ2VtZW50R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dQcmludEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaG92ZXJTdGF0ZVBlcm1pc3Npb24gPSB0cnVlO1xuXG4gICAgcHVibGljIGdyb3VwczogR3JvdXBNb2RlbFtdID0gW107XG4gICAgcHVibGljIHVzZXJzOiBVc2VyTW9kZWxbXSA9IFtdO1xuICAgIHB1YmxpYyBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10gPSBbXTtcbiAgICBwdWJsaWMgdXNlckZ1bGxOYW1lOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgc2hvd0NvbHVtbiA9IHRydWU7XG4gICAgcHVibGljIHNob3dDb2x1bW5YUyA9IHRydWU7XG4gICAgcHVibGljIHRyYW5zbGF0aW9uczogYW55ID0gW107XG5cbiAgICBwcml2YXRlIGdyb3VwVXNlcnM6IGFueTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYW5hZ2VtZW50R3JvdXBTZXJ2aWNlOiBNYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRVc2VyU2VydmljZTogTWFuYWdlbWVudFVzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRQZXJtaXNzaW9uU2VydmljZTogTWFuYWdlbWVudFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoWycobWF4LXdpZHRoOiAxMDAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtbiA9ICFyZXN1bHQubWF0Y2hlcztcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFsnKG1heC13aWR0aDogNjAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtblhTID0gIXJlc3VsdC5tYXRjaGVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudFVzZXJTZXJ2aWNlLmdldEFsbDxVc2VyTW9kZWw+KCkuc3Vic2NyaWJlKChkYXRhOiBVc2VyTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VycyA9IGRhdGE7XG4gICAgICAgICAgICB0aGlzLnVzZXJzLmZvckVhY2goKHVzZXI6IFVzZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh1c2VyLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyLmZpcnN0TmFtZSAhPT0gJycgJiYgdXNlci5sYXN0TmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckZ1bGxOYW1lW3VzZXIuaWRdICA9IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UuZ2V0QWxsKCkuc3Vic2NyaWJlKChwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25JbmRleCA9IHBlcm1pc3Npb25zLmZpbmRJbmRleCgoYzogUGVybWlzc2lvbk1vZGVsKSA9PiBjLnRhZyA9PT0gJ0NhbkFjY2Vzc1Blcm1pc3Npb25zJyk7XG4gICAgICAgICAgICBpZiAocGVybWlzc2lvbkluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zLnNwbGljZShwZXJtaXNzaW9uSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGVybWlzc2lvbnMuc29ydCgoYTogUGVybWlzc2lvbk1vZGVsLCBiOiBQZXJtaXNzaW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5uYW1lIDwgYi5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0R3JvdXBzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZ1bGxOYW1lKGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGEuZmlyc3ROYW1lfSAke2RhdGEubGFzdE5hbWV9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0R3JvdXBVc2VyKGZpZWxkOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCB1c2Vyczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBVc2Vycykge1xuICAgICAgICAgICAgdGhpcy5ncm91cFVzZXJzLmZvckVhY2goKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHVzZXJzLnB1c2godXNlci5pZFVzZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIHVzZXJzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0R3JvdXBVc2VyKGZpZWxkOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFVzZXI6IFVzZXJHcm91cE1vZGVsW10gPSBbXTtcblxuICAgICAgICBlLnZhbHVlLmZvckVhY2goKGlkVXNlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm91cEluZGV4ID0gKGZpZWxkLmRhdGEudXNlcnMgfHwgW10pLmZpbmRJbmRleCgoZzogYW55KSA9PiBnLmlkVXNlciA9PT0gaWRVc2VyKTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBVc2VyLnB1c2goeyBpZFVzZXIsIH0gYXMgVXNlckdyb3VwTW9kZWwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBncm91cFVzZXIucHVzaChmaWVsZC5kYXRhLnVzZXJzW2dyb3VwSW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGQuc2V0VmFsdWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShncm91cFVzZXIpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEdyb3VwUGVybWlzc2lvbihmaWVsZDogYW55LCBlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ3JvdXBVc2VyOiBVc2VyR3JvdXBNb2RlbFtdID0gW107XG5cbiAgICAgICAgZS52YWx1ZS5mb3JFYWNoKChpZFVzZXI6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgZ3JvdXBVc2VyLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkVXNlcixcbiAgICAgICAgICAgIH0gYXMgVXNlckdyb3VwTW9kZWwpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZC5zZXRWYWx1ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGdyb3VwVXNlcikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZDogYW55LCBwZXJtaXNzaW9uOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFBlcm1pc3Npb24gPSAoZmllbGQudmFsdWUgfHwgW10pLmZpbmQoKHA6IGFueSkgPT4gcC5pZE1vZHVsZVBlcm1pc3Npb24gPT09IHBlcm1pc3Npb24uaWQpO1xuXG4gICAgICAgIGlmIChncm91cFBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50Lm9wdGlvbigndmFsdWUnLCBncm91cFBlcm1pc3Npb24uaXNBbGxvd2VkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50Lm9wdGlvbigndmFsdWUnLCB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrQm94VG9nZ2xlZChmaWVsZDogYW55LCBwZXJtaXNzaW9uOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoZS5jb21wb25lbnQuc2tpcE9uVmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5za2lwT25WYWx1ZUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5jb21wb25lbnQuc2V0VW5kZWZpbmVkTmV4dFRpbWUpIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50LnNldFVuZGVmaW5lZE5leHRUaW1lID0gZmFsc2U7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5za2lwT25WYWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB0aGlzLnNldFBlcm1pc3Npb25TdGF0dXMoZmllbGQsIHBlcm1pc3Npb24sIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUudmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5zZXRVbmRlZmluZWROZXh0VGltZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFBlcm1pc3Npb25TdGF0dXMoZmllbGQsIHBlcm1pc3Npb24sIGUudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd0luc2VydGVkKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVHcm91cChlLmRhdGEgYXMgR3JvdXBNb2RlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm93VXBkYXRlZChlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlR3JvdXAoZS5kYXRhIGFzIEdyb3VwTW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd1JlbW92ZWQoZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gKGUuZGF0YSBhcyBHcm91cE1vZGVsKTtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLmRlbGV0ZShncm91cC5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0R3JvdXBzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYWxjdWxhdGVVc2Vyc0NlbGxWYWx1ZSA9IChlOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgICBjb25zdCB1c2VycyA9IChlLnVzZXJzID8gZS51c2VycyBhcyBVc2VyR3JvdXBNb2RlbFtdIDogW10pO1xuICAgICAgICBsZXQgdXNlcnNOYW1lczogYW55W10gPSBbXTtcbiAgICAgICAgdXNlcnMuZm9yRWFjaCgodXNlcjogVXNlckdyb3VwTW9kZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJHcm91cCA9IHRoaXMudXNlcnMuZmlsdGVyKCh1OiBVc2VyTW9kZWwpID0+IHUuaWQgPT09IHVzZXIuaWRVc2VyKTtcbiAgICAgICAgICAgIGlmICh1c2VyR3JvdXAgJiYgdXNlckdyb3VwWzBdKSB7XG4gICAgICAgICAgICAgICAgdXNlcnNOYW1lcy5wdXNoKHVzZXJHcm91cFswXS5maXJzdE5hbWUgKyAnICcgKyB1c2VyR3JvdXBbMF0ubGFzdE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdXNlcnNOYW1lcyA9IHVzZXJzTmFtZXMuc29ydCgob25lOiBzdHJpbmcsIHR3bzogc3RyaW5nKSA9PiAob25lIDwgdHdvID8gLTEgOiAxKSk7XG4gICAgICAgIHJldHVybiB1c2Vyc05hbWVzLmpvaW4oJywgJyk7XG4gICAgfTtcblxuICAgIHB1YmxpYyBvbkVkaXRpbmdTdGFydChlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cFVzZXJzID0gZS5kYXRhLnVzZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkluaXROZXdSb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBVc2VycyA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBncm91cE5hbWVBbHJlYWR5VXNlZFZhbGlkYXRpb24gPSAoZTogYW55KTogUHJvbWlzZTxib29sZWFuPiA9PiB0aGlzLm1hbmFnZW1lbnRHcm91cFNlcnZpY2UuaGFzRXhpc3RpbmdHcm91cE5hbWUoZS5kYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChleGlzdDogYm9vbGVhbikgPT4gIWV4aXN0KVxuICAgICAgICApLnRvUHJvbWlzZSgpO1xuXG4gICAgcHJpdmF0ZSBzZXRQZXJtaXNzaW9uU3RhdHVzKGZpZWxkOiBhbnksIHBlcm1pc3Npb246IGFueSwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFBlcm1pc3Npb25zID0gZmllbGQudmFsdWUgfHwgW107XG4gICAgICAgIGNvbnN0IGdyb3VwSW5kZXggPSBncm91cFBlcm1pc3Npb25zLmZpbmRJbmRleCgocDogR3JvdXBQZXJtaXNzaW9uTW9kZWwpID0+IHAuaWRNb2R1bGVQZXJtaXNzaW9uID09PSBwZXJtaXNzaW9uLmlkKTtcblxuICAgICAgICBpZiAoZ3JvdXBJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBncm91cFBlcm1pc3Npb25zW2dyb3VwSW5kZXhdLmlzQWxsb3dlZCA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ3JvdXBQZXJtaXNzaW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZE1vZHVsZVBlcm1pc3Npb246IHBlcm1pc3Npb24uaWQsXG4gICAgICAgICAgICAgICAgaXNBbGxvd2VkOiB2YWx1ZSxcbiAgICAgICAgICAgIH0gYXMgR3JvdXBQZXJtaXNzaW9uTW9kZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmllbGQuc2V0VmFsdWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShncm91cFBlcm1pc3Npb25zKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUdyb3VwKGdyb3VwOiBHcm91cE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlUGVybWlzc2lvblVuZGVmaW5lZChncm91cCk7XG4gICAgICAgIGlmIChncm91cC51c2Vycykge1xuICAgICAgICAgICAgZ3JvdXAudXNlcnMuZm9yRWFjaCgodXNlckdyb3VwOiBVc2VyR3JvdXBNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIHVzZXJHcm91cC5pZEdyb3VwID0gZ3JvdXAuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JvdXAucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIGdyb3VwLnBlcm1pc3Npb25zLmZvckVhY2goKGdyb3VwUGVybWlzc2lvbjogR3JvdXBQZXJtaXNzaW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBncm91cFBlcm1pc3Npb24uaWRHcm91cCA9IGdyb3VwLmlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLnNhdmUoZ3JvdXApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldEdyb3VwcygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cFVzZXJzID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVQZXJtaXNzaW9uVW5kZWZpbmVkKGdyb3VwOiBHcm91cE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGdyb3VwLnBlcm1pc3Npb25zID0gZ3JvdXAucGVybWlzc2lvbnMuZmlsdGVyKChwZXJtaXNzaW9uOiBHcm91cFBlcm1pc3Npb25Nb2RlbCkgPT4gcGVybWlzc2lvbi5pc0FsbG93ZWQgIT09IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcm91cHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudEdyb3VwU2VydmljZS5nZXRBbGwoKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gdGhpcy5ncm91cHMgPSBkYXRhKTtcbiAgICB9XG59XG4iLCI8Y2F1Y2EtZHgtZGF0YS1ncmlkIFthbGxvd1ByaW50XT1cInNob3dQcmludEJ1dHRvblwiIGtleUV4cHI9XCJpZFwiIFtkYXRhU291cmNlXT1cImdyb3Vwc1wiXG4gICAgKG9uUm93SW5zZXJ0ZWQpPVwib25Sb3dJbnNlcnRlZCgkZXZlbnQpXCIgKG9uSW5pdE5ld1Jvdyk9XCJvbkluaXROZXdSb3coKVwiIChvblJvd1VwZGF0ZWQpPVwib25Sb3dVcGRhdGVkKCRldmVudClcIlxuICAgIChvbkVkaXRpbmdTdGFydCk9XCJvbkVkaXRpbmdTdGFydCgkZXZlbnQpXCIgKG9uUm93UmVtb3ZlZCk9XCJvblJvd1JlbW92ZWQoJGV2ZW50KVwiPlxuXG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwibmFtZVwiIFtjYXB0aW9uXT1cIidtYW5hZ2VtZW50Lm5hbWUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxkeGktdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJhc3luY1wiIFttZXNzYWdlXT1cIidtYW5hZ2VtZW50Lmdyb3VwTmFtZUFscmVhZHlVc2VkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvbkNhbGxiYWNrXT1cImdyb3VwTmFtZUFscmVhZHlVc2VkVmFsaWRhdGlvblwiPjwvZHhpLXZhbGlkYXRpb24tcnVsZT5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiYXNzaWduYWJsZUJ5QWxsVXNlcnNcIiBbY2FwdGlvbl09XCInbWFuYWdlbWVudC5hc3NpZ25hYmxlQnlBbGxVc2VycycgfCB0cmFuc2xhdGVcIlxuICAgICAgICBkYXRhVHlwZT1cImJvb2xlYW5cIj5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidXNlcnNcIiBbY2FwdGlvbl09XCInbWFuYWdlbWVudC51c2VycycgfCB0cmFuc2xhdGVcIiBlZGl0Q2VsbFRlbXBsYXRlPVwidXNlcnNFZGl0VGVtcGxhdGVcIlxuICAgICAgICBbY2FsY3VsYXRlQ2VsbFZhbHVlXT1cImNhbGN1bGF0ZVVzZXJzQ2VsbFZhbHVlXCI+XG4gICAgPC9keGktY29sdW1uPlxuICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInBlcm1pc3Npb25zXCIgW2NhcHRpb25dPVwiJ21hbmFnZW1lbnQucGVybWlzc2lvbnMnIHwgdHJhbnNsYXRlXCIgW3Zpc2libGVdPVwiZmFsc2VcIlxuICAgICAgICBlZGl0Q2VsbFRlbXBsYXRlPVwicGVybWlzc2lvbnNFZGl0VGVtcGxhdGVcIj5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4by1leHBvcnQgW2VuYWJsZWRdPVwiZmFsc2VcIj48L2R4by1leHBvcnQ+XG4gICAgPGR4by1lZGl0aW5nIG1vZGU9XCJwb3B1cFwiIFthbGxvd0FkZGluZ109XCJ0cnVlXCIgW2FsbG93VXBkYXRpbmddPVwidHJ1ZVwiIFthbGxvd0RlbGV0aW5nXT1cInRydWVcIiBbdXNlSWNvbnNdPVwidHJ1ZVwiPlxuICAgICAgICA8ZHhvLXBvcHVwIFtzaG93VGl0bGVdPVwidHJ1ZVwiIFt0aXRsZV09XCInbWFuYWdlbWVudC5ncm91cCcgfCB0cmFuc2xhdGVcIiBbZnVsbFNjcmVlbl09XCIhc2hvd0NvbHVtblwiPjwvZHhvLXBvcHVwPlxuICAgICAgICA8ZHhvLWZvcm0gY29sQ291bnQ9XCIxXCIgW2xhYmVsTG9jYXRpb25dPVwic2hvd0NvbHVtblhTID8gJ2xlZnQnIDogJ3RvcCdcIj5cbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJuYW1lXCIgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiPjwvZHhpLWl0ZW0+XG4gICAgICAgICAgICA8ZHhpLWl0ZW0gZGF0YUZpZWxkPVwidXNlcnNcIj48L2R4aS1pdGVtPlxuICAgICAgICAgICAgPGR4aS1pdGVtIGRhdGFGaWVsZD1cInBlcm1pc3Npb25zXCI+PC9keGktaXRlbT5cbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJhc3NpZ25hYmxlQnlBbGxVc2Vyc1wiPjwvZHhpLWl0ZW0+XG4gICAgICAgIDwvZHhvLWZvcm0+XG4gICAgPC9keG8tZWRpdGluZz5cblxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZmllbGQgb2YgJ3VzZXJzRWRpdFRlbXBsYXRlJ1wiPlxuICAgICAgICA8ZHgtdGFnLWJveCB2YWx1ZUV4cHI9XCJpZFwiIFtkaXNwbGF5RXhwcl09XCJmdWxsTmFtZVwiIFtkYXRhU291cmNlXT1cInVzZXJzXCIgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2VhcmNoRXhwcl09XCJmdWxsTmFtZVwiIChvbkluaXRpYWxpemVkKT1cImdldEdyb3VwVXNlcihmaWVsZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwic2V0R3JvdXBVc2VyKGZpZWxkLCAkZXZlbnQpXCI+XG4gICAgICAgIDwvZHgtdGFnLWJveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGZpZWxkIG9mICdwZXJtaXNzaW9uc0VkaXRUZW1wbGF0ZSdcIj5cbiAgICAgICAgPGR4LWxpc3QgW2RhdGFTb3VyY2VdPVwicGVybWlzc2lvbnNcIiBpdGVtVGVtcGxhdGU9XCJyb3dUZW1wbGF0ZVwiIFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW3NlYXJjaEV4cHJdPVwiWyduYW1lJywgJ3RhZyddXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cImhvdmVyU3RhdGVQZXJtaXNzaW9uXCI+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHBlcm1pc3Npb24gb2YgJ3Jvd1RlbXBsYXRlJ1wiPlxuICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggW3RleHRdPVwicGVybWlzc2lvbi5uYW1lXCIgKG9uSW5pdGlhbGl6ZWQpPVwiZ2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZCwgcGVybWlzc2lvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjaGVja0JveFRvZ2dsZWQoZmllbGQsIHBlcm1pc3Npb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2R4LWxpc3Q+XG4gICAgPC9kaXY+XG48L2NhdWNhLWR4LWRhdGEtZ3JpZD4iXX0=
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtbWFuYWdlbWVudC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYW5hZ2VtZW50L3NyYy9saWIvY2F1Y2EtbWFuYWdlbWVudC1ncm91cC9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hbmFnZW1lbnQvc3JjL2xpYi9jYXVjYS1tYW5hZ2VtZW50LWdyb3VwL2NhdWNhLW1hbmFnZW1lbnQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUMwQmpDLDJCQUFvRCxxQkFBQTtJQUVwQixpUUFBaUIsZUFBQSxxQ0FBMkIsQ0FBQSxJQUFDLHNQQUNuRCxlQUFBLHFDQUEyQixDQUFBLElBRHdCO0lBRXpFLGlCQUFhLEVBQUE7OztJQUhjLGVBQXdCO0lBQXhCLDZDQUF3Qiw0QkFBQSx1QkFBQSwrQkFBQTs7OztJQVEvQywyQkFBbUQsdUJBQUE7SUFDUiw4VEFBaUIsZUFBQSwyREFBOEMsQ0FBQSxJQUFDLG9UQUNqRixlQUFBLHdEQUEwQyxDQUFBLElBRHVDO0lBRXZHLGlCQUFlLEVBQUE7OztJQUZELGVBQXdCO0lBQXhCLHlDQUF3Qjs7OztJQUpsRCwyQkFBMEQsa0JBQUE7SUFHbEQsc0ZBSU07SUFDVixpQkFBVSxFQUFBOzs7SUFQRCxlQUEwQjtJQUExQiwrQ0FBMEIsdUJBQUEsMENBQUEsa0RBQUE7SUFFRSxlQUFnQjtJQUFoQiw0Q0FBZ0I7O0FEcEI3RCxNQUFNLE9BQU8sNkJBQTZCO0lBa0J0QyxZQUNZLHNCQUE4QyxFQUM5QyxxQkFBNEMsRUFDNUMsMkJBQXdE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LDBCQUFBO1FBSWpCLGVBQXlDO1FBQXpDLGtFQUF5QztRQUNoQyxlQUF5RDtRQUF6RCxrRkFBeUQsMERBQUE7UUFHbEQsZUFBeUQ7UUFBekQsa0ZBQXlELHlDQUFBO1FBR3hFLGVBQTBDO1FBQTFDLG1FQUEwQyxtREFBQTtRQUdwQyxlQUFnRDtRQUFoRCwwRUFBZ0Qsa0JBQUE7UUFHeEUsZUFBaUI7UUFBakIsK0JBQWlCO1FBQ0gsZUFBb0I7UUFBcEIsa0NBQW9CLHVCQUFBLHVCQUFBLGtCQUFBO1FBQy9CLGVBQWtCO1FBQWxCLGdDQUFrQixxREFBQSwrQkFBQTtRQUNOLGVBQStDO1FBQS9DLGlFQUErQztRQUN2QyxlQUFtQjtRQUFuQixpQ0FBbUI7UUFHSCxlQUFvQztRQUFwQyxzREFBb0M7UUFJM0QsZUFBc0I7UUFBdEIsa0RBQXNCO1FBTXRCLGVBQTRCO1FBQTVCLHdEQUE0Qjs7dUZEakIvQyw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDSSx3QkFBd0I7d0xBTTNCLGVBQWU7a0JBRHJCLEtBQUs7WUFHQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFHQyx3QkFBd0I7a0JBRDlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy91c2VyLW1vZGVsJztcbmltcG9ydCB7IFVzZXJHcm91cE1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy91c2VyLWdyb3VwLW1vZGVsJztcbmltcG9ydCB7IEdyb3VwTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2dyb3VwLW1vZGVsJztcbmltcG9ydCB7IEdyb3VwUGVybWlzc2lvbk1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy9ncm91cC1wZXJtaXNzaW9uLW1vZGVsJztcbmltcG9ydCB7IE1hbmFnZW1lbnRHcm91cFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VydmljZXMvbWFuYWdlbWVudC1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hbmFnZW1lbnRVc2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9tYW5hZ2VtZW50LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3Blcm1pc3Npb24tbW9kZWwnO1xuaW1wb3J0IHsgTWFuYWdlbWVudFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL21hbmFnZW1lbnQtcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXVjYS1tYW5hZ2VtZW50LWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2EtbWFuYWdlbWVudC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2F1Y2EtbWFuYWdlbWVudC1ncm91cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhTWFuYWdlbWVudEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93UHJpbnRCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvdmVyU3RhdGVQZXJtaXNzaW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93QXNzaWduYWJsZUJ5QWxsVXNlcnMgPSB0cnVlO1xuXG4gICAgcHVibGljIGdyb3VwczogR3JvdXBNb2RlbFtdID0gW107XG4gICAgcHVibGljIHVzZXJzOiBVc2VyTW9kZWxbXSA9IFtdO1xuICAgIHB1YmxpYyBwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10gPSBbXTtcbiAgICBwdWJsaWMgdXNlckZ1bGxOYW1lOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgc2hvd0NvbHVtbiA9IHRydWU7XG4gICAgcHVibGljIHNob3dDb2x1bW5YUyA9IHRydWU7XG4gICAgcHVibGljIHRyYW5zbGF0aW9uczogYW55ID0gW107XG5cbiAgICBwcml2YXRlIGdyb3VwVXNlcnM6IGFueTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYW5hZ2VtZW50R3JvdXBTZXJ2aWNlOiBNYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRVc2VyU2VydmljZTogTWFuYWdlbWVudFVzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1hbmFnZW1lbnRQZXJtaXNzaW9uU2VydmljZTogTWFuYWdlbWVudFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoWycobWF4LXdpZHRoOiAxMDAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtbiA9ICFyZXN1bHQubWF0Y2hlcztcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFsnKG1heC13aWR0aDogNjAwcHgpJ10pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NvbHVtblhTID0gIXJlc3VsdC5tYXRjaGVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudFVzZXJTZXJ2aWNlLmdldEFsbDxVc2VyTW9kZWw+KCkuc3Vic2NyaWJlKChkYXRhOiBVc2VyTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VycyA9IGRhdGE7XG4gICAgICAgICAgICB0aGlzLnVzZXJzLmZvckVhY2goKHVzZXI6IFVzZXJNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh1c2VyLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyLmZpcnN0TmFtZSAhPT0gJycgJiYgdXNlci5sYXN0TmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckZ1bGxOYW1lW3VzZXIuaWRdICA9IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50UGVybWlzc2lvblNlcnZpY2UuZ2V0QWxsKCkuc3Vic2NyaWJlKChwZXJtaXNzaW9uczogUGVybWlzc2lvbk1vZGVsW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25JbmRleCA9IHBlcm1pc3Npb25zLmZpbmRJbmRleCgoYzogUGVybWlzc2lvbk1vZGVsKSA9PiBjLnRhZyA9PT0gJ0NhbkFjY2Vzc1Blcm1pc3Npb25zJyk7XG4gICAgICAgICAgICBpZiAocGVybWlzc2lvbkluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zLnNwbGljZShwZXJtaXNzaW9uSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGVybWlzc2lvbnMuc29ydCgoYTogUGVybWlzc2lvbk1vZGVsLCBiOiBQZXJtaXNzaW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5uYW1lIDwgYi5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0R3JvdXBzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZ1bGxOYW1lKGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGEuZmlyc3ROYW1lfSAke2RhdGEubGFzdE5hbWV9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0R3JvdXBVc2VyKGZpZWxkOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCB1c2Vyczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBVc2Vycykge1xuICAgICAgICAgICAgdGhpcy5ncm91cFVzZXJzLmZvckVhY2goKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHVzZXJzLnB1c2godXNlci5pZFVzZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIHVzZXJzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0R3JvdXBVc2VyKGZpZWxkOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFVzZXI6IFVzZXJHcm91cE1vZGVsW10gPSBbXTtcblxuICAgICAgICBlLnZhbHVlLmZvckVhY2goKGlkVXNlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm91cEluZGV4ID0gKGZpZWxkLmRhdGEudXNlcnMgfHwgW10pLmZpbmRJbmRleCgoZzogYW55KSA9PiBnLmlkVXNlciA9PT0gaWRVc2VyKTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBVc2VyLnB1c2goeyBpZFVzZXIsIH0gYXMgVXNlckdyb3VwTW9kZWwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBncm91cFVzZXIucHVzaChmaWVsZC5kYXRhLnVzZXJzW2dyb3VwSW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGQuc2V0VmFsdWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShncm91cFVzZXIpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEdyb3VwUGVybWlzc2lvbihmaWVsZDogYW55LCBlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ3JvdXBVc2VyOiBVc2VyR3JvdXBNb2RlbFtdID0gW107XG5cbiAgICAgICAgZS52YWx1ZS5mb3JFYWNoKChpZFVzZXI6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgZ3JvdXBVc2VyLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkVXNlcixcbiAgICAgICAgICAgIH0gYXMgVXNlckdyb3VwTW9kZWwpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZC5zZXRWYWx1ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGdyb3VwVXNlcikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZDogYW55LCBwZXJtaXNzaW9uOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFBlcm1pc3Npb24gPSAoZmllbGQudmFsdWUgfHwgW10pLmZpbmQoKHA6IGFueSkgPT4gcC5pZE1vZHVsZVBlcm1pc3Npb24gPT09IHBlcm1pc3Npb24uaWQpO1xuXG4gICAgICAgIGlmIChncm91cFBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50Lm9wdGlvbigndmFsdWUnLCBncm91cFBlcm1pc3Npb24uaXNBbGxvd2VkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50Lm9wdGlvbigndmFsdWUnLCB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrQm94VG9nZ2xlZChmaWVsZDogYW55LCBwZXJtaXNzaW9uOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoZS5jb21wb25lbnQuc2tpcE9uVmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5za2lwT25WYWx1ZUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5jb21wb25lbnQuc2V0VW5kZWZpbmVkTmV4dFRpbWUpIHtcbiAgICAgICAgICAgIGUuY29tcG9uZW50LnNldFVuZGVmaW5lZE5leHRUaW1lID0gZmFsc2U7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5za2lwT25WYWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgZS5jb21wb25lbnQub3B0aW9uKCd2YWx1ZScsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB0aGlzLnNldFBlcm1pc3Npb25TdGF0dXMoZmllbGQsIHBlcm1pc3Npb24sIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUudmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBlLmNvbXBvbmVudC5zZXRVbmRlZmluZWROZXh0VGltZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFBlcm1pc3Npb25TdGF0dXMoZmllbGQsIHBlcm1pc3Npb24sIGUudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd0luc2VydGVkKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVHcm91cChlLmRhdGEgYXMgR3JvdXBNb2RlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm93VXBkYXRlZChlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlR3JvdXAoZS5kYXRhIGFzIEdyb3VwTW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd1JlbW92ZWQoZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gKGUuZGF0YSBhcyBHcm91cE1vZGVsKTtcbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLmRlbGV0ZShncm91cC5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0R3JvdXBzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYWxjdWxhdGVVc2Vyc0NlbGxWYWx1ZSA9IChlOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgICBjb25zdCB1c2VycyA9IChlLnVzZXJzID8gZS51c2VycyBhcyBVc2VyR3JvdXBNb2RlbFtdIDogW10pO1xuICAgICAgICBsZXQgdXNlcnNOYW1lczogYW55W10gPSBbXTtcbiAgICAgICAgdXNlcnMuZm9yRWFjaCgodXNlcjogVXNlckdyb3VwTW9kZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJHcm91cCA9IHRoaXMudXNlcnMuZmlsdGVyKCh1OiBVc2VyTW9kZWwpID0+IHUuaWQgPT09IHVzZXIuaWRVc2VyKTtcbiAgICAgICAgICAgIGlmICh1c2VyR3JvdXAgJiYgdXNlckdyb3VwWzBdKSB7XG4gICAgICAgICAgICAgICAgdXNlcnNOYW1lcy5wdXNoKHVzZXJHcm91cFswXS5maXJzdE5hbWUgKyAnICcgKyB1c2VyR3JvdXBbMF0ubGFzdE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdXNlcnNOYW1lcyA9IHVzZXJzTmFtZXMuc29ydCgob25lOiBzdHJpbmcsIHR3bzogc3RyaW5nKSA9PiAob25lIDwgdHdvID8gLTEgOiAxKSk7XG4gICAgICAgIHJldHVybiB1c2Vyc05hbWVzLmpvaW4oJywgJyk7XG4gICAgfTtcblxuICAgIHB1YmxpYyBvbkVkaXRpbmdTdGFydChlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cFVzZXJzID0gZS5kYXRhLnVzZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkluaXROZXdSb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBVc2VycyA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBncm91cE5hbWVBbHJlYWR5VXNlZFZhbGlkYXRpb24gPSAoZTogYW55KTogUHJvbWlzZTxib29sZWFuPiA9PiB0aGlzLm1hbmFnZW1lbnRHcm91cFNlcnZpY2UuaGFzRXhpc3RpbmdHcm91cE5hbWUoZS5kYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChleGlzdDogYm9vbGVhbikgPT4gIWV4aXN0KVxuICAgICAgICApLnRvUHJvbWlzZSgpO1xuXG4gICAgcHJpdmF0ZSBzZXRQZXJtaXNzaW9uU3RhdHVzKGZpZWxkOiBhbnksIHBlcm1pc3Npb246IGFueSwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cFBlcm1pc3Npb25zID0gZmllbGQudmFsdWUgfHwgW107XG4gICAgICAgIGNvbnN0IGdyb3VwSW5kZXggPSBncm91cFBlcm1pc3Npb25zLmZpbmRJbmRleCgocDogR3JvdXBQZXJtaXNzaW9uTW9kZWwpID0+IHAuaWRNb2R1bGVQZXJtaXNzaW9uID09PSBwZXJtaXNzaW9uLmlkKTtcblxuICAgICAgICBpZiAoZ3JvdXBJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBncm91cFBlcm1pc3Npb25zW2dyb3VwSW5kZXhdLmlzQWxsb3dlZCA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ3JvdXBQZXJtaXNzaW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZE1vZHVsZVBlcm1pc3Npb246IHBlcm1pc3Npb24uaWQsXG4gICAgICAgICAgICAgICAgaXNBbGxvd2VkOiB2YWx1ZSxcbiAgICAgICAgICAgIH0gYXMgR3JvdXBQZXJtaXNzaW9uTW9kZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmllbGQuc2V0VmFsdWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShncm91cFBlcm1pc3Npb25zKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUdyb3VwKGdyb3VwOiBHcm91cE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlUGVybWlzc2lvblVuZGVmaW5lZChncm91cCk7XG4gICAgICAgIGlmIChncm91cC51c2Vycykge1xuICAgICAgICAgICAgZ3JvdXAudXNlcnMuZm9yRWFjaCgodXNlckdyb3VwOiBVc2VyR3JvdXBNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIHVzZXJHcm91cC5pZEdyb3VwID0gZ3JvdXAuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JvdXAucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIGdyb3VwLnBlcm1pc3Npb25zLmZvckVhY2goKGdyb3VwUGVybWlzc2lvbjogR3JvdXBQZXJtaXNzaW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBncm91cFBlcm1pc3Npb24uaWRHcm91cCA9IGdyb3VwLmlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tYW5hZ2VtZW50R3JvdXBTZXJ2aWNlLnNhdmUoZ3JvdXApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldEdyb3VwcygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cFVzZXJzID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVQZXJtaXNzaW9uVW5kZWZpbmVkKGdyb3VwOiBHcm91cE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGdyb3VwLnBlcm1pc3Npb25zID0gZ3JvdXAucGVybWlzc2lvbnMuZmlsdGVyKChwZXJtaXNzaW9uOiBHcm91cFBlcm1pc3Npb25Nb2RlbCkgPT4gcGVybWlzc2lvbi5pc0FsbG93ZWQgIT09IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcm91cHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFuYWdlbWVudEdyb3VwU2VydmljZS5nZXRBbGwoKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gdGhpcy5ncm91cHMgPSBkYXRhKTtcbiAgICB9XG59XG4iLCI8Y2F1Y2EtZHgtZGF0YS1ncmlkIFthbGxvd1ByaW50XT1cInNob3dQcmludEJ1dHRvblwiIGtleUV4cHI9XCJpZFwiIFtkYXRhU291cmNlXT1cImdyb3Vwc1wiXG4gICAgKG9uUm93SW5zZXJ0ZWQpPVwib25Sb3dJbnNlcnRlZCgkZXZlbnQpXCIgKG9uSW5pdE5ld1Jvdyk9XCJvbkluaXROZXdSb3coKVwiIChvblJvd1VwZGF0ZWQpPVwib25Sb3dVcGRhdGVkKCRldmVudClcIlxuICAgIChvbkVkaXRpbmdTdGFydCk9XCJvbkVkaXRpbmdTdGFydCgkZXZlbnQpXCIgKG9uUm93UmVtb3ZlZCk9XCJvblJvd1JlbW92ZWQoJGV2ZW50KVwiPlxuXG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwibmFtZVwiIFtjYXB0aW9uXT1cIidtYW5hZ2VtZW50Lm5hbWUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxkeGktdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJhc3luY1wiIFttZXNzYWdlXT1cIidtYW5hZ2VtZW50Lmdyb3VwTmFtZUFscmVhZHlVc2VkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvbkNhbGxiYWNrXT1cImdyb3VwTmFtZUFscmVhZHlVc2VkVmFsaWRhdGlvblwiPjwvZHhpLXZhbGlkYXRpb24tcnVsZT5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiYXNzaWduYWJsZUJ5QWxsVXNlcnNcIiBbY2FwdGlvbl09XCInbWFuYWdlbWVudC5hc3NpZ25hYmxlQnlBbGxVc2VycycgfCB0cmFuc2xhdGVcIlxuICAgICAgICBkYXRhVHlwZT1cImJvb2xlYW5cIiBbdmlzaWJsZV09XCJzaG93QXNzaWduYWJsZUJ5QWxsVXNlcnNcIj5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidXNlcnNcIiBbY2FwdGlvbl09XCInbWFuYWdlbWVudC51c2VycycgfCB0cmFuc2xhdGVcIiBlZGl0Q2VsbFRlbXBsYXRlPVwidXNlcnNFZGl0VGVtcGxhdGVcIlxuICAgICAgICBbY2FsY3VsYXRlQ2VsbFZhbHVlXT1cImNhbGN1bGF0ZVVzZXJzQ2VsbFZhbHVlXCI+XG4gICAgPC9keGktY29sdW1uPlxuICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInBlcm1pc3Npb25zXCIgW2NhcHRpb25dPVwiJ21hbmFnZW1lbnQucGVybWlzc2lvbnMnIHwgdHJhbnNsYXRlXCIgW3Zpc2libGVdPVwiZmFsc2VcIlxuICAgICAgICBlZGl0Q2VsbFRlbXBsYXRlPVwicGVybWlzc2lvbnNFZGl0VGVtcGxhdGVcIj5cbiAgICA8L2R4aS1jb2x1bW4+XG4gICAgPGR4by1leHBvcnQgW2VuYWJsZWRdPVwiZmFsc2VcIj48L2R4by1leHBvcnQ+XG4gICAgPGR4by1lZGl0aW5nIG1vZGU9XCJwb3B1cFwiIFthbGxvd0FkZGluZ109XCJ0cnVlXCIgW2FsbG93VXBkYXRpbmddPVwidHJ1ZVwiIFthbGxvd0RlbGV0aW5nXT1cInRydWVcIiBbdXNlSWNvbnNdPVwidHJ1ZVwiPlxuICAgICAgICA8ZHhvLXBvcHVwIFtzaG93VGl0bGVdPVwidHJ1ZVwiIFt0aXRsZV09XCInbWFuYWdlbWVudC5ncm91cCcgfCB0cmFuc2xhdGVcIiBbZnVsbFNjcmVlbl09XCIhc2hvd0NvbHVtblwiPjwvZHhvLXBvcHVwPlxuICAgICAgICA8ZHhvLWZvcm0gY29sQ291bnQ9XCIxXCIgW2xhYmVsTG9jYXRpb25dPVwic2hvd0NvbHVtblhTID8gJ2xlZnQnIDogJ3RvcCdcIj5cbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJuYW1lXCIgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiPjwvZHhpLWl0ZW0+XG4gICAgICAgICAgICA8ZHhpLWl0ZW0gZGF0YUZpZWxkPVwidXNlcnNcIj48L2R4aS1pdGVtPlxuICAgICAgICAgICAgPGR4aS1pdGVtIGRhdGFGaWVsZD1cInBlcm1pc3Npb25zXCI+PC9keGktaXRlbT5cbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJhc3NpZ25hYmxlQnlBbGxVc2Vyc1wiIFt2aXNpYmxlXT1cInNob3dBc3NpZ25hYmxlQnlBbGxVc2Vyc1wiPjwvZHhpLWl0ZW0+XG4gICAgICAgIDwvZHhvLWZvcm0+XG4gICAgPC9keG8tZWRpdGluZz5cblxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZmllbGQgb2YgJ3VzZXJzRWRpdFRlbXBsYXRlJ1wiPlxuICAgICAgICA8ZHgtdGFnLWJveCB2YWx1ZUV4cHI9XCJpZFwiIFtkaXNwbGF5RXhwcl09XCJmdWxsTmFtZVwiIFtkYXRhU291cmNlXT1cInVzZXJzXCIgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2VhcmNoRXhwcl09XCJmdWxsTmFtZVwiIChvbkluaXRpYWxpemVkKT1cImdldEdyb3VwVXNlcihmaWVsZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwic2V0R3JvdXBVc2VyKGZpZWxkLCAkZXZlbnQpXCI+XG4gICAgICAgIDwvZHgtdGFnLWJveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGZpZWxkIG9mICdwZXJtaXNzaW9uc0VkaXRUZW1wbGF0ZSdcIj5cbiAgICAgICAgPGR4LWxpc3QgW2RhdGFTb3VyY2VdPVwicGVybWlzc2lvbnNcIiBpdGVtVGVtcGxhdGU9XCJyb3dUZW1wbGF0ZVwiIFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW3NlYXJjaEV4cHJdPVwiWyduYW1lJywgJ3RhZyddXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cImhvdmVyU3RhdGVQZXJtaXNzaW9uXCI+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHBlcm1pc3Npb24gb2YgJ3Jvd1RlbXBsYXRlJ1wiPlxuICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggW3RleHRdPVwicGVybWlzc2lvbi5uYW1lXCIgKG9uSW5pdGlhbGl6ZWQpPVwiZ2V0UGVybWlzc2lvblN0YXR1cyhmaWVsZCwgcGVybWlzc2lvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjaGVja0JveFRvZ2dsZWQoZmllbGQsIHBlcm1pc3Npb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2R4LWxpc3Q+XG4gICAgPC9kaXY+XG48L2NhdWNhLWR4LWRhdGEtZ3JpZD4iXX0=
@@ -213,6 +213,7 @@ class CaucaManagementGroupComponent {
213
213
  this.managementPermissionService = managementPermissionService;
214
214
  this.showPrintButton = true;
215
215
  this.hoverStatePermission = true;
216
+ this.showAssignableByAllUsers = true;
216
217
  this.groups = [];
217
218
  this.users = [];
218
219
  this.permissions = [];
@@ -389,7 +390,7 @@ class CaucaManagementGroupComponent {
389
390
  }
390
391
  }
391
392
  CaucaManagementGroupComponent.ɵfac = function CaucaManagementGroupComponent_Factory(t) { return new (t || CaucaManagementGroupComponent)(i0.ɵɵdirectiveInject(ManagementGroupService), i0.ɵɵdirectiveInject(ManagementUserService), i0.ɵɵdirectiveInject(ManagementPermissionService), i0.ɵɵdirectiveInject(i4.BreakpointObserver)); };
392
- CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission" }, decls: 22, vars: 34, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption"], ["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"], ["dataField", "assignableByAllUsers"], [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) {
393
+ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission", showAssignableByAllUsers: "showAssignableByAllUsers" }, decls: 22, vars: 36, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption", "visible"], ["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"], ["dataField", "assignableByAllUsers", 3, "visible"], [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) {
393
394
  if (rf & 1) {
394
395
  i0.ɵɵelementStart(0, "cauca-dx-data-grid", 0);
395
396
  i0.ɵɵ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); });
@@ -418,26 +419,28 @@ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
418
419
  if (rf & 2) {
419
420
  i0.ɵɵproperty("allowPrint", ctx.showPrintButton)("dataSource", ctx.groups);
420
421
  i0.ɵɵadvance(1);
421
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 22, "management.name"));
422
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 24, "management.name"));
422
423
  i0.ɵɵadvance(2);
423
- i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 24, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
424
+ i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 26, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
424
425
  i0.ɵɵadvance(2);
425
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 26, "management.assignableByAllUsers"));
426
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 28, "management.assignableByAllUsers"))("visible", ctx.showAssignableByAllUsers);
426
427
  i0.ɵɵadvance(2);
427
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 28, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
428
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 30, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
428
429
  i0.ɵɵadvance(2);
429
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 30, "management.permissions"))("visible", false);
430
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 32, "management.permissions"))("visible", false);
430
431
  i0.ɵɵadvance(2);
431
432
  i0.ɵɵproperty("enabled", false);
432
433
  i0.ɵɵadvance(1);
433
434
  i0.ɵɵproperty("allowAdding", true)("allowUpdating", true)("allowDeleting", true)("useIcons", true);
434
435
  i0.ɵɵadvance(1);
435
- i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 32, "management.group"))("fullScreen", !ctx.showColumn);
436
+ i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 34, "management.group"))("fullScreen", !ctx.showColumn);
436
437
  i0.ɵɵadvance(2);
437
438
  i0.ɵɵproperty("labelLocation", ctx.showColumnXS ? "left" : "top");
438
439
  i0.ɵɵadvance(1);
439
440
  i0.ɵɵproperty("isRequired", true);
440
- i0.ɵɵadvance(4);
441
+ i0.ɵɵadvance(3);
442
+ i0.ɵɵproperty("visible", ctx.showAssignableByAllUsers);
443
+ i0.ɵɵadvance(1);
441
444
  i0.ɵɵproperty("dxTemplateOf", "usersEditTemplate");
442
445
  i0.ɵɵadvance(1);
443
446
  i0.ɵɵproperty("dxTemplateOf", "permissionsEditTemplate");
@@ -446,11 +449,13 @@ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
446
449
  (function () {
447
450
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaManagementGroupComponent, [{
448
451
  type: Component,
449
- args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\">\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 <dxi-item dataField=\"assignableByAllUsers\"></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>" }]
452
+ args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\" [visible]=\"showAssignableByAllUsers\">\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 <dxi-item dataField=\"assignableByAllUsers\" [visible]=\"showAssignableByAllUsers\"></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>" }]
450
453
  }], function () { return [{ type: ManagementGroupService }, { type: ManagementUserService }, { type: ManagementPermissionService }, { type: i4.BreakpointObserver }]; }, { showPrintButton: [{
451
454
  type: Input
452
455
  }], hoverStatePermission: [{
453
456
  type: Input
457
+ }], showAssignableByAllUsers: [{
458
+ type: Input
454
459
  }] });
455
460
  })();
456
461
 
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-management.mjs","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/cauca-management.component.html","../../../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.html","../../../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-user/cauca-management-user.component.html","../../../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 public 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 public constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","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 public 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 public 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 public 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","<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=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\">\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 <dxi-item dataField=\"assignableByAllUsers\"></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>","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 @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n\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 private groupUsers: any;\n\n public 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) => c.tag === 'CanAccessPermissions');\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\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> => this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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 public twoFactorAuthenticatorEnabled = false;\n\n public 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 public 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> => this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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","<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","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 public constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n public 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 public assignableByAllUsers: boolean;\n\n public constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n public 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"],"names":["i1","i1.ManagementGroupService","i2.ManagementUserService","i3.ManagementPermissionService","i1.ManagementUserService","i2"],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-management.mjs","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/cauca-management.component.html","../../../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.html","../../../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-user/cauca-management-user.component.html","../../../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 public 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 public constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","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 public 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 public 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 public 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","<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=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\" [visible]=\"showAssignableByAllUsers\">\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 <dxi-item dataField=\"assignableByAllUsers\" [visible]=\"showAssignableByAllUsers\"></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>","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 @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n @Input()\n public showAssignableByAllUsers = true;\n\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 private groupUsers: any;\n\n public 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) => c.tag === 'CanAccessPermissions');\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\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> => this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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 public twoFactorAuthenticatorEnabled = false;\n\n public 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 public 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> => this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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","<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","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 public constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n public 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 public assignableByAllUsers: boolean;\n\n public constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n public 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"],"names":["i1","i1.ManagementGroupService","i2.ManagementUserService","i3.ManagementPermissionService","i1.ManagementUserService","i2"],"mappings":"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"}
@@ -191,6 +191,7 @@ class CaucaManagementGroupComponent {
191
191
  this.managementPermissionService = managementPermissionService;
192
192
  this.showPrintButton = true;
193
193
  this.hoverStatePermission = true;
194
+ this.showAssignableByAllUsers = true;
194
195
  this.groups = [];
195
196
  this.users = [];
196
197
  this.permissions = [];
@@ -367,7 +368,7 @@ class CaucaManagementGroupComponent {
367
368
  }
368
369
  }
369
370
  CaucaManagementGroupComponent.ɵfac = function CaucaManagementGroupComponent_Factory(t) { return new (t || CaucaManagementGroupComponent)(i0.ɵɵdirectiveInject(ManagementGroupService), i0.ɵɵdirectiveInject(ManagementUserService), i0.ɵɵdirectiveInject(ManagementPermissionService), i0.ɵɵdirectiveInject(i4.BreakpointObserver)); };
370
- CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission" }, decls: 22, vars: 34, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption"], ["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"], ["dataField", "assignableByAllUsers"], [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) {
371
+ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaManagementGroupComponent, selectors: [["cauca-management-group"]], inputs: { showPrintButton: "showPrintButton", hoverStatePermission: "hoverStatePermission", showAssignableByAllUsers: "showAssignableByAllUsers" }, decls: 22, vars: 36, consts: [["keyExpr", "id", 3, "allowPrint", "dataSource", "onRowInserted", "onInitNewRow", "onRowUpdated", "onEditingStart", "onRowRemoved"], ["dataField", "name", 3, "caption"], ["type", "async", 3, "message", "validationCallback"], ["dataField", "assignableByAllUsers", "dataType", "boolean", 3, "caption", "visible"], ["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"], ["dataField", "assignableByAllUsers", 3, "visible"], [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) {
371
372
  i0.ɵɵelementStart(0, "cauca-dx-data-grid", 0);
372
373
  i0.ɵɵ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); });
373
374
  i0.ɵɵelementStart(1, "dxi-column", 1);
@@ -394,37 +395,41 @@ CaucaManagementGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
394
395
  } if (rf & 2) {
395
396
  i0.ɵɵproperty("allowPrint", ctx.showPrintButton)("dataSource", ctx.groups);
396
397
  i0.ɵɵadvance(1);
397
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 22, "management.name"));
398
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(2, 24, "management.name"));
398
399
  i0.ɵɵadvance(2);
399
- i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 24, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
400
+ i0.ɵɵproperty("message", i0.ɵɵpipeBind1(4, 26, "management.groupNameAlreadyUsed"))("validationCallback", ctx.groupNameAlreadyUsedValidation);
400
401
  i0.ɵɵadvance(2);
401
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 26, "management.assignableByAllUsers"));
402
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(6, 28, "management.assignableByAllUsers"))("visible", ctx.showAssignableByAllUsers);
402
403
  i0.ɵɵadvance(2);
403
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 28, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
404
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(8, 30, "management.users"))("calculateCellValue", ctx.calculateUsersCellValue);
404
405
  i0.ɵɵadvance(2);
405
- i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 30, "management.permissions"))("visible", false);
406
+ i0.ɵɵproperty("caption", i0.ɵɵpipeBind1(10, 32, "management.permissions"))("visible", false);
406
407
  i0.ɵɵadvance(2);
407
408
  i0.ɵɵproperty("enabled", false);
408
409
  i0.ɵɵadvance(1);
409
410
  i0.ɵɵproperty("allowAdding", true)("allowUpdating", true)("allowDeleting", true)("useIcons", true);
410
411
  i0.ɵɵadvance(1);
411
- i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 32, "management.group"))("fullScreen", !ctx.showColumn);
412
+ i0.ɵɵproperty("showTitle", true)("title", i0.ɵɵpipeBind1(14, 34, "management.group"))("fullScreen", !ctx.showColumn);
412
413
  i0.ɵɵadvance(2);
413
414
  i0.ɵɵproperty("labelLocation", ctx.showColumnXS ? "left" : "top");
414
415
  i0.ɵɵadvance(1);
415
416
  i0.ɵɵproperty("isRequired", true);
416
- i0.ɵɵadvance(4);
417
+ i0.ɵɵadvance(3);
418
+ i0.ɵɵproperty("visible", ctx.showAssignableByAllUsers);
419
+ i0.ɵɵadvance(1);
417
420
  i0.ɵɵproperty("dxTemplateOf", "usersEditTemplate");
418
421
  i0.ɵɵadvance(1);
419
422
  i0.ɵɵproperty("dxTemplateOf", "permissionsEditTemplate");
420
423
  } }, dependencies: [i5.DxCheckBoxComponent, i6.DxTemplateDirective, i7.DxListComponent, i8.DxiItemComponent, i9.DxTagBoxComponent, i10.CaucaDataGridComponent, i8.DxiColumnComponent, i8.DxiValidationRuleComponent, i8.DxoEditingComponent, i8.DxoFormComponent, i8.DxoPopupComponent, i8.DxoExportComponent, i1.TranslatePipe] });
421
424
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaManagementGroupComponent, [{
422
425
  type: Component,
423
- args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\">\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 <dxi-item dataField=\"assignableByAllUsers\"></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>" }]
426
+ args: [{ selector: 'cauca-management-group', template: "<cauca-dx-data-grid [allowPrint]=\"showPrintButton\" keyExpr=\"id\" [dataSource]=\"groups\"\n (onRowInserted)=\"onRowInserted($event)\" (onInitNewRow)=\"onInitNewRow()\" (onRowUpdated)=\"onRowUpdated($event)\"\n (onEditingStart)=\"onEditingStart($event)\" (onRowRemoved)=\"onRowRemoved($event)\">\n\n <dxi-column dataField=\"name\" [caption]=\"'management.name' | translate\">\n <dxi-validation-rule type=\"async\" [message]=\"'management.groupNameAlreadyUsed' | translate\"\n [validationCallback]=\"groupNameAlreadyUsedValidation\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\" [visible]=\"showAssignableByAllUsers\">\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 <dxi-item dataField=\"assignableByAllUsers\" [visible]=\"showAssignableByAllUsers\"></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>" }]
424
427
  }], function () { return [{ type: ManagementGroupService }, { type: ManagementUserService }, { type: ManagementPermissionService }, { type: i4.BreakpointObserver }]; }, { showPrintButton: [{
425
428
  type: Input
426
429
  }], hoverStatePermission: [{
427
430
  type: Input
431
+ }], showAssignableByAllUsers: [{
432
+ type: Input
428
433
  }] }); })();
429
434
 
430
435
  class UserModel {
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-management.mjs","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/cauca-management.component.html","../../../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.html","../../../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-user/cauca-management-user.component.html","../../../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 public 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 public constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","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 public 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 public 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 public 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","<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=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\">\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 <dxi-item dataField=\"assignableByAllUsers\"></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>","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 @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n\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 private groupUsers: any;\n\n public 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) => c.tag === 'CanAccessPermissions');\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\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> => this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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 public twoFactorAuthenticatorEnabled = false;\n\n public 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 public 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> => this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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","<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","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 public constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n public 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 public assignableByAllUsers: boolean;\n\n public constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n public 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"],"names":["i1","i1.ManagementGroupService","i2.ManagementUserService","i3.ManagementPermissionService","i1.ManagementUserService","i2"],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-management.mjs","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/cauca-management.component.html","../../../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.html","../../../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-user/cauca-management-user.component.html","../../../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 public 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 public constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","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 public 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 public 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 public 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","<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=\"assignableByAllUsers\" [caption]=\"'management.assignableByAllUsers' | translate\"\n dataType=\"boolean\" [visible]=\"showAssignableByAllUsers\">\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 <dxi-item dataField=\"assignableByAllUsers\" [visible]=\"showAssignableByAllUsers\"></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>","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 @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n @Input()\n public showAssignableByAllUsers = true;\n\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 private groupUsers: any;\n\n public 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) => c.tag === 'CanAccessPermissions');\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\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> => this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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 public twoFactorAuthenticatorEnabled = false;\n\n public 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 public 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> => this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => !exist)\n ).toPromise();\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","<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","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 public constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n public 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 public assignableByAllUsers: boolean;\n\n public constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n public 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"],"names":["i1","i1.ManagementGroupService","i2.ManagementUserService","i3.ManagementPermissionService","i1.ManagementUserService","i2"],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class CaucaManagementGroupComponent implements OnInit {
13
13
  private managementPermissionService;
14
14
  showPrintButton: boolean;
15
15
  hoverStatePermission: boolean;
16
+ showAssignableByAllUsers: boolean;
16
17
  groups: GroupModel[];
17
18
  users: UserModel[];
18
19
  permissions: PermissionModel[];
@@ -41,5 +42,5 @@ export declare class CaucaManagementGroupComponent implements OnInit {
41
42
  private removePermissionUndefined;
42
43
  private getGroups;
43
44
  static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementGroupComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<CaucaManagementGroupComponent, "cauca-management-group", never, { "showPrintButton": "showPrintButton"; "hoverStatePermission": "hoverStatePermission"; }, {}, never, never, false>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<CaucaManagementGroupComponent, "cauca-management-group", never, { "showPrintButton": "showPrintButton"; "hoverStatePermission": "hoverStatePermission"; "showAssignableByAllUsers": "showAssignableByAllUsers"; }, {}, never, never, false>;
45
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/management",
3
- "version": "14.0.0",
3
+ "version": "14.0.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=14.2.0",
6
6
  "@angular/core": ">=14.2.0",