Fixed webapp build and error message.
[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 { AppTopnavComponent } from './app-topnav/app-topnav.component';
24 import { AppAlertComponent } from './app-alert/app-alert.component';
25 import { HomeComponent } from './home/home.component';
26 import { ConfigComponent } from './config/config.component';
27 import { DwnlAgentComponent } from './config/downloadXdsAgent.component';
28 import { DevelComponent } from './devel/devel.component';
29 import { BuildComponent } from './devel/build/build.component';
30 import { ProjectCardComponent } from './projects/projectCard.component';
31 import { ProjectReadableTypePipe } from './projects/projectCard.component';
32 import { ProjectsListAccordionComponent } from './projects/projectsListAccordion.component';
33 import { ProjectAddModalComponent } from './projects/projectAddModal.component';
34 import { SdkCardComponent } from './sdks/sdkCard.component';
35 import { SdksListAccordionComponent } from './sdks/sdksListAccordion.component';
36 import { SdkSelectDropdownComponent } from './sdks/sdkSelectDropdown.component';
37 import { SdkAddModalComponent } from './sdks/sdkAddModal.component';
38
39 import { AlertService } from './services/alert.service';
40 import { ConfigService } from './services/config.service';
41 import { ProjectService } from './services/project.service';
42 import { SdkService } from './services/sdk.service';
43 import { UtilsService } from './services/utils.service';
44 import { XDSAgentService } from './services/xdsagent.service';
45
46 import { SafePipe } from './common/safe.pipe';
47
48 export function createTranslateLoader(http: HttpClient) {
49     return new TranslateHttpLoader(http, './assets/i18n/', '.json');
50 }
51
52 @NgModule({
53     imports: [
54         BrowserModule,
55         FormsModule,
56         ReactiveFormsModule,
57         HttpClientModule,
58         AppRoutingModule,
59         FileUploadModule,
60         TranslateModule.forRoot({
61             loader: {
62                 provide: TranslateLoader,
63                 useFactory: (createTranslateLoader),
64                 deps: [HttpClient]
65             }
66         }),
67         CookieModule.forRoot(),
68         AlertModule.forRoot(),
69         ModalModule.forRoot(),
70         AccordionModule.forRoot(),
71         CarouselModule.forRoot(),
72         PopoverModule.forRoot(),
73         CollapseModule.forRoot(),
74         BsDropdownModule.forRoot(),
75     ],
76     declarations: [
77         AppComponent,
78         AppTopnavComponent,
79         AppAlertComponent,
80         HomeComponent,
81         ConfigComponent,
82         DwnlAgentComponent,
83         DevelComponent,
84         BuildComponent,
85         ProjectCardComponent,
86         ProjectReadableTypePipe,
87         ProjectsListAccordionComponent,
88         ProjectAddModalComponent,
89         SdkCardComponent,
90         SdksListAccordionComponent,
91         SdkSelectDropdownComponent,
92         SdkAddModalComponent,
93         SafePipe,
94     ],
95     providers: [
96         {
97             provide: LocationStrategy, useClass: HashLocationStrategy,
98         },
99         AlertService,
100         ConfigService,
101         ProjectService,
102         SdkService,
103         UtilsService,
104         XDSAgentService
105     ],
106     bootstrap: [AppComponent]
107 })
108 export class AppModule {
109     constructor() { }
110 }