Moved Dashboad webapp on Angular 5 !
[src/xds/xds-agent.git] / webapp / src / app / app.module.ts
1 import { NgModule } from '@angular/core';
2 import { HttpClientModule, HttpClient } from '@angular/common/http';
3 import { BrowserModule } from '@angular/platform-browser';
4 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5 import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
6 import { TranslateHttpLoader } from '@ngx-translate/http-loader';
7 import { FileUploadModule } from 'ng2-file-upload';
8 import { LocationStrategy, HashLocationStrategy } from '@angular/common';
9 import { CookieModule } from 'ngx-cookie';
10
11 // Import bootstrap
12 import { AlertModule } from 'ngx-bootstrap/alert';
13 import { ModalModule } from 'ngx-bootstrap/modal';
14 import { AccordionModule } from 'ngx-bootstrap/accordion';
15 import { CarouselModule } from 'ngx-bootstrap/carousel';
16 import { PopoverModule } from 'ngx-bootstrap/popover';
17 import { CollapseModule } from 'ngx-bootstrap/collapse';
18 import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
19
20 // Import the application components and services.
21 import { AppRoutingModule } from './app-routing.module';
22 import { AppComponent } from './app.component';
23 import { AlertComponent } from './alert/alert.component';
24 import { HomeComponent } from './home/home.component';
25 import { ConfigComponent } from './config/config.component';
26 import { DwnlAgentComponent } from './config/downloadXdsAgent.component';
27 import { DevelComponent } from './devel/devel.component';
28 import { BuildComponent } from './devel/build/build.component';
29 import { ProjectCardComponent } from './projects/projectCard.component';
30 import { ProjectReadableTypePipe } from './projects/projectCard.component';
31 import { ProjectsListAccordionComponent } from './projects/projectsListAccordion.component';
32 import { ProjectAddModalComponent } from './projects/projectAddModal.component';
33 import { SdkCardComponent } from './sdks/sdkCard.component';
34 import { SdksListAccordionComponent } from './sdks/sdksListAccordion.component';
35 import { SdkSelectDropdownComponent } from './sdks/sdkSelectDropdown.component';
36 import { SdkAddModalComponent } from './sdks/sdkAddModal.component';
37
38 import { AlertService } from './services/alert.service';
39 import { ConfigService } from './services/config.service';
40 import { ProjectService } from './services/project.service';
41 import { SdkService } from './services/sdk.service';
42 import { UtilsService } from './services/utils.service';
43 import { XDSAgentService } from './services/xdsagent.service';
44
45 import { SafePipe } from './common/safe.pipe';
46
47 export function createTranslateLoader(http: HttpClient) {
48     return new TranslateHttpLoader(http, './assets/i18n/', '.json');
49 }
50
51 @NgModule({
52     imports: [
53         BrowserModule,
54         FormsModule,
55         ReactiveFormsModule,
56         HttpClientModule,
57         AppRoutingModule,
58         FileUploadModule,
59         TranslateModule.forRoot({
60             loader: {
61                 provide: TranslateLoader,
62                 useFactory: (createTranslateLoader),
63                 deps: [HttpClient]
64             }
65         }),
66         CookieModule.forRoot(),
67         AlertModule.forRoot(),
68         ModalModule.forRoot(),
69         AccordionModule.forRoot(),
70         CarouselModule.forRoot(),
71         PopoverModule.forRoot(),
72         CollapseModule.forRoot(),
73         BsDropdownModule.forRoot(),
74     ],
75     declarations: [
76         AppComponent,
77         HomeComponent,
78         AlertComponent,
79         ConfigComponent,
80         DwnlAgentComponent,
81         DevelComponent,
82         BuildComponent,
83         ProjectCardComponent,
84         ProjectReadableTypePipe,
85         ProjectsListAccordionComponent,
86         ProjectAddModalComponent,
87         SdkCardComponent,
88         SdksListAccordionComponent,
89         SdkSelectDropdownComponent,
90         SdkAddModalComponent,
91         SafePipe
92     ],
93     providers: [
94         {
95             provide: LocationStrategy, useClass: HashLocationStrategy,
96         },
97         AlertService,
98         ConfigService,
99         ProjectService,
100         SdkService,
101         UtilsService,
102         XDSAgentService
103     ],
104     bootstrap: [AppComponent]
105 })
106 export class AppModule {
107     constructor() { }
108 }