src/app/loans/products/product.module.ts (154 lines of code) (raw):

/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import {NgModule} from '@angular/core'; import {FimsSharedModule} from '../../common/common.module'; import {ProductRoutes} from './product.routes'; import {RouterModule} from '@angular/router'; import {ProductListComponent} from './product.list.component'; import {ProductCreateComponent} from './form/create.component'; import {ProductDetailComponent} from './product.detail.component'; import {ProductEditComponent} from './form/edit.component'; import {ProductFormComponent} from './form/form.component'; import {ProductFeeFormComponent} from './form/fees/fee.component'; import {ProductInterestFormComponent} from './form/interests/interests.component'; import {ProductTermFormComponent} from './components/term/term.component'; import {ProductChargeListComponent} from './charges/charge.list.component'; import {ProductChargeDetailComponent} from './charges/charge.detail.component'; import {ProductChargeFormComponent} from './charges/form/form.component'; import {ProductChargeCreateFormComponent} from './charges/form/create.component'; import {ProductStatusComponent} from './status/status.component'; import {ProductStatusCreateFormComponent} from './status/form/create.component'; import {ProductTaskFormComponent} from './status/form/form.component'; import {ProductStatusEditFormComponent} from './status/form/edit.component'; import {ProductStatusDetailComponent} from './status/status.detail.component'; import {ProductMoratoriumFormComponent} from './form/moratorium/moratorium.component'; import {ProductChargeEditFormComponent} from './charges/form/edit.component'; import {Store} from '@ngrx/store'; import {PortfolioStore, portfolioStoreFactory} from './store/index'; import {ProductExistsGuard} from './product-exists.guard'; import {ProductTaskExistsGuard} from './status/task-exists.guard'; import {ProductChargeExistsGuard} from './charges/charge-exists.guard'; import {ProductSettingsFormComponent} from './form/settings/settings.component'; import {ProductChargesNotificationEffects} from './store/charges/effects/notification.effects'; import {ProductChargesRouteEffects} from './store/charges/effects/route.effects'; import {EffectsModule} from '@ngrx/effects'; import {ProductChargesApiEffects} from './store/charges/effects/service.effects'; import {ProductTasksNotificationEffects} from './store/tasks/effects/notification.effects'; import {ProductTasksRouteEffects} from './store/tasks/effects/route.effects'; import {ProductTasksApiEffects} from './store/tasks/effects/service.effects'; import {ProductNotificationEffects} from './store/effects/notification.effects'; import {ProductRouteEffects} from './store/effects/route.effects'; import {ProductApiEffects} from './store/effects/service.effects'; import {TranslateModule} from '@ngx-translate/core'; import {CommonModule} from '@angular/common'; import {ReactiveFormsModule} from '@angular/forms'; import { MatButtonModule, MatCheckboxModule, MatIconModule, MatInputModule, MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatToolbarModule } from '@angular/material'; import {CovalentDataTableModule, CovalentMessageModule, CovalentStepsModule} from '@covalent/core'; import {ProductIndexComponent} from './product.index.component'; import {ProductDetailFormComponent} from './form/detail/detail.component'; import {ProductChargeRangeListComponent} from './charges/ranges/range.list.component'; import {ProductChargeRangeDetailComponent} from './charges/ranges/range.detail.component'; import {ProductChargeRangeFormComponent} from './charges/ranges/form/form.component'; import {EditProductChargeRangeFormComponent} from './charges/ranges/form/edit.component'; import {CreateProductChargeRangeFormComponent} from './charges/ranges/form/create.component'; import {ProductChargeRangesRouteEffects} from './store/ranges/effects/route.effects'; import {ProductChargeRangesApiEffects} from './store/ranges/effects/service.effects'; import {ProductChargeRangeExistsGuard} from './charges/ranges/range-exists.guard'; import {ProductChargeRangeIndexComponent} from './charges/ranges/range.index.component'; import {ProductChargeRangesNotificationEffects} from './store/ranges/effects/notification.effects'; import {ProductLossProvisionApiEffects} from './store/lossProvision/effects/service.effects'; import {ProductLossProvisionRouteEffects} from './store/lossProvision/effects/route.effects'; import {ProductLossProvisionNotificationEffects} from './store/lossProvision/effects/notification.effects'; import {LoanLossProvisionExistsGuard} from './lossProvision/loss-provision-exists.guard'; import {CreateProductLossProvisionFormComponent} from './lossProvision/form/create.component'; import {ProductLossProvisionFormComponent} from './lossProvision/form/form.component'; import {LossProvisionDetailComponent} from './lossProvision/loss-provision.detail.component'; @NgModule({ imports: [ RouterModule.forChild(ProductRoutes), FimsSharedModule, TranslateModule, CommonModule, ReactiveFormsModule, MatIconModule, MatListModule, MatToolbarModule, MatInputModule, MatButtonModule, MatSlideToggleModule, MatRadioModule, MatOptionModule, MatSelectModule, MatCheckboxModule, CovalentDataTableModule, CovalentStepsModule, CovalentMessageModule, EffectsModule.run(ProductApiEffects), EffectsModule.run(ProductRouteEffects), EffectsModule.run(ProductNotificationEffects), EffectsModule.run(ProductTasksApiEffects), EffectsModule.run(ProductTasksRouteEffects), EffectsModule.run(ProductTasksNotificationEffects), EffectsModule.run(ProductChargesApiEffects), EffectsModule.run(ProductChargesRouteEffects), EffectsModule.run(ProductChargesNotificationEffects), EffectsModule.run(ProductChargeRangesApiEffects), EffectsModule.run(ProductChargeRangesRouteEffects), EffectsModule.run(ProductChargeRangesNotificationEffects), EffectsModule.run(ProductLossProvisionApiEffects), EffectsModule.run(ProductLossProvisionRouteEffects), EffectsModule.run(ProductLossProvisionNotificationEffects), ], declarations: [ // product ProductListComponent, ProductIndexComponent, ProductDetailComponent, ProductFormComponent, ProductCreateComponent, ProductEditComponent, ProductDetailFormComponent, ProductFeeFormComponent, ProductInterestFormComponent, ProductTermFormComponent, ProductMoratoriumFormComponent, ProductSettingsFormComponent, // charge ProductChargeListComponent, ProductChargeDetailComponent, ProductChargeFormComponent, ProductChargeCreateFormComponent, ProductChargeEditFormComponent, // ranges ProductChargeRangeListComponent, ProductChargeRangeIndexComponent, ProductChargeRangeDetailComponent, ProductChargeRangeFormComponent, CreateProductChargeRangeFormComponent, EditProductChargeRangeFormComponent, // status ProductStatusComponent, ProductTaskFormComponent, ProductStatusCreateFormComponent, ProductStatusEditFormComponent, ProductStatusDetailComponent, // Loss provision LossProvisionDetailComponent, ProductLossProvisionFormComponent, CreateProductLossProvisionFormComponent, ProductChargeDetailComponent ], providers: [ ProductExistsGuard, ProductTaskExistsGuard, ProductChargeExistsGuard, ProductChargeRangeExistsGuard, LoanLossProvisionExistsGuard, { provide: PortfolioStore, useFactory: portfolioStoreFactory, deps: [Store]} ] }) export class ProductModule {}