diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0c925155e8..356bb0aafc 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -122,14 +122,14 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone }, { path: LEGACY_BITSTREAM_MODULE_PATH, - loadChildren: () => import('./bitstream-page/bitstream-page.module') - .then((m) => m.BitstreamPageModule), + loadChildren: () => import('./bitstream-page/bitstream-page-routes') + .then((m) => m.ROUTES), canActivate: [EndUserAgreementCurrentUserGuard] }, { path: BITSTREAM_MODULE_PATH, - loadChildren: () => import('./bitstream-page/bitstream-page.module') - .then((m) => m.BitstreamPageModule), + loadChildren: () => import('./bitstream-page/bitstream-page-routes') + .then((m) => m.ROUTES), canActivate: [EndUserAgreementCurrentUserGuard] }, { diff --git a/src/app/bitstream-page/bitstream-page-routes.ts b/src/app/bitstream-page/bitstream-page-routes.ts new file mode 100644 index 0000000000..2820243a7d --- /dev/null +++ b/src/app/bitstream-page/bitstream-page-routes.ts @@ -0,0 +1,99 @@ +import { Route } from '@angular/router'; +import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { BitstreamPageResolver } from './bitstream-page.resolver'; +import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; +import { ResourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver'; +import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component'; +import { ResourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component'; +import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; +import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; +import { BitstreamBreadcrumbResolver } from '../core/breadcrumbs/bitstream-breadcrumb.resolver'; +import { BitstreamBreadcrumbsService } from '../core/breadcrumbs/bitstream-breadcrumbs.service'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; + +const EDIT_BITSTREAM_PATH = ':id/edit'; +const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations'; + +/** + * Routing module to help navigate Bitstream pages + */ + +const providers = [ + BitstreamPageResolver, + BitstreamBreadcrumbResolver, + BitstreamBreadcrumbsService +]; + +export const ROUTES: Route[] = [ + { + // Resolve XMLUI bitstream download URLs + path: 'handle/:prefix/:suffix/:filename', + component: BitstreamDownloadPageComponent, + providers, + resolve: { + bitstream: LegacyBitstreamUrlResolver + }, + }, + { + // Resolve JSPUI bitstream download URLs + path: ':prefix/:suffix/:sequence_id/:filename', + component: BitstreamDownloadPageComponent, + providers, + resolve: { + bitstream: LegacyBitstreamUrlResolver + }, + }, + { + // Resolve angular bitstream download URLs + path: ':id/download', + component: BitstreamDownloadPageComponent, + providers, + resolve: { + bitstream: BitstreamPageResolver + }, + }, + { + path: EDIT_BITSTREAM_PATH, + component: ThemedEditBitstreamPageComponent, + providers, + resolve: { + bitstream: BitstreamPageResolver, + breadcrumb: BitstreamBreadcrumbResolver, + }, + canActivate: [AuthenticatedGuard] + }, + { + path: EDIT_BITSTREAM_AUTHORIZATIONS_PATH, + providers, + children: [ + { + path: 'create', + resolve: { + resourcePolicyTarget: ResourcePolicyTargetResolver + }, + component: ResourcePolicyCreateComponent, + data: {title: 'resource-policies.create.page.title', showBreadcrumbs: true} + }, + { + path: 'edit', + resolve: { + breadcrumb: I18nBreadcrumbResolver, + resourcePolicy: ResourcePolicyResolver + }, + component: ResourcePolicyEditComponent, + data: {breadcrumbKey: 'item.edit', title: 'resource-policies.edit.page.title', showBreadcrumbs: true} + }, + { + path: '', + resolve: { + bitstream: BitstreamPageResolver, + breadcrumb: BitstreamBreadcrumbResolver, + }, + component: BitstreamAuthorizationsComponent, + data: {title: 'bitstream.edit.authorizations.title', showBreadcrumbs: true} + } + ] + } +]; diff --git a/src/app/bitstream-page/bitstream-page-routing.module.ts b/src/app/bitstream-page/bitstream-page-routing.module.ts deleted file mode 100644 index 3960ccb743..0000000000 --- a/src/app/bitstream-page/bitstream-page-routing.module.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { BitstreamPageResolver } from './bitstream-page.resolver'; -import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; -import { ResourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component'; -import { ResourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver'; -import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component'; -import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; -import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; -import { BitstreamBreadcrumbResolver } from '../core/breadcrumbs/bitstream-breadcrumb.resolver'; -import { BitstreamBreadcrumbsService } from '../core/breadcrumbs/bitstream-breadcrumbs.service'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; - -const EDIT_BITSTREAM_PATH = ':id/edit'; -const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations'; - -/** - * Routing module to help navigate Bitstream pages - */ -@NgModule({ - imports: [ - RouterModule.forChild([ - { - // Resolve XMLUI bitstream download URLs - path: 'handle/:prefix/:suffix/:filename', - component: BitstreamDownloadPageComponent, - resolve: { - bitstream: LegacyBitstreamUrlResolver - }, - }, - { - // Resolve JSPUI bitstream download URLs - path: ':prefix/:suffix/:sequence_id/:filename', - component: BitstreamDownloadPageComponent, - resolve: { - bitstream: LegacyBitstreamUrlResolver - }, - }, - { - // Resolve angular bitstream download URLs - path: ':id/download', - component: BitstreamDownloadPageComponent, - resolve: { - bitstream: BitstreamPageResolver - }, - }, - { - path: EDIT_BITSTREAM_PATH, - component: ThemedEditBitstreamPageComponent, - resolve: { - bitstream: BitstreamPageResolver, - breadcrumb: BitstreamBreadcrumbResolver, - }, - canActivate: [AuthenticatedGuard] - }, - { - path: EDIT_BITSTREAM_AUTHORIZATIONS_PATH, - - children: [ - { - path: 'create', - resolve: { - resourcePolicyTarget: ResourcePolicyTargetResolver - }, - component: ResourcePolicyCreateComponent, - data: { title: 'resource-policies.create.page.title', showBreadcrumbs: true } - }, - { - path: 'edit', - resolve: { - breadcrumb: I18nBreadcrumbResolver, - resourcePolicy: ResourcePolicyResolver - }, - component: ResourcePolicyEditComponent, - data: { breadcrumbKey: 'item.edit', title: 'resource-policies.edit.page.title', showBreadcrumbs: true } - }, - { - path: '', - resolve: { - bitstream: BitstreamPageResolver, - breadcrumb: BitstreamBreadcrumbResolver, - }, - component: BitstreamAuthorizationsComponent, - data: { title: 'bitstream.edit.authorizations.title', showBreadcrumbs: true } - } - ] - } - ]) - ], - providers: [ - BitstreamPageResolver, - BitstreamBreadcrumbResolver, - BitstreamBreadcrumbsService - ] -}) -export class BitstreamPageRoutingModule { -} diff --git a/src/app/bitstream-page/bitstream-page.module.ts b/src/app/bitstream-page/bitstream-page.module.ts deleted file mode 100644 index 6793ee0af6..0000000000 --- a/src/app/bitstream-page/bitstream-page.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { EditBitstreamPageComponent } from './edit-bitstream-page/edit-bitstream-page.component'; -import { BitstreamPageRoutingModule } from './bitstream-page-routing.module'; -import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; -import { FormModule } from '../shared/form/form.module'; -import { ResourcePoliciesModule } from '../shared/resource-policies/resource-policies.module'; -import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; -import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; - -/** - * This module handles all components that are necessary for Bitstream related pages - */ -@NgModule({ - imports: [ - CommonModule, - BitstreamPageRoutingModule, - FormModule, - ResourcePoliciesModule, - BitstreamAuthorizationsComponent, - EditBitstreamPageComponent, - ThemedEditBitstreamPageComponent, - BitstreamDownloadPageComponent - ] -}) -export class BitstreamPageModule { -}