@c8y/ngx-components 1018.0.249 → 1018.0.255

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.
@@ -1,11 +1,12 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { UserGroupService } from '@c8y/client';
3
- import { GainsightService, Item } from '@c8y/ngx-components';
3
+ import { GainsightService, Item, Permissions } from '@c8y/ngx-components';
4
4
  import { DashboardGlobalRoles } from './context-dashboard.model';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class DashboardAvailabilityComponent implements OnInit {
7
7
  private userGroupService;
8
8
  private gainsightService;
9
+ private permissions;
9
10
  /**
10
11
  * Ids of global roles assigned to the dashboard or a string "all" indicating the selection of all global roles.
11
12
  * The value undefined is treated as equivalent to 'all'.
@@ -15,10 +16,11 @@ export declare class DashboardAvailabilityComponent implements OnInit {
15
16
  globalRolesIdsChange: EventEmitter<DashboardGlobalRoles>;
16
17
  globalRolesItems: Item[];
17
18
  globalRolesItemsSelected: Item[];
19
+ selectHidden: boolean;
18
20
  private globalRoles;
19
21
  private PAGE_SIZE;
20
22
  private _globalRolesIds;
21
- constructor(userGroupService: UserGroupService, gainsightService: GainsightService);
23
+ constructor(userGroupService: UserGroupService, gainsightService: GainsightService, permissions: Permissions);
22
24
  ngOnInit(): Promise<void>;
23
25
  onSelected(items: Item[]): void;
24
26
  private getGlobalRoles;
@@ -1,18 +1,21 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { UserGroupService } from '@c8y/client';
3
- import { GainsightService } from '@c8y/ngx-components';
3
+ import { GainsightService, Permissions } from '@c8y/ngx-components';
4
4
  import { ALL_GLOBAL_ROLES_SELECTED, PRODUCT_EXPERIENCE } from './context-dashboard.model';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@c8y/client";
7
7
  import * as i2 from "@c8y/ngx-components";
8
- import * as i3 from "ngx-bootstrap/popover";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "ngx-bootstrap/popover";
9
10
  export class DashboardAvailabilityComponent {
10
- constructor(userGroupService, gainsightService) {
11
+ constructor(userGroupService, gainsightService, permissions) {
11
12
  this.userGroupService = userGroupService;
12
13
  this.gainsightService = gainsightService;
14
+ this.permissions = permissions;
13
15
  this.globalRolesIdsChange = new EventEmitter();
14
16
  this.globalRolesItems = [];
15
17
  this.globalRolesItemsSelected = [];
18
+ this.selectHidden = false;
16
19
  this.globalRoles = [];
17
20
  this.PAGE_SIZE = 100;
18
21
  }
@@ -31,9 +34,14 @@ export class DashboardAvailabilityComponent {
31
34
  this._globalRolesIds = [...ids];
32
35
  }
33
36
  async ngOnInit() {
34
- this.globalRoles = await this.getGlobalRoles();
35
- this.globalRolesItems = this.mapGlobalRolesToItems();
36
- this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
37
+ if (this.permissions.hasRole(Permissions.ROLE_USER_MANAGEMENT_READ)) {
38
+ this.globalRoles = await this.getGlobalRoles();
39
+ this.globalRolesItems = this.mapGlobalRolesToItems();
40
+ this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
41
+ }
42
+ else {
43
+ this.selectHidden = true;
44
+ }
37
45
  }
38
46
  onSelected(items) {
39
47
  if (!items || !Array.isArray(items)) {
@@ -77,14 +85,14 @@ export class DashboardAvailabilityComponent {
77
85
  .filter(Boolean);
78
86
  }
79
87
  }
80
- DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
81
- 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: i2.SelectComponent, selector: "c8y-select", inputs: ["placeholder", "selectedLabel", "applyLabel", "items", "selected", "updateItems", "disableApplyOnNoSelection"], outputs: ["onChange"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.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: i2.C8yTranslatePipe, name: "translate" }] });
88
+ DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }, { token: i2.GainsightService }, { token: i2.Permissions }], target: i0.ɵɵFactoryTarget.Component });
89
+ 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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SelectComponent, selector: "c8y-select", inputs: ["placeholder", "selectedLabel", "applyLabel", "items", "selected", "updateItems", "disableApplyOnNoSelection"], outputs: ["onChange"] }, { kind: "component", type: i2.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: i2.C8yTranslatePipe, name: "translate" }] });
82
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, decorators: [{
83
91
  type: Component,
84
- 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" }]
85
- }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i2.GainsightService }]; }, propDecorators: { globalRolesIds: [{
92
+ 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" }]
93
+ }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i2.GainsightService }, { type: i2.Permissions }]; }, propDecorators: { globalRolesIds: [{
86
94
  type: Input
87
95
  }], globalRolesIdsChange: [{
88
96
  type: Output
89
97
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWF2YWlsYWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtYXZhaWxhYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1hdmFpbGFiaWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUVMLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbkIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFNbkMsTUFBTSxPQUFPLDhCQUE4QjtJQXVCekMsWUFDVSxnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBRGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVRsQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUMxRSxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsNkJBQXdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixjQUFTLEdBQUcsR0FBRyxDQUFDO0lBTXJCLENBQUM7SUF6Qko7OztPQUdHO0lBQ0gsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsR0FBeUI7UUFDMUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUsseUJBQXlCLEVBQUU7WUFDN0MsSUFBSSxDQUFD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QUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQzthQUM3RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7MkhBL0VVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDJLQ2IzQyxnMkJBNEJBOzJGRGZhLDhCQUE4QjtrQkFKMUMsU0FBUzsrQkFDRSw0QkFBNEI7c0lBU2xDLGNBQWM7c0JBRGpCLEtBQUs7Z0JBV0ksb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVVzZXJHcm91cCwgVXNlckdyb3VwU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEdhaW5zaWdodFNlcnZpY2UsIEl0ZW0gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdsb2JhbFJvbGVzLFxuICBBTExfR0xPQkFMX1JPTEVTX1NFTEVDVEVELFxuICBQUk9EVUNUX0VYUEVSSUVOQ0Vcbn0gZnJvbSAnLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXNoYm9hcmQtYXZhaWxhYmlsaXR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1hdmFpbGFiaWxpdHkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZEF2YWlsYWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBJZHMgb2YgZ2xvYmFsIHJvbGVzIGFzc2lnbmVkIHRvIHRoZSBkYXNoYm9hcmQgb3IgYSBzdHJpbmcgXCJhbGxcIiBpbmRpY2F0aW5nIHRoZSBzZWxlY3Rpb24gb2YgYWxsIGdsb2JhbCByb2xlcy5cbiAgICogVGhlIHZhbHVlIHVuZGVmaW5lZCBpcyB0cmVhdGVkIGFzIGVxdWl2YWxlbnQgdG8gJ2FsbCcuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZ2xvYmFsUm9sZXNJZHMoKTogRGFzaGJvYXJkR2xvYmFsUm9sZXMge1xuICAgIHJldHVybiB0aGlzLl9nbG9iYWxSb2xlc0lkcztcbiAgfVxuICBzZXQgZ2xvYmFsUm9sZXNJZHMoaWRzOiBEYXNoYm9hcmRHbG9iYWxSb2xlcykge1xuICAgIGlmICghaWRzIHx8IGlkcyA9PT0gQUxMX0dMT0JBTF9ST0xFU19TRUxFQ1RFRCkge1xuICAgICAgdGhpcy5fZ2xvYmFsUm9sZXNJZHMgPSBBTExfR0xPQkFMX1JPTEVTX1NFTEVDVEVEO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9nbG9iYWxSb2xlc0lkcyA9IFsuLi5pZHNdO1xuICB9XG4gIEBPdXRwdXQoKSBnbG9iYWxSb2xlc0lkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGFzaGJvYXJkR2xvYmFsUm9sZXM+KCk7XG4gIGdsb2JhbFJvbGVzSXRlbXM6IEl0ZW1bXSA9IFtdO1xuICBnbG9iYWxSb2xlc0l0ZW1zU2VsZWN0ZWQ6IEl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIGdsb2JhbFJvbGVzOiBJVXNlckdyb3VwW10gPSBbXTtcbiAgcHJpdmF0ZSBQQUdFX1NJWkUgPSAxMDA7XG4gIHByaXZhdGUgX2dsb2JhbFJvbGVzSWRzOiBEYXNoYm9hcmRHbG9iYWxSb2xlcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJHcm91cFNlcnZpY2U6IFVzZXJHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdsb2JhbFJvbGVzID0gYXdhaXQgdGhpcy5nZXRHbG9iYWxSb2xlcygpO1xuICAgIHRoaXMuZ2xvYmFsUm9sZXNJdGVtcyA9IHRoaXMubWFwR2xvYmFsUm9sZXNUb0l0ZW1zKCk7XG4gICAgdGhpcy5nbG9iYWxSb2xlc0l0ZW1zU2VsZWN0ZWQgPSB0aGlzLmdldFNlbGVjdGVkR2xvYmFsUm9sZXNJdGVtcygpO1xuICB9XG5cbiAgb25TZWxlY3RlZChpdGVtczogSXRlbVtdKSB7XG4gICAgaWYgKCFpdGVtcyB8fCAhQXJyYXkuaXNBcnJheShpdGVtcykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxJdGVtc1NlbGVjdGVkID0gaXRlbXMubGVuZ3RoID09PSB0aGlzLmdsb2JhbFJvbGVzSXRlbXMubGVuZ3RoO1xuICAgIHRoaXMuZ2xvYmFsUm9sZXNJdGVtc1NlbGVjdGVkID0gaXRlbXM7XG5cbiAgICBpZiAoYWxsSXRlbXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5nbG9iYWxSb2xlc0lkc0NoYW5nZS5lbWl0KEFMTF9HTE9CQUxfUk9MRVNfU0VMRUNURUQpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5EQVNIQk9BUkRTLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkRBU0hCT0FSRF9BVkFJTEFCSUxJVFksXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5BQ1RJT05TLkFQUExZX0dMT0JBTF9ST0xFU19DSEFOR0VTLFxuICAgICAgICBnbG9iYWxSb2xlczogQUxMX0dMT0JBTF9ST0xFU19TRUxFQ1RFRFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkR2xvYmFsUm9sZXNJZHMgPSBpdGVtcy5tYXAoaSA9PiBpLmlkKTtcbiAgICAgIHRoaXMuZ2xvYmFsUm9sZXNJZHNDaGFuZ2UuZW1pdChbLi4uc2VsZWN0ZWRHbG9iYWxSb2xlc0lkc10pO1xuXG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLkRBU0hCT0FSRFMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkNPTVBPTkVOVFMuREFTSEJPQVJEX0FWQUlMQUJJTElUWSxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQVBQTFlfR0xPQkFMX1JPTEVTX0NIQU5HRVMsXG4gICAgICAgIGdsb2JhbFJvbGVzOiBzZWxlY3RlZEdsb2JhbFJvbGVzSWRzPy5zb3J0KCk/LmpvaW4oKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRHbG9iYWxSb2xlcygpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMudXNlckdyb3VwU2VydmljZS5saXN0KHsgcGFnZVNpemU6IHRoaXMuUEFHRV9TSVpFIH0pKS5kYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBHbG9iYWxSb2xlc1RvSXRlbXMoKTogSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5nbG9iYWxSb2xlcy5tYXAoKHsgbmFtZSwgaWQgfSkgPT4gKHtcbiAgICAgIG5hbWUsXG4gICAgICBpZFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRHbG9iYWxSb2xlc0l0ZW1zKCk6IEl0ZW1bXSB7XG4gICAgaWYgKCF0aGlzLmdsb2JhbFJvbGVzSWRzIHx8IHRoaXMuZ2xvYmFsUm9sZXNJZHMgPT09IEFMTF9HTE9CQUxfUk9MRVNfU0VMRUNURUQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdsb2JhbFJvbGVzSXRlbXM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdsb2JhbFJvbGVzSWRzXG4gICAgICAubWFwKGdsb2JhbFJvbGVJZCA9PiB0aGlzLmdsb2JhbFJvbGVzSXRlbXMuZmluZChnUiA9PiBnUi5pZCA9PT0gZ2xvYmFsUm9sZUlkKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gIH1cbn1cbiIsIjxjOHktZm9ybS1ncm91cCBjbGFzcz1cInAtYi0yNCBtLWItMFwiPlxuICA8ZGl2IGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2tcIj5cbiAgICA8c3Bhbj57eyAnQXZhaWxhYmlsaXR5YG9mIGRhc2hib2FyZCBiYXNlZCBvbiBwZXJtaXNzaW9uc2AnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGxhYmVsIGZvcj1cImF2YWlsYWJpbGl0eVwiPlxuICAgIDxzcGFuIGNsYXNzPVwibS1yLTRcIiBpZD1cImF2YWlsYWJpbGl0eVwiPlxuICAgICAge3sgJ0dsb2JhbCByb2xlcycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4taGVscCBidG4taGVscC0tc21cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBwb3BvdmVyPVwie3tcbiAgICAgICAgJ1NlbGVjdCB0aGUgZ2xvYmFsIHJvbGVzIGZvciB3aGljaCB0aGUgZGFzaGJvYXJkIHdpbGwgYmUgYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZVxuICAgICAgfX1cIlxuICAgICAgdHJpZ2dlcnM9XCJmb2N1c1wiXG4gICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICA+XG4gICAgPC9idXR0b24+XG4gIDwvbGFiZWw+XG4gIDxjOHktc2VsZWN0XG4gICAgc3R5bGU9XCJ3aWR0aDogMTgwcHhcIlxuICAgIFtpdGVtc109XCJnbG9iYWxSb2xlc0l0ZW1zXCJcbiAgICBbc2VsZWN0ZWRdPVwiZ2xvYmFsUm9sZXNJdGVtc1NlbGVjdGVkXCJcbiAgICAob25DaGFuZ2UpPVwib25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgPjwvYzh5LXNlbGVjdD5cbjwvYzh5LWZvcm0tZ3JvdXA+XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWF2YWlsYWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtYXZhaWxhYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1hdmFpbGFiaWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFRLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFFTCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ25CLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQU1uQyxNQUFNLE9BQU8sOEJBQThCO0lBd0J6QyxZQUNVLGdCQUFrQyxFQUNsQyxnQkFBa0MsRUFDbEMsV0FBd0I7UUFGeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWHhCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQzFFLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5Qiw2QkFBd0IsR0FBVyxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDYixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFDL0IsY0FBUyxHQUFHLEdBQUcsQ0FBQztJQU9yQixDQUFDO0lBM0JKOzs7T0FHRztJQUNILElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksY0FB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SUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLHlCQUF5QixFQUFFO1lBQzdFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzlCO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYzthQUN2QixHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQzthQUM3RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7MkhBckZVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDJLQ2IzQyw0aENBbUNBOzJGRHRCYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UsNEJBQTRCO2dLQVNsQyxjQUFjO3NCQURqQixLQUFLO2dCQVdJLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElVc2VyR3JvdXAsIFVzZXJHcm91cFNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBHYWluc2lnaHRTZXJ2aWNlLCBJdGVtLCBQZXJtaXNzaW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR2xvYmFsUm9sZXMsXG4gIEFMTF9HTE9CQUxfUk9MRVNfU0VMRUNURUQsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRVxufSBmcm9tICcuL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhc2hib2FyZC1hdmFpbGFiaWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWF2YWlsYWJpbGl0eS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkQXZhaWxhYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElkcyBvZiBnbG9iYWwgcm9sZXMgYXNzaWduZWQgdG8gdGhlIGRhc2hib2FyZCBvciBhIHN0cmluZyBcImFsbFwiIGluZGljYXRpbmcgdGhlIHNlbGVjdGlvbiBvZiBhbGwgZ2xvYmFsIHJvbGVzLlxuICAgKiBUaGUgdmFsdWUgdW5kZWZpbmVkIGlzIHRyZWF0ZWQgYXMgZXF1aXZhbGVudCB0byAnYWxsJy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBnbG9iYWxSb2xlc0lkcygpOiBEYXNoYm9hcmRHbG9iYWxSb2xlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2dsb2JhbFJvbGVzSWRzO1xuICB9XG4gIHNldCBnbG9iYWxSb2xlc0lkcyhpZHM6IERhc2hib2FyZEdsb2JhbFJvbGVzKSB7XG4gICAgaWYgKCFpZHMgfHwgaWRzID09PSBBTExfR0xPQkFMX1JPTEVTX1NFTEVDVEVEKSB7XG4gICAgICB0aGlzLl9nbG9iYWxSb2xlc0lkcyA9IEFMTF9HTE9CQUxfUk9MRVNfU0VMRUNURUQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2dsb2JhbFJvbGVzSWRzID0gWy4uLmlkc107XG4gIH1cbiAgQE91dHB1dCgpIGdsb2JhbFJvbGVzSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXNoYm9hcmRHbG9iYWxSb2xlcz4oKTtcbiAgZ2xvYmFsUm9sZXNJdGVtczogSXRlbVtdID0gW107XG4gIGdsb2JhbFJvbGVzSXRlbXNTZWxlY3RlZDogSXRlbVtdID0gW107XG4gIHNlbGVjdEhpZGRlbiA9IGZhbHNlO1xuICBwcml2YXRlIGdsb2JhbFJvbGVzOiBJVXNlckdyb3VwW10gPSBbXTtcbiAgcHJpdmF0ZSBQQUdFX1NJWkUgPSAxMDA7XG4gIHByaXZhdGUgX2dsb2JhbFJvbGVzSWRzOiBEYXNoYm9hcmRHbG9iYWxSb2xlcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJHcm91cFNlcnZpY2U6IFVzZXJHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9ucy5oYXNSb2xlKFBlcm1pc3Npb25zLlJPTEVfVVNFUl9NQU5BR0VNRU5UX1JFQUQpKSB7XG4gICAgICB0aGlzLmdsb2JhbFJvbGVzID0gYXdhaXQgdGhpcy5nZXRHbG9iYWxSb2xlcygpO1xuICAgICAgdGhpcy5nbG9iYWxSb2xlc0l0ZW1zID0gdGhpcy5tYXBHbG9iYWxSb2xlc1RvSXRlbXMoKTtcbiAgICAgIHRoaXMuZ2xvYmFsUm9sZXNJdGVtc1NlbGVjdGVkID0gdGhpcy5nZXRTZWxlY3RlZEdsb2JhbFJvbGVzSXRlbXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RIaWRkZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0ZWQoaXRlbXM6IEl0ZW1bXSkge1xuICAgIGlmICghaXRlbXMgfHwgIUFycmF5LmlzQXJyYXkoaXRlbXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWxsSXRlbXNTZWxlY3RlZCA9IGl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5nbG9iYWxSb2xlc0l0ZW1zLmxlbmd0aDtcbiAgICB0aGlzLmdsb2JhbFJvbGVzSXRlbXNTZWxlY3RlZCA9IGl0ZW1zO1xuXG4gICAgaWYgKGFsbEl0ZW1zU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZ2xvYmFsUm9sZXNJZHNDaGFuZ2UuZW1pdChBTExfR0xPQkFMX1JPTEVTX1NFTEVDVEVEKTtcbiAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5FVkVOVFMuREFTSEJPQVJEUywge1xuICAgICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQ09NUE9ORU5UUy5EQVNIQk9BUkRfQVZBSUxBQklMSVRZLFxuICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQUNUSU9OUy5BUFBMWV9HTE9CQUxfUk9MRVNfQ0hBTkdFUyxcbiAgICAgICAgZ2xvYmFsUm9sZXM6IEFMTF9HTE9CQUxfUk9MRVNfU0VMRUNURURcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEdsb2JhbFJvbGVzSWRzID0gaXRlbXMubWFwKGkgPT4gaS5pZCk7XG4gICAgICB0aGlzLmdsb2JhbFJvbGVzSWRzQ2hhbmdlLmVtaXQoWy4uLnNlbGVjdGVkR2xvYmFsUm9sZXNJZHNdKTtcblxuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5EQVNIQk9BUkRTLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkRBU0hCT0FSRF9BVkFJTEFCSUxJVFksXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5BQ1RJT05TLkFQUExZX0dMT0JBTF9ST0xFU19DSEFOR0VTLFxuICAgICAgICBnbG9iYWxSb2xlczogc2VsZWN0ZWRHbG9iYWxSb2xlc0lkcz8uc29ydCgpPy5qb2luKClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0R2xvYmFsUm9sZXMoKSB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLnVzZXJHcm91cFNlcnZpY2UubGlzdCh7IHBhZ2VTaXplOiB0aGlzLlBBR0VfU0laRSB9KSkuZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwR2xvYmFsUm9sZXNUb0l0ZW1zKCk6IEl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2xvYmFsUm9sZXMubWFwKCh7IG5hbWUsIGlkIH0pID0+ICh7XG4gICAgICBuYW1lLFxuICAgICAgaWRcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkR2xvYmFsUm9sZXNJdGVtcygpOiBJdGVtW10ge1xuICAgIGlmICghdGhpcy5nbG9iYWxSb2xlc0lkcyB8fCB0aGlzLmdsb2JhbFJvbGVzSWRzID09PSBBTExfR0xPQkFMX1JPTEVTX1NFTEVDVEVEKSB7XG4gICAgICByZXR1cm4gdGhpcy5nbG9iYWxSb2xlc0l0ZW1zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nbG9iYWxSb2xlc0lkc1xuICAgICAgLm1hcChnbG9iYWxSb2xlSWQgPT4gdGhpcy5nbG9iYWxSb2xlc0l0ZW1zLmZpbmQoZ1IgPT4gZ1IuaWQgPT09IGdsb2JhbFJvbGVJZCkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG59XG4iLCI8Yzh5LWZvcm0tZ3JvdXAgY2xhc3M9XCJwLWItMjQgbS1iLTBcIj5cbiAgPGRpdiBjbGFzcz1cImxlZ2VuZCBmb3JtLWJsb2NrXCI+XG4gICAgPHNwYW4+e3sgJ0F2YWlsYWJpbGl0eWBvZiBkYXNoYm9hcmQgYmFzZWQgb24gcGVybWlzc2lvbnNgJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxsYWJlbCBmb3I9XCJhdmFpbGFiaWxpdHlcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm0tci00XCIgaWQ9XCJhdmFpbGFiaWxpdHlcIj5cbiAgICAgIHt7ICdHbG9iYWwgcm9sZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuLWhlbHAgYnRuLWhlbHAtLXNtXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgcG9wb3Zlcj1cInt7XG4gICAgICAgICdTZWxlY3QgdGhlIGdsb2JhbCByb2xlcyBmb3Igd2hpY2ggdGhlIGRhc2hib2FyZCB3aWxsIGJlIGF2YWlsYWJsZScgfCB0cmFuc2xhdGVcbiAgICAgIH19XCJcbiAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgPlxuICAgIDwvYnV0dG9uPlxuICA8L2xhYmVsPlxuICA8Yzh5LXNlbGVjdFxuICAgICpuZ0lmPVwiIXNlbGVjdEhpZGRlblwiXG4gICAgc3R5bGU9XCJ3aWR0aDogMTgwcHhcIlxuICAgIFtpdGVtc109XCJnbG9iYWxSb2xlc0l0ZW1zXCJcbiAgICBbc2VsZWN0ZWRdPVwiZ2xvYmFsUm9sZXNJdGVtc1NlbGVjdGVkXCJcbiAgICAob25DaGFuZ2UpPVwib25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgPjwvYzh5LXNlbGVjdD5cbiAgPHBcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWNcIlxuICAgICpuZ0lmPVwic2VsZWN0SGlkZGVuXCJcbiAgPlxuICAgIHt7IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBjaGFuZ2UgZ2xvYmFsIHJvbGVzLlwiIHwgdHJhbnNsYXRlIH19XG4gIDwvcD5cbjwvYzh5LWZvcm0tZ3JvdXA+XG4iXX0=
@@ -22,7 +22,7 @@ export function c8yValidationConfigFactory(translate) {
22
22
  }
23
23
  },
24
24
  {
25
- name: 'minlength',
25
+ name: 'minLength',
26
26
  message(_error, field) {
27
27
  return translate.stream(ValidationPattern.messages.minLength, field.templateOptions);
28
28
  }
@@ -60,4 +60,4 @@ export function c8yValidationConfigFactory(translate) {
60
60
  ]
61
61
  };
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1jb25maWcuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZHluYW1pYy1mb3Jtcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24tY29uZmlnLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUEyQjtJQUNwRSxPQUFPO1FBQ0wsa0JBQWtCLEVBQUU7WUFDbEI7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0QsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLENBQUMsS0FBVSxFQUFFLE1BQXlCO29CQUMzQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsS0FBd0I7b0JBQzNDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdkYsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsT0FBTyxDQUFDLE1BQVcsRUFBRSxLQUF3QjtvQkFDM0MsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNqRixDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLENBQUMsTUFBVyxFQUFFLEtBQXdCO29CQUMzQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2pGLENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xGLENBQUM7YUFDRjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblBhdHRlcm4gfSBmcm9tICcuLi8uLi9mb3Jtcy92YWxpZGF0aW9uLXBhdHRlcm4nO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uLy4uL2kxOG4vZ2V0dGV4dCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjOHlWYWxpZGF0aW9uQ29uZmlnRmFjdG9yeSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgbWVzc2FnZSgpIHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLnN0cmVhbShWYWxpZGF0aW9uUGF0dGVybi5tZXNzYWdlcy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdub3RFeGlzdGluZycsXG4gICAgICAgIG1lc3NhZ2UoKSB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5zdHJlYW0oZ2V0dGV4dCgnTm8gc2VsZWN0aW9uJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncGF0dGVybicsXG4gICAgICAgIG1lc3NhZ2UoZXJyb3I6IGFueSwgX2ZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLnBhdHRlcm4sIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21pbmxlbmd0aCcsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1pbkxlbmd0aCwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21pbicsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1pbiwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21heCcsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1heCwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ludmFsaWREYXRlVGltZScsXG4gICAgICAgIG1lc3NhZ2UoKSB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5zdHJlYW0oZ2V0dGV4dCgnVGhpcyBkYXRlIGlzIGludmFsaWQuJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZGF0ZUJlZm9yZVJhbmdlTWluJyxcbiAgICAgICAgbWVzc2FnZSgpIHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLnN0cmVhbShnZXR0ZXh0KCdUaGlzIGRhdGUgaXMgYmVmb3JlIHRoZSBlYXJsaWVzdCBhbGxvd2VkIGRhdGUuJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZGF0ZUFmdGVyUmFuZ2VNYXgnLFxuICAgICAgICBtZXNzYWdlKCkge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKGdldHRleHQoJ1RoaXMgZGF0ZSBpcyBhZnRlciB0aGUgbGF0ZXN0IGFsbG93ZWQgZGF0ZS4nKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG4gIH07XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1jb25maWcuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZHluYW1pYy1mb3Jtcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24tY29uZmlnLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUEyQjtJQUNwRSxPQUFPO1FBQ0wsa0JBQWtCLEVBQUU7WUFDbEI7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0QsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLENBQUMsS0FBVSxFQUFFLE1BQXlCO29CQUMzQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsS0FBd0I7b0JBQzNDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdkYsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsT0FBTyxDQUFDLE1BQVcsRUFBRSxLQUF3QjtvQkFDM0MsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNqRixDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLENBQUMsTUFBVyxFQUFFLEtBQXdCO29CQUMzQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2pGLENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLENBQUM7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLE9BQU87b0JBQ0wsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xGLENBQUM7YUFDRjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblBhdHRlcm4gfSBmcm9tICcuLi8uLi9mb3Jtcy92YWxpZGF0aW9uLXBhdHRlcm4nO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uLy4uL2kxOG4vZ2V0dGV4dCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjOHlWYWxpZGF0aW9uQ29uZmlnRmFjdG9yeSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgbWVzc2FnZSgpIHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLnN0cmVhbShWYWxpZGF0aW9uUGF0dGVybi5tZXNzYWdlcy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdub3RFeGlzdGluZycsXG4gICAgICAgIG1lc3NhZ2UoKSB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5zdHJlYW0oZ2V0dGV4dCgnTm8gc2VsZWN0aW9uJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncGF0dGVybicsXG4gICAgICAgIG1lc3NhZ2UoZXJyb3I6IGFueSwgX2ZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLnBhdHRlcm4sIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21pbkxlbmd0aCcsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1pbkxlbmd0aCwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21pbicsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1pbiwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21heCcsXG4gICAgICAgIG1lc3NhZ2UoX2Vycm9yOiBhbnksIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKFZhbGlkYXRpb25QYXR0ZXJuLm1lc3NhZ2VzLm1heCwgZmllbGQudGVtcGxhdGVPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ludmFsaWREYXRlVGltZScsXG4gICAgICAgIG1lc3NhZ2UoKSB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5zdHJlYW0oZ2V0dGV4dCgnVGhpcyBkYXRlIGlzIGludmFsaWQuJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZGF0ZUJlZm9yZVJhbmdlTWluJyxcbiAgICAgICAgbWVzc2FnZSgpIHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNsYXRlLnN0cmVhbShnZXR0ZXh0KCdUaGlzIGRhdGUgaXMgYmVmb3JlIHRoZSBlYXJsaWVzdCBhbGxvd2VkIGRhdGUuJykpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZGF0ZUFmdGVyUmFuZ2VNYXgnLFxuICAgICAgICBtZXNzYWdlKCkge1xuICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKGdldHRleHQoJ1RoaXMgZGF0ZSBpcyBhZnRlciB0aGUgbGF0ZXN0IGFsbG93ZWQgZGF0ZS4nKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG4gIH07XG59XG4iXX0=
@@ -743,12 +743,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
743
743
  }] } });
744
744
 
745
745
  class DashboardAvailabilityComponent {
746
- constructor(userGroupService, gainsightService) {
746
+ constructor(userGroupService, gainsightService, permissions) {
747
747
  this.userGroupService = userGroupService;
748
748
  this.gainsightService = gainsightService;
749
+ this.permissions = permissions;
749
750
  this.globalRolesIdsChange = new EventEmitter();
750
751
  this.globalRolesItems = [];
751
752
  this.globalRolesItemsSelected = [];
753
+ this.selectHidden = false;
752
754
  this.globalRoles = [];
753
755
  this.PAGE_SIZE = 100;
754
756
  }
@@ -768,9 +770,14 @@ class DashboardAvailabilityComponent {
768
770
  }
769
771
  ngOnInit() {
770
772
  return __awaiter(this, void 0, void 0, function* () {
771
- this.globalRoles = yield this.getGlobalRoles();
772
- this.globalRolesItems = this.mapGlobalRolesToItems();
773
- this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
773
+ if (this.permissions.hasRole(Permissions.ROLE_USER_MANAGEMENT_READ)) {
774
+ this.globalRoles = yield this.getGlobalRoles();
775
+ this.globalRolesItems = this.mapGlobalRolesToItems();
776
+ this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();
777
+ }
778
+ else {
779
+ this.selectHidden = true;
780
+ }
774
781
  });
775
782
  }
776
783
  onSelected(items) {
@@ -818,12 +825,12 @@ class DashboardAvailabilityComponent {
818
825
  .filter(Boolean);
819
826
  }
820
827
  }
821
- 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 });
822
- 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" }] });
828
+ 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 });
829
+ 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" }] });
823
830
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, decorators: [{
824
831
  type: Component,
825
- 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" }]
826
- }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i5.GainsightService }]; }, propDecorators: { globalRolesIds: [{
832
+ 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" }]
833
+ }], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i5.GainsightService }, { type: i5.Permissions }]; }, propDecorators: { globalRolesIds: [{
827
834
  type: Input
828
835
  }], globalRolesIdsChange: [{
829
836
  type: Output