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