@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
44 lines (40 loc) • 1.45 kB
JavaScript
import { inject } from '@angular/core';
import { AppStateService, hookNavigator, NavigatorNode, hookRoute, ViewContext } from '@c8y/ngx-components';
import { gettext } from '@c8y/ngx-components/gettext';
const featureTogglePath = 'feature-toggles';
const canActivateFeatureToggleOnTenantDetails = route => {
// only available on management tenant
if (inject(AppStateService).currentTenant.value?.name !== 'management') {
return false;
}
// not available when creating a new tenant
if (route.params.id === 'new') {
return false;
}
return true;
};
const featureToggleProviders = [
hookNavigator(new NavigatorNode({
path: featureTogglePath,
label: gettext('Feature toggles'),
icon: 'toggle-on',
parent: 'Settings'
})),
hookRoute({
path: featureTogglePath,
context: ViewContext.Tenant,
loadChildren: () => import('@c8y/ngx-components/feature-toggles/list').then(m => m.childRoutes),
icon: 'toggle-on',
label: gettext('Feature toggles'),
canActivate: [canActivateFeatureToggleOnTenantDetails]
}),
hookRoute({
path: featureTogglePath,
loadChildren: () => import('@c8y/ngx-components/feature-toggles/list').then(m => m.childRoutes)
})
];
/**
* Generated bundle index. Do not edit.
*/
export { featureToggleProviders };
//# sourceMappingURL=c8y-ngx-components-feature-toggles.mjs.map