app.module.ts 5.38 KB
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';
import { RoadServiceComponent } from './data/road-service/road-service.component';
import { SettlementAddressLinkComponent } from './data/settlement-address-link/settlement-address-link.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';
import { RoadServiceService } from '../services/road-service.service';
import { RoadServiceCreateService } from '../services/road-service-create.service';
import { SettlementAddressLinkService } from '../services/settlement-address-link.service';
import { SettlementAddressLinkCreateService } from '../services/settlement-address-link-create.service';

const httpInterceptorProviders: Type<any>[] = [
  RequestInterceptor,
];

@NgModule({
  declarations: [
    AppComponent,
    MainComponent,
    DataComponent,
    LoginComponent,
    ChartComponent,
    TemplatesComponent,
    BusStopComponent,
    ServiceObjectComponent,
    RoadSurfaceComponent,
    EditorComponent,
    RendererComponent,
    RoadWidthComponent,
    FlowIntensityComponent,
    RoadComponent,
    CrossSectionComponent,
    RoadServiceComponent,
    SettlementAddressLinkComponent,
  ], // directives, components, and pipes owned by this NgModule
  imports: [
    BrowserModule,
    AgGridModule.withComponents([
      BusStopComponent,
      ServiceObjectComponent,
      EditorComponent,
      RendererComponent,
      RoadSurfaceComponent,
      RoadWidthComponent,
      FlowIntensityComponent,
      RoadComponent,
      CrossSectionComponent,
      RoadServiceComponent,
      SettlementAddressLinkComponent,
    ]),
    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,
    RoadServiceService,
    RoadServiceCreateService,
    SettlementAddressLinkService,
    SettlementAddressLinkCreateService,
  ], // additional providers needed for this module
  entryComponents: [ ],
  bootstrap: [ AppComponent ],
})
export class AppModule {}