mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[DURACOM-234] rename resolvers in order to be complaint to function name convention
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
|||||||
DynamicErrorMessagesMatcher,
|
DynamicErrorMessagesMatcher,
|
||||||
} from '@ng-dynamic-forms/core';
|
} from '@ng-dynamic-forms/core';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { GroupAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard';
|
import { GroupAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard';
|
||||||
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
||||||
import {
|
import {
|
||||||
@@ -42,7 +42,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: EPERSON_PATH,
|
path: EPERSON_PATH,
|
||||||
component: EPeopleRegistryComponent,
|
component: EPeopleRegistryComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
data: { title: 'admin.access-control.epeople.title', breadcrumbKey: 'admin.access-control.epeople' },
|
data: { title: 'admin.access-control.epeople.title', breadcrumbKey: 'admin.access-control.epeople' },
|
||||||
@@ -52,7 +52,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: `${EPERSON_PATH}/create`,
|
path: `${EPERSON_PATH}/create`,
|
||||||
component: EPersonFormComponent,
|
component: EPersonFormComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
data: { title: 'admin.access-control.epeople.add.title', breadcrumbKey: 'admin.access-control.epeople.add' },
|
data: { title: 'admin.access-control.epeople.add.title', breadcrumbKey: 'admin.access-control.epeople.add' },
|
||||||
@@ -62,7 +62,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: `${EPERSON_PATH}/:id/edit`,
|
path: `${EPERSON_PATH}/:id/edit`,
|
||||||
component: EPersonFormComponent,
|
component: EPersonFormComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
ePerson: EPersonResolver,
|
ePerson: EPersonResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
@@ -73,7 +73,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: GROUP_PATH,
|
path: GROUP_PATH,
|
||||||
component: GroupsRegistryComponent,
|
component: GroupsRegistryComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
data: { title: 'admin.access-control.groups.title', breadcrumbKey: 'admin.access-control.groups' },
|
data: { title: 'admin.access-control.groups.title', breadcrumbKey: 'admin.access-control.groups' },
|
||||||
@@ -83,7 +83,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: `${GROUP_PATH}/create`,
|
path: `${GROUP_PATH}/create`,
|
||||||
component: GroupFormComponent,
|
component: GroupFormComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
data: {
|
data: {
|
||||||
@@ -96,7 +96,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: `${GROUP_PATH}/:groupId/edit`,
|
path: `${GROUP_PATH}/:groupId/edit`,
|
||||||
component: GroupFormComponent,
|
component: GroupFormComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
providers,
|
providers,
|
||||||
data: {
|
data: {
|
||||||
@@ -109,7 +109,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: 'bulk-access',
|
path: 'bulk-access',
|
||||||
component: BulkAccessComponent,
|
component: BulkAccessComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'admin.access-control.bulk-access.title', breadcrumbKey: 'admin.access-control.bulk-access' },
|
data: { title: 'admin.access-control.bulk-access.title', breadcrumbKey: 'admin.access-control.bulk-access' },
|
||||||
canActivate: mapToCanActivate([SiteAdministratorGuard]),
|
canActivate: mapToCanActivate([SiteAdministratorGuard]),
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { Routes } from '@angular/router';
|
import { Routes } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { NavigationBreadcrumbResolver } from '../../core/breadcrumbs/navigation-breadcrumb.resolver';
|
import { navigationBreadcrumbResolver } from '../../core/breadcrumbs/navigation-breadcrumb.resolver';
|
||||||
import { LdnServiceFormComponent } from './ldn-service-form/ldn-service-form.component';
|
import { LdnServiceFormComponent } from './ldn-service-form/ldn-service-form.component';
|
||||||
import { LdnServicesOverviewComponent } from './ldn-services-directory/ldn-services-directory.component';
|
import { LdnServicesOverviewComponent } from './ldn-services-directory/ldn-services-directory.component';
|
||||||
|
|
||||||
@@ -10,18 +10,18 @@ const moduleRoutes: Routes = [
|
|||||||
path: '',
|
path: '',
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
component: LdnServicesOverviewComponent,
|
component: LdnServicesOverviewComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'ldn-registered-services.title', breadcrumbKey: 'ldn-registered-services.new' },
|
data: { title: 'ldn-registered-services.title', breadcrumbKey: 'ldn-registered-services.new' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'new',
|
path: 'new',
|
||||||
resolve: { breadcrumb: NavigationBreadcrumbResolver },
|
resolve: { breadcrumb: navigationBreadcrumbResolver },
|
||||||
component: LdnServiceFormComponent,
|
component: LdnServiceFormComponent,
|
||||||
data: { title: 'ldn-register-new-service.title', breadcrumbKey: 'ldn-register-new-service' },
|
data: { title: 'ldn-register-new-service.title', breadcrumbKey: 'ldn-register-new-service' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'edit/:serviceId',
|
path: 'edit/:serviceId',
|
||||||
resolve: { breadcrumb: NavigationBreadcrumbResolver },
|
resolve: { breadcrumb: navigationBreadcrumbResolver },
|
||||||
component: LdnServiceFormComponent,
|
component: LdnServiceFormComponent,
|
||||||
data: { title: 'ldn-edit-service.title', breadcrumbKey: 'ldn-edit-service' },
|
data: { title: 'ldn-edit-service.title', breadcrumbKey: 'ldn-edit-service' },
|
||||||
},
|
},
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../../core/auth/authenticated.guard';
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { QualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
|
import { qualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
|
||||||
import { AdminNotificationsPublicationClaimPageResolver } from '../../quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
import { AdminNotificationsPublicationClaimPageResolver } from '../../quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
||||||
import { QualityAssuranceEventsPageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component';
|
import { QualityAssuranceEventsPageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component';
|
||||||
import { QualityAssuranceEventsPageResolver } from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.resolver';
|
import { qualityAssuranceEventsPageResolver } from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.resolver';
|
||||||
import { SourceDataResolver } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-data.resolver';
|
import { qualityAssuranceSourceDataResolver } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-data.resolver';
|
||||||
import { QualityAssuranceSourcePageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page.component';
|
import { QualityAssuranceSourcePageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page.component';
|
||||||
import { QualityAssuranceSourcePageResolver } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
|
import { QualityAssuranceSourcePageResolver } from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
|
||||||
import { QualityAssuranceTopicsPageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component';
|
import { QualityAssuranceTopicsPageComponent } from '../../quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component';
|
||||||
@@ -24,7 +24,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: AdminNotificationsPublicationClaimPageComponent,
|
component: AdminNotificationsPublicationClaimPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
suggestionTargetParams: AdminNotificationsPublicationClaimPageResolver,
|
suggestionTargetParams: AdminNotificationsPublicationClaimPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -39,7 +39,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceTopicsPageComponent,
|
component: QualityAssuranceTopicsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
breadcrumb: qualityAssuranceBreadcrumbResolver,
|
||||||
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -54,7 +54,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceTopicsPageComponent,
|
component: QualityAssuranceTopicsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -69,9 +69,9 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceSourcePageComponent,
|
component: QualityAssuranceSourcePageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
|
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
|
||||||
sourceData: SourceDataResolver,
|
sourceData: qualityAssuranceSourceDataResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'admin.notifications.source.breadcrumbs',
|
title: 'admin.notifications.source.breadcrumbs',
|
||||||
@@ -85,8 +85,8 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceEventsPageComponent,
|
component: QualityAssuranceEventsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
breadcrumb: qualityAssuranceBreadcrumbResolver,
|
||||||
openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver,
|
openaireQualityAssuranceEventsParams: qualityAssuranceEventsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'admin.notifications.event.page.title',
|
title: 'admin.notifications.event.page.title',
|
||||||
|
@@ -3,7 +3,7 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { NotifyInfoGuard } from '../../core/coar-notify/notify-info/notify-info.guard';
|
import { NotifyInfoGuard } from '../../core/coar-notify/notify-info/notify-info.guard';
|
||||||
import { SiteAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
import { SiteAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
||||||
import { AdminNotifyDashboardComponent } from './admin-notify-dashboard.component';
|
import { AdminNotifyDashboardComponent } from './admin-notify-dashboard.component';
|
||||||
@@ -15,7 +15,7 @@ export const ROUTES: Route[] = [
|
|||||||
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
component: AdminNotifyDashboardComponent,
|
component: AdminNotifyDashboardComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
@@ -27,7 +27,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'inbound',
|
path: 'inbound',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
component: AdminNotifyIncomingComponent,
|
component: AdminNotifyIncomingComponent,
|
||||||
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
||||||
@@ -39,7 +39,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'outbound',
|
path: 'outbound',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
component: AdminNotifyOutgoingComponent,
|
component: AdminNotifyOutgoingComponent,
|
||||||
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
canActivate: [...mapToCanActivate([SiteAdministratorGuard]), NotifyInfoGuard],
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { BITSTREAMFORMATS_MODULE_PATH } from './admin-registries-routing-paths';
|
import { BITSTREAMFORMATS_MODULE_PATH } from './admin-registries-routing-paths';
|
||||||
import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component';
|
import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component';
|
||||||
import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component';
|
import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component';
|
||||||
@@ -8,7 +8,7 @@ import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.compo
|
|||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: 'metadata',
|
path: 'metadata',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'admin.registries.metadata.title', breadcrumbKey: 'admin.registries.metadata' },
|
data: { title: 'admin.registries.metadata.title', breadcrumbKey: 'admin.registries.metadata' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
@@ -17,7 +17,7 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ':schemaName',
|
path: ':schemaName',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: MetadataSchemaComponent,
|
component: MetadataSchemaComponent,
|
||||||
data: { title: 'admin.registries.schema.title', breadcrumbKey: 'admin.registries.schema' },
|
data: { title: 'admin.registries.schema.title', breadcrumbKey: 'admin.registries.schema' },
|
||||||
},
|
},
|
||||||
@@ -25,7 +25,7 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: BITSTREAMFORMATS_MODULE_PATH,
|
path: BITSTREAMFORMATS_MODULE_PATH,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
loadChildren: () => import('./bitstream-formats/bitstream-formats-routes')
|
loadChildren: () => import('./bitstream-formats/bitstream-formats-routes')
|
||||||
.then((m) => m.ROUTES),
|
.then((m) => m.ROUTES),
|
||||||
data: { title: 'admin.registries.bitstream-formats.title', breadcrumbKey: 'admin.registries.bitstream-formats' },
|
data: { title: 'admin.registries.bitstream-formats.title', breadcrumbKey: 'admin.registries.bitstream-formats' },
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component';
|
import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component';
|
||||||
import { BitstreamFormatsComponent } from './bitstream-formats.component';
|
import { BitstreamFormatsComponent } from './bitstream-formats.component';
|
||||||
import { BitstreamFormatsResolver } from './bitstream-formats.resolver';
|
import { bitstreamFormatsResolver } from './bitstream-formats.resolver';
|
||||||
import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitstream-format.component';
|
import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitstream-format.component';
|
||||||
|
|
||||||
const BITSTREAMFORMAT_EDIT_PATH = ':id/edit';
|
const BITSTREAMFORMAT_EDIT_PATH = ':id/edit';
|
||||||
@@ -19,7 +19,7 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: BITSTREAMFORMAT_ADD_PATH,
|
path: BITSTREAMFORMAT_ADD_PATH,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
providers,
|
providers,
|
||||||
component: AddBitstreamFormatComponent,
|
component: AddBitstreamFormatComponent,
|
||||||
data: { breadcrumbKey: 'admin.registries.bitstream-formats.create' },
|
data: { breadcrumbKey: 'admin.registries.bitstream-formats.create' },
|
||||||
@@ -29,8 +29,8 @@ export const ROUTES: Route[] = [
|
|||||||
providers,
|
providers,
|
||||||
component: EditBitstreamFormatComponent,
|
component: EditBitstreamFormatComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstreamFormat: BitstreamFormatsResolver,
|
bitstreamFormat: bitstreamFormatsResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'admin.registries.bitstream-formats.edit' },
|
data: { breadcrumbKey: 'admin.registries.bitstream-formats.edit' },
|
||||||
},
|
},
|
||||||
|
@@ -19,7 +19,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
|||||||
* @returns Observable<<RemoteData<BitstreamFormat>> Emits the found bitstreamFormat based on the parameters in the current route,
|
* @returns Observable<<RemoteData<BitstreamFormat>> Emits the found bitstreamFormat based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const BitstreamFormatsResolver: ResolveFn<RemoteData<BitstreamFormat>> = (
|
export const bitstreamFormatsResolver: ResolveFn<RemoteData<BitstreamFormat>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
bitstreamFormatDataService: BitstreamFormatDataService = inject(BitstreamFormatDataService),
|
bitstreamFormatDataService: BitstreamFormatDataService = inject(BitstreamFormatDataService),
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { FilteredCollectionsComponent } from './filtered-collections/filtered-collections.component';
|
import { FilteredCollectionsComponent } from './filtered-collections/filtered-collections.component';
|
||||||
import { FilteredItemsComponent } from './filtered-items/filtered-items.component';
|
import { FilteredItemsComponent } from './filtered-items/filtered-items.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: 'collections',
|
path: 'collections',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'admin.reports.collections.title', breadcrumbKey: 'admin.reports.collections' },
|
data: { title: 'admin.reports.collections.title', breadcrumbKey: 'admin.reports.collections' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
@@ -18,7 +18,7 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'queries',
|
path: 'queries',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'admin.reports.items.title', breadcrumbKey: 'admin.reports.items' },
|
data: { title: 'admin.reports.items.title', breadcrumbKey: 'admin.reports.items' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component';
|
import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component';
|
||||||
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
|
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
|
||||||
import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component';
|
import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component';
|
||||||
@@ -27,37 +27,37 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'search',
|
path: 'search',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: AdminSearchPageComponent,
|
component: AdminSearchPageComponent,
|
||||||
data: { title: 'admin.search.title', breadcrumbKey: 'admin.search' },
|
data: { title: 'admin.search.title', breadcrumbKey: 'admin.search' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'workflow',
|
path: 'workflow',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: AdminWorkflowPageComponent,
|
component: AdminWorkflowPageComponent,
|
||||||
data: { title: 'admin.workflow.title', breadcrumbKey: 'admin.workflow' },
|
data: { title: 'admin.workflow.title', breadcrumbKey: 'admin.workflow' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'curation-tasks',
|
path: 'curation-tasks',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: AdminCurationTasksComponent,
|
component: AdminCurationTasksComponent,
|
||||||
data: { title: 'admin.curation-tasks.title', breadcrumbKey: 'admin.curation-tasks' },
|
data: { title: 'admin.curation-tasks.title', breadcrumbKey: 'admin.curation-tasks' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'metadata-import',
|
path: 'metadata-import',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: MetadataImportPageComponent,
|
component: MetadataImportPageComponent,
|
||||||
data: { title: 'admin.metadata-import.title', breadcrumbKey: 'admin.metadata-import' },
|
data: { title: 'admin.metadata-import.title', breadcrumbKey: 'admin.metadata-import' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'batch-import',
|
path: 'batch-import',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
component: BatchImportPageComponent,
|
component: BatchImportPageComponent,
|
||||||
data: { title: 'admin.batch-import.title', breadcrumbKey: 'admin.batch-import' },
|
data: { title: 'admin.batch-import.title', breadcrumbKey: 'admin.batch-import' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'system-wide-alert',
|
path: 'system-wide-alert',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
loadChildren: () => import('../system-wide-alert/system-wide-alert-routes').then((m) => m.ROUTES),
|
loadChildren: () => import('../system-wide-alert/system-wide-alert-routes').then((m) => m.ROUTES),
|
||||||
data: { title: 'admin.system-wide-alert.title', breadcrumbKey: 'admin.system-wide-alert' },
|
data: { title: 'admin.system-wide-alert.title', breadcrumbKey: 'admin.system-wide-alert' },
|
||||||
},
|
},
|
||||||
|
@@ -35,7 +35,7 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
|
|||||||
import { ServerCheckGuard } from './core/server-check/server-check.guard';
|
import { ServerCheckGuard } from './core/server-check/server-check.guard';
|
||||||
import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component';
|
import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component';
|
||||||
import { ITEM_MODULE_PATH } from './item-page/item-page-routing-paths';
|
import { ITEM_MODULE_PATH } from './item-page/item-page-routing-paths';
|
||||||
import { MenuResolver } from './menu.resolver';
|
import { menuResolver } from './menuResolver';
|
||||||
import { provideSuggestionNotificationsState } from './notifications/provide-suggestion-notifications-state';
|
import { provideSuggestionNotificationsState } from './notifications/provide-suggestion-notifications-state';
|
||||||
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
|
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
|
||||||
import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component';
|
import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component';
|
||||||
@@ -51,7 +51,7 @@ export const APP_ROUTES: Route[] = [
|
|||||||
path: '',
|
path: '',
|
||||||
canActivate: [AuthBlockingGuard],
|
canActivate: [AuthBlockingGuard],
|
||||||
canActivateChild: [ServerCheckGuard],
|
canActivateChild: [ServerCheckGuard],
|
||||||
resolve: [MenuResolver],
|
resolve: [menuResolver],
|
||||||
children: [
|
children: [
|
||||||
{ path: '', redirectTo: '/home', pathMatch: 'full' },
|
{ path: '', redirectTo: '/home', pathMatch: 'full' },
|
||||||
{
|
{
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { BitstreamBreadcrumbResolver } from '../core/breadcrumbs/bitstream-breadcrumb.resolver';
|
import { bitstreamBreadcrumbResolver } from '../core/breadcrumbs/bitstream-breadcrumb.resolver';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component';
|
import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component';
|
||||||
import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component';
|
import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component';
|
||||||
import { ResourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver';
|
import { resourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver';
|
||||||
import { ResourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
import { resourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
||||||
import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component';
|
import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component';
|
||||||
import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component';
|
import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component';
|
||||||
import { BitstreamPageResolver } from './bitstream-page.resolver';
|
import { bitstreamPageResolver } from './bitstream-page.resolver';
|
||||||
import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component';
|
import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component';
|
||||||
import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver';
|
import { legacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver';
|
||||||
|
|
||||||
const EDIT_BITSTREAM_PATH = ':id/edit';
|
const EDIT_BITSTREAM_PATH = ':id/edit';
|
||||||
const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations';
|
const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations';
|
||||||
@@ -25,7 +25,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: 'handle/:prefix/:suffix/:filename',
|
path: 'handle/:prefix/:suffix/:filename',
|
||||||
component: BitstreamDownloadPageComponent,
|
component: BitstreamDownloadPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstream: LegacyBitstreamUrlResolver,
|
bitstream: legacyBitstreamUrlResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -33,7 +33,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: ':prefix/:suffix/:sequence_id/:filename',
|
path: ':prefix/:suffix/:sequence_id/:filename',
|
||||||
component: BitstreamDownloadPageComponent,
|
component: BitstreamDownloadPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstream: LegacyBitstreamUrlResolver,
|
bitstream: legacyBitstreamUrlResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -41,15 +41,15 @@ export const ROUTES: Route[] = [
|
|||||||
path: ':id/download',
|
path: ':id/download',
|
||||||
component: BitstreamDownloadPageComponent,
|
component: BitstreamDownloadPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstream: BitstreamPageResolver,
|
bitstream: bitstreamPageResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: EDIT_BITSTREAM_PATH,
|
path: EDIT_BITSTREAM_PATH,
|
||||||
component: ThemedEditBitstreamPageComponent,
|
component: ThemedEditBitstreamPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstream: BitstreamPageResolver,
|
bitstream: bitstreamPageResolver,
|
||||||
breadcrumb: BitstreamBreadcrumbResolver,
|
breadcrumb: bitstreamBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
canActivate: [AuthenticatedGuard],
|
canActivate: [AuthenticatedGuard],
|
||||||
},
|
},
|
||||||
@@ -59,7 +59,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'create',
|
path: 'create',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicyTarget: ResourcePolicyTargetResolver,
|
resourcePolicyTarget: resourcePolicyTargetResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyCreateComponent,
|
component: ResourcePolicyCreateComponent,
|
||||||
data: { title: 'resource-policies.create.page.title', showBreadcrumbs: true },
|
data: { title: 'resource-policies.create.page.title', showBreadcrumbs: true },
|
||||||
@@ -67,8 +67,8 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'edit',
|
path: 'edit',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
resourcePolicy: ResourcePolicyResolver,
|
resourcePolicy: resourcePolicyResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyEditComponent,
|
component: ResourcePolicyEditComponent,
|
||||||
data: { breadcrumbKey: 'item.edit', title: 'resource-policies.edit.page.title', showBreadcrumbs: true },
|
data: { breadcrumbKey: 'item.edit', title: 'resource-policies.edit.page.title', showBreadcrumbs: true },
|
||||||
@@ -76,8 +76,8 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
bitstream: BitstreamPageResolver,
|
bitstream: bitstreamPageResolver,
|
||||||
breadcrumb: BitstreamBreadcrumbResolver,
|
breadcrumb: bitstreamBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
component: BitstreamAuthorizationsComponent,
|
component: BitstreamAuthorizationsComponent,
|
||||||
data: { title: 'bitstream.edit.authorizations.title', showBreadcrumbs: true },
|
data: { title: 'bitstream.edit.authorizations.title', showBreadcrumbs: true },
|
||||||
|
@@ -32,7 +32,7 @@ export const BITSTREAM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Bitstream>[] = [
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found bitstream based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Item>> Emits the found bitstream based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const BitstreamPageResolver: ResolveFn<RemoteData<Bitstream>> = (
|
export const bitstreamPageResolver: ResolveFn<RemoteData<Bitstream>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
bitstreamService: BitstreamDataService = inject(BitstreamDataService),
|
bitstreamService: BitstreamDataService = inject(BitstreamDataService),
|
||||||
|
@@ -4,9 +4,9 @@ import { TestScheduler } from 'rxjs/testing';
|
|||||||
import { BitstreamDataService } from '../core/data/bitstream-data.service';
|
import { BitstreamDataService } from '../core/data/bitstream-data.service';
|
||||||
import { RemoteData } from '../core/data/remote-data';
|
import { RemoteData } from '../core/data/remote-data';
|
||||||
import { RequestEntryState } from '../core/data/request-entry-state.model';
|
import { RequestEntryState } from '../core/data/request-entry-state.model';
|
||||||
import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver';
|
import { legacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver';
|
||||||
|
|
||||||
describe(`LegacyBitstreamUrlResolver`, () => {
|
describe(`legacyBitstreamUrlResolver`, () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let bitstreamDataService: BitstreamDataService;
|
let bitstreamDataService: BitstreamDataService;
|
||||||
let testScheduler;
|
let testScheduler;
|
||||||
@@ -33,7 +33,7 @@ describe(`LegacyBitstreamUrlResolver`, () => {
|
|||||||
bitstreamDataService = {
|
bitstreamDataService = {
|
||||||
findByItemHandle: () => undefined,
|
findByItemHandle: () => undefined,
|
||||||
} as any;
|
} as any;
|
||||||
resolver = LegacyBitstreamUrlResolver;
|
resolver = legacyBitstreamUrlResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
describe(`resolve`, () => {
|
describe(`resolve`, () => {
|
||||||
|
@@ -22,7 +22,7 @@ import { hasNoValue } from '../shared/empty.util';
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found bitstream based on the parameters in
|
* @returns Observable<<RemoteData<Item>> Emits the found bitstream based on the parameters in
|
||||||
* current route, or an error if something went wrong
|
* current route, or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const LegacyBitstreamUrlResolver: ResolveFn<RemoteData<Bitstream>> = (
|
export const legacyBitstreamUrlResolver: ResolveFn<RemoteData<Bitstream>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
bitstreamDataService: BitstreamDataService = inject(BitstreamDataService),
|
bitstreamDataService: BitstreamDataService = inject(BitstreamDataService),
|
||||||
|
@@ -27,7 +27,7 @@ import { hasValue } from '../shared/empty.util';
|
|||||||
* @param {DSpaceObjectDataService} dataService
|
* @param {DSpaceObjectDataService} dataService
|
||||||
* @returns BreadcrumbConfig object
|
* @returns BreadcrumbConfig object
|
||||||
*/
|
*/
|
||||||
export const BrowseByDSOBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Community | Collection>> = (
|
export const browseByDSOBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Community | Collection>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
||||||
|
@@ -5,7 +5,7 @@ import {
|
|||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method for resolving a browse-by i18n breadcrumb configuration object
|
* Method for resolving a browse-by i18n breadcrumb configuration object
|
||||||
@@ -13,11 +13,11 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
|
|||||||
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
||||||
* @returns BreadcrumbConfig object for a browse-by page
|
* @returns BreadcrumbConfig object for a browse-by page
|
||||||
*/
|
*/
|
||||||
export const BrowseByI18nBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
export const browseByI18nBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
): BreadcrumbConfig<string> => {
|
): BreadcrumbConfig<string> => {
|
||||||
const extendedBreadcrumbKey = route.data.breadcrumbKey + '.' + route.params.id;
|
const extendedBreadcrumbKey = route.data.breadcrumbKey + '.' + route.params.id;
|
||||||
route.data = Object.assign({}, route.data, { breadcrumbKey: extendedBreadcrumbKey });
|
route.data = Object.assign({}, route.data, { breadcrumbKey: extendedBreadcrumbKey });
|
||||||
return I18nBreadcrumbResolver(route, state) as BreadcrumbConfig<string>;
|
return i18nBreadcrumbResolver(route, state) as BreadcrumbConfig<string>;
|
||||||
};
|
};
|
||||||
|
@@ -1,24 +1,24 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
||||||
import { BrowseByDSOBreadcrumbResolver } from './browse-by-dso-breadcrumb.resolver';
|
import { browseByDSOBreadcrumbResolver } from './browse-by-dso-breadcrumb.resolver';
|
||||||
import { BrowseByGuard } from './browse-by-guard';
|
import { BrowseByGuard } from './browse-by-guard';
|
||||||
import { BrowseByI18nBreadcrumbResolver } from './browse-by-i18n-breadcrumb.resolver';
|
import { browseByI18nBreadcrumbResolver } from './browse-by-i18n-breadcrumb.resolver';
|
||||||
import { BrowseByPageComponent } from './browse-by-page/browse-by-page.component';
|
import { BrowseByPageComponent } from './browse-by-page/browse-by-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: BrowseByDSOBreadcrumbResolver,
|
breadcrumb: browseByDSOBreadcrumbResolver,
|
||||||
menu: DSOEditMenuResolver,
|
menu: dsoEditMenuResolver,
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
component: BrowseByPageComponent,
|
component: BrowseByPageComponent,
|
||||||
canActivate: [BrowseByGuard],
|
canActivate: [BrowseByGuard],
|
||||||
resolve: { breadcrumb: BrowseByI18nBreadcrumbResolver },
|
resolve: { breadcrumb: browseByI18nBreadcrumbResolver },
|
||||||
data: { title: 'browse.title.page', breadcrumbKey: 'browse.metadata' },
|
data: { title: 'browse.title.page', breadcrumbKey: 'browse.metadata' },
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/fe
|
|||||||
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../core/data/remote-data';
|
import { RemoteData } from '../core/data/remote-data';
|
||||||
import { Collection } from '../core/shared/collection.model';
|
import { Collection } from '../core/shared/collection.model';
|
||||||
import { CollectionPageResolver } from './collection-page.resolver';
|
import { collectionPageResolver } from './collection-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { CollectionPageResolver } from './collection-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class CollectionPageAdministratorGuard extends DsoPageSingleFeatureGuard<Collection> {
|
export class CollectionPageAdministratorGuard extends DsoPageSingleFeatureGuard<Collection> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Collection>> = CollectionPageResolver;
|
protected resolver: ResolveFn<RemoteData<Collection>> = collectionPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -4,16 +4,16 @@ import {
|
|||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { BrowseByGuard } from '../browse-by/browse-by-guard';
|
import { BrowseByGuard } from '../browse-by/browse-by-guard';
|
||||||
import { BrowseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
|
import { browseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { CollectionBreadcrumbResolver } from '../core/breadcrumbs/collection-breadcrumb.resolver';
|
import { collectionBreadcrumbResolver } from '../core/breadcrumbs/collection-breadcrumb.resolver';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
|
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
|
||||||
import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-search-section/comcol-search-section.component';
|
import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-search-section/comcol-search-section.component';
|
||||||
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
||||||
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
||||||
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
||||||
import { CollectionPageResolver } from './collection-page.resolver';
|
import { collectionPageResolver } from './collection-page.resolver';
|
||||||
import { CollectionPageAdministratorGuard } from './collection-page-administrator.guard';
|
import { CollectionPageAdministratorGuard } from './collection-page-administrator.guard';
|
||||||
import {
|
import {
|
||||||
COLLECTION_CREATE_PATH,
|
COLLECTION_CREATE_PATH,
|
||||||
@@ -23,7 +23,7 @@ import {
|
|||||||
import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component';
|
import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component';
|
||||||
import { CreateCollectionPageGuard } from './create-collection-page/create-collection-page.guard';
|
import { CreateCollectionPageGuard } from './create-collection-page/create-collection-page.guard';
|
||||||
import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component';
|
import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component';
|
||||||
import { ItemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver';
|
import { itemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver';
|
||||||
import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component';
|
import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component';
|
||||||
import { ThemedCollectionPageComponent } from './themed-collection-page.component';
|
import { ThemedCollectionPageComponent } from './themed-collection-page.component';
|
||||||
|
|
||||||
@@ -37,9 +37,9 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
resolve: {
|
resolve: {
|
||||||
dso: CollectionPageResolver,
|
dso: collectionPageResolver,
|
||||||
breadcrumb: CollectionBreadcrumbResolver,
|
breadcrumb: collectionBreadcrumbResolver,
|
||||||
menu: DSOEditMenuResolver,
|
menu: dsoEditMenuResolver,
|
||||||
},
|
},
|
||||||
runGuardsAndResolvers: 'always',
|
runGuardsAndResolvers: 'always',
|
||||||
children: [
|
children: [
|
||||||
@@ -60,8 +60,8 @@ export const ROUTES: Route[] = [
|
|||||||
component: ThemedEditItemTemplatePageComponent,
|
component: ThemedEditItemTemplatePageComponent,
|
||||||
canActivate: [AuthenticatedGuard],
|
canActivate: [AuthenticatedGuard],
|
||||||
resolve: {
|
resolve: {
|
||||||
item: ItemTemplatePageResolver,
|
item: itemTemplatePageResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'collection.edit.template.title', breadcrumbKey: 'collection.edit.template' },
|
data: { title: 'collection.edit.template.title', breadcrumbKey: 'collection.edit.template' },
|
||||||
},
|
},
|
||||||
@@ -80,7 +80,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: ComcolBrowseByComponent,
|
component: ComcolBrowseByComponent,
|
||||||
canActivate: [BrowseByGuard],
|
canActivate: [BrowseByGuard],
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: BrowseByI18nBreadcrumbResolver,
|
breadcrumb: browseByI18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'browse.metadata' },
|
data: { breadcrumbKey: 'browse.metadata' },
|
||||||
},
|
},
|
||||||
|
@@ -2,9 +2,9 @@ import { Observable } from 'rxjs';
|
|||||||
import { first } from 'rxjs/operators';
|
import { first } from 'rxjs/operators';
|
||||||
|
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { CollectionPageResolver } from './collection-page.resolver';
|
import { collectionPageResolver } from './collection-page.resolver';
|
||||||
|
|
||||||
describe('CollectionPageResolver', () => {
|
describe('collectionPageResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let collectionService: any;
|
let collectionService: any;
|
||||||
@@ -18,7 +18,7 @@ describe('CollectionPageResolver', () => {
|
|||||||
store = jasmine.createSpyObj('store', {
|
store = jasmine.createSpyObj('store', {
|
||||||
dispatch: {},
|
dispatch: {},
|
||||||
});
|
});
|
||||||
resolver = CollectionPageResolver;
|
resolver = collectionPageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a collection with the correct id', (done) => {
|
it('should resolve a collection with the correct id', (done) => {
|
||||||
|
@@ -38,7 +38,7 @@ export const COLLECTION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Collection>[] = [
|
|||||||
* @returns Observable<<RemoteData<Collection>> Emits the found collection based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Collection>> Emits the found collection based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const CollectionPageResolver: ResolveFn<RemoteData<Collection>> = (
|
export const collectionPageResolver: ResolveFn<RemoteData<Collection>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
collectionService: CollectionDataService = inject(CollectionDataService),
|
collectionService: CollectionDataService = inject(CollectionDataService),
|
||||||
|
@@ -3,12 +3,12 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { CollectionAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard';
|
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 { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
|
||||||
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
||||||
import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
import { resourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
||||||
import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
import { resourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
||||||
import { CollectionItemMapperComponent } from '../collection-item-mapper/collection-item-mapper.component';
|
import { CollectionItemMapperComponent } from '../collection-item-mapper/collection-item-mapper.component';
|
||||||
import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component';
|
import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component';
|
||||||
import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component';
|
import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component';
|
||||||
@@ -26,7 +26,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'collection.edit' },
|
data: { breadcrumbKey: 'collection.edit' },
|
||||||
component: EditCollectionPageComponent,
|
component: EditCollectionPageComponent,
|
||||||
@@ -73,7 +73,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'create',
|
path: 'create',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicyTarget: ResourcePolicyTargetResolver,
|
resourcePolicyTarget: resourcePolicyTargetResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyCreateComponent,
|
component: ResourcePolicyCreateComponent,
|
||||||
data: { title: 'resource-policies.create.page.title' },
|
data: { title: 'resource-policies.create.page.title' },
|
||||||
@@ -81,7 +81,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'edit',
|
path: 'edit',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicy: ResourcePolicyResolver,
|
resourcePolicy: resourcePolicyResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyEditComponent,
|
component: ResourcePolicyEditComponent,
|
||||||
data: { title: 'resource-policies.edit.page.title' },
|
data: { title: 'resource-policies.edit.page.title' },
|
||||||
|
@@ -2,9 +2,9 @@ import { Observable } from 'rxjs';
|
|||||||
import { first } from 'rxjs/operators';
|
import { first } from 'rxjs/operators';
|
||||||
|
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||||
import { ItemTemplatePageResolver } from './item-template-page.resolver';
|
import { itemTemplatePageResolver } from './item-template-page.resolver';
|
||||||
|
|
||||||
describe('ItemTemplatePageResolver', () => {
|
describe('itemTemplatePageResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let itemTemplateService: any;
|
let itemTemplateService: any;
|
||||||
@@ -14,7 +14,7 @@ describe('ItemTemplatePageResolver', () => {
|
|||||||
itemTemplateService = {
|
itemTemplateService = {
|
||||||
findByCollectionID: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
findByCollectionID: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
||||||
};
|
};
|
||||||
resolver = ItemTemplatePageResolver;
|
resolver = itemTemplatePageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve an item template with the correct id', (done) => {
|
it('should resolve an item template with the correct id', (done) => {
|
||||||
|
@@ -12,7 +12,7 @@ import { Item } from '../../core/shared/item.model';
|
|||||||
import { getFirstCompletedRemoteData } from '../../core/shared/operators';
|
import { getFirstCompletedRemoteData } from '../../core/shared/operators';
|
||||||
import { followLink } from '../../shared/utils/follow-link-config.model';
|
import { followLink } from '../../shared/utils/follow-link-config.model';
|
||||||
|
|
||||||
export const ItemTemplatePageResolver: ResolveFn<RemoteData<Item>> = (
|
export const itemTemplatePageResolver: ResolveFn<RemoteData<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
itemTemplateService: ItemTemplateDataService = inject(ItemTemplateDataService),
|
itemTemplateService: ItemTemplateDataService = inject(ItemTemplateDataService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedCommunityListPageComponent } from './themed-community-list-page.component';
|
import { ThemedCommunityListPageComponent } from './themed-community-list-page.component';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -12,7 +12,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: ThemedCommunityListPageComponent,
|
component: ThemedCommunityListPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'communityList.tabTitle', breadcrumbKey: 'communityList' },
|
data: { title: 'communityList.tabTitle', breadcrumbKey: 'communityList' },
|
||||||
},
|
},
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/fe
|
|||||||
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../core/data/remote-data';
|
import { RemoteData } from '../core/data/remote-data';
|
||||||
import { Community } from '../core/shared/community.model';
|
import { Community } from '../core/shared/community.model';
|
||||||
import { CommunityPageResolver } from './community-page.resolver';
|
import { communityPageResolver } from './community-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { CommunityPageResolver } from './community-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class CommunityPageAdministratorGuard extends DsoPageSingleFeatureGuard<Community> {
|
export class CommunityPageAdministratorGuard extends DsoPageSingleFeatureGuard<Community> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Community>> = CommunityPageResolver;
|
protected resolver: ResolveFn<RemoteData<Community>> = communityPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -4,16 +4,16 @@ import {
|
|||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { BrowseByGuard } from '../browse-by/browse-by-guard';
|
import { BrowseByGuard } from '../browse-by/browse-by-guard';
|
||||||
import { BrowseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
|
import { browseByI18nBreadcrumbResolver } from '../browse-by/browse-by-i18n-breadcrumb.resolver';
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { CommunityBreadcrumbResolver } from '../core/breadcrumbs/community-breadcrumb.resolver';
|
import { communityBreadcrumbResolver } from '../core/breadcrumbs/community-breadcrumb.resolver';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
|
import { ComcolBrowseByComponent } from '../shared/comcol/sections/comcol-browse-by/comcol-browse-by.component';
|
||||||
import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-search-section/comcol-search-section.component';
|
import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-search-section/comcol-search-section.component';
|
||||||
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
||||||
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
||||||
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
||||||
import { CommunityPageResolver } from './community-page.resolver';
|
import { communityPageResolver } from './community-page.resolver';
|
||||||
import { CommunityPageAdministratorGuard } from './community-page-administrator.guard';
|
import { CommunityPageAdministratorGuard } from './community-page-administrator.guard';
|
||||||
import {
|
import {
|
||||||
COMMUNITY_CREATE_PATH,
|
COMMUNITY_CREATE_PATH,
|
||||||
@@ -34,9 +34,9 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
resolve: {
|
resolve: {
|
||||||
dso: CommunityPageResolver,
|
dso: communityPageResolver,
|
||||||
breadcrumb: CommunityBreadcrumbResolver,
|
breadcrumb: communityBreadcrumbResolver,
|
||||||
menu: DSOEditMenuResolver,
|
menu: dsoEditMenuResolver,
|
||||||
},
|
},
|
||||||
runGuardsAndResolvers: 'always',
|
runGuardsAndResolvers: 'always',
|
||||||
children: [
|
children: [
|
||||||
@@ -66,7 +66,7 @@ export const ROUTES: Route[] = [
|
|||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
component: SubComColSectionComponent,
|
component: SubComColSectionComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'community.subcoms-cols' },
|
data: { breadcrumbKey: 'community.subcoms-cols' },
|
||||||
},
|
},
|
||||||
@@ -76,7 +76,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: ComcolBrowseByComponent,
|
component: ComcolBrowseByComponent,
|
||||||
canActivate: [BrowseByGuard],
|
canActivate: [BrowseByGuard],
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: BrowseByI18nBreadcrumbResolver,
|
breadcrumb: browseByI18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'browse.metadata' },
|
data: { breadcrumbKey: 'browse.metadata' },
|
||||||
},
|
},
|
||||||
|
@@ -2,9 +2,9 @@ import { Observable } from 'rxjs';
|
|||||||
import { first } from 'rxjs/operators';
|
import { first } from 'rxjs/operators';
|
||||||
|
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { CommunityPageResolver } from './community-page.resolver';
|
import { communityPageResolver } from './community-page.resolver';
|
||||||
|
|
||||||
describe('CommunityPageResolver', () => {
|
describe('communityPageResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let communityService: any;
|
let communityService: any;
|
||||||
@@ -18,7 +18,7 @@ describe('CommunityPageResolver', () => {
|
|||||||
store = jasmine.createSpyObj('store', {
|
store = jasmine.createSpyObj('store', {
|
||||||
dispatch: {},
|
dispatch: {},
|
||||||
});
|
});
|
||||||
resolver = CommunityPageResolver;
|
resolver = communityPageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a community with the correct id', (done) => {
|
it('should resolve a community with the correct id', (done) => {
|
||||||
|
@@ -38,7 +38,7 @@ export const COMMUNITY_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Community>[] = [
|
|||||||
* @returns Observable<<RemoteData<Community>> Emits the found community based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Community>> Emits the found community based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const CommunityPageResolver: ResolveFn<RemoteData<Community>> = (
|
export const communityPageResolver: ResolveFn<RemoteData<Community>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
communityService: CommunityDataService = inject(CommunityDataService),
|
communityService: CommunityDataService = inject(CommunityDataService),
|
||||||
|
@@ -3,12 +3,12 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { CommunityAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/community-administrator.guard';
|
import { CommunityAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/community-administrator.guard';
|
||||||
import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
|
import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
|
||||||
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
||||||
import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
import { resourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
||||||
import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
import { resourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
||||||
import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component';
|
import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component';
|
||||||
import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component';
|
import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component';
|
||||||
import { CommunityCurateComponent } from './community-curate/community-curate.component';
|
import { CommunityCurateComponent } from './community-curate/community-curate.component';
|
||||||
@@ -24,7 +24,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'community.edit' },
|
data: { breadcrumbKey: 'community.edit' },
|
||||||
component: EditCommunityPageComponent,
|
component: EditCommunityPageComponent,
|
||||||
@@ -66,7 +66,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'create',
|
path: 'create',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicyTarget: ResourcePolicyTargetResolver,
|
resourcePolicyTarget: resourcePolicyTargetResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyCreateComponent,
|
component: ResourcePolicyCreateComponent,
|
||||||
data: { title: 'resource-policies.create.page.title' },
|
data: { title: 'resource-policies.create.page.title' },
|
||||||
@@ -74,7 +74,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'edit',
|
path: 'edit',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicy: ResourcePolicyResolver,
|
resourcePolicy: resourcePolicyResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyEditComponent,
|
component: ResourcePolicyEditComponent,
|
||||||
data: { title: 'resource-policies.edit.page.title' },
|
data: { title: 'resource-policies.edit.page.title' },
|
||||||
|
@@ -18,7 +18,7 @@ import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver';
|
|||||||
/**
|
/**
|
||||||
* The resolve function that resolves the BreadcrumbConfig object for an Item
|
* The resolve function that resolves the BreadcrumbConfig object for an Item
|
||||||
*/
|
*/
|
||||||
export const BitstreamBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Bitstream>> = (
|
export const bitstreamBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Bitstream>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: BitstreamBreadcrumbsService = inject(BitstreamBreadcrumbsService),
|
breadcrumbService: BitstreamBreadcrumbsService = inject(BitstreamBreadcrumbsService),
|
||||||
|
@@ -18,7 +18,7 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service';
|
|||||||
/**
|
/**
|
||||||
* The resolve function that resolves the BreadcrumbConfig object for a Collection
|
* The resolve function that resolves the BreadcrumbConfig object for a Collection
|
||||||
*/
|
*/
|
||||||
export const CollectionBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Collection>> = (
|
export const collectionBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Collection>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
||||||
|
@@ -18,7 +18,7 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service';
|
|||||||
/**
|
/**
|
||||||
* The resolve function that resolves the BreadcrumbConfig object for a Community
|
* The resolve function that resolves the BreadcrumbConfig object for a Community
|
||||||
*/
|
*/
|
||||||
export const CommunityBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Community>> = (
|
export const communityBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Community>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
||||||
|
@@ -2,7 +2,7 @@ import { getTestScheduler } from 'jasmine-marbles';
|
|||||||
|
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||||
import { Collection } from '../shared/collection.model';
|
import { Collection } from '../shared/collection.model';
|
||||||
import { CollectionBreadcrumbResolver } from './collection-breadcrumb.resolver';
|
import { collectionBreadcrumbResolver } from './collection-breadcrumb.resolver';
|
||||||
|
|
||||||
describe('DSOBreadcrumbResolver', () => {
|
describe('DSOBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
@@ -23,7 +23,7 @@ describe('DSOBreadcrumbResolver', () => {
|
|||||||
collectionService = {
|
collectionService = {
|
||||||
findById: () => createSuccessfulRemoteDataObject$(testCollection),
|
findById: () => createSuccessfulRemoteDataObject$(testCollection),
|
||||||
};
|
};
|
||||||
resolver = CollectionBreadcrumbResolver;
|
resolver = collectionBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a breadcrumb config for the correct DSO', () => {
|
it('should resolve a breadcrumb config for the correct DSO', () => {
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { URLCombiner } from '../url-combiner/url-combiner';
|
import { URLCombiner } from '../url-combiner/url-combiner';
|
||||||
import { I18nBreadcrumbResolver } from './i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from './i18n-breadcrumb.resolver';
|
||||||
|
|
||||||
describe('I18nBreadcrumbResolver', () => {
|
describe('i18nBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let i18nBreadcrumbService: any;
|
let i18nBreadcrumbService: any;
|
||||||
@@ -27,7 +27,7 @@ describe('I18nBreadcrumbResolver', () => {
|
|||||||
};
|
};
|
||||||
expectedPath = new URLCombiner(parentSegment, segment).toString();
|
expectedPath = new URLCombiner(parentSegment, segment).toString();
|
||||||
i18nBreadcrumbService = {};
|
i18nBreadcrumbService = {};
|
||||||
resolver = I18nBreadcrumbResolver;
|
resolver = i18nBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve the breadcrumb config', () => {
|
it('should resolve the breadcrumb config', () => {
|
||||||
|
@@ -17,7 +17,7 @@ import { I18nBreadcrumbsService } from './i18n-breadcrumbs.service';
|
|||||||
* @param {I18nBreadcrumbsService} breadcrumbService
|
* @param {I18nBreadcrumbsService} breadcrumbService
|
||||||
* @returns BreadcrumbConfig object
|
* @returns BreadcrumbConfig object
|
||||||
*/
|
*/
|
||||||
export const I18nBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
export const i18nBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: I18nBreadcrumbsService = inject(I18nBreadcrumbsService),
|
breadcrumbService: I18nBreadcrumbsService = inject(I18nBreadcrumbsService),
|
||||||
|
@@ -18,7 +18,7 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service';
|
|||||||
/**
|
/**
|
||||||
* The resolve function that resolves the BreadcrumbConfig object for an Item
|
* The resolve function that resolves the BreadcrumbConfig object for an Item
|
||||||
*/
|
*/
|
||||||
export const ItemBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Item>> = (
|
export const itemBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
breadcrumbService: DSOBreadcrumbsService = inject(DSOBreadcrumbsService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { NavigationBreadcrumbResolver } from './navigation-breadcrumb.resolver';
|
import { navigationBreadcrumbResolver } from './navigation-breadcrumb.resolver';
|
||||||
|
|
||||||
describe('NavigationBreadcrumbResolver', () => {
|
describe('navigationBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let NavigationBreadcrumbService: any;
|
let NavigationBreadcrumbService: any;
|
||||||
@@ -40,7 +40,7 @@ describe('NavigationBreadcrumbResolver', () => {
|
|||||||
};
|
};
|
||||||
expectedPath = '/base/example:/base';
|
expectedPath = '/base/example:/base';
|
||||||
NavigationBreadcrumbService = {};
|
NavigationBreadcrumbService = {};
|
||||||
resolver = NavigationBreadcrumbResolver;
|
resolver = navigationBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve the breadcrumb config', () => {
|
it('should resolve the breadcrumb config', () => {
|
||||||
|
@@ -15,7 +15,7 @@ import { NavigationBreadcrumbsService } from './navigation-breadcrumb.service';
|
|||||||
* @param {NavigationBreadcrumbsService} breadcrumbService
|
* @param {NavigationBreadcrumbsService} breadcrumbService
|
||||||
* @returns BreadcrumbConfig object
|
* @returns BreadcrumbConfig object
|
||||||
*/
|
*/
|
||||||
export const NavigationBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
export const navigationBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: NavigationBreadcrumbsService = inject(NavigationBreadcrumbsService),
|
breadcrumbService: NavigationBreadcrumbsService = inject(NavigationBreadcrumbsService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { PublicationClaimBreadcrumbResolver } from './publication-claim-breadcrumb.resolver';
|
import { publicationClaimBreadcrumbResolver } from './publication-claim-breadcrumb.resolver';
|
||||||
|
|
||||||
describe('PublicationClaimBreadcrumbResolver', () => {
|
describe('publicationClaimBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let publicationClaimBreadcrumbService: any;
|
let publicationClaimBreadcrumbService: any;
|
||||||
@@ -19,7 +19,7 @@ describe('PublicationClaimBreadcrumbResolver', () => {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
publicationClaimBreadcrumbService = {};
|
publicationClaimBreadcrumbService = {};
|
||||||
resolver = PublicationClaimBreadcrumbResolver;
|
resolver = publicationClaimBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve the breadcrumb config', () => {
|
it('should resolve the breadcrumb config', () => {
|
||||||
|
@@ -8,7 +8,7 @@ import {
|
|||||||
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
||||||
import { PublicationClaimBreadcrumbService } from './publication-claim-breadcrumb.service';
|
import { PublicationClaimBreadcrumbService } from './publication-claim-breadcrumb.service';
|
||||||
|
|
||||||
export const PublicationClaimBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
export const publicationClaimBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: PublicationClaimBreadcrumbService = inject(PublicationClaimBreadcrumbService),
|
breadcrumbService: PublicationClaimBreadcrumbService = inject(PublicationClaimBreadcrumbService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { QualityAssuranceBreadcrumbResolver } from './quality-assurance-breadcrumb.resolver';
|
import { qualityAssuranceBreadcrumbResolver } from './quality-assurance-breadcrumb.resolver';
|
||||||
|
|
||||||
describe('QualityAssuranceBreadcrumbResolver', () => {
|
describe('qualityAssuranceBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let qualityAssuranceBreadcrumbService: any;
|
let qualityAssuranceBreadcrumbService: any;
|
||||||
@@ -19,7 +19,7 @@ describe('QualityAssuranceBreadcrumbResolver', () => {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
qualityAssuranceBreadcrumbService = {};
|
qualityAssuranceBreadcrumbService = {};
|
||||||
resolver = QualityAssuranceBreadcrumbResolver;
|
resolver = qualityAssuranceBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve the breadcrumb config', () => {
|
it('should resolve the breadcrumb config', () => {
|
||||||
|
@@ -8,7 +8,7 @@ import {
|
|||||||
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
|
||||||
import { QualityAssuranceBreadcrumbService } from './quality-assurance-breadcrumb.service';
|
import { QualityAssuranceBreadcrumbService } from './quality-assurance-breadcrumb.service';
|
||||||
|
|
||||||
export const QualityAssuranceBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
export const qualityAssuranceBreadcrumbResolver: ResolveFn<BreadcrumbConfig<string>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: QualityAssuranceBreadcrumbService = inject(QualityAssuranceBreadcrumbService),
|
breadcrumbService: QualityAssuranceBreadcrumbService = inject(QualityAssuranceBreadcrumbService),
|
||||||
|
@@ -3,14 +3,14 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
|
||||||
import { HealthPageComponent } from './health-page.component';
|
import { HealthPageComponent } from './health-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: {
|
data: {
|
||||||
breadcrumbKey: 'health',
|
breadcrumbKey: 'health',
|
||||||
title: 'health-page.title',
|
title: 'health-page.title',
|
||||||
|
@@ -2,7 +2,7 @@ import { Route } from '@angular/router';
|
|||||||
|
|
||||||
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
||||||
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
||||||
import { HomePageResolver } from './home-page.resolver';
|
import { homePageResolver } from './home-page.resolver';
|
||||||
import { ThemedHomePageComponent } from './themed-home-page.component';
|
import { ThemedHomePageComponent } from './themed-home-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
@@ -27,7 +27,7 @@ export const ROUTES: Route[] = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
site: HomePageResolver,
|
site: homePageResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@@ -10,7 +10,7 @@ import { take } from 'rxjs/operators';
|
|||||||
import { SiteDataService } from '../core/data/site-data.service';
|
import { SiteDataService } from '../core/data/site-data.service';
|
||||||
import { Site } from '../core/shared/site.model';
|
import { Site } from '../core/shared/site.model';
|
||||||
|
|
||||||
export const HomePageResolver: ResolveFn<Site> = (
|
export const homePageResolver: ResolveFn<Site> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
siteService: SiteDataService = inject(SiteDataService),
|
siteService: SiteDataService = inject(SiteDataService),
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
import { environment } from '../../environments/environment';
|
import { environment } from '../../environments/environment';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { FeedbackGuard } from '../core/feedback/feedback.guard';
|
import { FeedbackGuard } from '../core/feedback/feedback.guard';
|
||||||
import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component';
|
import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component';
|
||||||
import { ThemedFeedbackComponent } from './feedback/themed-feedback.component';
|
import { ThemedFeedbackComponent } from './feedback/themed-feedback.component';
|
||||||
@@ -15,20 +15,20 @@ export const ROUTES = [
|
|||||||
{
|
{
|
||||||
path: FEEDBACK_PATH,
|
path: FEEDBACK_PATH,
|
||||||
component: ThemedFeedbackComponent,
|
component: ThemedFeedbackComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'info.feedback.title', breadcrumbKey: 'info.feedback' },
|
data: { title: 'info.feedback.title', breadcrumbKey: 'info.feedback' },
|
||||||
canActivate: [FeedbackGuard],
|
canActivate: [FeedbackGuard],
|
||||||
},
|
},
|
||||||
environment.info.enableEndUserAgreement ? {
|
environment.info.enableEndUserAgreement ? {
|
||||||
path: END_USER_AGREEMENT_PATH,
|
path: END_USER_AGREEMENT_PATH,
|
||||||
component: ThemedEndUserAgreementComponent,
|
component: ThemedEndUserAgreementComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'info.end-user-agreement.title', breadcrumbKey: 'info.end-user-agreement' },
|
data: { title: 'info.end-user-agreement.title', breadcrumbKey: 'info.end-user-agreement' },
|
||||||
} : undefined,
|
} : undefined,
|
||||||
environment.info.enablePrivacyStatement ? {
|
environment.info.enablePrivacyStatement ? {
|
||||||
path: PRIVACY_PATH,
|
path: PRIVACY_PATH,
|
||||||
component: ThemedPrivacyComponent,
|
component: ThemedPrivacyComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'info.privacy.title', breadcrumbKey: 'info.privacy' },
|
data: { title: 'info.privacy.title', breadcrumbKey: 'info.privacy' },
|
||||||
} : undefined,
|
} : undefined,
|
||||||
];
|
];
|
||||||
|
@@ -146,7 +146,7 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize component properties:
|
* Initialize component properties:
|
||||||
* itemRD$ Fetched from the current route data (populated by BitstreamPageResolver)
|
* itemRD$ Fetched from the current route data (populated by bitstreamPageResolver)
|
||||||
* selectedBundleId Starts off by checking if the route's queryParams contain a "bundle" parameter. If none is found,
|
* selectedBundleId Starts off by checking if the route's queryParams contain a "bundle" parameter. If none is found,
|
||||||
* the ID of the first bundle in the list is selected.
|
* the ID of the first bundle in the list is selected.
|
||||||
* Calls setUploadUrl after setting the selected bundle
|
* Calls setUploadUrl after setting the selected bundle
|
||||||
|
@@ -3,12 +3,12 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component';
|
import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component';
|
||||||
import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
|
import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component';
|
||||||
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component';
|
||||||
import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
import { resourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver';
|
||||||
import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
import { resourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver';
|
||||||
import { EditItemPageComponent } from './edit-item-page.component';
|
import { EditItemPageComponent } from './edit-item-page.component';
|
||||||
import {
|
import {
|
||||||
ITEM_EDIT_AUTHORIZATIONS_PATH,
|
ITEM_EDIT_AUTHORIZATIONS_PATH,
|
||||||
@@ -55,7 +55,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { breadcrumbKey: 'item.edit' },
|
data: { breadcrumbKey: 'item.edit' },
|
||||||
children: [
|
children: [
|
||||||
@@ -173,7 +173,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'create',
|
path: 'create',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicyTarget: ResourcePolicyTargetResolver,
|
resourcePolicyTarget: resourcePolicyTargetResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyCreateComponent,
|
component: ResourcePolicyCreateComponent,
|
||||||
data: { title: 'resource-policies.create.page.title' },
|
data: { title: 'resource-policies.create.page.title' },
|
||||||
@@ -181,7 +181,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'edit',
|
path: 'edit',
|
||||||
resolve: {
|
resolve: {
|
||||||
resourcePolicy: ResourcePolicyResolver,
|
resourcePolicy: resourcePolicyResolver,
|
||||||
},
|
},
|
||||||
component: ResourcePolicyEditComponent,
|
component: ResourcePolicyEditComponent,
|
||||||
data: { title: 'resource-policies.edit.page.title' },
|
data: { title: 'resource-policies.edit.page.title' },
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageAccessControlGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageAccessControlGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageBitstreamsGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageBitstreamsGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageCollectionMapperGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageCollectionMapperGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageCurateGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageCurateGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageMetadataGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageMetadataGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageRegisterDoiGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageRegisterDoiGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageReinstateGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageReinstateGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageRelationshipsGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageRelationshipsGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSomeFeatureGuard } from '../../core/data/feature-authorization/f
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -27,7 +27,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageStatusGuard extends DsoPageSomeFeatureGuard<Item> {
|
export class ItemPageStatusGuard extends DsoPageSomeFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageVersionHistoryGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageVersionHistoryGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageWithdrawGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageWithdrawGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/fe
|
|||||||
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../core/data/remote-data';
|
import { RemoteData } from '../core/data/remote-data';
|
||||||
import { Item } from '../core/shared/item.model';
|
import { Item } from '../core/shared/item.model';
|
||||||
import { ItemPageResolver } from './item-page.resolver';
|
import { itemPageResolver } from './item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from './item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class ItemPageAdministratorGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class ItemPageAdministratorGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -5,14 +5,14 @@ import {
|
|||||||
|
|
||||||
import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths';
|
import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths';
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver';
|
import { itemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver';
|
||||||
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
||||||
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
||||||
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
||||||
import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component';
|
import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component';
|
||||||
import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component';
|
import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component';
|
||||||
import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component';
|
import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component';
|
||||||
import { ItemPageResolver } from './item-page.resolver';
|
import { itemPageResolver } from './item-page.resolver';
|
||||||
import {
|
import {
|
||||||
ITEM_EDIT_PATH,
|
ITEM_EDIT_PATH,
|
||||||
ORCID_PATH,
|
ORCID_PATH,
|
||||||
@@ -21,16 +21,16 @@ import {
|
|||||||
import { OrcidPageComponent } from './orcid-page/orcid-page.component';
|
import { OrcidPageComponent } from './orcid-page/orcid-page.component';
|
||||||
import { OrcidPageGuard } from './orcid-page/orcid-page.guard';
|
import { OrcidPageGuard } from './orcid-page/orcid-page.guard';
|
||||||
import { ThemedItemPageComponent } from './simple/themed-item-page.component';
|
import { ThemedItemPageComponent } from './simple/themed-item-page.component';
|
||||||
import { VersionResolver } from './version-page/version.resolver';
|
import { versionResolver } from './version-page/version.resolver';
|
||||||
import { VersionPageComponent } from './version-page/version-page/version-page.component';
|
import { VersionPageComponent } from './version-page/version-page/version-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
resolve: {
|
resolve: {
|
||||||
dso: ItemPageResolver,
|
dso: itemPageResolver,
|
||||||
breadcrumb: ItemBreadcrumbResolver,
|
breadcrumb: itemBreadcrumbResolver,
|
||||||
menu: DSOEditMenuResolver,
|
menu: dsoEditMenuResolver,
|
||||||
},
|
},
|
||||||
runGuardsAndResolvers: 'always',
|
runGuardsAndResolvers: 'always',
|
||||||
children: [
|
children: [
|
||||||
@@ -86,7 +86,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: ':id',
|
path: ':id',
|
||||||
component: VersionPageComponent,
|
component: VersionPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
dso: VersionResolver,
|
dso: versionResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@@ -6,9 +6,9 @@ import { first } from 'rxjs/operators';
|
|||||||
import { DSpaceObject } from '../core/shared/dspace-object.model';
|
import { DSpaceObject } from '../core/shared/dspace-object.model';
|
||||||
import { MetadataValueFilter } from '../core/shared/metadata.models';
|
import { MetadataValueFilter } from '../core/shared/metadata.models';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { ItemPageResolver } from './item-page.resolver';
|
import { itemPageResolver } from './item-page.resolver';
|
||||||
|
|
||||||
describe('ItemPageResolver', () => {
|
describe('itemPageResolver', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [RouterTestingModule.withRoutes([{
|
imports: [RouterTestingModule.withRoutes([{
|
||||||
@@ -42,7 +42,7 @@ describe('ItemPageResolver', () => {
|
|||||||
store = jasmine.createSpyObj('store', {
|
store = jasmine.createSpyObj('store', {
|
||||||
dispatch: {},
|
dispatch: {},
|
||||||
});
|
});
|
||||||
resolver = ItemPageResolver;
|
resolver = itemPageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should redirect to the correct route for the entity type', (done) => {
|
it('should redirect to the correct route for the entity type', (done) => {
|
||||||
|
@@ -29,7 +29,7 @@ import { getItemPageRoute } from './item-page-routing-paths';
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const ItemPageResolver: ResolveFn<RemoteData<Item>> = (
|
export const itemPageResolver: ResolveFn<RemoteData<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
router: Router = inject(Router),
|
router: Router = inject(Router),
|
||||||
|
@@ -32,7 +32,7 @@ export const ITEM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Item>[] = [
|
|||||||
followLink('thumbnail'),
|
followLink('thumbnail'),
|
||||||
];
|
];
|
||||||
|
|
||||||
export const ItemResolver: ResolveFn<RemoteData<Item>> = (
|
export const itemResolver: ResolveFn<RemoteData<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
itemService: ItemDataService = inject(ItemDataService),
|
itemService: ItemDataService = inject(ItemDataService),
|
||||||
|
@@ -16,7 +16,7 @@ import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization
|
|||||||
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemPageResolver } from '../item-page.resolver';
|
import { itemPageResolver } from '../item-page.resolver';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -26,7 +26,7 @@ import { ItemPageResolver } from '../item-page.resolver';
|
|||||||
*/
|
*/
|
||||||
export class OrcidPageGuard extends DsoPageSingleFeatureGuard<Item> {
|
export class OrcidPageGuard extends DsoPageSingleFeatureGuard<Item> {
|
||||||
|
|
||||||
protected resolver: ResolveFn<RemoteData<Item>> = ItemPageResolver;
|
protected resolver: ResolveFn<RemoteData<Item>> = itemPageResolver;
|
||||||
|
|
||||||
constructor(protected authorizationService: AuthorizationDataService,
|
constructor(protected authorizationService: AuthorizationDataService,
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
|
@@ -35,7 +35,7 @@ export const VERSION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Version>[] = [
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const VersionResolver: ResolveFn<RemoteData<Version>> = (
|
export const versionResolver: ResolveFn<RemoteData<Version>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
versionService: VersionDataService = inject(VersionDataService),
|
versionService: VersionDataService = inject(VersionDataService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedLoginPageComponent } from './themed-login-page.component';
|
import { ThemedLoginPageComponent } from './themed-login-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
@@ -8,7 +8,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: '',
|
path: '',
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
component: ThemedLoginPageComponent,
|
component: ThemedLoginPageComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { breadcrumbKey: 'login', title: 'login.title' },
|
data: { breadcrumbKey: 'login', title: 'login.title' },
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@@ -38,7 +38,7 @@ const BROWSE_DEFINITIONS = [
|
|||||||
{ id: 'definition3' },
|
{ id: 'definition3' },
|
||||||
];
|
];
|
||||||
|
|
||||||
describe('MenuResolver', () => {
|
describe('menuResolver', () => {
|
||||||
let resolver: MenuResolverService;
|
let resolver: MenuResolverService;
|
||||||
|
|
||||||
let menuService;
|
let menuService;
|
||||||
|
@@ -12,7 +12,7 @@ import { MenuResolverService } from './menu-resolver.service';
|
|||||||
/**
|
/**
|
||||||
* Initialize all menus
|
* Initialize all menus
|
||||||
*/
|
*/
|
||||||
export const MenuResolver: ResolveFn<boolean> = (
|
export const menuResolver: ResolveFn<boolean> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
menuResolverService: MenuResolverService = inject(MenuResolverService),
|
menuResolverService: MenuResolverService = inject(MenuResolverService),
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { MyDSpaceGuard } from './my-dspace.guard';
|
import { MyDSpaceGuard } from './my-dspace.guard';
|
||||||
import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component';
|
import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component';
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: '',
|
path: '',
|
||||||
component: ThemedMyDSpacePageComponent,
|
component: ThemedMyDSpacePageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'mydspace.title', breadcrumbKey: 'mydspace' },
|
data: { title: 'mydspace.title', breadcrumbKey: 'mydspace' },
|
||||||
canActivate: [
|
canActivate: [
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import { ProcessDataService } from '../core/data/processes/process-data.service';
|
import { ProcessDataService } from '../core/data/processes/process-data.service';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver';
|
import { processBreadcrumbResolver } from './process-breadcrumb.resolver';
|
||||||
import { Process } from './processes/process.model';
|
import { Process } from './processes/process.model';
|
||||||
|
|
||||||
describe('ProcessBreadcrumbResolver', () => {
|
describe('processBreadcrumbResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let processDataService: ProcessDataService;
|
let processDataService: ProcessDataService;
|
||||||
@@ -19,7 +19,7 @@ describe('ProcessBreadcrumbResolver', () => {
|
|||||||
processDataService = {
|
processDataService = {
|
||||||
findById: () => createSuccessfulRemoteDataObject$(process),
|
findById: () => createSuccessfulRemoteDataObject$(process),
|
||||||
} as any;
|
} as any;
|
||||||
resolver = ProcessBreadcrumbResolver;
|
resolver = processBreadcrumbResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve the breadcrumb config', (done) => {
|
it('should resolve the breadcrumb config', (done) => {
|
||||||
|
@@ -24,7 +24,7 @@ import { Process } from './processes/process.model';
|
|||||||
* @returns Observable<<RemoteData<Process>> Emits the found process based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Process>> Emits the found process based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const ProcessBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Process>> = (
|
export const processBreadcrumbResolver: ResolveFn<BreadcrumbConfig<Process>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
breadcrumbService: ProcessBreadcrumbsService = inject(ProcessBreadcrumbsService),
|
breadcrumbService: ProcessBreadcrumbsService = inject(ProcessBreadcrumbsService),
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ProcessDetailComponent } from './detail/process-detail.component';
|
import { ProcessDetailComponent } from './detail/process-detail.component';
|
||||||
import { NewProcessComponent } from './new/new-process.component';
|
import { NewProcessComponent } from './new/new-process.component';
|
||||||
import { ProcessOverviewComponent } from './overview/process-overview.component';
|
import { ProcessOverviewComponent } from './overview/process-overview.component';
|
||||||
import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver';
|
import { processBreadcrumbResolver } from './process-breadcrumb.resolver';
|
||||||
import { ProcessPageResolver } from './process-page.resolver';
|
import { processPageResolver } from './process-page.resolver';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { breadcrumbKey: 'process.overview' },
|
data: { breadcrumbKey: 'process.overview' },
|
||||||
canActivate: [AuthenticatedGuard],
|
canActivate: [AuthenticatedGuard],
|
||||||
children: [
|
children: [
|
||||||
@@ -23,15 +23,15 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: 'new',
|
path: 'new',
|
||||||
component: NewProcessComponent,
|
component: NewProcessComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { title: 'process.new.title', breadcrumbKey: 'process.new' },
|
data: { title: 'process.new.title', breadcrumbKey: 'process.new' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
component: ProcessDetailComponent,
|
component: ProcessDetailComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
process: ProcessPageResolver,
|
process: processPageResolver,
|
||||||
breadcrumb: ProcessBreadcrumbResolver,
|
breadcrumb: processBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@@ -24,7 +24,7 @@ export const PROCESS_PAGE_FOLLOW_LINKS = [
|
|||||||
* @returns Observable<<RemoteData<Process>> Emits the found process based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Process>> Emits the found process based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const ProcessPageResolver: ResolveFn<RemoteData<Process>> = (
|
export const processPageResolver: ResolveFn<RemoteData<Process>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
processService: ProcessDataService = inject(ProcessDataService),
|
processService: ProcessDataService = inject(ProcessDataService),
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedProfilePageComponent } from './themed-profile-page.component';
|
import { ThemedProfilePageComponent } from './themed-profile-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
@@ -8,7 +8,7 @@ export const ROUTES: Route[] = [
|
|||||||
path: '',
|
path: '',
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
component: ThemedProfilePageComponent,
|
component: ThemedProfilePageComponent,
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||||
data: { breadcrumbKey: 'profile', title: 'profile.title' },
|
data: { breadcrumbKey: 'profile', title: 'profile.title' },
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { QualityAssuranceBreadcrumbResolver } from '../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
|
import { qualityAssuranceBreadcrumbResolver } from '../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
|
||||||
import {
|
import {
|
||||||
NOTIFICATIONS_RECITER_SUGGESTION_PATH,
|
NOTIFICATIONS_RECITER_SUGGESTION_PATH,
|
||||||
QUALITY_ASSURANCE_EDIT_PATH,
|
QUALITY_ASSURANCE_EDIT_PATH,
|
||||||
@@ -10,8 +10,8 @@ import {
|
|||||||
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
|
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
|
||||||
import { AdminNotificationsPublicationClaimPageResolver } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
import { AdminNotificationsPublicationClaimPageResolver } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
||||||
import { QualityAssuranceEventsPageComponent } from './quality-assurance-events-page/quality-assurance-events-page.component';
|
import { QualityAssuranceEventsPageComponent } from './quality-assurance-events-page/quality-assurance-events-page.component';
|
||||||
import { QualityAssuranceEventsPageResolver } from './quality-assurance-events-page/quality-assurance-events-page.resolver';
|
import { qualityAssuranceEventsPageResolver } from './quality-assurance-events-page/quality-assurance-events-page.resolver';
|
||||||
import { SourceDataResolver } from './quality-assurance-source-page-component/quality-assurance-source-data.resolver';
|
import { qualityAssuranceSourceDataResolver } from './quality-assurance-source-page-component/quality-assurance-source-data.resolver';
|
||||||
import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page-component/quality-assurance-source-page.component';
|
import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page-component/quality-assurance-source-page.component';
|
||||||
import { QualityAssuranceSourcePageResolver } from './quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
|
import { QualityAssuranceSourcePageResolver } from './quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
|
||||||
import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page/quality-assurance-topics-page.component';
|
import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page/quality-assurance-topics-page.component';
|
||||||
@@ -24,7 +24,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: NotificationsSuggestionTargetsPageComponent,
|
component: NotificationsSuggestionTargetsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
reciterSuggestionTargetParams: AdminNotificationsPublicationClaimPageResolver,
|
reciterSuggestionTargetParams: AdminNotificationsPublicationClaimPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -39,7 +39,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceTopicsPageComponent,
|
component: QualityAssuranceTopicsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
breadcrumb: qualityAssuranceBreadcrumbResolver,
|
||||||
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -54,7 +54,7 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceTopicsPageComponent,
|
component: QualityAssuranceTopicsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@@ -69,9 +69,9 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceSourcePageComponent,
|
component: QualityAssuranceSourcePageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
|
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
|
||||||
sourceData: SourceDataResolver,
|
sourceData: qualityAssuranceSourceDataResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'admin.notifications.source.breadcrumbs',
|
title: 'admin.notifications.source.breadcrumbs',
|
||||||
@@ -85,8 +85,8 @@ export const ROUTES: Route[] = [
|
|||||||
component: QualityAssuranceEventsPageComponent,
|
component: QualityAssuranceEventsPageComponent,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
breadcrumb: qualityAssuranceBreadcrumbResolver,
|
||||||
openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver,
|
openaireQualityAssuranceEventsParams: qualityAssuranceEventsPageResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'admin.notifications.event.page.title',
|
title: 'admin.notifications.event.page.title',
|
||||||
|
@@ -19,7 +19,7 @@ export interface AssuranceEventsPageParams {
|
|||||||
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
||||||
* @returns AdminQualityAssuranceEventsPageParams Emits the route parameters
|
* @returns AdminQualityAssuranceEventsPageParams Emits the route parameters
|
||||||
*/
|
*/
|
||||||
export const QualityAssuranceEventsPageResolver: ResolveFn<AssuranceEventsPageParams> = (
|
export const qualityAssuranceEventsPageResolver: ResolveFn<AssuranceEventsPageParams> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
): AssuranceEventsPageParams => {
|
): AssuranceEventsPageParams => {
|
||||||
|
@@ -25,7 +25,7 @@ import { QualityAssuranceSourceService } from '../../notifications/qa/source/qua
|
|||||||
* @param appConfig
|
* @param appConfig
|
||||||
* @returns Observable<QualityAssuranceSourceObject[]>
|
* @returns Observable<QualityAssuranceSourceObject[]>
|
||||||
*/
|
*/
|
||||||
export const SourceDataResolver: ResolveFn<QualityAssuranceSourceObject[]> = (
|
export const qualityAssuranceSourceDataResolver: ResolveFn<QualityAssuranceSourceObject[]> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
router: Router = inject(Router),
|
router: Router = inject(Router),
|
||||||
|
@@ -3,9 +3,9 @@ import { first } from 'rxjs/operators';
|
|||||||
import { EpersonRegistrationService } from '../core/data/eperson-registration.service';
|
import { EpersonRegistrationService } from '../core/data/eperson-registration.service';
|
||||||
import { Registration } from '../core/shared/registration.model';
|
import { Registration } from '../core/shared/registration.model';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { RegistrationResolver } from './registration.resolver';
|
import { registrationResolver } from './registration.resolver';
|
||||||
|
|
||||||
describe('RegistrationResolver', () => {
|
describe('registrationResolver', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let epersonRegistrationService: EpersonRegistrationService;
|
let epersonRegistrationService: EpersonRegistrationService;
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ describe('RegistrationResolver', () => {
|
|||||||
epersonRegistrationService = jasmine.createSpyObj('epersonRegistrationService', {
|
epersonRegistrationService = jasmine.createSpyObj('epersonRegistrationService', {
|
||||||
searchByToken: createSuccessfulRemoteDataObject$(registration),
|
searchByToken: createSuccessfulRemoteDataObject$(registration),
|
||||||
});
|
});
|
||||||
resolver = RegistrationResolver;
|
resolver = registrationResolver;
|
||||||
});
|
});
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
it('should resolve a registration based on the token', (done) => {
|
it('should resolve a registration based on the token', (done) => {
|
||||||
|
@@ -11,7 +11,7 @@ import { RemoteData } from '../core/data/remote-data';
|
|||||||
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
||||||
import { Registration } from '../core/shared/registration.model';
|
import { Registration } from '../core/shared/registration.model';
|
||||||
|
|
||||||
export const RegistrationResolver: ResolveFn<RemoteData<Registration>> = (
|
export const registrationResolver: ResolveFn<RemoteData<Registration>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
epersonRegistrationService: EpersonRegistrationService = inject(EpersonRegistrationService),
|
epersonRegistrationService: EpersonRegistrationService = inject(EpersonRegistrationService),
|
||||||
|
@@ -3,7 +3,7 @@ import { Route } from '@angular/router';
|
|||||||
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
|
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
|
||||||
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
|
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
|
||||||
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
|
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
|
||||||
import { RequestCopyResolver } from './request-copy.resolver';
|
import { requestCopyResolver } from './request-copy.resolver';
|
||||||
import {
|
import {
|
||||||
REQUEST_COPY_DENY_PATH,
|
REQUEST_COPY_DENY_PATH,
|
||||||
REQUEST_COPY_GRANT_PATH,
|
REQUEST_COPY_GRANT_PATH,
|
||||||
@@ -13,7 +13,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: ':token',
|
path: ':token',
|
||||||
resolve: {
|
resolve: {
|
||||||
request: RequestCopyResolver,
|
request: requestCopyResolver,
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
|
@@ -11,7 +11,7 @@ import { RemoteData } from '../core/data/remote-data';
|
|||||||
import { ItemRequest } from '../core/shared/item-request.model';
|
import { ItemRequest } from '../core/shared/item-request.model';
|
||||||
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
||||||
|
|
||||||
export const RequestCopyResolver: ResolveFn<RemoteData<ItemRequest>> = (
|
export const requestCopyResolver: ResolveFn<RemoteData<ItemRequest>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
itemRequestDataService: ItemRequestDataService = inject(ItemRequestDataService),
|
itemRequestDataService: ItemRequestDataService = inject(ItemRequestDataService),
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ConfigurationSearchPageGuard } from './configuration-search-page.guard';
|
import { ConfigurationSearchPageGuard } from './configuration-search-page.guard';
|
||||||
import { ThemedConfigurationSearchPageComponent } from './themed-configuration-search-page.component';
|
import { ThemedConfigurationSearchPageComponent } from './themed-configuration-search-page.component';
|
||||||
import { ThemedSearchPageComponent } from './themed-search-page.component';
|
import { ThemedSearchPageComponent } from './themed-search-page.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [{
|
export const ROUTES: Route[] = [{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: { breadcrumb: I18nBreadcrumbResolver }, data: { title: 'search.title', breadcrumbKey: 'search' },
|
resolve: { breadcrumb: i18nBreadcrumbResolver }, data: { title: 'search.title', breadcrumbKey: 'search' },
|
||||||
children: [
|
children: [
|
||||||
{ path: '', component: ThemedSearchPageComponent },
|
{ path: '', component: ThemedSearchPageComponent },
|
||||||
{
|
{
|
||||||
|
@@ -44,7 +44,7 @@ import { DSOEditMenuResolverService } from './dso-edit-menu-resolver.service';
|
|||||||
import { DsoVersioningModalService } from './dso-versioning-modal-service/dso-versioning-modal.service';
|
import { DsoVersioningModalService } from './dso-versioning-modal-service/dso-versioning-modal.service';
|
||||||
import { DsoWithdrawnReinstateModalService } from './dso-withdrawn-reinstate-service/dso-withdrawn-reinstate-modal.service';
|
import { DsoWithdrawnReinstateModalService } from './dso-withdrawn-reinstate-service/dso-withdrawn-reinstate-modal.service';
|
||||||
|
|
||||||
describe('DSOEditMenuResolver', () => {
|
describe('dsoEditMenuResolver', () => {
|
||||||
|
|
||||||
const MENU_STATE = {
|
const MENU_STATE = {
|
||||||
id: 'some menu',
|
id: 'some menu',
|
||||||
|
@@ -12,7 +12,7 @@ import { DSOEditMenuResolverService } from './dso-edit-menu-resolver.service';
|
|||||||
/**
|
/**
|
||||||
* Initialise all dspace object related menus
|
* Initialise all dspace object related menus
|
||||||
*/
|
*/
|
||||||
export const DSOEditMenuResolver: ResolveFn<{ [key: string]: MenuSection[] }> = (
|
export const dsoEditMenuResolver: ResolveFn<{ [key: string]: MenuSection[] }> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
menuResolverService: DSOEditMenuResolverService = inject(DSOEditMenuResolverService),
|
menuResolverService: DSOEditMenuResolverService = inject(DSOEditMenuResolverService),
|
||||||
|
@@ -31,7 +31,7 @@ import { isEmpty } from '../../empty.util';
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const ResourcePolicyTargetResolver: ResolveFn<RemoteData<DSpaceObject>> = (
|
export const resourcePolicyTargetResolver: ResolveFn<RemoteData<DSpaceObject>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
dataServiceMap: InjectionToken<LazyDataServicesMap> = inject(InjectionToken<LazyDataServicesMap>),
|
dataServiceMap: InjectionToken<LazyDataServicesMap> = inject(InjectionToken<LazyDataServicesMap>),
|
||||||
|
@@ -23,7 +23,7 @@ import { followLink } from '../../utils/follow-link-config.model';
|
|||||||
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Item>> Emits the found item based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const ResourcePolicyResolver: ResolveFn<RemoteData<ResourcePolicy>> = (
|
export const resourcePolicyResolver: ResolveFn<RemoteData<ResourcePolicy>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
router: Router = inject(Router),
|
router: Router = inject(Router),
|
||||||
|
@@ -3,11 +3,11 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
|
|
||||||
import { CollectionPageResolver } from '../collection-page/collection-page.resolver';
|
import { collectionPageResolver } from '../collection-page/collection-page.resolver';
|
||||||
import { CommunityPageResolver } from '../community-page/community-page.resolver';
|
import { communityPageResolver } from '../community-page/community-page.resolver';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { StatisticsAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard';
|
import { StatisticsAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard';
|
||||||
import { ItemResolver } from '../item-page/item.resolver';
|
import { itemResolver } from '../item-page/item.resolver';
|
||||||
import { ThemedCollectionStatisticsPageComponent } from './collection-statistics-page/themed-collection-statistics-page.component';
|
import { ThemedCollectionStatisticsPageComponent } from './collection-statistics-page/themed-collection-statistics-page.component';
|
||||||
import { ThemedCommunityStatisticsPageComponent } from './community-statistics-page/themed-community-statistics-page.component';
|
import { ThemedCommunityStatisticsPageComponent } from './community-statistics-page/themed-community-statistics-page.component';
|
||||||
import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component';
|
import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component';
|
||||||
@@ -17,7 +17,7 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'statistics.title',
|
title: 'statistics.title',
|
||||||
@@ -34,8 +34,8 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: `items/:id`,
|
path: `items/:id`,
|
||||||
resolve: {
|
resolve: {
|
||||||
scope: ItemResolver,
|
scope: itemResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'statistics.title',
|
title: 'statistics.title',
|
||||||
@@ -47,8 +47,8 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: `collections/:id`,
|
path: `collections/:id`,
|
||||||
resolve: {
|
resolve: {
|
||||||
scope: CollectionPageResolver,
|
scope: collectionPageResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'statistics.title',
|
title: 'statistics.title',
|
||||||
@@ -60,8 +60,8 @@ export const ROUTES: Route[] = [
|
|||||||
{
|
{
|
||||||
path: `communities/:id`,
|
path: `communities/:id`,
|
||||||
resolve: {
|
resolve: {
|
||||||
scope: CommunityPageResolver,
|
scope: communityPageResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'statistics.title',
|
title: 'statistics.title',
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedSubmissionSubmitComponent } from '../submission/submit/themed-submission-submit.component';
|
import { ThemedSubmissionSubmitComponent } from '../submission/submit/themed-submission-submit.component';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
@@ -11,7 +11,7 @@ export const ROUTES: Route[] = [
|
|||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
component: ThemedSubmissionSubmitComponent,
|
component: ThemedSubmissionSubmitComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'submission.submit.title', breadcrumbKey: 'submission.submit' },
|
data: { title: 'submission.submit.title', breadcrumbKey: 'submission.submit' },
|
||||||
},
|
},
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
import { Route } from '@angular/router';
|
import { Route } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { PublicationClaimBreadcrumbResolver } from '../core/breadcrumbs/publication-claim-breadcrumb.resolver';
|
import { publicationClaimBreadcrumbResolver } from '../core/breadcrumbs/publication-claim-breadcrumb.resolver';
|
||||||
import { SuggestionsPageComponent } from './suggestions-page.component';
|
import { SuggestionsPageComponent } from './suggestions-page.component';
|
||||||
import { SuggestionsPageResolver } from './suggestions-page.resolver';
|
import { suggestionsPageResolver } from './suggestions-page.resolver';
|
||||||
|
|
||||||
export const ROUTES: Route[] = [
|
export const ROUTES: Route[] = [
|
||||||
{
|
{
|
||||||
path: ':targetId',
|
path: ':targetId',
|
||||||
resolve: {
|
resolve: {
|
||||||
suggestionTargets: SuggestionsPageResolver,
|
suggestionTargets: suggestionsPageResolver,
|
||||||
breadcrumb: PublicationClaimBreadcrumbResolver,//I18nBreadcrumbResolver
|
breadcrumb: publicationClaimBreadcrumbResolver,//i18nBreadcrumbResolver
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'admin.notifications.publicationclaim.page.title',
|
title: 'admin.notifications.publicationclaim.page.title',
|
||||||
|
@@ -20,7 +20,7 @@ import { hasValue } from '../shared/empty.util';
|
|||||||
* @returns Observable<<RemoteData<Collection>> Emits the found collection based on the parameters in the current route,
|
* @returns Observable<<RemoteData<Collection>> Emits the found collection based on the parameters in the current route,
|
||||||
* or an error if something went wrong
|
* or an error if something went wrong
|
||||||
*/
|
*/
|
||||||
export const SuggestionsPageResolver: ResolveFn<RemoteData<SuggestionTarget>> = (
|
export const suggestionsPageResolver: ResolveFn<RemoteData<SuggestionTarget>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
suggestionsDataService: SuggestionTargetDataService = inject(SuggestionTargetDataService),
|
suggestionsDataService: SuggestionTargetDataService = inject(SuggestionTargetDataService),
|
||||||
|
@@ -2,9 +2,9 @@ import { first } from 'rxjs/operators';
|
|||||||
|
|
||||||
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { ItemFromWorkflowResolver } from './item-from-workflow.resolver';
|
import { itemFromWorkflowResolver } from './item-from-workflow.resolver';
|
||||||
|
|
||||||
describe('ItemFromWorkflowResolver', () => {
|
describe('itemFromWorkflowResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let wfiService: WorkflowItemDataService;
|
let wfiService: WorkflowItemDataService;
|
||||||
@@ -20,7 +20,7 @@ describe('ItemFromWorkflowResolver', () => {
|
|||||||
wfiService = {
|
wfiService = {
|
||||||
findById: (id: string) => createSuccessfulRemoteDataObject$(wfi),
|
findById: (id: string) => createSuccessfulRemoteDataObject$(wfi),
|
||||||
} as any;
|
} as any;
|
||||||
resolver = ItemFromWorkflowResolver;
|
resolver = itemFromWorkflowResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a an item from from the workflow item with the correct id', (done) => {
|
it('should resolve a an item from from the workflow item with the correct id', (done) => {
|
||||||
|
@@ -11,7 +11,7 @@ import { Item } from '../core/shared/item.model';
|
|||||||
import { SubmissionObjectResolver } from '../core/submission/resolver/submission-object.resolver';
|
import { SubmissionObjectResolver } from '../core/submission/resolver/submission-object.resolver';
|
||||||
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
||||||
|
|
||||||
export const ItemFromWorkflowResolver: ResolveFn<RemoteData<Item>> = (
|
export const itemFromWorkflowResolver: ResolveFn<RemoteData<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
workflowItemService: WorkflowItemDataService = inject(WorkflowItemDataService),
|
workflowItemService: WorkflowItemDataService = inject(WorkflowItemDataService),
|
||||||
|
@@ -2,9 +2,9 @@ import { first } from 'rxjs/operators';
|
|||||||
|
|
||||||
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { WorkflowItemPageResolver } from './workflow-item-page.resolver';
|
import { workflowItemPageResolver } from './workflow-item-page.resolver';
|
||||||
|
|
||||||
describe('WorkflowItemPageResolver', () => {
|
describe('workflowItemPageResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let wfiService: WorkflowItemDataService;
|
let wfiService: WorkflowItemDataService;
|
||||||
@@ -14,7 +14,7 @@ describe('WorkflowItemPageResolver', () => {
|
|||||||
wfiService = {
|
wfiService = {
|
||||||
findById: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
findById: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
||||||
} as any;
|
} as any;
|
||||||
resolver = WorkflowItemPageResolver;
|
resolver = workflowItemPageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a workflow item with the correct id', (done) => {
|
it('should resolve a workflow item with the correct id', (done) => {
|
||||||
|
@@ -12,7 +12,7 @@ import { WorkflowItem } from '../core/submission/models/workflowitem.model';
|
|||||||
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
|
||||||
import { followLink } from '../shared/utils/follow-link-config.model';
|
import { followLink } from '../shared/utils/follow-link-config.model';
|
||||||
|
|
||||||
export const WorkflowItemPageResolver: ResolveFn<RemoteData<WorkflowItem>> = (
|
export const workflowItemPageResolver: ResolveFn<RemoteData<WorkflowItem>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
workflowItemService: WorkflowItemDataService = inject(WorkflowItemDataService),
|
workflowItemService: WorkflowItemDataService = inject(WorkflowItemDataService),
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
import { Routes } from '@angular/router';
|
import { Routes } from '@angular/router';
|
||||||
|
|
||||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||||
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
|
||||||
import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component';
|
import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component';
|
||||||
import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component';
|
import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component';
|
||||||
import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component';
|
import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component';
|
||||||
import { ItemFromWorkflowResolver } from './item-from-workflow.resolver';
|
import { itemFromWorkflowResolver } from './item-from-workflow.resolver';
|
||||||
import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component';
|
import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component';
|
||||||
import { WorkflowItemPageResolver } from './workflow-item-page.resolver';
|
import { workflowItemPageResolver } from './workflow-item-page.resolver';
|
||||||
import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component';
|
import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component';
|
||||||
import {
|
import {
|
||||||
ADVANCED_WORKFLOW_PATH,
|
ADVANCED_WORKFLOW_PATH,
|
||||||
@@ -20,14 +20,14 @@ import {
|
|||||||
export const ROUTES: Routes = [
|
export const ROUTES: Routes = [
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
resolve: { wfi: WorkflowItemPageResolver },
|
resolve: { wfi: workflowItemPageResolver },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
canActivate: [AuthenticatedGuard],
|
canActivate: [AuthenticatedGuard],
|
||||||
path: WORKFLOW_ITEM_EDIT_PATH,
|
path: WORKFLOW_ITEM_EDIT_PATH,
|
||||||
component: ThemedSubmissionEditComponent,
|
component: ThemedSubmissionEditComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
title: 'workflow-item.edit.title',
|
title: 'workflow-item.edit.title',
|
||||||
@@ -40,8 +40,8 @@ export const ROUTES: Routes = [
|
|||||||
path: WORKFLOW_ITEM_VIEW_PATH,
|
path: WORKFLOW_ITEM_VIEW_PATH,
|
||||||
component: ThemedFullItemPageComponent,
|
component: ThemedFullItemPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
dso: ItemFromWorkflowResolver,
|
dso: itemFromWorkflowResolver,
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'workflow-item.view.title', breadcrumbKey: 'workflow-item.view' },
|
data: { title: 'workflow-item.view.title', breadcrumbKey: 'workflow-item.view' },
|
||||||
},
|
},
|
||||||
@@ -50,7 +50,7 @@ export const ROUTES: Routes = [
|
|||||||
path: WORKFLOW_ITEM_DELETE_PATH,
|
path: WORKFLOW_ITEM_DELETE_PATH,
|
||||||
component: ThemedWorkflowItemDeleteComponent,
|
component: ThemedWorkflowItemDeleteComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'workflow-item.delete.title', breadcrumbKey: 'workflow-item.edit' },
|
data: { title: 'workflow-item.delete.title', breadcrumbKey: 'workflow-item.edit' },
|
||||||
},
|
},
|
||||||
@@ -59,7 +59,7 @@ export const ROUTES: Routes = [
|
|||||||
path: WORKFLOW_ITEM_SEND_BACK_PATH,
|
path: WORKFLOW_ITEM_SEND_BACK_PATH,
|
||||||
component: ThemedWorkflowItemSendBackComponent,
|
component: ThemedWorkflowItemSendBackComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'workflow-item.send-back.title', breadcrumbKey: 'workflow-item.edit' },
|
data: { title: 'workflow-item.send-back.title', breadcrumbKey: 'workflow-item.edit' },
|
||||||
},
|
},
|
||||||
@@ -68,7 +68,7 @@ export const ROUTES: Routes = [
|
|||||||
path: ADVANCED_WORKFLOW_PATH,
|
path: ADVANCED_WORKFLOW_PATH,
|
||||||
component: AdvancedWorkflowActionPageComponent,
|
component: AdvancedWorkflowActionPageComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: I18nBreadcrumbResolver,
|
breadcrumb: i18nBreadcrumbResolver,
|
||||||
},
|
},
|
||||||
data: { title: 'workflow-item.advanced.title', breadcrumbKey: 'workflow-item.edit' },
|
data: { title: 'workflow-item.advanced.title', breadcrumbKey: 'workflow-item.edit' },
|
||||||
},
|
},
|
||||||
|
@@ -2,9 +2,9 @@ import { first } from 'rxjs/operators';
|
|||||||
|
|
||||||
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { ItemFromWorkspaceResolver } from './item-from-workspace.resolver';
|
import { itemFromWorkspaceResolver } from './item-from-workspace.resolver';
|
||||||
|
|
||||||
describe('ItemFromWorkspaceResolver', () => {
|
describe('itemFromWorkspaceResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let wfiService: WorkspaceitemDataService;
|
let wfiService: WorkspaceitemDataService;
|
||||||
@@ -20,7 +20,7 @@ describe('ItemFromWorkspaceResolver', () => {
|
|||||||
wfiService = {
|
wfiService = {
|
||||||
findById: (id: string) => createSuccessfulRemoteDataObject$(wfi),
|
findById: (id: string) => createSuccessfulRemoteDataObject$(wfi),
|
||||||
} as any;
|
} as any;
|
||||||
resolver = ItemFromWorkspaceResolver;
|
resolver = itemFromWorkspaceResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a an item from from the workflow item with the correct id', (done) => {
|
it('should resolve a an item from from the workflow item with the correct id', (done) => {
|
||||||
|
@@ -14,7 +14,7 @@ import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.
|
|||||||
/**
|
/**
|
||||||
* This method represents a resolver that requests a specific item before the route is activated
|
* This method represents a resolver that requests a specific item before the route is activated
|
||||||
*/
|
*/
|
||||||
export const ItemFromWorkspaceResolver: ResolveFn<RemoteData<Item>> = (
|
export const itemFromWorkspaceResolver: ResolveFn<RemoteData<Item>> = (
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot,
|
state: RouterStateSnapshot,
|
||||||
workspaceItemService: WorkspaceitemDataService = inject(WorkspaceitemDataService),
|
workspaceItemService: WorkspaceitemDataService = inject(WorkspaceitemDataService),
|
||||||
|
@@ -2,9 +2,9 @@ import { first } from 'rxjs/operators';
|
|||||||
|
|
||||||
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { WorkspaceItemPageResolver } from './workspace-item-page.resolver';
|
import { workspaceItemPageResolver } from './workspace-item-page.resolver';
|
||||||
|
|
||||||
describe('WorkflowItemPageResolver', () => {
|
describe('workspaceItemPageResolver', () => {
|
||||||
describe('resolve', () => {
|
describe('resolve', () => {
|
||||||
let resolver: any;
|
let resolver: any;
|
||||||
let wsiService: WorkspaceitemDataService;
|
let wsiService: WorkspaceitemDataService;
|
||||||
@@ -14,7 +14,7 @@ describe('WorkflowItemPageResolver', () => {
|
|||||||
wsiService = {
|
wsiService = {
|
||||||
findById: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
findById: (id: string) => createSuccessfulRemoteDataObject$({ id }),
|
||||||
} as any;
|
} as any;
|
||||||
resolver = WorkspaceItemPageResolver;
|
resolver = workspaceItemPageResolver;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should resolve a workspace item with the correct id', (done) => {
|
it('should resolve a workspace item with the correct id', (done) => {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user