Skip to content

Commit 30543a4

Browse files
vins01-4scienceatarix83
authored andcommitted
Merged in DSC-1184 (pull request DSpace#954)
DSC-1184 Approved-by: Giuseppe Digilio
2 parents 6eb328c + 6e05504 commit 30543a4

3 files changed

Lines changed: 16 additions & 7 deletions

File tree

src/app/core/data/version-history-data.service.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@ import { VERSION_HISTORY } from '../shared/version-history.resource-type';
1616
import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
1717
import { VersionDataService } from './version-data.service';
1818
import { HttpOptions } from '../dspace-rest/dspace-rest.service';
19-
import { getAllSucceededRemoteData, getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, getRemoteDataPayload } from '../shared/operators';
19+
import {
20+
getAllSucceededRemoteData,
21+
getFirstCompletedRemoteData,
22+
getFirstSucceededRemoteDataPayload,
23+
getRemoteDataPayload
24+
} from '../shared/operators';
2025
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
2126
import { hasValueOperator } from '../../shared/empty.util';
2227
import { Item } from '../shared/item.model';

src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe('DsoVersioningModalService', () => {
1818
let router;
1919
let workspaceItemDataService;
2020
let itemService;
21+
let editItemService;
2122

2223
const mockItem: Item = Object.assign(new Item(), {
2324
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
@@ -48,6 +49,7 @@ describe('DsoVersioningModalService', () => {
4849
router = jasmine.createSpyObj('router', ['navigateByUrl']);
4950
workspaceItemDataService = jasmine.createSpyObj('workspaceItemDataService', ['findByItem']);
5051
itemService = jasmine.createSpyObj('itemService', ['findByHref']);
52+
editItemService = jasmine.createSpyObj('editItemService', ['invalidateItemCache']);
5153

5254
service = new DsoVersioningModalService(
5355
modalService,
@@ -56,7 +58,8 @@ describe('DsoVersioningModalService', () => {
5658
itemVersionShared,
5759
router,
5860
workspaceItemDataService,
59-
itemService
61+
itemService,
62+
editItemService,
6063
);
6164
}));
6265
describe('when onCreateNewVersion() is called', () => {

src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import { ItemVersionsSharedService } from '../../../item-page/versions/item-vers
1616
import {
1717
ItemVersionsSummaryModalComponent
1818
} from '../../../item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component';
19+
import { EditItemDataService } from '../../../core/submission/edititem-data.service';
20+
import { fromPromise } from 'rxjs/internal/observable/innerFrom';
1921

2022
/**
2123
* Service to take care of all the functionality related to the version creation modal
@@ -34,6 +36,7 @@ export class DsoVersioningModalService {
3436
protected router: Router,
3537
protected workspaceItemDataService: WorkspaceitemDataService,
3638
protected itemService: ItemDataService,
39+
protected editItemService: EditItemDataService,
3740
) {
3841
}
3942

@@ -71,11 +74,9 @@ export class DsoVersioningModalService {
7174
getFirstSucceededRemoteDataPayload<Item>(),
7275
switchMap((newVersionItem: Item) => this.workspaceItemDataService.findByItem(newVersionItem.uuid, true, false)),
7376
getFirstSucceededRemoteDataPayload<WorkspaceItem>(),
74-
).subscribe((wsItem) => {
75-
const wsiId = wsItem.id;
76-
const route = 'workspaceitems/' + wsiId + '/edit';
77-
this.router.navigateByUrl(route);
78-
});
77+
map((wsItem: WorkspaceItem) => `workspaceitems/${wsItem?.id}/edit`),
78+
switchMap((route: string) => fromPromise(this.router.navigateByUrl(route))),
79+
).subscribe(() => this.editItemService.invalidateItemCache(item.uuid));
7980
}
8081

8182
/**

0 commit comments

Comments
 (0)