argos/dmp-frontend/src/app/ui/admin/description-types/description-template-type.r...

58 lines
1.9 KiB
TypeScript

import { NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
import { AuthGuard } from "@app/core/auth-guard.service";
import { AppPermission } from "@app/core/common/enum/permission.enum";
import { BreadcrumbService } from "@app/ui/misc/breadcrumb/breadcrumb.service";
import { PendingChangesGuard } from "@common/forms/pending-form-changes/pending-form-changes-guard.service";
import { DescriptionTemplateTypeEditorComponent } from './editor/description-template-type-editor.component';
import { DescriptionTemplateTypeEditorResolver } from "./editor/description-template-type-editor.resolver";
import { DescriptionTemplateTypeListingComponent } from "./listing/description-template-type-listing.component";
const routes: Routes = [
{
path: '',
component: DescriptionTemplateTypeListingComponent,
canActivate: [AuthGuard]
},
{
path: 'new',
canActivate: [AuthGuard],
data: {
authContext: {
permissions: [AppPermission.EditDescriptionTemplateType]
},
...BreadcrumbService.generateRouteDataConfiguration({
title: 'BREADCRUMBS.NEW-DESCRIPTION-TEMPLATE-TYPE'
})
},
component: DescriptionTemplateTypeEditorComponent,
canDeactivate: [PendingChangesGuard],
},
{
path: ':id',
canActivate: [AuthGuard],
component: DescriptionTemplateTypeEditorComponent,
canDeactivate: [PendingChangesGuard],
resolve: {
'entity': DescriptionTemplateTypeEditorResolver
},
data: {
...BreadcrumbService.generateRouteDataConfiguration({
title: 'BREADCRUMBS.EDIT-DESCRIPTION-TEMPLATE-TYPE'
}),
authContext: {
permissions: [AppPermission.EditDescriptionTemplateType]
}
}
},
{ path: '**', loadChildren: () => import('@common/modules/page-not-found/page-not-found.module').then(m => m.PageNotFoundModule) },
]
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [DescriptionTemplateTypeEditorResolver]
})
export class DescriptionTemplateTypesRoutingModule { }