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
No related merge requests found
...@@ -293,7 +293,8 @@ ...@@ -293,7 +293,8 @@
"author": "By Author", "author": "By Author",
"subject": "By Subject" "subject": "By Subject"
} }
} },
"empty": "No items to show."
}, },
"admin": { "admin": {
"registries": { "registries": {
......
...@@ -71,8 +71,8 @@ export class BrowseByMetadataPageComponent implements OnInit { ...@@ -71,8 +71,8 @@ export class BrowseByMetadataPageComponent implements OnInit {
/** /**
* The value we're browing items for * The value we're browing items for
* - When the value is not empty, we're browing items * - When the value is not empty, we're browsing items
* - When the value is empty, we're browing browse-entries (values for the given metadata definition) * - When the value is empty, we're browsing browse-entries (values for the given metadata definition)
*/ */
value = ''; value = '';
......
...@@ -30,10 +30,12 @@ export class BrowseEntriesResponseParsingService extends BaseResponseParsingServ ...@@ -30,10 +30,12 @@ export class BrowseEntriesResponseParsingService extends BaseResponseParsingServ
} }
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
if (isNotEmpty(data.payload) && isNotEmpty(data.payload._embedded) if (isNotEmpty(data.payload)) {
&& Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) { let browseEntries = [];
const serializer = new DSpaceRESTv2Serializer(BrowseEntry); if (isNotEmpty(data.payload._embedded) && Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) {
const browseEntries = serializer.deserializeArray(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)); return new GenericSuccessResponse(browseEntries, data.statusCode, this.processPageInfo(data.payload));
} else { } else {
return new ErrorResponse( return new ErrorResponse(
......
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
[objects]="objects"> [objects]="objects">
</ds-viewable-collection> </ds-viewable-collection>
</div> </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> <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> </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