Create policy module
[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 { AppComponent } from './app.component';
61 import { AppRoutingModule } from './app-routing.module';
62 import { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';
63 import { UiService } from './services/ui/ui.service';
64 import { CookieService } from 'ngx-cookie-service';
65 import { NodeModulesComponent } from './node-modules/node-modules.component';
66 import { EICardComponent } from './ui/ei-card/ei-card.component';
67 import { EICoordinatorComponent } from './ei-coordinator/ei-coordinator.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     EICoordinatorComponent,
80     ErrorDialogComponent,
81     FooterComponent,
82     MainComponent,
83     NodeModulesComponent,
84     SidenavListComponent,
85   ],
86   imports: [
87     AppRoutingModule,
88     BrowserModule,
89     BrowserAnimationsModule,
90     ChartsModule,
91     FlexLayoutModule,
92     FormsModule,
93     HttpClientModule,
94     MatButtonModule,
95     MatButtonToggleModule,
96     MatCardModule,
97     MatCheckboxModule,
98     MatDialogModule,
99     MatExpansionModule,
100     MatFormFieldModule,
101     MatGridListModule,
102     MatIconModule,
103     MatInputModule,
104     MatListModule,
105     MatMenuModule,
106     MatPaginatorModule,
107     MatSelectModule,
108     MatSidenavModule,
109     MatSliderModule,
110     MatSlideToggleModule,
111     MatSnackBarModule,
112     MatSortModule,
113     MatTableModule,
114     MatTabsModule,
115     MatToolbarModule,
116     MaterialDesignFrameworkModule,
117     MDBBootstrapModule.forRoot(),
118     PolicyModule,
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 { }