Application start up issue is fixed
[portal.git] / portal-FE-os / src / app / pages / pages.module.ts
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software 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  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  *
37  */
38 import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
39 import { CommonModule } from '@angular/common';
40 import { ReactiveFormsModule, FormsModule } from '@angular/forms';
41 import { MatIconModule } from '@angular/material/icon';
42 import { MatCheckboxModule } from '@angular/material/checkbox';
43
44 import { AdminsComponent } from './admins/admins.component';
45 import { ApplicationCatalogComponent } from './application-catalog/application-catalog.component';
46 import { ApplicationOnboardingComponent } from './application-onboarding/application-onboarding.component';
47 import { ApplicationDetailsDialogComponent } from './application-onboarding/application-details-dialog/application-details-dialog.component';
48 import { AccountOnboardingComponent } from './account-onboarding/account-onboarding.component';
49 import { ApplicationCatalogService } from '../shared/services/application-catalog/application-catalog.service';
50 import { ContactUsComponent } from './contact-us/contact-us.component';
51 import { ContactUsManageComponent } from './contact-us/contact-us-manage/contact-us-manage.component';
52 import { ConfirmationModalComponent } from '../modals/confirmation-modal/confirmation-modal.component';
53 import { CatalogModalComponent } from './catalog-modal/catalog-modal.component';
54 import { DashboardComponent } from '../pages/dashboard/dashboard.component';
55 import { FunctionalMenuComponent } from './functional-menu/functional-menu.component';
56 import { GridsterModule } from 'angular-gridster2';
57 import { InformationModalComponent } from '../modals/information-modal/information-modal.component';
58 import { NgMaterialModule } from '../ng-material-module';
59 import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
60 import { NewPortalAdminComponent } from './portal-admins/new-portal-admin/new-portal-admin.component';
61 import { NotificationHistoryComponent } from './notification-history/notification-history.component';
62 import { PagesComponent } from './pages.component';
63 import { PagesRoutingModule } from './pages-routing.module';
64 import { PortalAdminsComponent } from './portal-admins/portal-admins.component';
65 import { RoleComponent } from './role/role.component';
66 import { SearchUsersComponent } from '../layout/components/search-users/search-users.component';
67 import { SchedulerComponent } from './scheduler/scheduler.component';
68 import { UserNotificationAdminComponent } from './user-notification-admin/user-notification-admin.component';
69 import { WidgetsComponent } from './widgets/widgets.component';
70 import { WidgetCatalogComponent } from './widget-catalog/widget-catalog.component';
71 import { WebAnalyticsComponent } from './web-analytics/web-analytics.component';
72 import { NewAdminComponent } from './admins/new-admin/new-admin.component';
73 import { ExternalRequestAccessService } from '../shared/services/external-request-access-service/external-request-access.service';
74 import { UsersService } from '../shared/services/users/users.service';
75 import { DynamicWidgetComponent } from './dynamic-widget/dynamic-widget.component';
76 import { MicroserviceOnboardingComponent } from './microservice-onboarding/microservice-onboarding.component';
77 import { WidgetOnboardingComponent } from './widget-onboarding/widget-onboarding.component';
78 import { WebAnalyticsDetailsDialogComponent } from './web-analytics/web-analytics-details-dialog/web-analytics-details-dialog.component';
79 import { BulkUploadRoleComponent } from './role/bulk-upload-role/bulk-upload-role.component';
80 import { AddRoleComponent } from './role/add-role/add-role.component';
81 import { RoleFunctionsComponent } from './role/role-functions/role-functions.component';
82 import { RoleFunctionModalComponent } from './role/role-functions/role-function-modal/role-function-modal.component';
83 import { NewNotificationModalComponent } from './user-notification-admin/new-notification-modal/new-notification-modal.component';
84 import { AccountAddDetailsComponent } from './account-onboarding/account-add-details/account-add-details.component';
85 import { MicroserviceAddDetailsComponent } from './microservice-onboarding/microservice-add-details/microservice-add-details.component';
86 import { DashboardApplicationCatalogComponent } from './dashboard-application-catalog/dashboard-application-catalog.component';
87 import { DashboardWidgetCatalogComponent } from './dashboard-widget-catalog/dashboard-widget-catalog.component';
88 import { WidgetDetailsDialogComponent } from './widget-onboarding/widget-details-dialog/widget-details-dialog.component';
89 import { FunctionalMenuDialogComponent } from './functional-menu/functional-menu-dialog/functional-menu-dialog.component';
90 import { GetAccessComponent } from './get-access/get-access.component';
91 import { PluginModule } from '../shared/plugin/plugin.module';
92 import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
93 import { HTTP_INTERCEPTORS } from '@angular/common/http';
94 import { HeaderInterceptor } from '../shared/interceptors/header-interceptor';
95 import { ApplicationPipesModule } from '../shared/pipes/application-pipes.module';
96 import { UsersComponent } from './users/users.component';
97 import { NewUserModalComponent } from './users/new-user-modal/new-user-modal.component';
98 import { BulkUserComponent } from './users/bulk-user/bulk-user.component';
99 import { InformationTooltipComponent } from './information-tooltip/information-tooltip.component';
100 import { UserDetailsFormComponent } from './users/user-details-form/user-details-form.component';
101 import { MatTooltipModule } from '@angular/material';
102 import { HeaderTabsWrapperComponent } from './analytics/Report_List/header-tabs-wrapper-component/header-tabs-wrapper.component';
103 import { RunReportFormFieldsComponent } from './analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component';
104 import { DisplayAreaComponent } from './analytics/Report_List/display-area/display-area.component';
105 import { HeaderTabsComponent } from './analytics/Report_List/header-tabs-component/header-tabs.component';
106 import { MatTableModule, MatPaginatorModule, MatSortModule, MatTabsModule, MatButtonToggleModule, MatExpansionModule, MatFormFieldModule, MatGridListModule, MatCardModule, MatMenuModule, MatButtonModule } from '@angular/material';
107 import { DefinitionComponent } from './analytics/Report_List/Report/definition/definition.component';
108 import { SQLComponent } from './analytics/Report_List/Report/sql/sql.component';
109 import { ColumnsComponent } from './analytics/Report_List/Report/columns/columns.component';
110 import { FormFieldsComponent } from './analytics/Report_List/Report/form-fields/form-fields.component';
111 import { ChartWizardComponent } from './analytics/Report_List/Report/chart-wizard/chart-wizard.component';
112 import { SecurityComponent } from './analytics/Report_List/Report/security/security.component';
113 import { LogComponent } from './analytics/Report_List/Report/log/log.component';
114 import { RunComponent } from './analytics/Report_List/Report/run/run.component';
115 import { DefinitionSaveDialogComponent } from './analytics/Report_List/Report/definition/definition-save-dialog/definition-save-dialog.component';
116 import { SQLSaveChangesDialogComponent } from './analytics/Report_List/Report/sql/sql-save-changes-dialog/sql-save-changes-dialog.component';
117 import { SQLValidateChangesDialogComponent } from './analytics/Report_List/Report/sql/sql-validate-changes-dialog/sql-validate-changes-dialog.component';
118 import { SQLValidateSuccessDialogComponent } from './analytics/Report_List/Report/sql/sql-validate-success-dialog/sql-validate-success-dialog.component';
119 import { SQLValidateErrorDialogComponent } from './analytics/Report_List/Report/sql/sql-validate-error-dialog/sql-validate-error-dialog.component';
120 import { ReportComponent } from './analytics/Report_List/Report/report.component';
121 import { DashboardReportGridComponent } from './analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.component';
122 import { DataChartComponent } from './analytics/Report_List/Report/definition/dashboard-report-grid/data-chart/data-chart.component';
123 import { RunDashboardReportComponent } from './analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component';
124 import { EditDrillDownLinkComponent } from './analytics/Report_List/Report/columns/columns-edit-component/edit-drill-down-link/edit-drill-down-link.component';
125 import { FormFieldsAddEditComponent } from './analytics/Report_List/Report/form-fields/form-fields-add-edit/form-fields-add-edit.component';
126 import { RunReportResultSetComponent } from './analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component';
127 import { ColumnListComponent } from './analytics/Report_List/Report/columns/column-list/column-list.component';
128 import { ColumnsEditComponent } from './analytics/Report_List/Report/columns/columns-edit-component/columns-edit.component';
129 import { ReportListComponent } from './analytics/Report_List/report-list.component';
130 import { RunReportComponent } from './analytics/Report_List/Report/run/run-report/run-report.component';
131
132
133 @NgModule({
134   declarations: [
135     PagesComponent,
136     DashboardComponent,
137     PortalAdminsComponent,
138     AccountOnboardingComponent,
139     FunctionalMenuComponent,
140     MicroserviceOnboardingComponent,
141     NotificationHistoryComponent,
142     RoleComponent,
143     SchedulerComponent,
144     UserNotificationAdminComponent,
145     UsersComponent,
146     WidgetCatalogComponent,
147     WidgetOnboardingComponent,
148     WidgetsComponent,
149     WebAnalyticsComponent,
150     NewAdminComponent,
151     NewUserModalComponent,
152     BulkUserComponent,
153     SearchUsersComponent,
154     InformationModalComponent,
155     ConfirmationModalComponent,
156     AdminsComponent,
157     NewPortalAdminComponent,
158     SchedulerComponent,
159     UserNotificationAdminComponent,
160     WidgetCatalogComponent,
161     ApplicationOnboardingComponent,
162     AccountOnboardingComponent,
163     ApplicationDetailsDialogComponent,
164     ContactUsComponent,
165     ContactUsManageComponent,
166     WebAnalyticsDetailsDialogComponent,
167     ApplicationCatalogComponent,
168     WidgetCatalogComponent,
169     CatalogModalComponent,
170     DynamicWidgetComponent,
171     BulkUploadRoleComponent,
172     AddRoleComponent,
173     RoleFunctionsComponent,
174     RoleFunctionModalComponent,
175     NewNotificationModalComponent,
176     AccountAddDetailsComponent,
177     MicroserviceAddDetailsComponent,
178     WidgetDetailsDialogComponent,
179     DashboardApplicationCatalogComponent,
180     DashboardWidgetCatalogComponent,
181     FunctionalMenuDialogComponent,
182     GetAccessComponent,
183     UserDetailsFormComponent,
184     InformationTooltipComponent,
185         RunReportFormFieldsComponent,
186     HeaderTabsWrapperComponent,
187     DisplayAreaComponent,
188     HeaderTabsComponent,
189     DefinitionComponent,
190     SQLComponent,
191     ColumnsComponent,
192     FormFieldsComponent,
193     ChartWizardComponent,
194     SecurityComponent,
195     LogComponent,
196     RunComponent,
197     DefinitionSaveDialogComponent,
198     SQLSaveChangesDialogComponent,
199     SQLValidateChangesDialogComponent,
200     SQLValidateSuccessDialogComponent,
201     SQLValidateErrorDialogComponent,
202     ReportComponent,
203     DashboardReportGridComponent, 
204     DataChartComponent, 
205     RunDashboardReportComponent,
206     EditDrillDownLinkComponent,
207     FormFieldsAddEditComponent,
208     RunReportResultSetComponent,
209     ColumnListComponent,
210     ColumnsEditComponent,
211     ReportListComponent,
212     RunReportComponent
213   ],
214   imports: [
215     CommonModule,
216     NgMaterialModule,
217     ReactiveFormsModule,
218     FormsModule,
219     PagesRoutingModule,
220     ApplicationPipesModule,
221     NgbModule,
222     GridsterModule,
223     MatIconModule,
224     MatCheckboxModule,
225     FormsModule,
226     PluginModule,
227     MatTooltipModule,
228     MatTableModule,
229     MatPaginatorModule,
230     MatSortModule,
231     MatTabsModule,
232     MatButtonToggleModule,
233     MatExpansionModule,
234     MatFormFieldModule,
235     MatGridListModule,
236     MatCardModule,
237     MatMenuModule,
238     MatButtonModule
239   ],
240   entryComponents: [
241     SchedulerComponent,
242     InformationModalComponent,
243     SearchUsersComponent,
244     ConfirmationModalComponent,
245     NewPortalAdminComponent,
246     NewAdminComponent,
247     BulkUserComponent,
248     NewUserModalComponent,
249     ApplicationDetailsDialogComponent,
250     ContactUsManageComponent,
251     CatalogModalComponent,
252     WebAnalyticsDetailsDialogComponent,
253     AddRoleComponent,
254     BulkUploadRoleComponent,
255     RoleFunctionModalComponent,
256     NewNotificationModalComponent,
257     AccountAddDetailsComponent,
258     MicroserviceAddDetailsComponent,
259     WidgetDetailsDialogComponent,
260     FunctionalMenuDialogComponent
261   ],
262   providers: [
263     {
264       provide: HTTP_INTERCEPTORS,
265       useClass: HeaderInterceptor,
266       multi: true,
267     }],
268     schemas: [
269       CUSTOM_ELEMENTS_SCHEMA
270     ]
271
272 })
273 export class PagesModule {
274
275   constructor(public ngbModalService: NgbModal) {
276     this.addSchdulerEventListners();
277   }
278
279
280   addSchdulerEventListners() {
281     let eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
282     let eventer = window[eventMethod];
283     let messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
284
285     eventer(messageEvent, function (e) {
286       if (e.data != null && e.data['widgetName'] == 'Portal-Common-Scheduler') {
287         this.openAddSchedulerModal(e.data);
288       }
289     }.bind(this), false);
290
291   }
292
293   openAddSchedulerModal(rowData: any) {
294     const modalRef = this.ngbModalService.open(SchedulerComponent, { size: 'lg' });
295     modalRef.componentInstance.title = 'Scheduler Change';
296     console.log("selectedData in parent", rowData);
297     if (rowData != 'undefined' && rowData) {
298       modalRef.componentInstance.payload = rowData;
299     } else {
300       modalRef.componentInstance.payload = {};
301     }
302
303   }
304 }