Hi @Tristan_Bastian 
Thank you for your answer.
I was missing cockpitWidgetsExports in cumulocity.config.ts.So I’ve added it.
I have widgets in my custom app:
- Alarm list
- All critical alarms
- Applications
- Data Points Table
- Help and service
- Image
- Info gauge
- KPI widget
- Legacy welcome to Cockpit
- Linear Gauge
- Map
- Markdown
- Message sending
- Recent alarms
- Rotation
- Silo
- Welcome to Cockpit
In ng1.ts file I was also missing imports. I’ve added:
import "@c8y/ng1-modules/assetPropertyWidget/cumulocity.json";
import "@c8y/ng1-modules/eventList/cumulocity.json";
import "@c8y/ng1-modules/htmlWidget/cumulocity.json";
import "@c8y/ng1-modules/scada/cumulocity.json";
import "@c8y/ng1-modules/trafficLightWidget/cumulocity.json";
But this did not add any new widgets to my custom application.
I am still missing:
- Asset properties
- Data point graph
- Data point list
- Event list
- HTML
- Pie Chart
- Radial Gauge
- SCADA
- Traffic light.
app.module.ts
import { DragDropModule } from "@angular/cdk/drag-drop";
import { CdkTreeModule } from "@angular/cdk/tree";
import { DecimalPipe } from "@angular/common";
import { NgModule } from "@angular/core";
import { MatListModule } from "@angular/material/list";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { RouterModule } from "@angular/router";
import { UpgradeModule as NgUpgradeModule } from "@angular/upgrade/static";
import {
CoreModule,
DashboardModule,
EventRealtimeService,
hookAction,
ManagedObjectRealtimeService,
} from "@c8y/ngx-components";
import { ContextDashboardModule } from "@c8y/ngx-components/context-dashboard";
import {
HybridAppModule,
UPGRADE_ROUTES,
UpgradeModule,
} from "@c8y/ngx-components/upgrade";
import { WidgetsModule } from "@c8y/ngx-components/widgets";
@NgModule({
imports: [
UpgradeModule,
BrowserAnimationsModule,
RouterModule.forRoot([{ myRoutes }, ...UPGRADE_ROUTES], {
useHash: true,
}),
CoreModule.forRoot(),
NgUpgradeModule,
DashboardModule,
CdkTreeModule,
DragDropModule,
ContextDashboardModule,
MatListModule,
WidgetsModule,
],
declarations: [
myDeclarations
],
providers: [
hookAction(myAppActionFactory),
EventRealtimeService,
ManagedObjectRealtimeService,
DecimalPipe,
],
})
export class AppModule extends HybridAppModule {
constructor(protected override upgrade: NgUpgradeModule) {
super();
}
}
cumulocity.config.ts
import type { ConfigurationOptions } from "@c8y/devkit";
import { cockpitWidgetsExports } from "@c8y/ngx-components/widgets/cockpit-exports";
import { author, description, version } from "./package.json";
export default {
runTime: {
author,
description,
version,
name: "My app",
tabsHorizontal: true,
upgrade: true,
rightDrawer: true,
contentSecurityPolicy:
"base-uri 'none'; default-src 'self' 'unsafe-inline' http: https: ws: wss:; connect-src 'self' http: https: ws: wss:; script-src 'self' *.twitter.com *.twimg.com *.aptrinsic.com 'unsafe-inline' 'unsafe-eval' data:; style-src * 'unsafe-inline' blob:; img-src * data:; font-src * data:; frame-src *; worker-src 'self' blob:;",
dynamicOptionsUrl: true,
icon: {
url: "url(/apps/my-app/assets/logo.png)",
},
exports: [...cockpitWidgetsExports],
},
buildTime: {
federation: [
"@angular/animations",
"@angular/cdk",
"@angular/common",
"@angular/compiler",
"@angular/core",
"@angular/forms",
"@angular/platform-browser",
"@angular/platform-browser-dynamic",
"@angular/router",
"@angular/upgrade",
"@c8y/client",
"@c8y/ngx-components",
"angular",
"ngx-bootstrap",
"@ngx-translate/core",
"@ngx-formly/core",
],
},
} as const satisfies ConfigurationOptions;
ng1.ts
import “@c8y/ng1-modules/core”;
import “@c8y/ng1-modules/assetPropertyWidget/cumulocity.json”;
import “@c8y/ng1-modules/eventList/cumulocity.json”;
import “@c8y/ng1-modules/htmlWidget/cumulocity.json”;
import “@c8y/ng1-modules/scada/cumulocity.json”;
import “@c8y/ng1-modules/trafficLightWidget/cumulocity.json”;