@c8y/ngx-components 1018.0.252 → 1018.0.256

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.
@@ -721,12 +721,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
721
721
  }] } });
722
722
 
723
723
  class DashboardAvailabilityComponent {
724
- constructor(userGroupService, gainsightService) {
724
+ constructor(userGroupService, gainsightService, permissions) {
725
725
  this.userGroupService = userGroupService;
726
726
  this.gainsightService = gainsightService;
727
+ this.permissions = permissions;
727
728
  this.globalRolesIdsChange = new EventEmitter();
728
729
  this.globalRolesItems = [];
729
730
  this.globalRolesItemsSelected = [];
731
+ this.selectHidden = false;
730
732
  this.globalRoles = [];
731
733
  this.PAGE_SIZE = 100;
732
734
  }
@@ -745,9 +747,14 @@ class DashboardAvailabilityComponent {
745
747
  this._globalRolesIds = [...ids];
746
748
  }
747
749
  async ngOnInit() {
748
- this.globalRoles = await this.getGlobalRoles();
749
- this.globalRolesItems = this.mapGlobalRolesToItems();
750
- this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
750
+ if (this.permissions.hasRole(Permissions.ROLE_USER_MANAGEMENT_READ)) {
751
+ this.globalRoles = await this.getGlobalRoles();
752
+ this.globalRolesItems = this.mapGlobalRolesToItems();
753
+ this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
754
+ }
755
+ else {
756
+ this.selectHidden = true;
757
+ }
751
758
  }
752
759
  onSelected(items) {
753
760
  if (!items || !Array.isArray(items)) {
@@ -791,12 +798,12 @@ class DashboardAvailabilityComponent {
791
798
  .filter(Boolean);
792
799
  }
793
800
  }
794
- DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }, { token: i5.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
795
- DashboardAvailabilityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DashboardAvailabilityComponent, selector: "c8y-dashboard-availability", inputs: { globalRolesIds: "globalRolesIds" }, outputs: { globalRolesIdsChange: "globalRolesIdsChange" }, ngImport: i0, template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability`of dashboard based on permissions`' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n </button>\n </label>\n <c8y-select\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n</c8y-form-group>\n", dependencies: [{ kind: "component", type: i5.SelectComponent, selector: "c8y-select", inputs: ["placeholder", "selectedLabel", "applyLabel", "items", "selected", "updateItems", "disableApplyOnNoSelection"], outputs: ["onChange"] }, { kind: "component", type: i5.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] });
801
+ DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }, { token: i5.GainsightService }, { token: i5.Permissions }], target: i0.ɵɵFactoryTarget.Component });
802
+ DashboardAvailabilityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DashboardAvailabilityComponent, selector: "c8y-dashboard-availability", inputs: { globalRolesIds: "globalRolesIds" }, outputs: { globalRolesIdsChange: "globalRolesIdsChange" }, ngImport: i0, template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability`of dashboard based on permissions`' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n </button>\n </label>\n <c8y-select\n *ngIf=\"!selectHidden\"\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n <p\n class=\"form-control-static\"\n *ngIf=\"selectHidden\"\n >\n {{ \"You don't have permission to change global roles.\" | translate }}\n </p>\n</c8y-form-group>\n", dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.SelectComponent, selector: "c8y-select", inputs: ["placeholder", "selectedLabel", "applyLabel", "items", "selected", "updateItems", "disableApplyOnNoSelection"], outputs: ["onChange"] }, { kind: "component", type: i5.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] });
796
803
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, decorators: [{
797
804
  type: Component,
798
- args: [{ selector: 'c8y-dashboard-availability', template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability`of dashboard based on permissions`' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n </button>\n </label>\n <c8y-select\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n</c8y-form-group>\n" }]
799
- }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i5.GainsightService }]; }, propDecorators: { globalRolesIds: [{
805
+ args: [{ selector: 'c8y-dashboard-availability', template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability`of dashboard based on permissions`' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n </button>\n </label>\n <c8y-select\n *ngIf=\"!selectHidden\"\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n <p\n class=\"form-control-static\"\n *ngIf=\"selectHidden\"\n >\n {{ \"You don't have permission to change global roles.\" | translate }}\n </p>\n</c8y-form-group>\n" }]
806
+ }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i5.GainsightService }, { type: i5.Permissions }]; }, propDecorators: { globalRolesIds: [{
800
807
  type: Input
801
808
  }], globalRolesIdsChange: [{
802
809
  type: Output