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