142 lines
5.1 KiB
TypeScript
142 lines
5.1 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/.
|
|
*/
|
|
|
|
import { NgModule } from '@angular/core';
|
|
import { Routes, RouterModule } from '@angular/router';
|
|
|
|
/** Routing Imports */
|
|
import { Route } from '../core/route/route.service';
|
|
|
|
/** Custom Components */
|
|
import { CentersComponent } from './centers.component';
|
|
import { CreateCenterComponent } from './create-center/create-center.component';
|
|
import { CentersViewComponent } from './centers-view/centers-view.component';
|
|
import { GeneralTabComponent } from './centers-view/general-tab/general-tab.component';
|
|
import { NotesTabComponent } from './centers-view/notes-tab/notes-tab.component';
|
|
import { DatatableTabComponent } from './centers-view/datatable-tab/datatable-tab.component';
|
|
import { EditCenterComponent } from './edit-center/edit-center.component';
|
|
import { CenterActionsComponent } from './centers-view/center-actions/center-actions.component';
|
|
|
|
/** Custom Resolvers */
|
|
import { OfficesResolver } from 'app/accounting/common-resolvers/offices.resolver';
|
|
import { CenterViewResolver } from './common-resolvers/center-view.resolver';
|
|
import { SavingsAccountResolver } from './common-resolvers/savings-account.resolver';
|
|
import { CenterResourceResolver } from './common-resolvers/center-resource.resolver';
|
|
import { CenterSummaryResolver } from './common-resolvers/center-summary.resolver';
|
|
import { CenterNotesResolver } from './common-resolvers/center-notes.resolver';
|
|
import { CenterDatatableResolver } from './common-resolvers/center-datatable.resolver';
|
|
import { CenterDatatablesResolver } from './common-resolvers/center-datatables.resolver';
|
|
import { CenterActionsResolver } from './common-resolvers/center-actions.resolver';
|
|
import { CenterDataAndTemplateResolver } from './common-resolvers/center-data-and-template.resolver';
|
|
|
|
const routes: Routes = [
|
|
Route.withShell([
|
|
{
|
|
path: 'centers',
|
|
data: { title: 'Centers', breadcrumb: 'Centers' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: CentersComponent
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: CreateCenterComponent,
|
|
data: { title: 'Create Center', breadcrumb: 'Create' },
|
|
resolve: {
|
|
offices: OfficesResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':centerId',
|
|
data: { title: 'Centers View', routeParamBreadcrumb: 'centerId' },
|
|
resolve: {
|
|
centerViewData: CenterViewResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: CentersViewComponent,
|
|
resolve: {
|
|
centerDatatables: CenterDatatablesResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: 'general',
|
|
component: GeneralTabComponent,
|
|
data: { title: 'General', breadcrumb: 'General', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
centerSummaryData: CenterSummaryResolver,
|
|
centerViewData: CenterResourceResolver,
|
|
savingsAccountData: SavingsAccountResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'notes',
|
|
component: NotesTabComponent,
|
|
data: { title: 'Notes', breadcrumb: 'Notes', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
centerNotes: CenterNotesResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'datatables',
|
|
children: [
|
|
{
|
|
path: ':datatableName',
|
|
component: DatatableTabComponent,
|
|
data: { title: 'Data Table View', routeParamBreadcrumb: 'datatableName' },
|
|
resolve: {
|
|
centerDatatable: CenterDatatableResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'actions/:action',
|
|
data: { title: 'Center Actions', breadcrumb: 'action', routeParamBreadcrumb: 'action' },
|
|
component: CenterActionsComponent,
|
|
resolve: {
|
|
centersActionData: CenterActionsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditCenterComponent,
|
|
data: { title: 'Edit Center', breadcrumb: 'Edit', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
centerData: CenterDataAndTemplateResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
])
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
providers: [
|
|
OfficesResolver,
|
|
CenterViewResolver,
|
|
SavingsAccountResolver,
|
|
CenterResourceResolver,
|
|
CenterSummaryResolver,
|
|
CenterNotesResolver,
|
|
CenterDatatableResolver,
|
|
CenterDatatablesResolver,
|
|
CenterActionsResolver,
|
|
CenterDataAndTemplateResolver
|
|
]
|
|
})
|
|
export class CentersRoutingModule {}
|