diff --git a/resources/i18n/en.json5 b/resources/i18n/en.json5 index 554d079214..33b375de7e 100644 --- a/resources/i18n/en.json5 +++ b/resources/i18n/en.json5 @@ -913,6 +913,12 @@ "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.versionhistory.head": "Version History", + + "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + + "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + "item.edit.tabs.view.head": "View Item", "item.edit.tabs.view.title": "Item Edit - View", @@ -1172,8 +1178,6 @@ "menu.section.edit_item": "Item", - "menu.section.edit_item_version_history": "Item Version History", - "menu.section.export": "Export", diff --git a/src/app/+admin/admin-sidebar/admin-sidebar.component.ts b/src/app/+admin/admin-sidebar/admin-sidebar.component.ts index e50d976dc9..72eb306bf1 100644 --- a/src/app/+admin/admin-sidebar/admin-sidebar.component.ts +++ b/src/app/+admin/admin-sidebar/admin-sidebar.component.ts @@ -18,7 +18,6 @@ import { EditItemSelectorComponent } from '../../shared/dso-selector/modal-wrapp import { EditCommunitySelectorComponent } from '../../shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; import { EditCollectionSelectorComponent } from '../../shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; import {CreateItemParentSelectorComponent} from '../../shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; -import { EditItemVersionHistorySelectorComponent } from '../../shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component'; /** * Component representing the admin sidebar @@ -215,19 +214,6 @@ export class AdminSidebarComponent extends MenuComponent implements OnInit { } } as OnClickMenuItemModel, }, - { - id: 'edit_item_version_history', - parentID: 'edit', - active: false, - visible: true, - model: { - type: MenuItemType.ONCLICK, - text: 'menu.section.edit_item_version_history', - function: () => { - this.modalService.open(EditItemVersionHistorySelectorComponent); - } - } as OnClickMenuItemModel, - }, /* Import */ { diff --git a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts index 05d1d8f847..2718c66246 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts @@ -1,4 +1,3 @@ -import { ItemPageResolver } from '../item-page.resolver'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { EditItemPageComponent } from './edit-item-page.component'; @@ -16,17 +15,12 @@ import { ItemRelationshipsComponent } from './item-relationships/item-relationsh import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; -export function getItemEditVersionHistoryPath() { - return ITEM_EDIT_VERSION_HISTORY; -} - const ITEM_EDIT_WITHDRAW_PATH = 'withdraw'; const ITEM_EDIT_REINSTATE_PATH = 'reinstate'; const ITEM_EDIT_PRIVATE_PATH = 'private'; const ITEM_EDIT_PUBLIC_PATH = 'public'; const ITEM_EDIT_DELETE_PATH = 'delete'; const ITEM_EDIT_MOVE_PATH = 'move'; -const ITEM_EDIT_VERSION_HISTORY = 'versionhistory'; /** * Routing module that handles the routing for the Edit Item page administrator functionality @@ -81,6 +75,11 @@ const ITEM_EDIT_VERSION_HISTORY = 'versionhistory'; /* TODO - change when curate page exists */ component: ItemBitstreamsComponent, data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true } + }, + { + path: 'versionhistory', + component: ItemVersionHistoryComponent, + data: { title: 'item.edit.tabs.versionhistory.title', showBreadcrumbs: true } } ] }, @@ -112,10 +111,6 @@ const ITEM_EDIT_VERSION_HISTORY = 'versionhistory'; path: ITEM_EDIT_MOVE_PATH, component: ItemMoveComponent, data: { title: 'item.edit.move.title' }, - }, - { - path: ITEM_EDIT_VERSION_HISTORY, - component: ItemVersionHistoryComponent, } ] } diff --git a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.html b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.html index 8acd98d640..acabbd1010 100644 --- a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.html +++ b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.html @@ -1,6 +1,6 @@ -
- - - {{"item.version.history.return" | translate}} - +
+ +
+
+
diff --git a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.ts b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.ts index ee0323d1aa..ce662c5753 100644 --- a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.ts +++ b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.ts @@ -5,6 +5,7 @@ import { Item } from '../../../core/shared/item.model'; import { map } from 'rxjs/operators'; import { getSucceededRemoteData } from '../../../core/shared/operators'; import { ActivatedRoute } from '@angular/router'; +import { AlertType } from '../../../shared/alert/aletr-type'; @Component({ selector: 'ds-item-version-history', @@ -19,10 +20,16 @@ export class ItemVersionHistoryComponent { */ itemRD$: Observable>; + /** + * The AlertType enumeration + * @type {AlertType} + */ + AlertTypeEnum = AlertType; + constructor(private route: ActivatedRoute) { } ngOnInit(): void { - this.itemRD$ = this.route.data.pipe(map((data) => data.item)).pipe(getSucceededRemoteData()) as Observable>; + this.itemRD$ = this.route.parent.data.pipe(map((data) => data.item)).pipe(getSucceededRemoteData()) as Observable>; } } diff --git a/src/app/+item-page/item-page-routing.module.ts b/src/app/+item-page/item-page-routing.module.ts index 09bd7f8b62..686c5ff2fc 100644 --- a/src/app/+item-page/item-page-routing.module.ts +++ b/src/app/+item-page/item-page-routing.module.ts @@ -10,7 +10,6 @@ import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; import { LinkService } from '../core/cache/builders/link.service'; -import { getItemEditVersionHistoryPath } from './edit-item-page/edit-item-page.routing.module'; export function getItemPageRoute(itemId: string) { return new URLCombiner(getItemModulePath(), itemId).toString(); @@ -19,12 +18,8 @@ export function getItemPageRoute(itemId: string) { export function getItemEditPath(id: string) { return new URLCombiner(getItemModulePath(), id, ITEM_EDIT_PATH).toString() } -export function getFullItemEditVersionHistoryPath(id: string) { - return new URLCombiner(getItemModulePath(), id, ITEM_EDIT_VERSION_HISTORY_PATH).toString() -} const ITEM_EDIT_PATH = 'edit'; -const ITEM_EDIT_VERSION_HISTORY_PATH = `${ITEM_EDIT_PATH}/${getItemEditVersionHistoryPath()}`; @NgModule({ imports: [ diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.spec.ts deleted file mode 100644 index eb3106696c..0000000000 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.spec.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { Item } from '../../../../core/shared/item.model'; -import { MetadataValue } from '../../../../core/shared/metadata.models'; -import { RouterStub } from '../../../testing/router-stub'; -import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs/internal/observable/of'; -import * as itemRouter from '../../../../+item-page/item-page-routing.module'; -import { EditItemVersionHistorySelectorComponent } from './edit-item-version-history-selector.component'; - -describe('EditItemVersionHistorySelectorComponent', () => { - let component: EditItemVersionHistorySelectorComponent; - let fixture: ComponentFixture; - let debugElement: DebugElement; - - const item = new Item(); - item.uuid = '1234-1234-1234-1234'; - item.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Item title', language: undefined })] }; - const router = new RouterStub(); - const itemRD = createSuccessfulRemoteDataObject(item); - const modalStub = jasmine.createSpyObj('modalStub', ['close']); - const editPath = 'testEditVersionHistoryPath'; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [TranslateModule.forRoot()], - declarations: [EditItemVersionHistorySelectorComponent], - providers: [ - { provide: NgbActiveModal, useValue: modalStub }, - { - provide: ActivatedRoute, - useValue: { root: { firstChild: { firstChild: { data: observableOf({ item: itemRD }) } } } } - }, - { - provide: Router, useValue: router - } - ], - schemas: [NO_ERRORS_SCHEMA] - }).compileComponents(); - - })); - - beforeEach(() => { - spyOnProperty(itemRouter, 'getFullItemEditVersionHistoryPath').and.callFake(() => { - return () => editPath; - }); - - fixture = TestBed.createComponent(EditItemVersionHistorySelectorComponent); - component = fixture.componentInstance; - debugElement = fixture.debugElement; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should call navigate on the router with the correct edit path when navigate is called', () => { - component.navigate(item); - expect(router.navigate).toHaveBeenCalledWith([editPath]); - }); - -}); diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.ts deleted file mode 100644 index 0c69c57c39..0000000000 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-version-history-selector/edit-item-version-history-selector.component.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { getFullItemEditVersionHistoryPath } from '../../../../+item-page/item-page-routing.module'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; - -/** - * Component to wrap a list of existing items inside a modal - * Used to choose an item from to edit its version history - */ -@Component({ - selector: 'ds-edit-item-version-history-selector', - templateUrl: '../dso-selector-modal-wrapper.component.html', -}) -export class EditItemVersionHistorySelectorComponent extends DSOSelectorModalWrapperComponent implements OnInit { - objectType = DSpaceObjectType.ITEM; - selectorType = DSpaceObjectType.ITEM; - action = SelectorActionType.EDIT; - - constructor(protected activeModal: NgbActiveModal, protected route: ActivatedRoute, private router: Router) { - super(activeModal, route); - } - - /** - * Navigate to the item edit version history page - */ - navigate(dso: DSpaceObject) { - this.router.navigate([getFullItemEditVersionHistoryPath(dso.uuid)]); - } -} diff --git a/src/app/shared/item/item-versions/item-versions.component.html b/src/app/shared/item/item-versions/item-versions.component.html index 54168773d0..6e93f4c7ca 100644 --- a/src/app/shared/item/item-versions/item-versions.component.html +++ b/src/app/shared/item/item-versions/item-versions.component.html @@ -1,7 +1,7 @@
-

{{"item.version.history.head" | translate}}

+

{{"item.version.history.head" | translate}}