e84cf6be1de34846d915b499bb2fac768523c0aa
[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 { PolicyModule } from './policy/policy.module'
60 import { EiCoordinatorModule } from './ei-coordinator/ei-coordinator.module'
61 import { AppComponent } from './app.component';
62 import { AppRoutingModule } from './app-routing.module';
63 import { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';
64 import { UiService } from './services/ui/ui.service';
65 import { CookieService } from 'ngx-cookie-service';
66 import { HttpMockRequestInterceptor } from './interceptor.mock';
67 import { environment } from 'src/environments/environment';
68 import { HttpRequestInterceptor } from './interceptor';
69
70 export const isMock = environment.mock;
71
72 @NgModule({
73   declarations: [
74     AppComponent,
75     ConfirmDialogComponent,
76     ErrorDialogComponent,
77     FooterComponent,
78     MainComponent,
79     SidenavListComponent,
80   ],
81   imports: [
82     AppRoutingModule,
83     BrowserModule,
84     BrowserAnimationsModule,
85     ChartsModule,
86     FlexLayoutModule,
87     FormsModule,
88     HttpClientModule,
89     MatButtonModule,
90     MatButtonToggleModule,
91     MatCardModule,
92     MatCheckboxModule,
93     MatDialogModule,
94     MatExpansionModule,
95     MatFormFieldModule,
96     MatGridListModule,
97     MatIconModule,
98     MatInputModule,
99     MatListModule,
100     MatMenuModule,
101     MatPaginatorModule,
102     MatSelectModule,
103     MatSidenavModule,
104     MatSliderModule,
105     MatSlideToggleModule,
106     MatSnackBarModule,
107     MatSortModule,
108     MatTableModule,
109     MatTabsModule,
110     MatToolbarModule,
111     MaterialDesignFrameworkModule,
112     MDBBootstrapModule.forRoot(),
113     PolicyModule,
114     EiCoordinatorModule,
115     ReactiveFormsModule,
116     ToastrModule.forRoot(),
117   ],
118   exports: [
119     ErrorDialogComponent,
120     FormsModule,
121     MatButtonModule,
122     MatButtonToggleModule,
123     MatCardModule,
124     MatDialogModule,
125     MatExpansionModule,
126     MatFormFieldModule,
127     MatGridListModule,
128     MatIconModule,
129     MatInputModule,
130     MatListModule,
131     MatSidenavModule,
132     MatSliderModule,
133     MatSlideToggleModule,
134     MatTabsModule
135   ],
136   entryComponents: [
137     ConfirmDialogComponent,
138     ErrorDialogComponent,
139   ],
140   providers: [
141     CookieService,
142     ErrorDialogService,
143     UiService,
144     {
145       provide: HTTP_INTERCEPTORS,
146       useClass: isMock ? HttpMockRequestInterceptor : HttpRequestInterceptor,
147       multi: true
148       }
149   ],
150   bootstrap: [AppComponent]
151 })
152 export class AppModule { }