app.module.ts 2.62 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 { EditorComponent } from '../helpers/editor.component';
import { RendererComponent } from '../helpers/renderer.component';

// Services
import { BusStopCreateService } from '../services/bus-stop-create.service';
import { BooleanSelectListService } from '../services/boolean-select-list.service';
import { BusStopService } from '../services/bus-stop.service';

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

@NgModule({
  declarations: [
    AppComponent,
    MainComponent,
    DataComponent,
    LoginComponent,
    ChartComponent,
    TemplatesComponent,
    BusStopComponent,
    EditorComponent,
    RendererComponent,
  ], // directives, components, and pipes owned by this NgModule
  imports: [
    BrowserModule,
    AgGridModule.withComponents([
      BusStopComponent,
      EditorComponent,
      RendererComponent,
    ]),
    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,
    BusStopCreateService,
    BooleanSelectListService,
    BusStopService,
  ], // additional providers needed for this module
  entryComponents: [ ],
  bootstrap: [ AppComponent ],
})
export class AppModule {}