Uplift to Angular 9
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / app.module.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 AT&T Intellectual Property
6  * Modifications Copyright (C) 2019 Nordix Foundation
7  * Modifications Copyright (C) 2020 Nordix Foundation
8  * %%
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ========================LICENSE_END===================================
21  */
22 import { BrowserModule } from '@angular/platform-browser';
23 import { MatButtonModule } from '@angular/material/button';
24 import { MatButtonToggleModule } from '@angular/material/button-toggle';
25 import { MatCardModule } from '@angular/material/card';
26 import { MatCheckboxModule } from '@angular/material/checkbox';
27 import { MatDialogModule } from '@angular/material/dialog';
28 import { MatExpansionModule } from '@angular/material/expansion';
29 import { MatFormFieldModule } from '@angular/material/form-field';
30 import { MatGridListModule } from '@angular/material/grid-list';
31 import { MatIconModule } from '@angular/material/icon';
32 import { MatInputModule } from '@angular/material/input';
33 import { MatListModule } from '@angular/material/list';
34 import { MatMenuModule } from '@angular/material/menu';
35 import { MatPaginatorModule } from '@angular/material/paginator';
36 import { MatSelectModule } from '@angular/material/select';
37 import { MatSidenavModule } from '@angular/material/sidenav';
38 import { MatSliderModule } from '@angular/material/slider';
39 import { MatSlideToggleModule } from '@angular/material/slide-toggle';
40 import { MatSnackBarModule } from '@angular/material/snack-bar';
41 import { MatSortModule } from '@angular/material/sort';
42 import { MatTableModule } from '@angular/material/table';
43 import { MatTabsModule } from '@angular/material/tabs';
44 import { MatToolbarModule } from '@angular/material/toolbar';
45 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
46 import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
47 import { NgModule } from '@angular/core';
48 import { ChartsModule } from 'ng2-charts';
49 import { MDBBootstrapModule } from 'angular-bootstrap-md';
50 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
51 import { ToastrModule } from 'ngx-toastr';
52 import { ConfirmDialogComponent } from './ui/confirm-dialog/confirm-dialog.component';
53 import { ErrorDialogComponent } from './ui/error-dialog/error-dialog.component';
54 import { ErrorDialogService } from './services/ui/error-dialog.service';
55 import { FlexLayoutModule } from '@angular/flex-layout';
56 import { FooterComponent } from './footer/footer.component';
57 import { MainComponent } from './main/main.component';
58 import { MaterialDesignFrameworkModule } from 'angular6-json-schema-form';
59 import { NoTypePolicyInstanceDialogComponent } from './policy-control/no-type-policy-instance-dialog.component';
60 import { PolicyCardComponent } from './ui/policy-card/policy-card.component';
61 import { PolicyControlComponent } from './policy-control/policy-control.component';
62 import { PolicyInstanceComponent } from './policy-control/policy-instance.component';
63 import { PolicyInstanceDialogComponent } from './policy-control/policy-instance-dialog.component';
64 import { AppComponent } from './app.component';
65 import { AppRoutingModule } from './app-routing.module';
66 import { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';
67 import { UiService } from './services/ui/ui.service';
68 import { CookieModule } from 'ngx-cookie';
69 import { NodeModulesComponent } from './node-modules/node-modules.component';
70 import { EICardComponent } from './ui/ei-card/ei-card.component';
71 import { EICoordinatorComponent } from './ei-coordinator/ei-coordinator.component';
72 import { HttpMockRequestInterceptor } from './interceptor.mock';
73 import { environment } from 'src/environments/environment';
74 import { HttpRequestInterceptor } from './interceptor';
75
76 export const isMock = environment.mock;
77
78 @NgModule({
79   declarations: [
80     AppComponent,
81     ConfirmDialogComponent,
82     EICardComponent,
83     EICoordinatorComponent,
84     ErrorDialogComponent,
85     FooterComponent,
86     MainComponent,
87     NodeModulesComponent,
88     NoTypePolicyInstanceDialogComponent,
89     PolicyCardComponent,
90     PolicyControlComponent,
91     PolicyInstanceComponent,
92     PolicyInstanceDialogComponent,
93     SidenavListComponent,
94   ],
95   imports: [
96     AppRoutingModule,
97     BrowserModule,
98     BrowserAnimationsModule,
99     ChartsModule,
100     CookieModule.forRoot(),
101     FlexLayoutModule,
102     FormsModule,
103     HttpClientModule,
104     MatButtonModule,
105     MatButtonToggleModule,
106     MatCardModule,
107     MatCheckboxModule,
108     MatDialogModule,
109     MatExpansionModule,
110     MatFormFieldModule,
111     MatGridListModule,
112     MatIconModule,
113     MatInputModule,
114     MatListModule,
115     MatMenuModule,
116     MatPaginatorModule,
117     MatSelectModule,
118     MatSidenavModule,
119     MatSliderModule,
120     MatSlideToggleModule,
121     MatSnackBarModule,
122     MatSortModule,
123     MatTableModule,
124     MatTabsModule,
125     MatToolbarModule,
126     MaterialDesignFrameworkModule,
127     MDBBootstrapModule.forRoot(),
128     ReactiveFormsModule,
129     ToastrModule.forRoot(),
130   ],
131   exports: [
132     ErrorDialogComponent,
133     FormsModule,
134     MatButtonModule,
135     MatButtonToggleModule,
136     MatCardModule,
137     MatDialogModule,
138     MatExpansionModule,
139     MatFormFieldModule,
140     MatGridListModule,
141     MatIconModule,
142     MatInputModule,
143     MatListModule,
144     MatSidenavModule,
145     MatSliderModule,
146     MatSlideToggleModule,
147     MatTabsModule
148   ],
149   entryComponents: [
150     ConfirmDialogComponent,
151     ErrorDialogComponent,
152     NoTypePolicyInstanceDialogComponent,
153     PolicyInstanceDialogComponent
154   ],
155   providers: [
156     ErrorDialogService,
157     UiService,
158     {
159       provide: HTTP_INTERCEPTORS,
160       useClass: isMock ? HttpMockRequestInterceptor : HttpRequestInterceptor,
161       multi: true
162       }
163   ],
164   bootstrap: [AppComponent]
165 })
166 export class AppModule { }