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