@c8y/apps
Version:
Cumulocity IoT applications
75 lines (72 loc) • 2.45 kB
text/typescript
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { CoreModule, hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';
import { ContextDashboardModule } from '@c8y/ngx-components/context-dashboard';
import { ContextDashboardComponent } from './context-dashboard.component';
import { AssetSelectorExampleComponent } from './asset-selector-example.component';
import { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
import { NamedContextDashboardComponent } from './named-context-dashboard.component';
import { CustomDashboardComponent } from './custom-dashboard.component';
import { DashboardNavigationFactory } from './dashboard-navigation';
import { ServiceDashboardComponent } from './service-dashboard.component';
import { WidgetDashboardComponent } from './widget-dashboard.component';
import { DatapointSelectorModule } from '@c8y/ngx-components/datapoint-selector';
import { DatapointSelectionExampleComponent } from './datapoint-selection-example/datapoint-selection-example.component';
/**
* Angular Routes.
* Within this array at least path (url) and components are linked.
*/
const routes: Routes = [
{
path: 'dashboards/custom',
component: CustomDashboardComponent
},
{
path: 'dashboards/widget',
component: WidgetDashboardComponent
},
{
path: 'dashboards/context',
component: ContextDashboardComponent
},
{
path: 'dashboards/selector',
component: AssetSelectorExampleComponent
},
{
path: 'dashboards/datapoint-selection',
component: DatapointSelectionExampleComponent
}
];
@NgModule({
declarations: [
CustomDashboardComponent,
WidgetDashboardComponent,
ContextDashboardComponent,
NamedContextDashboardComponent,
AssetSelectorExampleComponent,
ServiceDashboardComponent,
DatapointSelectionExampleComponent
],
imports: [
CommonModule,
RouterModule.forChild(routes),
CoreModule,
ContextDashboardModule.config(),
AssetSelectorModule,
DatapointSelectorModule
],
providers: [
hookNavigator(DashboardNavigationFactory),
hookRoute({
path: 'named-context',
context: ViewContext.Device,
component: NamedContextDashboardComponent,
label: 'Named-context dashboard',
priority: 900,
icon: 'rocket'
})
]
})
export class DashboardModule {}