@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
33 lines • 3.92 kB
JavaScript
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=