diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 48656b4151..0c925155e8 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -110,14 +110,14 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone }, { path: ITEM_MODULE_PATH, - loadChildren: () => import('./item-page/item-page.module') - .then((m) => m.ItemPageModule), + loadChildren: () => import('./item-page/item-page-routes') + .then((m) => m.ROUTES), canActivate: [EndUserAgreementCurrentUserGuard] }, { path: 'entities/:entity-type', - loadChildren: () => import('./item-page/item-page.module') - .then((m) => m.ItemPageModule), + loadChildren: () => import('./item-page/item-page-routes') + .then((m) => m.ROUTES), canActivate: [EndUserAgreementCurrentUserGuard] }, { diff --git a/src/app/item-page/edit-item-page/edit-item-page-routes.ts b/src/app/item-page/edit-item-page/edit-item-page-routes.ts new file mode 100644 index 0000000000..ae94b2ed51 --- /dev/null +++ b/src/app/item-page/edit-item-page/edit-item-page-routes.ts @@ -0,0 +1,214 @@ +import { Route } from '@angular/router'; +import { EditItemPageComponent } from './edit-item-page.component'; +import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; +import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; +import { ItemPrivateComponent } from './item-private/item-private.component'; +import { ItemPublicComponent } from './item-public/item-public.component'; +import { ItemDeleteComponent } from './item-delete/item-delete.component'; +import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; +import { ItemCollectionMapperComponent } from './item-collection-mapper/item-collection-mapper.component'; +import { ItemMoveComponent } from './item-move/item-move.component'; +import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; +import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; +import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; +import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; +import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; +import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; +import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; +import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; +import { + ITEM_EDIT_AUTHORIZATIONS_PATH, + ITEM_EDIT_DELETE_PATH, + ITEM_EDIT_MOVE_PATH, + ITEM_EDIT_PRIVATE_PATH, + ITEM_EDIT_PUBLIC_PATH, + ITEM_EDIT_REGISTER_DOI_PATH, + ITEM_EDIT_REINSTATE_PATH, + ITEM_EDIT_WITHDRAW_PATH +} from './edit-item-page.routing-paths'; +import { ItemPageReinstateGuard } from './item-page-reinstate.guard'; +import { ItemPageWithdrawGuard } from './item-page-withdraw.guard'; +import { ItemPageMetadataGuard } from './item-page-metadata.guard'; +import { ItemPageAdministratorGuard } from '../item-page-administrator.guard'; +import { ItemPageStatusGuard } from './item-page-status.guard'; +import { ItemPageBitstreamsGuard } from './item-page-bitstreams.guard'; +import { ItemPageRelationshipsGuard } from './item-page-relationships.guard'; +import { ItemPageVersionHistoryGuard } from './item-page-version-history.guard'; +import { ItemPageCollectionMapperGuard } from './item-page-collection-mapper.guard'; +import { ItemPageCurateGuard } from './item-page-curate.guard'; +import { ItemPageAccessControlGuard } from './item-page-access-control.guard'; +import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component'; +import { ItemPageRegisterDoiGuard } from './item-page-register-doi.guard'; +import { ItemCurateComponent } from './item-curate/item-curate.component'; +import { ThemedItemStatusComponent } from './item-status/themed-item-status.component'; +import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; + +/** + * Routing module that handles the routing for the Edit Item page administrator functionality + */ + +export const ROUTES: Route[] = [ + { + path: '', + resolve: { + breadcrumb: I18nBreadcrumbResolver + }, + providers: [ + I18nBreadcrumbResolver, + I18nBreadcrumbsService, + ResourcePolicyResolver, + ResourcePolicyTargetResolver, + ItemPageReinstateGuard, + ItemPageWithdrawGuard, + ItemPageAdministratorGuard, + ItemPageMetadataGuard, + ItemPageCurateGuard, + ItemPageStatusGuard, + ItemPageBitstreamsGuard, + ItemPageRelationshipsGuard, + ItemPageVersionHistoryGuard, + ItemPageCollectionMapperGuard, + ItemPageAccessControlGuard, + ItemPageRegisterDoiGuard, + ], + data: { breadcrumbKey: 'item.edit' }, + children: [ + { + path: '', + component: EditItemPageComponent, + children: [ + { + path: '', + redirectTo: 'status', + pathMatch: 'full' + }, + { + path: 'status', + component: ThemedItemStatusComponent, + data: { title: 'item.edit.tabs.status.title', showBreadcrumbs: true }, + canActivate: [ItemPageStatusGuard] + }, + { + path: 'bitstreams', + component: ItemBitstreamsComponent, + data: { title: 'item.edit.tabs.bitstreams.title', showBreadcrumbs: true }, + canActivate: [ItemPageBitstreamsGuard] + }, + { + path: 'metadata', + component: ThemedDsoEditMetadataComponent, + data: { title: 'item.edit.tabs.metadata.title', showBreadcrumbs: true }, + canActivate: [ItemPageMetadataGuard] + }, + { + path: 'curate', + component: ItemCurateComponent, + data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true }, + canActivate: [ItemPageCurateGuard] + }, + { + path: 'relationships', + component: ItemRelationshipsComponent, + data: { title: 'item.edit.tabs.relationships.title', showBreadcrumbs: true }, + canActivate: [ItemPageRelationshipsGuard] + }, + /* TODO - uncomment & fix when view page exists + { + path: 'view', + component: ItemBitstreamsComponent, + data: { title: 'item.edit.tabs.view.title', showBreadcrumbs: true } + }, */ + /* TODO - uncomment & fix when curate page exists + { + path: 'curate', + component: ItemBitstreamsComponent, + data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true } + }, */ + { + path: 'versionhistory', + component: ItemVersionHistoryComponent, + data: { title: 'item.edit.tabs.versionhistory.title', showBreadcrumbs: true }, + canActivate: [ItemPageVersionHistoryGuard] + }, + { + path: 'access-control', + component: ItemAccessControlComponent, + data: { title: 'item.edit.tabs.access-control.title', showBreadcrumbs: true }, + canActivate: [ItemPageAccessControlGuard] + }, + { + path: 'mapper', + component: ItemCollectionMapperComponent, + data: { title: 'item.edit.tabs.item-mapper.title', showBreadcrumbs: true }, + canActivate: [ItemPageCollectionMapperGuard] + } + ] + }, + { + path: 'mapper', + component: ItemCollectionMapperComponent, + }, + { + path: ITEM_EDIT_WITHDRAW_PATH, + component: ItemWithdrawComponent, + canActivate: [ItemPageWithdrawGuard] + }, + { + path: ITEM_EDIT_REINSTATE_PATH, + component: ItemReinstateComponent, + canActivate: [ItemPageReinstateGuard] + }, + { + path: ITEM_EDIT_PRIVATE_PATH, + component: ItemPrivateComponent, + }, + { + path: ITEM_EDIT_PUBLIC_PATH, + component: ItemPublicComponent, + }, + { + path: ITEM_EDIT_DELETE_PATH, + component: ItemDeleteComponent, + }, + { + path: ITEM_EDIT_MOVE_PATH, + component: ItemMoveComponent, + data: { title: 'item.edit.move.title' }, + }, + { + path: ITEM_EDIT_REGISTER_DOI_PATH, + component: ItemRegisterDoiComponent, + canActivate: [ItemPageRegisterDoiGuard], + data: { title: 'item.edit.register-doi.title' }, + }, + { + path: ITEM_EDIT_AUTHORIZATIONS_PATH, + 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: ItemAuthorizationsComponent, + data: { title: 'item.edit.authorizations.title' } + } + ] + } + ] + } +]; diff --git a/src/app/item-page/edit-item-page/edit-item-page.module.ts b/src/app/item-page/edit-item-page/edit-item-page.module.ts index 0245f617c7..1da2366776 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.module.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.module.ts @@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common'; import { NgbTooltipModule, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EditItemPageRoutingModule } from './edit-item-page.routing.module'; import { EditItemPageComponent } from './edit-item-page.component'; import { ItemStatusComponent } from './item-status/item-status.component'; import { ItemOperationComponent } from './item-operation/item-operation.component'; @@ -53,7 +52,6 @@ import { imports: [ CommonModule, NgbTooltipModule, - EditItemPageRoutingModule, SearchPageModule, DragDropModule, ResourcePoliciesModule, diff --git a/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts b/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts deleted file mode 100644 index 5266b1b926..0000000000 --- a/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts +++ /dev/null @@ -1,221 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { EditItemPageComponent } from './edit-item-page.component'; -import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; -import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; -import { ItemPrivateComponent } from './item-private/item-private.component'; -import { ItemPublicComponent } from './item-public/item-public.component'; -import { ItemDeleteComponent } from './item-delete/item-delete.component'; -import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; -import { ItemCollectionMapperComponent } from './item-collection-mapper/item-collection-mapper.component'; -import { ItemMoveComponent } from './item-move/item-move.component'; -import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; -import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; -import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; -import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; -import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; -import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; -import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; -import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; -import { - ITEM_EDIT_AUTHORIZATIONS_PATH, - ITEM_EDIT_DELETE_PATH, - ITEM_EDIT_MOVE_PATH, - ITEM_EDIT_PRIVATE_PATH, - ITEM_EDIT_PUBLIC_PATH, - ITEM_EDIT_REINSTATE_PATH, - ITEM_EDIT_WITHDRAW_PATH, - ITEM_EDIT_REGISTER_DOI_PATH -} from './edit-item-page.routing-paths'; -import { ItemPageReinstateGuard } from './item-page-reinstate.guard'; -import { ItemPageWithdrawGuard } from './item-page-withdraw.guard'; -import { ItemPageMetadataGuard } from './item-page-metadata.guard'; -import { ItemPageAdministratorGuard } from '../item-page-administrator.guard'; -import { ItemPageStatusGuard } from './item-page-status.guard'; -import { ItemPageBitstreamsGuard } from './item-page-bitstreams.guard'; -import { ItemPageRelationshipsGuard } from './item-page-relationships.guard'; -import { ItemPageVersionHistoryGuard } from './item-page-version-history.guard'; -import { ItemPageCollectionMapperGuard } from './item-page-collection-mapper.guard'; -import { ItemPageCurateGuard } from './item-page-curate.guard'; -import { ItemPageAccessControlGuard } from './item-page-access-control.guard'; -import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component'; -import { ItemPageRegisterDoiGuard } from './item-page-register-doi.guard'; -import { ItemCurateComponent } from './item-curate/item-curate.component'; -import { ThemedItemStatusComponent } from './item-status/themed-item-status.component'; -import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; - -/** - * Routing module that handles the routing for the Edit Item page administrator functionality - */ -@NgModule({ - imports: [ - RouterModule.forChild([ - { - path: '', - resolve: { - breadcrumb: I18nBreadcrumbResolver - }, - data: { breadcrumbKey: 'item.edit' }, - children: [ - { - path: '', - component: EditItemPageComponent, - children: [ - { - path: '', - redirectTo: 'status', - pathMatch: 'full' - }, - { - path: 'status', - component: ThemedItemStatusComponent, - data: { title: 'item.edit.tabs.status.title', showBreadcrumbs: true }, - canActivate: [ItemPageStatusGuard] - }, - { - path: 'bitstreams', - component: ItemBitstreamsComponent, - data: { title: 'item.edit.tabs.bitstreams.title', showBreadcrumbs: true }, - canActivate: [ItemPageBitstreamsGuard] - }, - { - path: 'metadata', - component: ThemedDsoEditMetadataComponent, - data: { title: 'item.edit.tabs.metadata.title', showBreadcrumbs: true }, - canActivate: [ItemPageMetadataGuard] - }, - { - path: 'curate', - component: ItemCurateComponent, - data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true }, - canActivate: [ItemPageCurateGuard] - }, - { - path: 'relationships', - component: ItemRelationshipsComponent, - data: { title: 'item.edit.tabs.relationships.title', showBreadcrumbs: true }, - canActivate: [ItemPageRelationshipsGuard] - }, - /* TODO - uncomment & fix when view page exists - { - path: 'view', - component: ItemBitstreamsComponent, - data: { title: 'item.edit.tabs.view.title', showBreadcrumbs: true } - }, */ - /* TODO - uncomment & fix when curate page exists - { - path: 'curate', - component: ItemBitstreamsComponent, - data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true } - }, */ - { - path: 'versionhistory', - component: ItemVersionHistoryComponent, - data: { title: 'item.edit.tabs.versionhistory.title', showBreadcrumbs: true }, - canActivate: [ItemPageVersionHistoryGuard] - }, - { - path: 'access-control', - component: ItemAccessControlComponent, - data: { title: 'item.edit.tabs.access-control.title', showBreadcrumbs: true }, - canActivate: [ItemPageAccessControlGuard] - }, - { - path: 'mapper', - component: ItemCollectionMapperComponent, - data: { title: 'item.edit.tabs.item-mapper.title', showBreadcrumbs: true }, - canActivate: [ItemPageCollectionMapperGuard] - } - ] - }, - { - path: 'mapper', - component: ItemCollectionMapperComponent, - }, - { - path: ITEM_EDIT_WITHDRAW_PATH, - component: ItemWithdrawComponent, - canActivate: [ItemPageWithdrawGuard] - }, - { - path: ITEM_EDIT_REINSTATE_PATH, - component: ItemReinstateComponent, - canActivate: [ItemPageReinstateGuard] - }, - { - path: ITEM_EDIT_PRIVATE_PATH, - component: ItemPrivateComponent, - }, - { - path: ITEM_EDIT_PUBLIC_PATH, - component: ItemPublicComponent, - }, - { - path: ITEM_EDIT_DELETE_PATH, - component: ItemDeleteComponent, - }, - { - path: ITEM_EDIT_MOVE_PATH, - component: ItemMoveComponent, - data: { title: 'item.edit.move.title' }, - }, - { - path: ITEM_EDIT_REGISTER_DOI_PATH, - component: ItemRegisterDoiComponent, - canActivate: [ItemPageRegisterDoiGuard], - data: { title: 'item.edit.register-doi.title' }, - }, - { - path: ITEM_EDIT_AUTHORIZATIONS_PATH, - 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: ItemAuthorizationsComponent, - data: { title: 'item.edit.authorizations.title' } - } - ] - } - ] - } - ]) - ], - providers: [ - I18nBreadcrumbResolver, - I18nBreadcrumbsService, - ResourcePolicyResolver, - ResourcePolicyTargetResolver, - ItemPageReinstateGuard, - ItemPageWithdrawGuard, - ItemPageAdministratorGuard, - ItemPageMetadataGuard, - ItemPageCurateGuard, - ItemPageStatusGuard, - ItemPageBitstreamsGuard, - ItemPageRelationshipsGuard, - ItemPageVersionHistoryGuard, - ItemPageCollectionMapperGuard, - ItemPageAccessControlGuard, - ItemPageRegisterDoiGuard, - ] -}) -export class EditItemPageRoutingModule { - -} diff --git a/src/app/item-page/item-page-routes.ts b/src/app/item-page/item-page-routes.ts new file mode 100644 index 0000000000..b74236a516 --- /dev/null +++ b/src/app/item-page/item-page-routes.ts @@ -0,0 +1,109 @@ +import { Route } from '@angular/router'; +import { ItemPageResolver } from './item-page.resolver'; +import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; +import { VersionResolver } from './version-page/version.resolver'; +import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; +import { LinkService } from '../core/cache/builders/link.service'; +import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; +import { ITEM_EDIT_PATH, ORCID_PATH, UPLOAD_BITSTREAM_PATH } from './item-page-routing-paths'; +import { ItemPageAdministratorGuard } from './item-page-administrator.guard'; +import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; +import { ThemedItemPageComponent } from './simple/themed-item-page.component'; +import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; +import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { VersionPageComponent } from './version-page/version-page/version-page.component'; +import { + BitstreamRequestACopyPageComponent +} from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; +import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths'; +import { OrcidPageComponent } from './orcid-page/orcid-page.component'; +import { OrcidPageGuard } from './orcid-page/orcid-page.guard'; +import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; + +export const ROUTES: Route[] = [ + { + path: ':id', + resolve: { + dso: ItemPageResolver, + breadcrumb: ItemBreadcrumbResolver, + menu: DSOEditMenuResolver + }, + providers: [ + ItemPageResolver, + ItemBreadcrumbResolver, + DSOBreadcrumbsService, + LinkService, + ItemPageAdministratorGuard, + VersionResolver, + OrcidPageGuard + ], + runGuardsAndResolvers: 'always', + children: [ + { + path: '', + component: ThemedItemPageComponent, + pathMatch: 'full', + }, + { + path: 'full', + component: ThemedFullItemPageComponent, + }, + { + path: ITEM_EDIT_PATH, + loadChildren: () => import('./edit-item-page/edit-item-page-routes') + .then((m) => m.ROUTES), + }, + { + path: UPLOAD_BITSTREAM_PATH, + component: UploadBitstreamComponent, + canActivate: [AuthenticatedGuard] + }, + { + path: REQUEST_COPY_MODULE_PATH, + component: BitstreamRequestACopyPageComponent, + }, + { + path: ORCID_PATH, + component: OrcidPageComponent, + canActivate: [AuthenticatedGuard, OrcidPageGuard] + } + ], + data: { + menu: { + public: [{ + id: 'statistics_item_:id', + active: true, + visible: true, + index: 2, + model: { + type: MenuItemType.LINK, + text: 'menu.section.statistics', + link: 'statistics/items/:id/', + } as LinkMenuItemModel, + }], + }, + }, + }, + { + path: 'version', + children: [ + { + path: ':id', + component: VersionPageComponent, + resolve: { + dso: VersionResolver, + }, + } + ], + providers: [ + ItemPageResolver, + ItemBreadcrumbResolver, + DSOBreadcrumbsService, + LinkService, + ItemPageAdministratorGuard, + VersionResolver, + OrcidPageGuard + ] + } +]; diff --git a/src/app/item-page/item-page-routing.module.ts b/src/app/item-page/item-page-routing.module.ts deleted file mode 100644 index 0c855ab34d..0000000000 --- a/src/app/item-page/item-page-routing.module.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { ItemPageResolver } from './item-page.resolver'; -import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; -import { VersionResolver } from './version-page/version.resolver'; -import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; -import { LinkService } from '../core/cache/builders/link.service'; -import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; -import { ITEM_EDIT_PATH, ORCID_PATH, UPLOAD_BITSTREAM_PATH } from './item-page-routing-paths'; -import { ItemPageAdministratorGuard } from './item-page-administrator.guard'; -import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; -import { ThemedItemPageComponent } from './simple/themed-item-page.component'; -import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; -import { MenuItemType } from '../shared/menu/menu-item-type.model'; -import { VersionPageComponent } from './version-page/version-page/version-page.component'; -import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; -import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths'; -import { OrcidPageComponent } from './orcid-page/orcid-page.component'; -import { OrcidPageGuard } from './orcid-page/orcid-page.guard'; -import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; - -@NgModule({ - imports: [ - RouterModule.forChild([ - { - path: ':id', - resolve: { - dso: ItemPageResolver, - breadcrumb: ItemBreadcrumbResolver, - menu: DSOEditMenuResolver - }, - runGuardsAndResolvers: 'always', - children: [ - { - path: '', - component: ThemedItemPageComponent, - pathMatch: 'full', - }, - { - path: 'full', - component: ThemedFullItemPageComponent, - }, - { - path: ITEM_EDIT_PATH, - loadChildren: () => import('./edit-item-page/edit-item-page.module') - .then((m) => m.EditItemPageModule), - }, - { - path: UPLOAD_BITSTREAM_PATH, - component: UploadBitstreamComponent, - canActivate: [AuthenticatedGuard] - }, - { - path: REQUEST_COPY_MODULE_PATH, - component: BitstreamRequestACopyPageComponent, - }, - { - path: ORCID_PATH, - component: OrcidPageComponent, - canActivate: [AuthenticatedGuard, OrcidPageGuard] - } - ], - data: { - menu: { - public: [{ - id: 'statistics_item_:id', - active: true, - visible: true, - index: 2, - model: { - type: MenuItemType.LINK, - text: 'menu.section.statistics', - link: 'statistics/items/:id/', - } as LinkMenuItemModel, - }], - }, - }, - }, - { - path: 'version', - children: [ - { - path: ':id', - component: VersionPageComponent, - resolve: { - dso: VersionResolver, - }, - } - ], - } - ]) - ], - providers: [ - ItemPageResolver, - ItemBreadcrumbResolver, - DSOBreadcrumbsService, - LinkService, - ItemPageAdministratorGuard, - VersionResolver, - OrcidPageGuard - ] - -}) -export class ItemPageRoutingModule { - -} diff --git a/src/app/item-page/item-page.module.ts b/src/app/item-page/item-page.module.ts index b2921f087c..1ff3b2d1c5 100644 --- a/src/app/item-page/item-page.module.ts +++ b/src/app/item-page/item-page.module.ts @@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common'; import { ItemPageComponent } from './simple/item-page.component'; -import { ItemPageRoutingModule } from './item-page-routing.module'; import { MetadataUriValuesComponent } from './field-components/metadata-uri-values/metadata-uri-values.component'; import { ItemPageAuthorFieldComponent @@ -107,7 +106,6 @@ const DECLARATIONS = [ @NgModule({ imports: [ CommonModule, - ItemPageRoutingModule, EditItemPageModule, ItemVersionsModule, ItemSharedModule,