Skip to content
Snippets Groups Projects
Commit fde2e1cc authored by Kristof De Langhe's avatar Kristof De Langhe
Browse files

59415: Browse-Entries empty response handling and doc fix

parent 64f301d1
Branches
Tags
No related merge requests found
......@@ -293,7 +293,8 @@
"author": "By Author",
"subject": "By Subject"
}
}
},
"empty": "No items to show."
},
"admin": {
"registries": {
......
......@@ -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 = '';
......
......@@ -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(
......
......@@ -7,6 +7,9 @@
[objects]="objects">
</ds-viewable-collection>
</div>
<ds-loading *ngIf="!objects || objects?.payload?.page.length <= 0" message="{{'loading.browse-by' | translate}}"></ds-loading>
<ds-loading *ngIf="!objects || objects?.isLoading" message="{{'loading.browse-by' | translate}}"></ds-loading>
<ds-error *ngIf="objects?.hasFailed" message="{{'error.browse-by' | translate}}"></ds-error>
<div *ngIf="!objects?.isLoading && objects?.payload?.page.length === 0" class="alert alert-info w-100" role="alert">
{{'browse.empty' | translate}}
</div>
</ng-container>
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment