app.module.ts 7.25 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 {RoadToCategoryComponent} from './data/road-to-category/road-to-category.component';
import {CrossSectionComponent} from './data/cross-section/cross-section.component';
import {EditorComponent} from '../helpers/editor.component';
import {RendererComponent} from '../helpers/renderer.component';
import {MapEditorComponent} from '../helpers/map-editor.component';
import {MapRendererComponent} from '../helpers/map-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';
import {AuthorityComponent} from './data/authority/authority.component';
import {MapComponent} from './data/map/map.component';
import {MapItemsComponent} from './data/map-items/map-items.component';
import {RoadMapComponent} from '../components/road-map.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 {RoadToCategoryService} from '../services/road-to-category.service';
import {RoadToCategoryCreateService} from '../services/road-to-category-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';
import {AuthorityService} from '../services/authority.service';
import {AuthorityCreateService} from '../services/authority-create.service';
import {ContractorService} from "../services/contractor.service";
import {ContractorCreateService} from "../services/contractor-create.service";
import {ContractorComponent} from "./data/contractor/contractor.component";
import {CovalentExpansionPanelModule} from "@covalent/core/expansion-panel/expansion-panel.module";

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

@NgModule({
    declarations: [
        AppComponent,
        MainComponent,
        DataComponent,
        LoginComponent,
        ChartComponent,
        TemplatesComponent,
        BusStopComponent,
        ServiceObjectComponent,
        RoadSurfaceComponent,
        EditorComponent,
        RendererComponent,
        MapEditorComponent,
        MapRendererComponent,
        MapItemsComponent,
        RoadWidthComponent,
        RoadToCategoryComponent,
        FlowIntensityComponent,
        RoadComponent,
        CrossSectionComponent,
        RoadServiceComponent,
        SettlementAddressLinkComponent,
        AuthorityComponent,
        ContractorComponent,
        MapComponent,
        RoadMapComponent
    ], // directives, components, and pipes owned by this NgModule
    imports: [
        BrowserModule,
        AgGridModule.withComponents([
            BusStopComponent,
            ServiceObjectComponent,
            EditorComponent,
            RendererComponent,
            MapEditorComponent,
            MapRendererComponent,
            RoadSurfaceComponent,
            RoadWidthComponent,
            RoadToCategoryComponent,
            FlowIntensityComponent,
            RoadComponent,
            CrossSectionComponent,
            RoadServiceComponent,
            SettlementAddressLinkComponent,
            AuthorityComponent,
            ContractorComponent
        ]),
        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,
        RoadToCategoryCreateService,
        RoadToCategoryService,
        FlowIntensityCreateService,
        FlowIntensityService,
        RoadCreateService,
        RoadService,
        CrossSectionCreateService,
        CrossSectionService,
        RoadServiceService,
        RoadServiceCreateService,
        SettlementAddressLinkService,
        SettlementAddressLinkCreateService,
        AuthorityService,
        AuthorityCreateService,
        ContractorService,
        ContractorCreateService
    ], // additional providers needed for this module
    entryComponents: [],
    bootstrap: [AppComponent],
})
export class AppModule {
}