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