Files
cbsnexora/src/app/users/users-routing.module.ts
T

86 lines
2.2 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 Components */
import { UsersComponent } from './users.component';
import { CreateUserComponent } from './create-user/create-user.component';
import { ViewUserComponent } from './view-user/view-user.component';
import { EditUserComponent } from './edit-user/edit-user.component';
/** Custom Resolvers */
import { UsersResolver } from './users.resolver';
import { UsersTemplateResolver } from './users-template.resolver';
import { UserResolver } from './user.resolver';
/** Users Routes */
const routes: Routes = [
Route.withShell([
{
path: 'users',
data: { title: extract('Users'), breadcrumb: 'Users' },
children: [
{
path: '',
component: UsersComponent,
resolve: {
users: UsersResolver
}
},
{
path: 'create',
component: CreateUserComponent,
data: { title: extract('Create User'), breadcrumb: 'Create User' },
resolve: {
usersTemplate: UsersTemplateResolver
}
},
{
path: ':id',
data: { title: extract('View User'), routeResolveBreadcrumb: ['user', 'username'] },
children: [
{
path: '',
component: ViewUserComponent,
resolve: {
user: UserResolver
}
},
{
path: 'edit',
component: EditUserComponent,
data: { title: extract('Edit User'), breadcrumb: 'Edit', routeResolveBreadcrumb: false },
resolve: {
user: UserResolver,
usersTemplate: UsersTemplateResolver
}
}
]
}
]
}
])
];
/**
* Users Routing Module
*
* Configures the users routes.
*/
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [
UsersResolver,
UsersTemplateResolver,
UserResolver
]
})
export class UsersRoutingModule { }