diff --git a/ui/ui-frontend/projects/archive-search/src/app/archive/archive.service.ts b/ui/ui-frontend/projects/archive-search/src/app/archive/archive.service.ts index 4772c89a14873cff18f8d87a0f0d96d4eba83947..71115b68a0b72405cc6e914bef19201f4bdf7bb0 100644 --- a/ui/ui-frontend/projects/archive-search/src/app/archive/archive.service.ts +++ b/ui/ui-frontend/projects/archive-search/src/app/archive/archive.service.ts @@ -250,15 +250,24 @@ export class ArchiveService extends SearchService<any> { } buildArchiveUnitPath(archiveUnit: Unit, accessContract: string) { - const criteriaSearchList = []; - - criteriaSearchList.push({ - criteria: '#id', - values: archiveUnit['#allunitups'].map((unitUp) => ({ id: unitUp, value: unitUp })), - operator: CriteriaOperator.EQ, - category: SearchCriteriaTypeEnum[SearchCriteriaTypeEnum.FIELDS], - dataType: CriteriaDataType.STRING, - }); + const allunitups = archiveUnit['#allunitups'].map((unitUp) => ({ id: unitUp, value: unitUp })); + + if (!allunitups || allunitups.length === 0) { + return of({ + fullPath: '', + resumePath: '', + }); + } + + const criteriaSearchList = [ + { + criteria: '#id', + values: allunitups, + operator: CriteriaOperator.EQ, + category: SearchCriteriaTypeEnum[SearchCriteriaTypeEnum.FIELDS], + dataType: CriteriaDataType.STRING, + }, + ]; const searchCriteria = { criteriaList: criteriaSearchList, @@ -268,8 +277,8 @@ export class ArchiveService extends SearchService<any> { return this.searchArchiveUnitsByCriteria(searchCriteria, accessContract).pipe( map((pagedResult: PagedResult) => { - let resumePath = '/'; - let fullPath = '/'; + let resumePath = ''; + let fullPath = ''; if (pagedResult.results) { resumePath = `/${pagedResult.results.map((ua) => ArchiveService.fetchTitle(ua.Title, ua.Title_)).join('/')}`;