Files
dspace-angular/src/app/collection-page/edit-collection-page/edit-collection-page-routes.ts

104 lines
4.0 KiB
TypeScript

import {
mapToCanActivate,
Route,
} from '@angular/router';
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
import { CollectionAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard';
import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
import { resourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
import { resourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
import { CollectionItemMapperComponent } from '../collection-item-mapper/collection-item-mapper.component';
import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component';
import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component';
import { CollectionCurateComponent } from './collection-curate/collection-curate.component';
import { CollectionMetadataComponent } from './collection-metadata/collection-metadata.component';
import { CollectionRolesComponent } from './collection-roles/collection-roles.component';
import { CollectionSourceComponent } from './collection-source/collection-source.component';
import { EditCollectionPageComponent } from './edit-collection-page.component';
/**
* Routing module that handles the routing for the Edit Collection page administrator functionality
*/
export const ROUTES: Route[] = [
{
path: '',
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
data: { breadcrumbKey: 'collection.edit' },
component: EditCollectionPageComponent,
canActivate: mapToCanActivate([CollectionAdministratorGuard]),
children: [
{
path: '',
redirectTo: 'metadata',
pathMatch: 'full',
},
{
path: 'metadata',
component: CollectionMetadataComponent,
data: {
title: 'collection.edit.tabs.metadata.title',
hideReturnButton: true,
showBreadcrumbs: true,
},
},
{
path: 'roles',
component: CollectionRolesComponent,
data: { title: 'collection.edit.tabs.roles.title', showBreadcrumbs: true },
},
{
path: 'source',
component: CollectionSourceComponent,
data: { title: 'collection.edit.tabs.source.title', showBreadcrumbs: true },
},
{
path: 'curate',
component: CollectionCurateComponent,
data: { title: 'collection.edit.tabs.curate.title', showBreadcrumbs: true },
},
{
path: 'access-control',
component: CollectionAccessControlComponent,
data: { title: 'collection.edit.tabs.access-control.title', showBreadcrumbs: true },
},
{
path: 'authorizations',
data: { showBreadcrumbs: true },
children: [
{
path: 'create',
resolve: {
resourcePolicyTarget: resourcePolicyTargetResolver,
},
component: ResourcePolicyCreateComponent,
data: { title: 'resource-policies.create.page.title' },
},
{
path: 'edit',
resolve: {
resourcePolicy: resourcePolicyResolver,
},
component: ResourcePolicyEditComponent,
data: { title: 'resource-policies.edit.page.title' },
},
{
path: '',
component: CollectionAuthorizationsComponent,
data: { title: 'collection.edit.tabs.authorizations.title', showBreadcrumbs: true },
},
],
},
{
path: 'mapper',
component: CollectionItemMapperComponent,
data: { title: 'collection.edit.tabs.item-mapper.title', hideReturnButton: true, showBreadcrumbs: true },
},
],
},
];