d6358237ce82d3d218b72cab19cbddeb88bc2dd5
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / controlpanel.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 // tslint:disable-next-line:max-line-length
24 import {
25   MatButtonModule, MatButtonToggleModule, MatCardModule, MatCheckboxModule,
26   MatDialogModule, MatExpansionModule, MatFormFieldModule, MatGridListModule,
27   MatIconModule, MatInputModule, MatListModule, MatMenuModule, MatPaginatorModule,
28   MatProgressSpinnerModule, MatSelectModule, MatSidenavModule, MatSliderModule,
29   MatSlideToggleModule, MatSnackBarModule, MatSortModule, MatTableModule,
30   MatTabsModule, MatToolbarModule
31 } from '@angular/material';
32 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
33 import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
34 import { NgModule } from '@angular/core';
35 import { MatRadioModule } from '@angular/material/radio';
36 import { MatTooltipModule } from '@angular/material/tooltip';
37 import { ChartsModule } from 'ng2-charts';
38 import { MDBBootstrapModule } from 'angular-bootstrap-md';
39 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
40 import { ToastrModule } from 'ngx-toastr';
41 import { ConfirmDialogComponent } from './ui/confirm-dialog/confirm-dialog.component';
42 import { ErrorDialogComponent } from './ui/error-dialog/error-dialog.component';
43 import { ErrorDialogService } from './services/ui/error-dialog.service';
44 import { FlexLayoutModule } from '@angular/flex-layout';
45 import { FooterComponent } from './footer/footer.component';
46 import { MainComponent } from './main/main.component';
47 import { MaterialDesignFrameworkModule } from 'angular6-json-schema-form';
48 import { NoTypePolicyInstanceDialogComponent } from './policy-control/no-type-policy-instance-dialog.component';
49 import { PolicyCardComponent } from './ui/policy-card/policy-card.component';
50 import { PolicyControlComponent } from './policy-control/policy-control.component';
51 import { PolicyInstanceComponent } from './policy-control/policy-instance.component';
52 import { PolicyInstanceDialogComponent } from './policy-control/policy-instance-dialog.component';
53 import { ControlpanelComponent } from './controlpanel.component';
54 import { ControlpanelRoutingModule } from './controlpanel-routing.module';
55 import { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';
56 import { UiService } from './services/ui/ui.service';
57 import { CookieModule } from 'ngx-cookie';
58 import { NodeModulesComponent } from './node-modules/node-modules.component';
59 import { EICardComponent } from './ui/ei-card/ei-card.component';
60 import { EICoordinatorComponent } from './ei-coordinator/ei-coordinator.component';
61 import { HttpMockRequestInterceptor } from './interceptor.mock';
62 import { environment } from 'src/environments/environment';
63 import { HttpRequestInterceptor } from './interceptor';
64
65 export const isMock = environment.mock;
66
67 @NgModule({
68   declarations: [
69     ConfirmDialogComponent,
70     EICardComponent,
71     EICoordinatorComponent,
72     ErrorDialogComponent,
73     FooterComponent,
74     MainComponent,
75     NoTypePolicyInstanceDialogComponent,
76     PolicyCardComponent,
77     PolicyControlComponent,
78     PolicyInstanceComponent,
79     PolicyInstanceDialogComponent,
80     ControlpanelComponent,
81     SidenavListComponent,
82     NodeModulesComponent
83   ],
84   imports: [
85     BrowserModule,
86     BrowserAnimationsModule,
87     ChartsModule,
88     FlexLayoutModule,
89     FormsModule,
90     HttpClientModule,
91     MatButtonModule,
92     MatButtonToggleModule,
93     MatCardModule,
94     MatCheckboxModule,
95     MatDialogModule,
96     MaterialDesignFrameworkModule,
97     MatExpansionModule,
98     MatFormFieldModule,
99     MatGridListModule,
100     MatIconModule,
101     MatInputModule,
102     MatListModule,
103     MatMenuModule,
104     MatPaginatorModule,
105     MatProgressSpinnerModule,
106     MatRadioModule,
107     MatSelectModule,
108     MatSliderModule,
109     MatSidenavModule,
110     MatSlideToggleModule,
111     MatSnackBarModule,
112     MatSortModule,
113     MatTableModule,
114     MatTabsModule,
115     MatToolbarModule,
116     MatTooltipModule,
117     MDBBootstrapModule.forRoot(),
118     ControlpanelRoutingModule,
119     ReactiveFormsModule,
120     ToastrModule.forRoot(),
121     CookieModule.forRoot()
122   ],
123   exports: [
124     ErrorDialogComponent,
125     FormsModule,
126     MatButtonModule,
127     MatButtonToggleModule,
128     MatCardModule,
129     MatDialogModule,
130     MatExpansionModule,
131     MatFormFieldModule,
132     MatGridListModule,
133     MatIconModule,
134     MatInputModule,
135     MatListModule,
136     MatSidenavModule,
137     MatSliderModule,
138     MatSlideToggleModule,
139     MatTabsModule
140   ],
141   entryComponents: [
142     ConfirmDialogComponent,
143     ErrorDialogComponent,
144     NoTypePolicyInstanceDialogComponent,
145     PolicyInstanceDialogComponent
146   ],
147   providers: [
148     ErrorDialogService,
149     UiService,
150     {
151       provide: HTTP_INTERCEPTORS,
152       useClass: isMock ? HttpMockRequestInterceptor : HttpRequestInterceptor,
153       multi: true
154       }
155   ],
156   bootstrap: [ControlpanelComponent]
157 })
158 export class ControlpanelModule { }