import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MapModule } from '@c8y/ngx-components/map';
import { CoreModule, hookNavigator, hookRoute, NavigatorNode } from '@c8y/ngx-components';
import { SimpleMapExamplesComponent } from './simple-map-examples.component';
import { ClusterMapExamplesComponent } from './cluster-map-examples.component';
import { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';

const navigatorNodes = new NavigatorNode({
  priority: 20,
  icon: 'map',
  label: 'Map examples'
});

navigatorNodes.children.push(
  new NavigatorNode({
    priority: 20,
    path: 'maps/simple',
    icon: 'marker',
    label: 'Simple map'
  })
);

navigatorNodes.children.push(
  new NavigatorNode({
    priority: 20,
    path: 'maps/cluster',
    icon: 'address',
    label: 'Cluster map'
  })
);

@NgModule({
  declarations: [SimpleMapExamplesComponent, ClusterMapExamplesComponent],
  imports: [CommonModule, MapModule, CoreModule, AssetSelectorModule],
  exports: [],
  providers: [
    hookRoute([
      {
        path: 'maps/simple',
        component: SimpleMapExamplesComponent
      },
      {
        path: 'maps/cluster',
        component: ClusterMapExamplesComponent
      }
    ]),
    hookNavigator(navigatorNodes)
  ]
})
export class MapExamplesModule {}
