223 lines
9.0 KiB
TypeScript
223 lines
9.0 KiB
TypeScript
import { NgModule, Component } from '@angular/core';
|
|
import { Routes, RouterModule } from '@angular/router';
|
|
|
|
/** Routing Imports */
|
|
import { Route } from '../core/route/route.service';
|
|
|
|
/** Translation Imports */
|
|
import { extract } from '../core/i18n/i18n.service';
|
|
|
|
/** Custom Components */
|
|
import { ClientsComponent } from './clients.component';
|
|
import { ClientsViewComponent } from './clients-view/clients-view.component';
|
|
import { GeneralTabComponent } from './clients-view/general-tab/general-tab.component';
|
|
import { FamilyMembersTabComponent } from './clients-view/family-members-tab/family-members-tab.component';
|
|
import { AddFamilyMemberComponent } from './clients-view/family-members-tab/add-family-member/add-family-member.component';
|
|
import { EditFamilyMemberComponent } from './clients-view/family-members-tab/edit-family-member/edit-family-member.component';
|
|
import { IdentitiesTabComponent } from './clients-view/identities-tab/identities-tab.component';
|
|
import { NotesTabComponent } from './clients-view/notes-tab/notes-tab.component';
|
|
import { DocumentsTabComponent } from './clients-view/documents-tab/documents-tab.component';
|
|
import { DatatableTabComponent } from './clients-view/datatable-tab/datatable-tab.component';
|
|
import { AddressTabComponent } from './clients-view/address-tab/address-tab.component';
|
|
|
|
/** Custom Resolvers */
|
|
import { ClientViewResolver } from './common-resolvers/client-view.resolver';
|
|
import { ClientAccountsResolver } from './common-resolvers/client-accounts.resolver';
|
|
import { ClientAddressResolver } from './common-resolvers/client-address.resolver';
|
|
import { ClientChargesResolver } from './common-resolvers/client-charges.resolver';
|
|
import { ClientSummaryResolver } from './common-resolvers/client-summary.resolver';
|
|
import { ClientFamilyMembersResolver } from './common-resolvers/client-family-members.resolver';
|
|
import { ClientFamilyMemberResolver } from './common-resolvers/client-family-member.resolver';
|
|
import { ClientTemplateResolver } from './common-resolvers/client-template.resolver';
|
|
import { ClientIdentitiesResolver } from './common-resolvers/client-identities.resolver';
|
|
import { ClientNotesResolver } from './common-resolvers/client-notes.resolver';
|
|
import { ClientDocumentsResolver } from './common-resolvers/client-document.resolver';
|
|
import { ClientDatatablesResolver } from './common-resolvers/client-datatables.resolver';
|
|
import { ClientDatatableResolver } from './common-resolvers/client-datatable.resolver';
|
|
import { ClientIdentifierTemplateResolver } from './common-resolvers/client-identifier-template.resolver';
|
|
import { ClientAddressFieldConfigurationResolver } from './common-resolvers/client-address-fieldconfiguration.resolver';
|
|
import { ClientAddressTemplateResolver } from './common-resolvers/client-address-template.resolver';
|
|
import { ChargesOverviewComponent } from './clients-view/charges-overview/charges-overview.component';
|
|
import { ClientChargeOverviewResolver } from './clients-view/charges-overview/charge-overview.resolver';
|
|
|
|
const routes: Routes = [
|
|
Route.withShell([{
|
|
path: 'clients',
|
|
data: { title: extract('Clients'), breadcrumb: 'Clients', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ClientsComponent,
|
|
},
|
|
{
|
|
path: ':clientId',
|
|
component: ClientsViewComponent,
|
|
data: { title: extract('Clients View'), routeParamBreadcrumb: 'clientId' },
|
|
resolve: {
|
|
clientViewData: ClientViewResolver,
|
|
clientTemplateData: ClientTemplateResolver,
|
|
clientDatatables: ClientDatatablesResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: 'general',
|
|
component: GeneralTabComponent,
|
|
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientAccountsData: ClientAccountsResolver,
|
|
clientChargesData: ClientChargesResolver,
|
|
clientSummary: ClientSummaryResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'address',
|
|
component: AddressTabComponent,
|
|
data: { title: extract('Address'), breadcrumb: 'Address', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientAddressFieldConfig: ClientAddressFieldConfigurationResolver,
|
|
clientAddressTemplateData: ClientAddressTemplateResolver,
|
|
clientAddressData: ClientAddressResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'family-members',
|
|
data: { title: extract('Family Members'), breadcrumb: 'Family Members', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: FamilyMembersTabComponent,
|
|
resolve: {
|
|
clientFamilyMembers: ClientFamilyMembersResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'add',
|
|
component: AddFamilyMemberComponent,
|
|
data: { title: extract('Add'), breadcrumb: 'Add', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientTemplate: ClientTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':familyMemberId',
|
|
children: [{
|
|
path: 'edit',
|
|
component: EditFamilyMemberComponent,
|
|
data: { title: extract('Family Member View'), routeParamBreadcrumb: 'familyMemberId' },
|
|
resolve: {
|
|
clientTemplate: ClientTemplateResolver,
|
|
editFamilyMember: ClientFamilyMemberResolver
|
|
}
|
|
}]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'identities',
|
|
component: IdentitiesTabComponent,
|
|
data: { title: extract('Identities'), breadcrumb: 'Identities', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientIdentities: ClientIdentitiesResolver,
|
|
clientIdentifierTemplate: ClientIdentifierTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'documents',
|
|
component: DocumentsTabComponent,
|
|
data: { title: extract('Documents'), breadcrumb: 'Documents', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientDocuments: ClientDocumentsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'notes',
|
|
component: NotesTabComponent,
|
|
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
clientNotes: ClientNotesResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'datatables',
|
|
children: [{
|
|
path: ':datatableName',
|
|
component: DatatableTabComponent,
|
|
data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' },
|
|
resolve: {
|
|
clientDatatable: ClientDatatableResolver
|
|
}
|
|
}]
|
|
},
|
|
{
|
|
path: 'chargeoverview',
|
|
data: { title: extract('Charges Overview'), breadcrumb: 'Charges Overview', routeParamBreadcrumb: 'chargeId' },
|
|
component: ChargesOverviewComponent,
|
|
resolve: {
|
|
clientChargesData: ClientChargeOverviewResolver,
|
|
}
|
|
}
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: 'clients',
|
|
data: { title: extract('Clients'), breadcrumb: 'Clients', routeParamBreadcrumb: false },
|
|
children: [
|
|
{
|
|
path: ':clientId',
|
|
data: { title: extract('Clients View'), routeParamBreadcrumb: 'clientId' },
|
|
children: [
|
|
{
|
|
path: 'loans',
|
|
data: { title: extract('Loans'), breadcrumb: 'loans', routeParamBreadcrumb: false },
|
|
loadChildren: '../loans/loans.module#LoansModule'
|
|
},
|
|
{
|
|
path: 'fixed-deposits-accounts',
|
|
loadChildren: '../deposits/fixed-deposits/fixed-deposits.module#FixedDepositsModule'
|
|
},
|
|
{
|
|
path: 'savingsaccounts',
|
|
loadChildren: '../savings/savings.module#SavingsModule'
|
|
},
|
|
{
|
|
path: 'recurringdeposits',
|
|
loadChildren: '../recurring-deposits/recurring-deposits.module#RecurringDepositsModule'
|
|
},
|
|
{
|
|
path: 'sharesaccounts',
|
|
loadChildren: '../shares/shares.module#SharesModule'
|
|
},
|
|
]
|
|
}
|
|
]
|
|
}
|
|
])
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
providers: [
|
|
ClientViewResolver,
|
|
ClientAccountsResolver,
|
|
ClientAddressResolver,
|
|
ClientChargesResolver,
|
|
ClientSummaryResolver,
|
|
ClientFamilyMembersResolver,
|
|
ClientFamilyMemberResolver,
|
|
ClientTemplateResolver,
|
|
ClientIdentitiesResolver,
|
|
ClientNotesResolver,
|
|
ClientDocumentsResolver,
|
|
ClientDatatablesResolver,
|
|
ClientDatatableResolver,
|
|
ClientIdentifierTemplateResolver,
|
|
ClientAddressFieldConfigurationResolver,
|
|
ClientAddressTemplateResolver,
|
|
ClientChargeOverviewResolver
|
|
]
|
|
})
|
|
export class ClientsRoutingModule { }
|