UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

46 lines 5.98 kB
import { Inject, Injectable, Optional } from '@angular/core'; import { gettext, NavigatorNode } from '@c8y/ngx-components'; import { TenantListGuard } from './tenant-list/tenant-list.guard'; import { TENANTS_MODULE_CONFIG } from './tenants.model'; import * as i0 from "@angular/core"; import * as i1 from "./tenant-list/tenant-list.guard"; export class TenantsNavigationFactory { constructor(tenantListGuard, config) { this.tenantListGuard = tenantListGuard; this.config = config; this.navs = []; } async get() { const canActivateTenantList = await this.tenantListGuard.canActivate(); if (!this.navs.length) { const subtenantsNavigatorNode = this.config?.subtenantsNavigatorNode ?? true; if (subtenantsNavigatorNode !== false) { this.navs.push(new NavigatorNode({ parent: { label: gettext('Tenants'), icon: 'c8y-layers' }, label: gettext('Subtenants'), icon: 'c8y-sub-tenants', path: 'tenants', routerLinkExact: false, priority: 4000, hidden: !canActivateTenantList, ...(subtenantsNavigatorNode === true ? {} : subtenantsNavigatorNode) })); } } return this.navs; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsNavigationFactory, deps: [{ token: i1.TenantListGuard }, { token: TENANTS_MODULE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsNavigationFactory }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsNavigationFactory, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.TenantListGuard }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TENANTS_MODULE_CONFIG] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy1uYXZpZ2F0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZW5hbnRzL3RlbmFudHMtbmF2aWdhdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBd0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHN0UsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUNVLGVBQWdDLEVBQ1csTUFBMkI7UUFEdEUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ1csV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFKeEUsU0FBSSxHQUFvQixFQUFFLENBQUM7SUFLaEMsQ0FBQztJQUVKLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLHVCQUF1QixJQUFJLElBQUksQ0FBQztZQUM3RSxJQUFJLHVCQUF1QixLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDWixJQUFJLGFBQWEsQ0FBQztvQkFDaEIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO3dCQUN6QixJQUFJLEVBQUUsWUFBWTtxQkFDbkI7b0JBQ0QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7b0JBQzVCLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxTQUFTO29CQUNmLGVBQWUsRUFBRSxLQUFLO29CQUN0QixRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsQ0FBQyxxQkFBcUI7b0JBQzlCLEdBQUcsQ0FBQyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7aUJBQ3JFLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzsrR0EvQlUsd0JBQXdCLGlEQUtiLHFCQUFxQjttSEFMaEMsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkFNTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldHRleHQsIE5hdmlnYXRvck5vZGUsIE5hdmlnYXRvck5vZGVGYWN0b3J5IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUZW5hbnRMaXN0R3VhcmQgfSBmcm9tICcuL3RlbmFudC1saXN0L3RlbmFudC1saXN0Lmd1YXJkJztcbmltcG9ydCB7IFRlbmFudHNNb2R1bGVDb25maWcsIFRFTkFOVFNfTU9EVUxFX0NPTkZJRyB9IGZyb20gJy4vdGVuYW50cy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZW5hbnRzTmF2aWdhdGlvbkZhY3RvcnkgaW1wbGVtZW50cyBOYXZpZ2F0b3JOb2RlRmFjdG9yeSB7XG4gIHByaXZhdGUgbmF2czogTmF2aWdhdG9yTm9kZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW5hbnRMaXN0R3VhcmQ6IFRlbmFudExpc3RHdWFyZCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRFTkFOVFNfTU9EVUxFX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IFRlbmFudHNNb2R1bGVDb25maWdcbiAgKSB7fVxuXG4gIGFzeW5jIGdldCgpOiBQcm9taXNlPE5hdmlnYXRvck5vZGVbXT4ge1xuICAgIGNvbnN0IGNhbkFjdGl2YXRlVGVuYW50TGlzdCA9IGF3YWl0IHRoaXMudGVuYW50TGlzdEd1YXJkLmNhbkFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLm5hdnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzdWJ0ZW5hbnRzTmF2aWdhdG9yTm9kZSA9IHRoaXMuY29uZmlnPy5zdWJ0ZW5hbnRzTmF2aWdhdG9yTm9kZSA/PyB0cnVlO1xuICAgICAgaWYgKHN1YnRlbmFudHNOYXZpZ2F0b3JOb2RlICE9PSBmYWxzZSkge1xuICAgICAgICB0aGlzLm5hdnMucHVzaChcbiAgICAgICAgICBuZXcgTmF2aWdhdG9yTm9kZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1RlbmFudHMnKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2M4eS1sYXllcnMnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1N1YnRlbmFudHMnKSxcbiAgICAgICAgICAgIGljb246ICdjOHktc3ViLXRlbmFudHMnLFxuICAgICAgICAgICAgcGF0aDogJ3RlbmFudHMnLFxuICAgICAgICAgICAgcm91dGVyTGlua0V4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgIHByaW9yaXR5OiA0MDAwLFxuICAgICAgICAgICAgaGlkZGVuOiAhY2FuQWN0aXZhdGVUZW5hbnRMaXN0LFxuICAgICAgICAgICAgLi4uKHN1YnRlbmFudHNOYXZpZ2F0b3JOb2RlID09PSB0cnVlID8ge30gOiBzdWJ0ZW5hbnRzTmF2aWdhdG9yTm9kZSlcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYXZzO1xuICB9XG59XG4iXX0=