| /******************************************************************************** |
| * Copyright (c) 2020 Contributors to the Eclipse Foundation |
| * |
| * See the NOTICE file(s) distributed with this work for additional |
| * information regarding copyright ownership. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| ********************************************************************************/ |
| import { NgModule } from '@angular/core'; |
| import { CommonModule } from '@angular/common'; |
| import { ReactiveFormsModule } from '@angular/forms'; |
| import { RouterModule } from '@angular/router'; |
| import { ComponentsModule } from '@shared/components'; |
| import { TranslateModule } from '@ngx-translate/core'; |
| import { NgxDatatableModule } from '@swimlane/ngx-datatable'; |
| import { NgrxFormsModule } from 'ngrx-forms'; |
| import { FormsModule } from '@angular/forms'; |
| import { AgGridModule } from 'ag-grid-angular'; |
| import { DirectivesModule } from '@shared/directives'; |
| import { FiltersModule } from '@shared/filters/index.module'; |
| import { ContainersModule } from '@shared/containers'; |
| import { SetFilterComponent } from '@app/shared/filters/ag-grid/set-filter/set-filter.component'; |
| import { PersonsApiClient } from '@pages/persons/persons-api-client'; |
| import { ExternalPersonDetailsComponent } from '@app/pages/persons/external-person/external-person-details/external-person-details.component'; |
| import { PersonsService } from '@pages/persons/persons.service'; |
| import { ExternalPersonDetailsSandBox } from '@app/pages/persons/external-person/external-person-details/external-person-details.sandbox'; |
| import { StoreModule } from '@ngrx/store'; |
| import { personsReducers } from '@app/shared/store'; |
| import { ExternalPersonResolver } from '@pages/persons/external-person/external-person.resolver'; |
| import { PersonsRoutingModule } from '@pages/persons/persons.routing.module'; |
| import { EffectsModule } from '@ngrx/effects'; |
| import { ExternalPersonEffect } from '@app/shared/store/effects/persons/external-person.effect'; |
| import { InternalPersonDetailsComponent } from '@app/pages/persons/internal-person/internal-person-details/internal-person-details.component'; |
| import { InternalPersonEffect } from '@app/shared/store/effects/persons/internal-person.effect'; |
| import { InternalPersonDetailsSandBox } from '@app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox'; |
| import { InternalPersonResolver } from '@pages/persons/internal-person/internal-person.resolver'; |
| |
| @NgModule({ |
| imports: [ |
| CommonModule, |
| ComponentsModule, |
| TranslateModule, |
| DirectivesModule, |
| FiltersModule, |
| ReactiveFormsModule, |
| RouterModule, |
| NgxDatatableModule, |
| NgrxFormsModule, |
| FormsModule, |
| StoreModule.forFeature('personsData', personsReducers), |
| AgGridModule.withComponents([SetFilterComponent]), |
| ContainersModule, |
| PersonsRoutingModule, |
| EffectsModule.forFeature([ |
| ExternalPersonEffect, |
| InternalPersonEffect |
| ]), |
| ], |
| declarations: [ |
| ExternalPersonDetailsComponent, |
| InternalPersonDetailsComponent |
| ], |
| providers: [ |
| PersonsService, |
| PersonsApiClient, |
| ExternalPersonDetailsSandBox, |
| ExternalPersonResolver, |
| InternalPersonDetailsSandBox, |
| InternalPersonResolver |
| ], |
| }) |
| export class PersonsModule {} |