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