mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
[CST-11178] Fix issue with correction type routing
This commit is contained in:
@@ -138,7 +138,4 @@ export function getEditItemPageRoute() {
|
|||||||
return `/${EDIT_ITEM_PATH}`;
|
return `/${EDIT_ITEM_PATH}`;
|
||||||
}
|
}
|
||||||
export const CORRECTION_TYPE_PATH = 'corrections';
|
export const CORRECTION_TYPE_PATH = 'corrections';
|
||||||
export function getCorrectionTypePageRoute(itemUuid: string, typeId: string) {
|
|
||||||
return `/items/${itemUuid}/${CORRECTION_TYPE_PATH}/${typeId}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@@ -16,6 +16,7 @@ import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
|||||||
import { VersionPageComponent } from './version-page/version-page/version-page.component';
|
import { VersionPageComponent } from './version-page/version-page/version-page.component';
|
||||||
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 { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths';
|
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 { OrcidPageComponent } from './orcid-page/orcid-page.component';
|
||||||
import { OrcidPageGuard } from './orcid-page/orcid-page.guard';
|
import { OrcidPageGuard } from './orcid-page/orcid-page.guard';
|
||||||
import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
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',
|
path: 'full',
|
||||||
component: ThemedFullItemPageComponent,
|
component: ThemedFullItemPageComponent,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: CORRECTION_TYPE_PATH,
|
||||||
|
loadChildren: () => import('../shared/correction-suggestion/correction-suggestion.module')
|
||||||
|
.then((m) => m.CorrectionSuggestionModule),
|
||||||
|
canActivate: [AuthenticatedGuard]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: ITEM_EDIT_PATH,
|
path: ITEM_EDIT_PATH,
|
||||||
loadChildren: () => import('./edit-item-page/edit-item-page.module')
|
loadChildren: () => import('./edit-item-page/edit-item-page.module')
|
||||||
|
@@ -1,17 +1,15 @@
|
|||||||
import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service';
|
import { getAllSucceededRemoteDataPayload, getPaginatedListPayload } from '../../../core/shared/operators';
|
||||||
import { getAllSucceededRemoteDataPayload, getPaginatedListPayload } from './../../../core/shared/operators';
|
import { CorrectionTypeDataService } from '../../../core/submission/correctiontype-data.service';
|
||||||
import { CorrectionTypeDataService } from './../../../core/submission/correctiontype-data.service';
|
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||||
import { DSpaceObject } from './../../../core/shared/dspace-object.model';
|
|
||||||
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
|
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { ContextMenuEntryComponent } from '../context-menu-entry.component';
|
import { ContextMenuEntryComponent } from '../context-menu-entry.component';
|
||||||
import { ContextMenuEntryType } from '../context-menu-entry-type';
|
import { ContextMenuEntryType } from '../context-menu-entry-type';
|
||||||
import { BehaviorSubject, map, Observable, startWith, Subscription } from 'rxjs';
|
import { BehaviorSubject, map, Observable, startWith, Subscription } from 'rxjs';
|
||||||
import { CorrectionType } from '../../../core/submission/models/correction-type-mode.model';
|
import { CorrectionType } from '../../../core/submission/models/correction-type-mode.model';
|
||||||
import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model';
|
import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model';
|
||||||
import { NotificationsService } from '../../notifications/notifications.service';
|
|
||||||
import { hasValue, isNotEmpty } from '../../empty.util';
|
import { hasValue, isNotEmpty } from '../../empty.util';
|
||||||
import { rendersContextMenuEntriesForType } from '../context-menu.decorator';
|
import { rendersContextMenuEntriesForType } from '../context-menu.decorator';
|
||||||
import { getCorrectionTypePageRoute } from '../../../app-routing-paths';
|
import { CORRECTION_TYPE_PATH } from '../../../app-routing-paths';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-correction-type-menu',
|
selector: 'ds-correction-type-menu',
|
||||||
@@ -42,8 +40,6 @@ export class CorrectionTypeMenuComponent extends ContextMenuEntryComponent imple
|
|||||||
@Inject('contextMenuObjectProvider') protected injectedContextMenuObject: DSpaceObject,
|
@Inject('contextMenuObjectProvider') protected injectedContextMenuObject: DSpaceObject,
|
||||||
@Inject('contextMenuObjectTypeProvider') protected injectedContextMenuObjectType: DSpaceObjectType,
|
@Inject('contextMenuObjectTypeProvider') protected injectedContextMenuObjectType: DSpaceObjectType,
|
||||||
private correctionTypeService: CorrectionTypeDataService,
|
private correctionTypeService: CorrectionTypeDataService,
|
||||||
private notificationService: NotificationsService,
|
|
||||||
private authorizeService: AuthorizationDataService
|
|
||||||
) {
|
) {
|
||||||
super(injectedContextMenuObject, injectedContextMenuObjectType, ContextMenuEntryType.CorrectionType);
|
super(injectedContextMenuObject, injectedContextMenuObjectType, ContextMenuEntryType.CorrectionType);
|
||||||
}
|
}
|
||||||
@@ -56,7 +52,7 @@ export class CorrectionTypeMenuComponent extends ContextMenuEntryComponent imple
|
|||||||
* Check if edit mode is available
|
* Check if edit mode is available
|
||||||
*/
|
*/
|
||||||
getCorrectionTypes(): Observable<CorrectionType[]> {
|
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
|
* 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
|
* @returns the route to the correction type page
|
||||||
*/
|
*/
|
||||||
getTypeRoute(id: string): string {
|
getTypeRoute(typeId: string): string[] {
|
||||||
return getCorrectionTypePageRoute(this.contextMenuObject.id, id);
|
return ['./', CORRECTION_TYPE_PATH, typeId];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -5,7 +5,7 @@ import { CorrectionSuggestionComponent } from './correction-suggestion.component
|
|||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
path: ':uuid/corrections/:correctionType',
|
path: ':correctionType',
|
||||||
component: CorrectionSuggestionComponent,
|
component: CorrectionSuggestionComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
breadcrumb: ItemBreadcrumbResolver,
|
breadcrumb: ItemBreadcrumbResolver,
|
||||||
|
@@ -1,28 +1,32 @@
|
|||||||
import { NotificationsService } from './../../../notifications/notifications.service';
|
import { NotificationsService } from '../../../notifications/notifications.service';
|
||||||
import { OpenaireBrokerEventObject } from './../../../../core/openaire/broker/models/openaire-broker-event.model';
|
import { OpenaireBrokerEventObject } from '../../../../core/openaire/broker/models/openaire-broker-event.model';
|
||||||
import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from './../../../../core/shared/operators';
|
import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators';
|
||||||
import { ItemDataService } from './../../../../core/data/item-data.service';
|
import { ItemDataService } from '../../../../core/data/item-data.service';
|
||||||
import { OpenaireBrokerEventRestService } from './../../../../core/openaire/broker/events/openaire-broker-event-rest.service';
|
import {
|
||||||
import { Context } from './../../../../core/shared/context.model';
|
OpenaireBrokerEventRestService
|
||||||
import { CollectionElementLinkType } from './../../../object-collection/collection-element-link.type';
|
} from '../../../../core/openaire/broker/events/openaire-broker-event-rest.service';
|
||||||
import { DSpaceObject } from './../../../../core/shared/dspace-object.model';
|
import { Context } from '../../../../core/shared/context.model';
|
||||||
import { SearchResult } from './../../../search/models/search-result.model';
|
import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type';
|
||||||
import { RemoteData } from './../../../../core/data/remote-data';
|
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
|
||||||
import { PaginatedList } from './../../../../core/data/paginated-list.model';
|
import { SearchResult } from '../../../search/models/search-result.model';
|
||||||
import { PaginatedSearchOptions } from './../../../search/models/paginated-search-options.model';
|
import { RemoteData } from '../../../../core/data/remote-data';
|
||||||
import { SelectableListService } from './../../../object-list/selectable-list/selectable-list.service';
|
import { PaginatedList } from '../../../../core/data/paginated-list.model';
|
||||||
import { SearchService } from './../../../../core/shared/search/search.service';
|
import { PaginatedSearchOptions } from '../../../search/models/paginated-search-options.model';
|
||||||
import { PaginationComponentOptions } from './../../../pagination/pagination-component-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 { Component, Inject, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { renderCorrectionFor } from '../../correction-suggestion-page.decorator';
|
import { renderCorrectionFor } from '../../correction-suggestion-page.decorator';
|
||||||
import { CorrectionType } from '../../../../core/submission/models/correction-type-mode.model';
|
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 { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { Observable, Subscription, of as observableOf, switchMap } from 'rxjs';
|
import { Observable, of as observableOf, Subscription, switchMap } from 'rxjs';
|
||||||
import { hasValue, isNotEmpty } from '../../../../shared/empty.util';
|
import { hasValue, isNotEmpty } from '../../../empty.util';
|
||||||
import { ListableObject } from '../../../../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../../object-collection/shared/listable-object.model';
|
||||||
import { Item } from '../../../../core/shared/item.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';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -236,7 +240,7 @@ export class ManageRelationCorrectionTypeComponent implements OnInit, OnDestroy
|
|||||||
* Navigate back to the previous page
|
* Navigate back to the previous page
|
||||||
*/
|
*/
|
||||||
back() {
|
back() {
|
||||||
this.router.navigate(['../'], { relativeTo: this.aroute });
|
this.router.navigate(['../../'], { relativeTo: this.aroute });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user