UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

33 lines 3.92 kB
import { Injectable } from '@angular/core'; import { gettext, NavigatorNode, Permissions } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; export class RegisterDeviceNavigationFactory { constructor(permissions) { this.permissions = permissions; } get() { const userHasPermission = this.permissions.hasAnyRole([ Permissions.ROLE_DEVICE_CONTROL_ADMIN, Permissions.ROLE_DEVICE_CONTROL_READ ]); const nav = []; if (userHasPermission) { nav.push(new NavigatorNode({ label: gettext('Registration'), icon: 'c8y-device-connect', path: '/deviceregistration', parent: gettext('Devices'), preventDuplicates: true, priority: 3000 })); } return nav; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDeviceNavigationFactory, deps: [{ token: i1.Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDeviceNavigationFactory }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDeviceNavigationFactory, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.Permissions }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZGV2aWNlLW5hdmlnYXRpb24uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3JlZ2lzdGVyLWRldmljZS9yZWdpc3Rlci1kZXZpY2UtbmF2aWdhdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQXdCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHaEcsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFDaEQsR0FBRztRQUNELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDcEQsV0FBVyxDQUFDLHlCQUF5QjtZQUNyQyxXQUFXLENBQUMsd0JBQXdCO1NBQ3JDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxHQUFvQixFQUFFLENBQUM7UUFDaEMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQ04sSUFBSSxhQUFhLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUM5QixJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixJQUFJLEVBQUUscUJBQXFCO2dCQUMzQixNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBckJVLCtCQUErQjttSEFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0dGV4dCwgTmF2aWdhdG9yTm9kZSwgTmF2aWdhdG9yTm9kZUZhY3RvcnksIFBlcm1pc3Npb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckRldmljZU5hdmlnYXRpb25GYWN0b3J5IGltcGxlbWVudHMgTmF2aWdhdG9yTm9kZUZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucykge31cbiAgZ2V0KCkge1xuICAgIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9uID0gdGhpcy5wZXJtaXNzaW9ucy5oYXNBbnlSb2xlKFtcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfREVWSUNFX0NPTlRST0xfQURNSU4sXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0RFVklDRV9DT05UUk9MX1JFQURcbiAgICBdKTtcbiAgICBjb25zdCBuYXY6IE5hdmlnYXRvck5vZGVbXSA9IFtdO1xuICAgIGlmICh1c2VySGFzUGVybWlzc2lvbikge1xuICAgICAgbmF2LnB1c2goXG4gICAgICAgIG5ldyBOYXZpZ2F0b3JOb2RlKHtcbiAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnUmVnaXN0cmF0aW9uJyksXG4gICAgICAgICAgaWNvbjogJ2M4eS1kZXZpY2UtY29ubmVjdCcsXG4gICAgICAgICAgcGF0aDogJy9kZXZpY2VyZWdpc3RyYXRpb24nLFxuICAgICAgICAgIHBhcmVudDogZ2V0dGV4dCgnRGV2aWNlcycpLFxuICAgICAgICAgIHByZXZlbnREdXBsaWNhdGVzOiB0cnVlLFxuICAgICAgICAgIHByaW9yaXR5OiAzMDAwXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmF2O1xuICB9XG59XG4iXX0=