357 lines
15 KiB
TypeScript
357 lines
15 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 { LoansViewComponent } from './loans-view/loans-view.component';
|
|
import { GeneralTabComponent } from './loans-view/general-tab/general-tab.component';
|
|
import { AccountDetailsComponent } from './loans-view/account-details/account-details.component';
|
|
import { NotesTabComponent } from './loans-view/notes-tab/notes-tab.component';
|
|
import { RepaymentScheduleTabComponent } from './loans-view/repayment-schedule-tab/repayment-schedule-tab.component';
|
|
import { TransactionsTabComponent } from './loans-view/transactions-tab/transactions-tab.component';
|
|
import { OriginalScheduleTabComponent } from './loans-view/original-schedule-tab/original-schedule-tab.component';
|
|
import { OverdueChargesTabComponent } from './loans-view/overdue-charges-tab/overdue-charges-tab.component';
|
|
import { ChargesTabComponent } from './loans-view/charges-tab/charges-tab.component';
|
|
import { DatatableTabComponent } from './loans-view/datatable-tab/datatable-tab.component';
|
|
import { LoanAccountActionsComponent } from './loans-view/loan-account-actions/loan-account-actions.component';
|
|
import { FloatingInterestRatesComponent } from './loans-view/floating-interest-rates/floating-interest-rates.component';
|
|
import { LoanTrancheDetailsComponent } from './loans-view/loan-tranche-details/loan-tranche-details.component';
|
|
import { LoanCollateralTabComponent } from './loans-view/loan-collateral-tab/loan-collateral-tab.component';
|
|
import { CreateLoansAccountComponent } from './create-loans-account/create-loans-account.component';
|
|
import { LoanDocumentsTabComponent } from './loans-view/loan-documents-tab/loan-documents-tab.component';
|
|
import { StandingInstructionsTabComponent } from 'app/loans/loans-view/standing-instructions-tab/standing-instructions-tab.component';
|
|
import { EditLoansAccountComponent } from './edit-loans-account/edit-loans-account.component';
|
|
import { ViewChargeComponent } from './loans-view/view-charge/view-charge.component';
|
|
import { ViewTransactionComponent } from './loans-view/transactions/view-transaction/view-transaction.component';
|
|
import { EditTransactionComponent } from './loans-view/transactions/edit-transaction/edit-transaction.component';
|
|
import { ViewRecieptComponent } from './loans-view/transactions/view-reciept/view-reciept.component';
|
|
import { ExportTransactionsComponent } from './loans-view/transactions/export-transactions/export-transactions.component';
|
|
import { GlimAccountComponent } from './glim-account/glim-account.component';
|
|
import { CreateGlimAccountComponent } from './glim-account/create-glim-account/create-glim-account.component';
|
|
|
|
/** Custom Resolvers */
|
|
import { LoanDetailsResolver } from './common-resolvers/loan-details.resolver';
|
|
import { LoanNotesResolver } from './common-resolvers/loan-notes.resolver';
|
|
import { LoanDatatablesResolver } from './common-resolvers/loan-datatables.resolver';
|
|
import { LoanDatatableResolver } from './common-resolvers/loan-datatable.resolver';
|
|
import { LoanActionButtonResolver } from './common-resolvers/loan-action-button.resolver';
|
|
import { LoansAccountTemplateResolver } from './common-resolvers/loans-account-template.resolver';
|
|
import { LoanDocumentsResolver } from './common-resolvers/loan-documents.resolver';
|
|
import { LoansAccountAndTemplateResolver } from './common-resolvers/loans-account-and-template.resolver';
|
|
import { LoansAccountChargeResolver } from './common-resolvers/loans-account-charge.resolver';
|
|
import { LoansAccountTransactionResolver } from './common-resolvers/loans-account-transaction.resolver';
|
|
import { LoansTransactionRecieptResolver } from './common-resolvers/loans-transaction-reciept.resolver';
|
|
import { LoansAccountTransactionTemplateResolver } from './common-resolvers/loans-account-transaction-template.resolver';
|
|
import { SavingsAccountViewResolver } from 'app/savings/common-resolvers/savings-account-view.resolver';
|
|
import { GroupAccountsResolver } from 'app/groups/common-resolvers/group-account.resolver';
|
|
import { GLIMViewResolver } from './glim-account/glim-account-view.resolver';
|
|
import { GSIMAccountsResolver } from 'app/groups/common-resolvers/gsim-account-resolver';
|
|
import { GLIMLoanTemplateResolver } from './common-resolvers/glim-loan-template.resolver';
|
|
import { GroupViewResolver } from 'app/groups/common-resolvers/group-view.resolver';
|
|
import { LoanDelinquencyTagsResolver } from './common-resolvers/loan-delinquency-tags.resolver';
|
|
import { LoanDelinquencyTagsTabComponent } from './loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component';
|
|
import { LoanReschedulesResolver } from './common-resolvers/loan-reschedules.resolver';
|
|
import { RescheduleLoanTabComponent } from './loans-view/reschedule-loan-tab/reschedule-loan-tab.component';
|
|
import { AdjustLoanChargeComponent } from './loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component';
|
|
import { LoanArrearDelinquencyResolver } from './common-resolvers/loan-arrear-delinquency.resolver';
|
|
|
|
/** Loans Route. */
|
|
const routes: Routes = [
|
|
{
|
|
path: '',
|
|
data: { title: extract('Loans'), breadcrumb: 'Loans', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: 'create',
|
|
data: { title: extract('Create Loans Account'), breadcrumb: 'Create Loans Account' },
|
|
component: CreateLoansAccountComponent,
|
|
resolve: {
|
|
loansAccountTemplate: LoansAccountTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':loanId',
|
|
data: { title: extract('Loan View'), routeParamBreadcrumb: 'loanId' },
|
|
component: LoansViewComponent,
|
|
resolve: {
|
|
loanDetailsData: LoanDetailsResolver,
|
|
loanDatatables: LoanDatatablesResolver,
|
|
loanArrearsDelinquencyConfig: LoanArrearDelinquencyResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
redirectTo: 'general',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'general',
|
|
component: GeneralTabComponent,
|
|
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loanDetailsData: LoanDetailsResolver,
|
|
loanDatatables: LoanDatatablesResolver
|
|
},
|
|
},
|
|
{
|
|
path: 'accountdetail',
|
|
component: AccountDetailsComponent,
|
|
data: { title: extract('Account Detail'), breadcrumb: 'Account Detail', routeParamBreadcrumb: false }
|
|
},
|
|
{
|
|
path: 'original-schedule',
|
|
component: OriginalScheduleTabComponent,
|
|
data: { title: extract('Original Schedule'), breadcrumb: 'Original Schedule', routeParamBreadcrumb: false },
|
|
},
|
|
{
|
|
path: 'repayment-schedule',
|
|
component: RepaymentScheduleTabComponent,
|
|
data: { title: extract('Repayment Schedule'), breadcrumb: 'Repayment Schedule', routeParamBreadcrumb: false },
|
|
},
|
|
{
|
|
path: 'transactions',
|
|
data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: TransactionsTabComponent
|
|
|
|
},
|
|
{
|
|
path: 'export',
|
|
component: ExportTransactionsComponent
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'delinquencytags',
|
|
data: { title: extract('Loans Delinquency Tags'), breadcrumb: 'Delinquency Tags', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loanDelinquencyTagsData: LoanDelinquencyTagsResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: LoanDelinquencyTagsTabComponent
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: 'loan-reschedules',
|
|
data: {},
|
|
resolve: {
|
|
loanRescheduleData: LoanReschedulesResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: RescheduleLoanTabComponent
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'loan-collateral',
|
|
component: LoanCollateralTabComponent,
|
|
data: { title: extract('Loan Collateral Details'), breadcrumb: 'Loan Collateral Details', routeParamBreadcrumb: false },
|
|
},
|
|
{
|
|
path: 'loan-tranche-details',
|
|
component: LoanTrancheDetailsComponent,
|
|
data: { title: extract('Loan Tranche Details'), breadcrumb: 'Loan Tranche Details', routeParamBreadcrumb: false },
|
|
},
|
|
{
|
|
path: 'overdue-charges',
|
|
component: OverdueChargesTabComponent,
|
|
data: { title: extract('Overdue Charges'), breadcrumb: 'Overdue Charges', routeParamBreadcrumb: false }
|
|
},
|
|
{
|
|
path: 'floating-interest-rates',
|
|
component: FloatingInterestRatesComponent,
|
|
data: { title: extract('Floating Interest Rates'), breadcrumb: 'Floating Interest Rates', routeParamBreadcrumb: false },
|
|
},
|
|
{
|
|
path: 'charges',
|
|
data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false },
|
|
component: ChargesTabComponent,
|
|
},
|
|
{
|
|
path: 'loan-documents',
|
|
component: LoanDocumentsTabComponent,
|
|
data: { title: extract('Loan Documents'), breadcrumb: 'Loan Documents', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loanDocuments: LoanDocumentsResolver
|
|
},
|
|
},
|
|
{
|
|
path: 'notes',
|
|
component: NotesTabComponent,
|
|
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loanNotes: LoanNotesResolver
|
|
},
|
|
},
|
|
{
|
|
path: 'standing-instruction',
|
|
component: StandingInstructionsTabComponent,
|
|
data: { title: extract('Standing Instructions'), breadcrumb: 'Standing Instructions', routeParamBreadcrumb: false }
|
|
},
|
|
{
|
|
path: 'datatables',
|
|
children: [{
|
|
path: ':datatableName',
|
|
component: DatatableTabComponent,
|
|
data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' },
|
|
resolve: {
|
|
loanDatatable: LoanDatatableResolver
|
|
}
|
|
}]
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: ':loanId/transactions/:id',
|
|
data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loanDetailsAssociationData: LoanDetailsResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
data: { routeParamBreadcrumb: 'id' },
|
|
component: ViewTransactionComponent,
|
|
resolve: {
|
|
loansAccountTransaction: LoansAccountTransactionResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditTransactionComponent,
|
|
data: { breadcrumb: 'Edit', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loansAccountTransactionTemplate: LoansAccountTransactionTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'reciept',
|
|
component: ViewRecieptComponent,
|
|
data: { breadcrumb: 'Reciept', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
loansTransactionReciept: LoansTransactionRecieptResolver
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: ':loanId/edit-loans-account',
|
|
data: { title: extract('Modify Loans Account'), breadcrumb: 'Modify Loans Account', routeParamBreadcrumb: 'Edit' },
|
|
component: EditLoansAccountComponent,
|
|
resolve: {
|
|
loansAccountAndTemplate: LoansAccountAndTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':loanId/charges',
|
|
data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: '',
|
|
redirectTo: '../charges', pathMatch: 'prefix'
|
|
},
|
|
{
|
|
path: ':id',
|
|
data: { routeParamBreadcrumb: 'id' },
|
|
component: ViewChargeComponent,
|
|
resolve: {
|
|
loansAccountCharge: LoansAccountChargeResolver,
|
|
loanDetailsData: LoanDetailsResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':id/adjustment',
|
|
data: { routeParamBreadcrumb: 'id', breadcrumb: 'Adjustment' },
|
|
component: AdjustLoanChargeComponent,
|
|
resolve: {
|
|
loansAccountCharge: LoansAccountChargeResolver,
|
|
loanDetailsData: LoanDetailsResolver
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: ':loanId/actions/:action',
|
|
component: LoanAccountActionsComponent,
|
|
data: { title: extract('Loan Account Actions'), breadcrumb: 'action', routeParamBreadcrumb: 'action' },
|
|
resolve: {
|
|
actionButtonData: LoanActionButtonResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':loanId/transfer-funds',
|
|
loadChildren: () => import('../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule)
|
|
},
|
|
{
|
|
path: 'edit-loans-account',
|
|
data: { title: extract('Modify Loans Account'), breadcrumb: 'Modify Loans Account', routeParamBreadcrumb: 'Edit' },
|
|
component: EditLoansAccountComponent,
|
|
resolve: {
|
|
loansAccountAndTemplate: LoansAccountAndTemplateResolver
|
|
}
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: 'glim-account',
|
|
children: [
|
|
{
|
|
path: 'create',
|
|
data: { title: extract('Create GLIM Application'), breadcrumb: 'Create GLIM Application' },
|
|
component: CreateGlimAccountComponent,
|
|
resolve: {
|
|
loansAccountTemplate: GLIMLoanTemplateResolver,
|
|
gsimData: GSIMAccountsResolver,
|
|
groupsData: GroupViewResolver,
|
|
},
|
|
},
|
|
{
|
|
path: ':glimId',
|
|
data: { title: extract('GSIM Account View'), routeParamBreadcrumb: 'savingAccountId' },
|
|
component: GlimAccountComponent,
|
|
resolve: {
|
|
glimData: GLIMViewResolver,
|
|
groupsData: GroupAccountsResolver
|
|
},
|
|
}
|
|
]
|
|
}
|
|
];
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
declarations: [],
|
|
providers: [
|
|
LoanDetailsResolver,
|
|
LoanNotesResolver,
|
|
LoanDatatablesResolver,
|
|
LoanDatatableResolver,
|
|
LoanDelinquencyTagsResolver,
|
|
LoanActionButtonResolver,
|
|
LoansAccountTemplateResolver,
|
|
LoanDocumentsResolver,
|
|
LoansAccountAndTemplateResolver,
|
|
LoansAccountChargeResolver,
|
|
LoansAccountTransactionResolver,
|
|
LoansAccountTransactionTemplateResolver,
|
|
LoansTransactionRecieptResolver,
|
|
SavingsAccountViewResolver,
|
|
GroupAccountsResolver,
|
|
GLIMViewResolver,
|
|
GSIMAccountsResolver,
|
|
GLIMLoanTemplateResolver
|
|
]
|
|
})
|
|
|
|
export class LoansRoutingModule { }
|