Files
cbsnexora/src/app/groups/groups-routing.module.ts
T
Karan TakalkarandGitHub 3123f37155 feat: add view savings account page (#862)
- Transactions Tab
- Charges Tab
- Standing Instructions Tab

Fixes: #221
2020-06-11 16:03:00 +05:30

124 lines
4.4 KiB
TypeScript

/** Angular Imports */
import { NgModule } 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 Imports */
import { GroupsComponent } from './groups.component';
import { GroupsViewComponent } from './groups-view/groups-view.component';
import { GeneralTabComponent } from './groups-view/general-tab/general-tab.component';
import { NotesTabComponent } from './groups-view/notes-tab/notes-tab.component';
import { CommitteeTabComponent } from './groups-view/committee-tab/committee-tab.component';
import { CreateGroupComponent } from './create-group/create-group.component';
import { DatatableTabsComponent } from './groups-view/datatable-tabs/datatable-tabs.component';
/** Custom Resolvers */
import { GroupViewResolver } from './common-resolvers/group-view.resolver';
import { GroupAccountsResolver } from './common-resolvers/group-account.resolver';
import { GroupSummaryResolver } from './common-resolvers/group-summary.resolver';
import { GroupNotesResolver } from './common-resolvers/group-notes.resolver';
import { OfficesResolver } from 'app/accounting/common-resolvers/offices.resolver';
import { GroupDatatablesResolver } from './common-resolvers/group-datatables.resolver';
import { GroupDatatableResolver } from './common-resolvers/group-datatable.resolver';
/** Groups Routes */
const routes: Routes = [
Route.withShell([
{
path: 'groups',
data: { title: extract('Groups'), breadcrumb: 'Groups', routeParamBreadcrumb: false },
children: [
{
path: '',
component: GroupsComponent,
},
{
path: 'create',
component: CreateGroupComponent,
data: { title: extract('Create Group'), breadcrumb: 'Create' },
resolve: {
offices: OfficesResolver
}
},
{
path: ':groupId',
data: { title: extract('View Group'), routeParamBreadcrumb: 'groupId' },
children: [
{
path: '',
component: GroupsViewComponent,
resolve: {
groupViewData: GroupViewResolver,
groupDatatables: GroupDatatablesResolver
},
children: [
{
path: 'general',
component: GeneralTabComponent,
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
resolve: {
groupAccountsData: GroupAccountsResolver,
groupSummary: GroupSummaryResolver
}
},
{
path: 'notes',
component: NotesTabComponent,
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
resolve: {
groupNotes: GroupNotesResolver
}
},
{
path: 'committee',
component: CommitteeTabComponent,
data: { title: extract('Committee'), breadcrumb: 'Committee', routeParamBreadcrumb: false }
},
{
path: 'datatables',
children: [
{
path: ':datatableName',
component: DatatableTabsComponent,
data: { title: extract('View Data Table'), routeParamBreadcrumb: 'datatableName' },
resolve: {
groupDatatable: GroupDatatableResolver
}
}
]
}
]
},
{
path: 'savingsaccounts',
loadChildren: '../savings/savings.module#SavingsModule'
},
]
}
]
}
])
];
/**
* Groups Routing Module
*
* Configures the groups routes.
*/
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [GroupViewResolver,
GroupAccountsResolver,
GroupSummaryResolver,
GroupNotesResolver,
GroupDatatablesResolver,
GroupDatatableResolver]
})
export class GroupsRoutingModule { }