From 7c40c3ba68d248830988c4ffe6614aa3864688e3 Mon Sep 17 00:00:00 2001 From: Davide Negretti Date: Mon, 18 Oct 2021 13:20:03 +0200 Subject: [PATCH] [CST-4499] Version history - Pagination fixed --- .../item-versions.component.html | 1 + .../item-versions/item-versions.component.ts | 26 ++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) 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 70954d7949..8248a1d1f2 100644 --- a/src/app/shared/item/item-versions/item-versions.component.html +++ b/src/app/shared/item/item-versions/item-versions.component.html @@ -6,6 +6,7 @@ {{ "item.version.history.selected.alert" | translate : {version: itemVersion.version} }} >; /** - * The item's full version history + * The item's full version history (remote data) */ versionHistoryRD$: Observable>; + /** + * The item's full version history + */ + versionHistory$: Observable; + /** * The version history's list of versions */ @@ -239,7 +244,7 @@ export class ItemVersionsComponent implements OnInit { ).subscribe((updatedVersionRD: RemoteData) => { if (updatedVersionRD.hasSucceeded) { this.notificationsService.success(null, this.translateService.get(successMessageKey, {'version': this.versionBeingEditedNumber})); - this.getAllVersions(this.versionHistoryRD$.pipe(getFirstSucceededRemoteDataPayload())); + this.getAllVersions(this.versionHistory$); } else { this.notificationsService.warning(null, this.translateService.get(failureMessageKey, {'version': this.versionBeingEditedNumber})); } @@ -396,6 +401,13 @@ export class ItemVersionsComponent implements OnInit { }); } + /** + * Updates the page + */ + onPageChange() { + this.getAllVersions(this.versionHistory$); + } + /** * Get the ID of the workspace item, if present, otherwise return undefined * @param versionItem the item for which retrieve the workspace item id @@ -446,6 +458,10 @@ export class ItemVersionsComponent implements OnInit { hasValueOperator(), switchMap((version: Version) => version.versionhistory), ); + this.versionHistory$ = this.versionHistoryRD$.pipe( + getFirstSucceededRemoteDataPayload(), + hasValueOperator(), + ); this.canCreateVersion$ = this.authorizationService.isAuthorized(FeatureID.CanCreateVersion, this.item.self); @@ -460,11 +476,7 @@ export class ItemVersionsComponent implements OnInit { switchMap((res) => of(res ? 'item.version.history.table.action.hasDraft' : 'item.version.history.table.action.newVersion')) ); - const versionHistory$ = this.versionHistoryRD$.pipe( - getFirstSucceededRemoteDataPayload(), - hasValueOperator(), - ); - this.getAllVersions(versionHistory$); + this.getAllVersions(this.versionHistory$); this.hasEpersons$ = this.versionsRD$.pipe( getAllSucceededRemoteData(), getRemoteDataPayload(),