[CST-11178] Fix issue with correction type routing

This commit is contained in:
Mykhaylo
2023-10-30 12:26:33 +01:00
parent 8157c477d3
commit 5f63e3051e
5 changed files with 41 additions and 37 deletions

View File

@@ -138,7 +138,4 @@ export function getEditItemPageRoute() {
return `/${EDIT_ITEM_PATH}`;
}
export const CORRECTION_TYPE_PATH = 'corrections';
export function getCorrectionTypePageRoute(itemUuid: string, typeId: string) {
return `/items/${itemUuid}/${CORRECTION_TYPE_PATH}/${typeId}`;
}

View File

@@ -16,6 +16,7 @@ import { MenuItemType } from '../shared/menu/menu-item-type.model';
import { VersionPageComponent } from './version-page/version-page/version-page.component';
import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component';
import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths';
import { CORRECTION_TYPE_PATH, REQUEST_COPY_MODULE_PATH } from '../app-routing-paths';
import { OrcidPageComponent } from './orcid-page/orcid-page.component';
import { OrcidPageGuard } from './orcid-page/orcid-page.guard';
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
@@ -41,6 +42,12 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
path: 'full',
component: ThemedFullItemPageComponent,
},
{
path: CORRECTION_TYPE_PATH,
loadChildren: () => import('../shared/correction-suggestion/correction-suggestion.module')
.then((m) => m.CorrectionSuggestionModule),
canActivate: [AuthenticatedGuard]
},
{
path: ITEM_EDIT_PATH,
loadChildren: () => import('./edit-item-page/edit-item-page.module')

View File

@@ -1,17 +1,15 @@
import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service';
import { getAllSucceededRemoteDataPayload, getPaginatedListPayload } from './../../../core/shared/operators';
import { CorrectionTypeDataService } from './../../../core/submission/correctiontype-data.service';
import { DSpaceObject } from './../../../core/shared/dspace-object.model';
import { getAllSucceededRemoteDataPayload, getPaginatedListPayload } from '../../../core/shared/operators';
import { CorrectionTypeDataService } from '../../../core/submission/correctiontype-data.service';
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { ContextMenuEntryComponent } from '../context-menu-entry.component';
import { ContextMenuEntryType } from '../context-menu-entry-type';
import { BehaviorSubject, map, Observable, startWith, Subscription } from 'rxjs';
import { CorrectionType } from '../../../core/submission/models/correction-type-mode.model';
import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model';
import { NotificationsService } from '../../notifications/notifications.service';
import { hasValue, isNotEmpty } from '../../empty.util';
import { rendersContextMenuEntriesForType } from '../context-menu.decorator';
import { getCorrectionTypePageRoute } from '../../../app-routing-paths';
import { CORRECTION_TYPE_PATH } from '../../../app-routing-paths';
@Component({
selector: 'ds-correction-type-menu',
@@ -42,8 +40,6 @@ export class CorrectionTypeMenuComponent extends ContextMenuEntryComponent imple
@Inject('contextMenuObjectProvider') protected injectedContextMenuObject: DSpaceObject,
@Inject('contextMenuObjectTypeProvider') protected injectedContextMenuObjectType: DSpaceObjectType,
private correctionTypeService: CorrectionTypeDataService,
private notificationService: NotificationsService,
private authorizeService: AuthorizationDataService
) {
super(injectedContextMenuObject, injectedContextMenuObjectType, ContextMenuEntryType.CorrectionType);
}
@@ -56,7 +52,7 @@ export class CorrectionTypeMenuComponent extends ContextMenuEntryComponent imple
* Check if edit mode is available
*/
getCorrectionTypes(): Observable<CorrectionType[]> {
return this.correctionTypes$;
return this.correctionTypes$.asObservable();
}
/**
@@ -84,11 +80,11 @@ export class CorrectionTypeMenuComponent extends ContextMenuEntryComponent imple
/**
* Get the route to the correction type page
* @param id correction type id
* @param typeId correction type id
* @returns the route to the correction type page
*/
getTypeRoute(id: string): string {
return getCorrectionTypePageRoute(this.contextMenuObject.id, id);
getTypeRoute(typeId: string): string[] {
return ['./', CORRECTION_TYPE_PATH, typeId];
}
/**

View File

@@ -5,7 +5,7 @@ import { CorrectionSuggestionComponent } from './correction-suggestion.component
const routes: Routes = [
{
path: ':uuid/corrections/:correctionType',
path: ':correctionType',
component: CorrectionSuggestionComponent,
resolve: {
breadcrumb: ItemBreadcrumbResolver,

View File

@@ -1,28 +1,32 @@
import { NotificationsService } from './../../../notifications/notifications.service';
import { OpenaireBrokerEventObject } from './../../../../core/openaire/broker/models/openaire-broker-event.model';
import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from './../../../../core/shared/operators';
import { ItemDataService } from './../../../../core/data/item-data.service';
import { OpenaireBrokerEventRestService } from './../../../../core/openaire/broker/events/openaire-broker-event-rest.service';
import { Context } from './../../../../core/shared/context.model';
import { CollectionElementLinkType } from './../../../object-collection/collection-element-link.type';
import { DSpaceObject } from './../../../../core/shared/dspace-object.model';
import { SearchResult } from './../../../search/models/search-result.model';
import { RemoteData } from './../../../../core/data/remote-data';
import { PaginatedList } from './../../../../core/data/paginated-list.model';
import { PaginatedSearchOptions } from './../../../search/models/paginated-search-options.model';
import { SelectableListService } from './../../../object-list/selectable-list/selectable-list.service';
import { SearchService } from './../../../../core/shared/search/search.service';
import { PaginationComponentOptions } from './../../../pagination/pagination-component-options.model';
import { NotificationsService } from '../../../notifications/notifications.service';
import { OpenaireBrokerEventObject } from '../../../../core/openaire/broker/models/openaire-broker-event.model';
import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators';
import { ItemDataService } from '../../../../core/data/item-data.service';
import {
OpenaireBrokerEventRestService
} from '../../../../core/openaire/broker/events/openaire-broker-event-rest.service';
import { Context } from '../../../../core/shared/context.model';
import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type';
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
import { SearchResult } from '../../../search/models/search-result.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { PaginatedList } from '../../../../core/data/paginated-list.model';
import { PaginatedSearchOptions } from '../../../search/models/paginated-search-options.model';
import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service';
import { SearchService } from '../../../../core/shared/search/search.service';
import { PaginationComponentOptions } from '../../../pagination/pagination-component-options.model';
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { renderCorrectionFor } from '../../correction-suggestion-page.decorator';
import { CorrectionType } from '../../../../core/submission/models/correction-type-mode.model';
import { CorrectionTypeForms } from './../correction-type-forms';
import { CorrectionTypeForms } from '../correction-type-forms';
import { ActivatedRoute, Router } from '@angular/router';
import { Observable, Subscription, of as observableOf, switchMap } from 'rxjs';
import { hasValue, isNotEmpty } from '../../../../shared/empty.util';
import { ListableObject } from '../../../../shared/object-collection/shared/listable-object.model';
import { Observable, of as observableOf, Subscription, switchMap } from 'rxjs';
import { hasValue, isNotEmpty } from '../../../empty.util';
import { ListableObject } from '../../../object-collection/shared/listable-object.model';
import { Item } from '../../../../core/shared/item.model';
import { ImportType } from '../../../../openaire/broker/project-entry-import-modal/project-entry-import-modal.component';
import {
ImportType
} from '../../../../openaire/broker/project-entry-import-modal/project-entry-import-modal.component';
import { TranslateService } from '@ngx-translate/core';
@Component({
@@ -236,7 +240,7 @@ export class ManageRelationCorrectionTypeComponent implements OnInit, OnDestroy
* Navigate back to the previous page
*/
back() {
this.router.navigate(['../'], { relativeTo: this.aroute });
this.router.navigate(['../../'], { relativeTo: this.aroute });
}
/**