import { NgModule, Type } from '@angular/core'; import { BrowserModule, Title } from '@angular/platform-browser'; import { CovalentCoreModule, CovalentLoadingModule } from '@covalent/core'; import { CovalentHttpModule, IHttpInterceptor } from '@covalent/http'; import { CovalentHighlightModule } from '@covalent/highlight'; import { CovalentMarkdownModule } from '@covalent/markdown'; import { CovalentChartsModule } from '@covalent/charts'; import { AppComponent } from './app.component'; import { MainComponent } from './main/main.component'; import { LoginComponent } from './login/login.component'; import { DataComponent } from './data/data.component'; import { TemplatesComponent } from './templates/templates.component';; import { appRoutes, appRoutingProviders } from './app.routes'; import { AgGridModule } from 'ag-grid-ng2/main'; import { ChartComponent } from '../components/chart/chart.component'; import { RequestInterceptor } from '../config/interceptors/request.interceptor'; import { NgxChartsModule } from '@swimlane/ngx-charts'; import { BusStopComponent } from './data/bus-stop/bus-stop.component'; import { ServiceObjectComponent } from './data/service-object/service-object.component'; import { RoadSurfaceComponent } from './data/road-surface/road-surface.component'; import { RoadWidthComponent } from './data/road-width/road-width.component'; import { CrossSectionComponent } from './data/cross-section/cross-section.component'; import { EditorComponent } from '../helpers/editor.component'; import { RendererComponent } from '../helpers/renderer.component'; import { FlowIntensityComponent } from './data/flow-intensity/flow-intensity.component'; import { RoadComponent } from './data/road/road.component'; // Services import { BusStopCreateService } from '../services/bus-stop-create.service'; import { BusStopService } from '../services/bus-stop.service'; import { ServiceObjectCreateService } from '../services/service-object-create.service'; import { ServiceObjectService } from '../services/service-object.service'; import { RoadSurfaceService } from '../services/road-surface.service'; import { RoadSurfaceCreateService } from '../services/road-surface-create.service'; import { RoadWidthService } from '../services/road-width.service'; import { RoadWidthCreateService } from '../services/road-width-create.service'; import { CrossSectionService } from '../services/cross-section.service'; import { CrossSectionCreateService } from '../services/cross-section-create.service'; import { BooleanSelectListService } from '../services/boolean-select-list.service'; import { FlowIntensityCreateService } from '../services/flow-intensity-create.service'; import { FlowIntensityService } from '../services/flow-intensity.service'; import { RoadCreateService } from '../services/road-create.service'; import { RoadService } from '../services/road.service'; const httpInterceptorProviders: Type[] = [ RequestInterceptor, ]; @NgModule({ declarations: [ AppComponent, MainComponent, DataComponent, LoginComponent, ChartComponent, TemplatesComponent, BusStopComponent, ServiceObjectComponent, RoadSurfaceComponent, EditorComponent, RendererComponent, RoadWidthComponent, FlowIntensityComponent, RoadComponent, CrossSectionComponent, ], // directives, components, and pipes owned by this NgModule imports: [ BrowserModule, AgGridModule.withComponents([ BusStopComponent, ServiceObjectComponent, EditorComponent, RendererComponent, RoadSurfaceComponent, RoadWidthComponent, FlowIntensityComponent, RoadComponent, CrossSectionComponent, ]), CovalentCoreModule.forRoot(), CovalentChartsModule.forRoot(), CovalentHttpModule.forRoot({ interceptors: [{ interceptor: RequestInterceptor, paths: ['**'], }], }), CovalentHighlightModule.forRoot(), CovalentMarkdownModule.forRoot(), CovalentLoadingModule.forRoot(), appRoutes, NgxChartsModule, ], // modules needed to run this module providers: [ appRoutingProviders, httpInterceptorProviders, Title, BooleanSelectListService, BusStopCreateService, BusStopService, ServiceObjectCreateService, ServiceObjectService, RoadSurfaceCreateService, RoadSurfaceService, RoadWidthCreateService, RoadWidthService, FlowIntensityCreateService, FlowIntensityService, RoadCreateService, RoadService, CrossSectionCreateService, CrossSectionService, ], // additional providers needed for this module entryComponents: [ ], bootstrap: [ AppComponent ], }) export class AppModule {}