blob: ce9b7da3b9db886c6bd3e972d1973a24b86d4df1 [file] [log] [blame]
import {ApplicationRef, NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {AppComponent} from './app.component';
import {routing} from './app.routing';
import {VlanTaggingModule} from './vlanTagging/vlan-tagging.module'
import {BootstrapModalModule} from 'ng2-bootstrap-modal';
import {HashLocationStrategy, LocationStrategy} from "@angular/common";
import {InstantiationStatusModule} from './instantiationStatus/InstantiationStatus.module';
import {SharedModule} from './shared/shared.module';
import {AngularSvgIconModule} from 'angular-svg-icon';
import {NgReduxModule} from '@angular-redux/store';
import {StoreModule} from "./shared/store/module";
import {HttpInterceptorService} from './shared/utils/httpInterceptor/httpInterceptor.service';
import {DrawingBoardModule} from './drawingBoard/drawingBoard.module';
import {ScrollToModule} from '@nicky-lenaers/ngx-scroll-to';
import {LogService} from './shared/utils/log/log.service';
import {FeatureFlagsService} from "./shared/services/featureFlag/feature-flags.service";
import {SupportComponent} from "./support/support.component";
import {DrawingBoardGuard} from "./drawingBoard/guards/servicePlanningGuard/drawingBoardGuard";
import {MsoService} from "./shared/services/msoService/mso.service";
import {HealthStatusModule} from "./healthStatus/health-status.module";
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
FormsModule,
routing,
SharedModule.forRoot(),
ScrollToModule.forRoot(),
DrawingBoardModule,
HealthStatusModule,
VlanTaggingModule,
InstantiationStatusModule,
BootstrapModalModule,
AngularSvgIconModule,
ReactiveFormsModule,
NgReduxModule,
StoreModule,
],
declarations: [
AppComponent,
SupportComponent,
],
providers: [
LogService,
FeatureFlagsService,
DrawingBoardGuard,
MsoService,
{ provide: LocationStrategy, useClass: HashLocationStrategy },
{ provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true }
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(public appRef: ApplicationRef) {
Object.defineProperty(appRef, '_rootComponents', { get: () => appRef['components'] });
}
}