@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
90 lines • 15 kB
JavaScript
import { NgModule } from '@angular/core';
import { gettext, hookDataGridActionControls, hookNavigator, hookPatternMessages, hookRoute, ViewContext } from '@c8y/ngx-components';
import { Lwm2mDeviceGridFactory, LWM2MPostOpertaionsNavigationFactory } from '@c8y/ngx-components/protocol-lwm2m/factories';
import { Lwm2mBootstrapParametersApiGuard, Lwm2mConfigurationApiGuard, Lwm2mDeviceTypeGuard, Lwm2mMicroserviceGuard } from '@c8y/ngx-components/protocol-lwm2m/guards';
import { LWM2MEndpoint, lwm2mRegisterDeviceStringsIncomingFromMS } from '@c8y/ngx-components/protocol-lwm2m/model';
import { Lwm2mUIThemeModule } from './formly';
import * as i0 from "@angular/core";
export class Lwm2mModule {
static forRoot() {
return {
ngModule: Lwm2mModule,
providers: [
hookNavigator(LWM2MPostOpertaionsNavigationFactory),
hookDataGridActionControls(Lwm2mDeviceGridFactory),
hookRoute({
path: 'post-operations',
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/post-registration-operations').then(m => m.LWM2MPostOperationsComponent),
icon: 'terminal',
priority: 2000,
canActivate: [Lwm2mMicroserviceGuard]
}),
hookRoute({
label: gettext('LWM2M Configuration'),
icon: 'c8y-device-protocols',
path: 'lwm2m-configuration',
context: ViewContext.Device,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mConfigurationComponent),
canActivate: [Lwm2mMicroserviceGuard, Lwm2mDeviceTypeGuard, Lwm2mConfigurationApiGuard],
children: [
{ path: '', redirectTo: 'basic', pathMatch: 'full' },
{
path: LWM2MEndpoint.deviceSettings,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormDeviceSettings)
},
{
path: LWM2MEndpoint.connectivity,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormConnectivitySettings)
},
{
path: LWM2MEndpoint.firmware,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormFirmwareSettings)
},
{
path: LWM2MEndpoint.bootstrap,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormBootstrapSettings)
},
{
path: LWM2MEndpoint.servers,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormServerSettings)
}
]
}),
hookRoute({
path: 'lwm2m-bootstrap-parameters',
context: ViewContext.Device,
loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/bootstrap-parameters').then(m => m.Lwm2mBootstrapParametersComponent),
label: gettext('LWM2M bootstrap parameters'),
icon: 'c8y-device-protocols',
canActivate: [
Lwm2mMicroserviceGuard,
Lwm2mDeviceTypeGuard,
Lwm2mBootstrapParametersApiGuard
]
}),
hookPatternMessages(lwm2mRegisterDeviceStringsIncomingFromMS)
]
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, imports: [Lwm2mUIThemeModule] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, imports: [Lwm2mUIThemeModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, decorators: [{
type: NgModule,
args: [{
imports: [Lwm2mUIThemeModule]
}]
}] });
export class LWM2Module {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, imports: [Lwm2mModule] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, imports: [Lwm2mModule.forRoot()] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, decorators: [{
type: NgModule,
args: [{
imports: [Lwm2mModule.forRoot()]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtbHdtMm0vbHdtMm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxPQUFPLEVBQ1AsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsU0FBUyxFQUNULFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0NBQW9DLEVBQ3JDLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN2QixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFDTCxhQUFhLEVBQ2Isd0NBQXdDLEVBQ3pDLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUk5QyxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsYUFBYSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNuRCwwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDbEQsU0FBUyxDQUFDO29CQUNSLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUNKLDRFQUE0RSxDQUM3RSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDN0MsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFdBQVcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUN0QyxD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Ozs0RkFFcEIsVUFBVTtrQkFIdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGdldHRleHQsXG4gIGhvb2tEYXRhR3JpZEFjdGlvbkNvbnRyb2xzLFxuICBob29rTmF2aWdhdG9yLFxuICBob29rUGF0dGVybk1lc3NhZ2VzLFxuICBob29rUm91dGUsXG4gIFZpZXdDb250ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgTHdtMm1EZXZpY2VHcmlkRmFjdG9yeSxcbiAgTFdNMk1Qb3N0T3BlcnRhaW9uc05hdmlnYXRpb25GYWN0b3J5XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vZmFjdG9yaWVzJztcbmltcG9ydCB7XG4gIEx3bTJtQm9vdHN0cmFwUGFyYW1ldGVyc0FwaUd1YXJkLFxuICBMd20ybUNvbmZpZ3VyYXRpb25BcGlHdWFyZCxcbiAgTHdtMm1EZXZpY2VUeXBlR3VhcmQsXG4gIEx3bTJtTWljcm9zZXJ2aWNlR3VhcmRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9ndWFyZHMnO1xuaW1wb3J0IHtcbiAgTFdNMk1FbmRwb2ludCxcbiAgbHdtMm1SZWdpc3RlckRldmljZVN0cmluZ3NJbmNvbWluZ0Zyb21NU1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL21vZGVsJztcbmltcG9ydCB7IEx3bTJtVUlUaGVtZU1vZHVsZSB9IGZyb20gJy4vZm9ybWx5JztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtMd20ybVVJVGhlbWVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEx3bTJtTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMd20ybU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTHdtMm1Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgaG9va05hdmlnYXRvcihMV00yTVBvc3RPcGVydGFpb25zTmF2aWdhdGlvbkZhY3RvcnkpLFxuICAgICAgICBob29rRGF0YUdyaWRBY3Rpb25Db250cm9scyhMd20ybURldmljZUdyaWRGYWN0b3J5KSxcbiAgICAgICAgaG9va1JvdXRlKHtcbiAgICAgICAgICBwYXRoOiAncG9zdC1vcGVyYXRpb25zJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KFxuICAgICAgICAgICAgICAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL3Bvc3QtcmVnaXN0cmF0aW9uLW9wZXJhdGlvbnMnXG4gICAgICAgICAgICApLnRoZW4obSA9PiBtLkxXTTJNUG9zdE9wZXJhdGlvbnNDb21wb25lbnQpLFxuICAgICAgICAgIGljb246ICd0ZXJtaW5hbCcsXG4gICAgICAgICAgcHJpb3JpdHk6IDIwMDAsXG4gICAgICAgICAgY2FuQWN0aXZhdGU6IFtMd20ybU1pY3Jvc2VydmljZUd1YXJkXVxuICAgICAgICB9KSxcbiAgICAgICAgaG9va1JvdXRlKHtcbiAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnTFdNMk0gQ29uZmlndXJhdGlvbicpLFxuICAgICAgICAgIGljb246ICdjOHktZGV2aWNlLXByb3RvY29scycsXG4gICAgICAgICAgcGF0aDogJ2x3bTJtLWNvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkRldmljZSxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbicpLnRoZW4oXG4gICAgICAgICAgICAgIG0gPT4gbS5Md20ybUNvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgY2FuQWN0aXZhdGU6IFtMd20ybU1pY3Jvc2VydmljZUd1YXJkLCBMd20ybURldmljZVR5cGVHdWFyZCwgTHdtMm1Db25maWd1cmF0aW9uQXBpR3VhcmRdLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiAnYmFzaWMnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmRldmljZVNldHRpbmdzLFxuICAgICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24nKS50aGVuKFxuICAgICAgICAgICAgICAgICAgbSA9PiBtLkx3bTJtRm9ybURldmljZVNldHRpbmdzXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcGF0aDogTFdNMk1FbmRwb2ludC5jb25uZWN0aXZpdHksXG4gICAgICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbicpLnRoZW4oXG4gICAgICAgICAgICAgICAgICBtID0+IG0uTHdtMm1Gb3JtQ29ubmVjdGl2aXR5U2V0dGluZ3NcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmZpcm13YXJlLFxuICAgICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24nKS50aGVuKFxuICAgICAgICAgICAgICAgICAgbSA9PiBtLkx3bTJtRm9ybUZpcm13YXJlU2V0dGluZ3NcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmJvb3RzdHJhcCxcbiAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9jb25maWd1cmF0aW9uJykudGhlbihcbiAgICAgICAgICAgICAgICAgIG0gPT4gbS5Md20ybUZvcm1Cb290c3RyYXBTZXR0aW5nc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHBhdGg6IExXTTJNRW5kcG9pbnQuc2VydmVycyxcbiAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9jb25maWd1cmF0aW9uJykudGhlbihcbiAgICAgICAgICAgICAgICAgIG0gPT4gbS5Md20ybUZvcm1TZXJ2ZXJTZXR0aW5nc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgICBob29rUm91dGUoe1xuICAgICAgICAgIHBhdGg6ICdsd20ybS1ib290c3RyYXAtcGFyYW1ldGVycycsXG4gICAgICAgICAgY29udGV4dDogVmlld0NvbnRleHQuRGV2aWNlLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9ib290c3RyYXAtcGFyYW1ldGVycycpLnRoZW4oXG4gICAgICAgICAgICAgIG0gPT4gbS5Md20ybUJvb3RzdHJhcFBhcmFtZXRlcnNDb21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xXTTJNIGJvb3RzdHJhcCBwYXJhbWV0ZXJzJyksXG4gICAgICAgICAgaWNvbjogJ2M4eS1kZXZpY2UtcHJvdG9jb2xzJyxcbiAgICAgICAgICBjYW5BY3RpdmF0ZTogW1xuICAgICAgICAgICAgTHdtMm1NaWNyb3NlcnZpY2VHdWFyZCxcbiAgICAgICAgICAgIEx3bTJtRGV2aWNlVHlwZUd1YXJkLFxuICAgICAgICAgICAgTHdtMm1Cb290c3RyYXBQYXJhbWV0ZXJzQXBpR3VhcmRcbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgICBob29rUGF0dGVybk1lc3NhZ2VzKGx3bTJtUmVnaXN0ZXJEZXZpY2VTdHJpbmdzSW5jb21pbmdGcm9tTVMpXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTHdtMm1Nb2R1bGUuZm9yUm9vdCgpXVxufSlcbmV4cG9ydCBjbGFzcyBMV00yTW9kdWxlIHt9XG4iXX0=