Sort out some dependencies
[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 { CookieService } from 'ngx-cookie-service';
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     FlexLayoutModule,
101     FormsModule,
102     HttpClientModule,
103     MatButtonModule,
104     MatButtonToggleModule,
105     MatCardModule,
106     MatCheckboxModule,
107     MatDialogModule,
108     MatExpansionModule,
109     MatFormFieldModule,
110     MatGridListModule,
111     MatIconModule,
112     MatInputModule,
113     MatListModule,
114     MatMenuModule,
115     MatPaginatorModule,
116     MatSelectModule,
117     MatSidenavModule,
118     MatSliderModule,
119     MatSlideToggleModule,
120     MatSnackBarModule,
121     MatSortModule,
122     MatTableModule,
123     MatTabsModule,
124     MatToolbarModule,
125     MaterialDesignFrameworkModule,
126     MDBBootstrapModule.forRoot(),
127     ReactiveFormsModule,
128     ToastrModule.forRoot(),
129   ],
130   exports: [
131     ErrorDialogComponent,
132     FormsModule,
133     MatButtonModule,
134     MatButtonToggleModule,
135     MatCardModule,
136     MatDialogModule,
137     MatExpansionModule,
138     MatFormFieldModule,
139     MatGridListModule,
140     MatIconModule,
141     MatInputModule,
142     MatListModule,
143     MatSidenavModule,
144     MatSliderModule,
145     MatSlideToggleModule,
146     MatTabsModule
147   ],
148   entryComponents: [
149     ConfirmDialogComponent,
150     ErrorDialogComponent,
151     NoTypePolicyInstanceDialogComponent,
152     PolicyInstanceDialogComponent
153   ],
154   providers: [
155     CookieService,
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 { }