UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

40 lines 5.54 kB
import { Injectable } from '@angular/core'; import { AppStateService, NavigatorNode } from '@c8y/ngx-components'; import { map, shareReplay } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; export class SupportsBrandingService { constructor(appState) { this.appState = appState; this.supportsBranding$ = this.appState.currentAppsOfUser.pipe(map(apps => { const brandingFeatureApp = apps.find(app => app.name === 'feature-branding' && app.owner?.tenant?.id === 'management'); return !!brandingFeatureApp; }), shareReplay(1)); this.node = new NavigatorNode({ featureId: 'branding-editor', label: 'Branding', path: 'branding-editor', icon: 'palette', parent: 'Settings', routerLinkExact: false }); } get() { return this.supportsBranding$.pipe(map(supported => { if (supported) { return this.node; } return []; })); } canActivate() { return this.supportsBranding$; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupportsBrandingService, deps: [{ token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupportsBrandingService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupportsBrandingService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AppStateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydHMtYnJhbmRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2JyYW5kaW5nL3NoYXJlZC9zdXBwb3J0cy1icmFuZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBb0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxrQkFBa0IsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssWUFBWSxDQUNqRixDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQzVCLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsS0FBSyxFQUFFLFVBQVU7WUFDakIsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDZCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDOytHQXBDVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQURWLE1BQU07OzRGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBFeHRlbnNpb25GYWN0b3J5LCBOYXZpZ2F0b3JOb2RlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFN1cHBvcnRzQnJhbmRpbmdTZXJ2aWNlIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIEV4dGVuc2lvbkZhY3Rvcnk8TmF2aWdhdG9yTm9kZT4ge1xuICBwcml2YXRlIHN1cHBvcnRzQnJhbmRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwcml2YXRlIG5vZGU6IE5hdmlnYXRvck5vZGU7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSkge1xuICAgIHRoaXMuc3VwcG9ydHNCcmFuZGluZyQgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRBcHBzT2ZVc2VyLnBpcGUoXG4gICAgICBtYXAoYXBwcyA9PiB7XG4gICAgICAgIGNvbnN0IGJyYW5kaW5nRmVhdHVyZUFwcCA9IGFwcHMuZmluZChcbiAgICAgICAgICBhcHAgPT4gYXBwLm5hbWUgPT09ICdmZWF0dXJlLWJyYW5kaW5nJyAmJiBhcHAub3duZXI/LnRlbmFudD8uaWQgPT09ICdtYW5hZ2VtZW50J1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gISFicmFuZGluZ0ZlYXR1cmVBcHA7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgICB0aGlzLm5vZGUgPSBuZXcgTmF2aWdhdG9yTm9kZSh7XG4gICAgICBmZWF0dXJlSWQ6ICdicmFuZGluZy1lZGl0b3InLFxuICAgICAgbGFiZWw6ICdCcmFuZGluZycsXG4gICAgICBwYXRoOiAnYnJhbmRpbmctZWRpdG9yJyxcbiAgICAgIGljb246ICdwYWxldHRlJyxcbiAgICAgIHBhcmVudDogJ1NldHRpbmdzJyxcbiAgICAgIHJvdXRlckxpbmtFeGFjdDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPE5hdmlnYXRvck5vZGUgfCBOYXZpZ2F0b3JOb2RlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3J0c0JyYW5kaW5nJC5waXBlKFxuICAgICAgbWFwKHN1cHBvcnRlZCA9PiB7XG4gICAgICAgIGlmIChzdXBwb3J0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ub2RlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlKCk6IGJvb2xlYW4gfCBVcmxUcmVlIHwgT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9ydHNCcmFuZGluZyQ7XG4gIH1cbn1cbiJdfQ==