@c8y/apps
Version:
Cumulocity IoT applications
48 lines (45 loc) • 1.82 kB
text/typescript
import { NgModule } from '@angular/core';
import { WidgetDemo } from './demo-widget.component';
import { WidgetConfigDemo } from './demo-widget-config.component';
import { FormsModule, CommonModule as C8yCommonModule, hookComponent } from '@c8y/ngx-components';
import { ContextWidgetConfig } from '@c8y/ngx-components/context-dashboard';
import { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
/**
* This demo widget provides an example on how
* to use the hookComponent. The component itself
* is implemented in the dashboard on the
* ../hello/hello.component.html by using the
* dynamic-component tag.
*/
({
declarations: [WidgetDemo, WidgetConfigDemo],
imports: [FormsModule, AssetSelectorModule, C8yCommonModule],
exports: [],
providers: [
hookComponent({
id: 'angular.widget.demo',
label: 'My angular widget',
description: 'This is a description from angular',
component: WidgetDemo,
configComponent: WidgetConfigDemo,
/** new Angular-Dashboard definition */
data: {
// The settings object can be used to configure the configComponent
settings: {
noNewWidgets: false, // Set this to true, to don't allow adding new widgets.
ng1: {
options: {
noDeviceTarget: false, // Set this to true to hide the AngularJS device selector.
groupsSelectable: false // Set this, if not only devices should be selectable.
}
}
},
// Settings that are attached to the display component (in this case: WidgetDemo)
displaySettings: {
globalTimeContext: true // Set this to true, to add a global time context binding
}
} as ContextWidgetConfig
})
]
})
export class DashboardWidgetDemoModule {}