diff --git a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts index d427ce2b34..6fe44c109b 100644 --- a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts +++ b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts @@ -107,13 +107,20 @@ export class ItemDeleteComponent getSucceededRemoteData(), getRemoteDataPayload(), map((relationshipTypes) => relationshipTypes.page), - map((types) => types.reduce((includedTypes, type) => { - if (!includedTypes.some((includedType) => includedType.id === type.id)) { - return [...includedTypes, type]; - } else { - return includedTypes; - } - }, [])), + switchMap((types) => + combineLatest(types.map((type) => this.getRelationships(type))).pipe( + map((relationships) => + types.reduce((includedTypes, type, index) => { + if (!includedTypes.some((includedType) => includedType.id === type.id) + && !(relationships[index].length === 0)) { + return [...includedTypes, type]; + } else { + return includedTypes; + } + }, []) + ), + ) + ), ); this.types$.pipe(