141 lines
5.2 KiB
TypeScript
141 lines
5.2 KiB
TypeScript
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 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';
|
|
|
|
/** 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 { CenterActionsComponent } from './centers-view/center-actions/center-actions.component';
|
|
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: extract('Centers'), breadcrumb: 'Centers' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: CentersComponent
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: CreateCenterComponent,
|
|
data: { title: extract('Create Center'), breadcrumb: 'Create' },
|
|
resolve: {
|
|
offices: OfficesResolver,
|
|
}
|
|
},
|
|
{
|
|
path: ':centerId',
|
|
data: { title: extract('Centers View'), routeParamBreadcrumb: 'centerId' },
|
|
resolve: {
|
|
centerViewData: CenterViewResolver,
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: CentersViewComponent,
|
|
resolve: {
|
|
centerViewData: CenterViewResolver,
|
|
centerDatatables: CenterDatatablesResolver
|
|
},
|
|
children: [
|
|
{
|
|
path: 'general',
|
|
component: GeneralTabComponent,
|
|
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
centerSummaryData: CenterSummaryResolver,
|
|
centerViewData: CenterResourceResolver,
|
|
savingsAccountData: SavingsAccountResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'notes',
|
|
component: NotesTabComponent,
|
|
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
centerNotes: CenterNotesResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'datatables',
|
|
children: [{
|
|
path: ':datatableName',
|
|
component: DatatableTabComponent,
|
|
data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' },
|
|
resolve: {
|
|
centerDatatable: CenterDatatableResolver
|
|
}
|
|
}]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditCenterComponent,
|
|
data: { title: extract('Edit Center'), breadcrumb: 'Edit', routeParamBreadcrumb: 'Edit' },
|
|
resolve: {
|
|
centerData: CenterDataAndTemplateResolver,
|
|
}
|
|
},
|
|
{
|
|
path: 'actions/:name',
|
|
data: { title: extract('Center Actions'), routeParamBreadcrumb: 'name' },
|
|
component: CenterActionsComponent,
|
|
resolve: {
|
|
centersActionData: CenterActionsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'savings-accounts',
|
|
loadChildren: () => import('../savings/savings.module').then(m => m.SavingsModule)
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
])
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
providers: [
|
|
OfficesResolver,
|
|
CenterViewResolver,
|
|
SavingsAccountResolver,
|
|
CenterResourceResolver,
|
|
CenterSummaryResolver,
|
|
CenterNotesResolver,
|
|
CenterDatatableResolver,
|
|
CenterDatatablesResolver,
|
|
CenterActionsResolver,
|
|
CenterDataAndTemplateResolver
|
|
]
|
|
})
|
|
export class CentersRoutingModule { }
|