Files
cbsnexora/src/app/deposits/fixed-deposits/fixed-deposits-routing.module.ts
T

201 lines
8.2 KiB
TypeScript

/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/** Angular Imports */
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
/** Custom Components */
import { FixedDepositAccountViewComponent } from './fixed-deposit-account-view/fixed-deposit-account-view.component';
import { InterestRateChartTabComponent } from './fixed-deposit-account-view/interest-rate-chart-tab/interest-rate-chart-tab.component';
import { TransactionsTabComponent } from './fixed-deposit-account-view/transactions-tab/transactions-tab.component';
import { ChargesTabComponent } from './fixed-deposit-account-view/charges-tab/charges-tab.component';
import { StandingInstructionsTabComponent } from './fixed-deposit-account-view/standing-instructions-tab/standing-instructions-tab.component';
import { DatatableTabsComponent } from './fixed-deposit-account-view/datatable-tabs/datatable-tabs.component';
import { FixedDepositsAccountActionsComponent } from './fixed-deposits-account-actions/fixed-deposits-account-actions.component';
import { ViewTransactionComponent } from './fixed-deposit-account-view/view-transaction/view-transaction.component';
import { CreateFixedDepositAccountComponent } from './create-fixed-deposit-account/create-fixed-deposit-account.component';
import { EditFixedDepositAccountComponent } from './edit-fixed-deposit-account/edit-fixed-deposit-account.component';
/** Custom Resolvers */
import { FixedDepositsAccountViewResolver } from './common-resolvers/fixed-deposit-account-view.resolver';
import { SavingsDatatableResolver } from 'app/savings/common-resolvers/savings-datatable.resolver';
import { SavingsDatatablesResolver } from 'app/savings/common-resolvers/savings-datatables.resolver';
import { FixedDepositsAccountTransactionResolver } from './common-resolvers/fixed-deposit-account-transaction.resolver';
import { FixedDepositsAccountActionsResolver } from './common-resolvers/fixed-deposit-account-actions.resolver';
import { FixedDepositsAccountTemplateResolver } from './common-resolvers/fixed-deposit-account-template.resolver';
import { FixedDepositsAccountAndTemplateResolver } from './common-resolvers/fixed-deposit-account-and-template.resolver';
import { GeneralTabComponent } from './fixed-deposit-account-view/general-tab/general-tab.component';
import { AccountNomineesTabComponent } from 'app/shared/account-nominees-tab/account-nominees-tab.component';
const routes: Routes = [
{
path: '',
data: { title: 'All Fixed Deposits', breadcrumb: 'Fixed Deposits', routeParamBreadcrumb: false },
children: [
{
path: 'create',
data: { title: 'Create Fixed Deposit Account', breadcrumb: 'Create Fixed Deposit Account' },
component: CreateFixedDepositAccountComponent,
resolve: {
fixedDepositsAccountTemplate: FixedDepositsAccountTemplateResolver
}
},
{
path: ':fixedDepositAccountId',
data: { title: 'Fixed Deposit Account View', routeParamBreadcrumb: 'fixedDepositAccountId' },
resolve: {
fixedDepositsAccountData: FixedDepositsAccountViewResolver
},
children: [
{
path: '',
component: FixedDepositAccountViewComponent,
resolve: {
fixedDepositsAccountData: FixedDepositsAccountViewResolver,
savingsDatatables: SavingsDatatablesResolver
},
children: [
{
path: '',
redirectTo: 'general',
pathMatch: 'full'
},
{
path: 'general',
component: GeneralTabComponent,
data: { title: 'Fixed Deposit Account Details', breadcrumb: 'General', routeParamBreadcrumb: false }
},
{
path: 'interest-rate-chart',
component: InterestRateChartTabComponent,
data: {
title: 'Fixed Deposit Account Interest Rate Chart',
breadcrumb: 'Interest Rate Chart',
routeParamBreadcrumb: false
}
},
{
path: 'transactions',
component: TransactionsTabComponent,
data: {
title: 'Fixed Deposit Account Transactions',
breadcrumb: 'Transactions',
routeParamBreadcrumb: false
}
},
{
path: 'charges',
component: ChargesTabComponent,
data: { title: 'Fixed Deposit Account Charges', breadcrumb: 'Charges', routeParamBreadcrumb: false }
},
{
path: 'standing-instructions',
component: StandingInstructionsTabComponent,
data: {
title: 'Fixed Deposit Account Standing Instructions',
breadcrumb: 'Standing Instructions',
routeParamBreadcrumb: false
}
},
{
path: 'nominees',
component: AccountNomineesTabComponent,
data: {
title: 'Fixed Deposit Nominees',
breadcrumb: 'Nominees',
routeParamBreadcrumb: false,
accountDataKey: 'fixedDepositsAccountData',
accountType: 'FD'
}
},
{
path: 'datatables',
children: [
{
path: ':datatableName',
component: DatatableTabsComponent,
data: { title: 'View Data Table', routeParamBreadcrumb: 'datatableName' },
resolve: {
savingsDatatable: SavingsDatatableResolver
}
}
]
}
]
},
{
path: 'edit',
data: { title: 'Edit Fixed Deposit Account', breadcrumb: 'Edit', routeParamBreadcrumb: false },
component: EditFixedDepositAccountComponent,
resolve: {
fixedDepositsAccountAndTemplate: FixedDepositsAccountAndTemplateResolver
}
},
{
path: 'transactions',
data: {
title: 'Fixed Deposits Account Transactions',
breadcrumb: 'Transactions',
routeParamBreadcrumb: false
},
children: [
{
path: '',
redirectTo: '../transactions',
pathMatch: 'prefix'
},
{
path: 'account-transfers',
loadChildren: () =>
import('../../account-transfers/account-transfers.module').then((m) => m.AccountTransfersModule)
},
{
path: ':id',
data: { routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewTransactionComponent,
resolve: {
fixedDepositsAccountTransaction: FixedDepositsAccountTransactionResolver
}
}
]
}
]
},
{
path: 'actions/:name',
data: { title: 'Fixed Deposits Account Actions', routeParamBreadcrumb: 'name' },
component: FixedDepositsAccountActionsComponent,
resolve: {
fixedDepositsAccountActionData: FixedDepositsAccountActionsResolver
}
}
]
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [
FixedDepositsAccountViewResolver,
SavingsDatatableResolver,
SavingsDatatablesResolver,
FixedDepositsAccountTransactionResolver,
FixedDepositsAccountActionsResolver,
FixedDepositsAccountTemplateResolver,
FixedDepositsAccountAndTemplateResolver
]
})
export class FixedDepositsRoutingModule {}