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

189 lines
8.8 KiB
TypeScript

/** Angular Imports */
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
/** Translation Imports */
import { extract } from '../../core/i18n/i18n.service';
/** Custom Components */
import { RecurringDepositsAccountViewComponent } from './recurring-deposits-account-view/recurring-deposits-account-view.component';
import { InterestRateChartTabComponent } from './recurring-deposits-account-view/interest-rate-chart-tab/interest-rate-chart-tab.component';
import { TransactionsTabComponent } from './recurring-deposits-account-view/transactions-tab/transactions-tab.component';
import { StandingInstructionsTabComponent } from './recurring-deposits-account-view/standing-instructions-tab/standing-instructions-tab.component';
import { ChargesTabComponent } from './recurring-deposits-account-view/charges-tab/charges-tab.component';
import { DatatableTabsComponent } from './recurring-deposits-account-view/datatable-tabs/datatable-tabs.component';
import { CreateRecurringDepositsAccountComponent } from './create-recurring-deposits-account/create-recurring-deposits-account.component';
import { RecurringDepositsAccountActionsComponent } from './recurring-deposits-account-actions/recurring-deposits-account-actions.component';
import { ViewTransactionComponent } from './recurring-deposits-account-view/transactions-tab/view-transaction/view-transaction.component';
import { EditTransactionComponent } from './recurring-deposits-account-view/transactions-tab/edit-transaction/edit-transaction.component';
/** Custom Resolvers */
import { RecurringDepositsAccountViewResolver } from './common-resolvers/recurring-deposits-account-view.resolver';
import { RecurringDepositsAccountDataResolver } from './common-resolvers/recurring-deposits-account-data.resolver';
import { SavingsDatatableResolver } from 'app/savings/common-resolvers/savings-datatable.resolver';
import { SavingsDatatablesResolver } from 'app/savings/common-resolvers/savings-datatables.resolver';
import { RecurringDepositsAccountTemplateResolver } from './common-resolvers/recurring-deposits-account-template.resolver';
import { RecurringDepositsAccountActionsResolver } from './common-resolvers/recurring-deposit-account-actions.resolver';
import { EditRecurringDepositAccountComponent } from './edit-recurring-deposit-account/edit-recurring-deposit-account.component';
import { RecurringDepositsAccountAndTemplateResolver } from './common-resolvers/recurring-deposit-account-and-template.resolver';
import { RecurringDepositsAccountTransactionResolver } from './common-resolvers/recurring-deposit-account-transaction.resolver';
import { RecurringDepositsAccountTransactionTemplateResolver } from './common-resolvers/recurring-deposit-account-transaction-template.resolver';
const routes: Routes = [
{
path: '',
data: { title: extract('Recurring Deposits'), breadcrumb: 'Recurring Deposits', routeParamBreadcrumb: false },
children: [
{
path: 'create-recurring-deposits-account',
data: { title: extract('Create Recurring Deposits Account'), breadcrumb: 'Create Recurring Deposits Account' },
component: CreateRecurringDepositsAccountComponent,
resolve: {
recurringDepositsAccountTemplate: RecurringDepositsAccountTemplateResolver
}
},
{
path: ':recurringDepositAccountId',
data: { title: extract('RecurringDeposit Account View'), routeParamBreadcrumb: 'recurringDepositAccountId' },
children: [
{
path: '',
component: RecurringDepositsAccountViewComponent,
resolve: {
recurringDepositsAccountData: RecurringDepositsAccountViewResolver,
savingsDatatables: SavingsDatatablesResolver
},
children: [
{
path: 'interest-rate-chart',
component: InterestRateChartTabComponent,
data: { title: extract('Recurring Deposit Account Interest Rate Chart'), breadcrumb: 'Interest Rate Chart', routeParamBreadcrumb: false },
resolve: {
recurringDepositsAccountData: RecurringDepositsAccountDataResolver
}
},
{
path: 'transactions',
component: TransactionsTabComponent,
data: { title: extract('Recurring Deposit Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
resolve: {
recurringDepositsAccountData: RecurringDepositsAccountDataResolver
}
},
{
path: 'charges',
component: ChargesTabComponent,
data: { title: extract('Recurring Deposit Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false }
},
{
path: 'standing-instructions-tab',
component: StandingInstructionsTabComponent,
data: { title: extract('Recurring Deposit Account Standing Instructions'), breadcrumb: 'Standing Instructions', routeParamBreadcrumb: false },
resolve: {
recurringDepositsAccountData: RecurringDepositsAccountDataResolver
}
},
{
path: 'datatables',
children: [
{
path: ':datatableName',
component: DatatableTabsComponent,
data: { title: extract('View Data Table'), routeParamBreadcrumb: 'datatableName' },
resolve: {
savingsDatatable: SavingsDatatableResolver
}
}
]
},
]
},
{
path: 'edit-recurring-deposit-account',
data: { title: extract('Edit Recurring Deposit Account'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
component: EditRecurringDepositAccountComponent,
resolve: {
recurringDepositsAccountAndTemplate: RecurringDepositsAccountAndTemplateResolver
}
},
{
path: 'transactions',
data: { title: extract('Recurring Deposits Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
children: [
{
path: '',
redirectTo: '../transactions', pathMatch: 'prefix'
},
{
path: ':id',
data: { routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewTransactionComponent,
resolve: {
recurringDepositsAccountTransaction: RecurringDepositsAccountTransactionResolver
}
},
{
path: 'edit',
component: EditTransactionComponent,
resolve: {
recurringDepositsAccountTransactionTemplate: RecurringDepositsAccountTransactionTemplateResolver
}
},
{
path: 'account-transfers',
loadChildren: () => import('../../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule)
}
]
}
]
},
{
path: 'actions/:name',
data: { title: extract('Recurring Deposits Account Actions'), routeParamBreadcrumb: 'name' },
component: RecurringDepositsAccountActionsComponent,
resolve: {
recurringDepositsAccountActionData: RecurringDepositsAccountActionsResolver
}
}
]
}
]
},
{
path: '',
data: { title: extract('All Recurring Deposits'), breadcrumb: 'Recurring Deposits', routeParamBreadcrumb: false },
children: [
{
path: ':recurringDepositAccountId',
data: { title: extract('RecurringDeposit Account View'), routeParamBreadcrumb: 'recurringDepositAccountId' },
children: [
{
path: 'standing-instructions',
loadChildren: () => import('../../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule)
},
]
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
declarations: [],
providers: [
RecurringDepositsAccountViewResolver,
RecurringDepositsAccountDataResolver,
SavingsDatatableResolver,
SavingsDatatablesResolver,
RecurringDepositsAccountTemplateResolver,
RecurringDepositsAccountActionsResolver,
RecurringDepositsAccountAndTemplateResolver,
RecurringDepositsAccountTransactionResolver,
RecurringDepositsAccountTransactionTemplateResolver
]
})
export class RecurringDepositsRoutingModule {}