import * as i0 from '@angular/core';
import { NgModule } from '@angular/core';
import { NavigatorNode, gettext, ViewContext } from '@c8y/ngx-components';
import * as i1 from '@c8y/ngx-components/alarms';
import { AlarmsModule, ALARMS_PATH, AlarmsComponent, getChildrenForViewContext, getViewContextRoutes } from '@c8y/ngx-components/alarms';

function alarmsCockpitRouteAndNodeConfig() {
    return AlarmsModule.config({
        rootNavigatorNode: new NavigatorNode({
            label: gettext('Alarms'),
            icon: 'bell',
            priority: 1000,
            path: `/${ALARMS_PATH}`,
            featureId: 'alarms',
            parent: '',
            routerLinkExact: false
        }),
        route: [
            {
                path: ALARMS_PATH,
                component: AlarmsComponent,
                data: { title: true },
                children: getChildrenForViewContext(ViewContext.Alarms)
            },
            {
                context: ViewContext.Group,
                path: ALARMS_PATH,
                priority: 800,
                icon: 'bell',
                label: gettext('Alarms'),
                component: AlarmsComponent,
                featureId: 'alarms',
                children: getChildrenForViewContext(ViewContext.GroupAlarms)
            },
            {
                context: ViewContext.Device,
                path: ALARMS_PATH,
                priority: 800,
                icon: 'bell',
                label: gettext('Alarms'),
                component: AlarmsComponent,
                featureId: 'alarms',
                children: getChildrenForViewContext(ViewContext.DeviceAlarms)
            },
            ...getViewContextRoutes([
                ViewContext.Alarms,
                ViewContext.GroupAlarms,
                ViewContext.DeviceAlarms
            ])
        ]
    });
}
class CockpitAlarmsModule extends AlarmsModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CockpitAlarmsModule, deps: null, target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CockpitAlarmsModule, imports: [i1.AlarmsModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CockpitAlarmsModule, imports: [alarmsCockpitRouteAndNodeConfig()] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CockpitAlarmsModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [alarmsCockpitRouteAndNodeConfig()]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { CockpitAlarmsModule, alarmsCockpitRouteAndNodeConfig };
//# sourceMappingURL=c8y-ngx-components-alarms-cockpit.mjs.map
