From fde2e1cc6e12b96476021cdaa1c3ce828bc18de1 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Tue, 29 Jan 2019 17:44:28 +0100 Subject: [PATCH] 59415: Browse-Entries empty response handling and doc fix --- resources/i18n/en.json | 3 ++- .../browse-by-metadata-page.component.ts | 4 ++-- .../data/browse-entries-response-parsing.service.ts | 10 ++++++---- src/app/shared/browse-by/browse-by.component.html | 5 ++++- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/resources/i18n/en.json b/resources/i18n/en.json index ec88ed4f09..954a8ca087 100644 --- a/resources/i18n/en.json +++ b/resources/i18n/en.json @@ -293,7 +293,8 @@ "author": "By Author", "subject": "By Subject" } - } + }, + "empty": "No items to show." }, "admin": { "registries": { diff --git a/src/app/+browse-by/+browse-by-metadata-page/browse-by-metadata-page.component.ts b/src/app/+browse-by/+browse-by-metadata-page/browse-by-metadata-page.component.ts index 67deed97d2..775228c8a2 100644 --- a/src/app/+browse-by/+browse-by-metadata-page/browse-by-metadata-page.component.ts +++ b/src/app/+browse-by/+browse-by-metadata-page/browse-by-metadata-page.component.ts @@ -71,8 +71,8 @@ export class BrowseByMetadataPageComponent implements OnInit { /** * The value we're browing items for - * - When the value is not empty, we're browing items - * - When the value is empty, we're browing browse-entries (values for the given metadata definition) + * - When the value is not empty, we're browsing items + * - When the value is empty, we're browsing browse-entries (values for the given metadata definition) */ value = ''; diff --git a/src/app/core/data/browse-entries-response-parsing.service.ts b/src/app/core/data/browse-entries-response-parsing.service.ts index 171def60df..006654b7cc 100644 --- a/src/app/core/data/browse-entries-response-parsing.service.ts +++ b/src/app/core/data/browse-entries-response-parsing.service.ts @@ -30,10 +30,12 @@ export class BrowseEntriesResponseParsingService extends BaseResponseParsingServ } parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { - if (isNotEmpty(data.payload) && isNotEmpty(data.payload._embedded) - && Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) { - const serializer = new DSpaceRESTv2Serializer(BrowseEntry); - const browseEntries = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]); + if (isNotEmpty(data.payload)) { + let browseEntries = []; + if (isNotEmpty(data.payload._embedded) && Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) { + const serializer = new DSpaceRESTv2Serializer(BrowseEntry); + browseEntries = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]); + } return new GenericSuccessResponse(browseEntries, data.statusCode, this.processPageInfo(data.payload)); } else { return new ErrorResponse( diff --git a/src/app/shared/browse-by/browse-by.component.html b/src/app/shared/browse-by/browse-by.component.html index f30c5b905c..f99c6a539a 100644 --- a/src/app/shared/browse-by/browse-by.component.html +++ b/src/app/shared/browse-by/browse-by.component.html @@ -7,6 +7,9 @@ [objects]="objects"> - + +