diff --git a/src/app/core/data/lookup-relation.service.ts b/src/app/core/data/lookup-relation.service.ts index bf0e2469d1..153fcf1c54 100644 --- a/src/app/core/data/lookup-relation.service.ts +++ b/src/app/core/data/lookup-relation.service.ts @@ -1,6 +1,6 @@ import { ExternalSourceService } from './external-source.service'; import { SearchService } from '../shared/search/search.service'; -import { concat, map, multicast, startWith, take, takeWhile } from 'rxjs/operators'; +import { concat, distinctUntilChanged, map, multicast, startWith, take, takeWhile } from 'rxjs/operators'; import { PaginatedSearchOptions } from '../../shared/search/paginated-search-options.model'; import { ReplaySubject } from 'rxjs/internal/ReplaySubject'; import { RemoteData } from './remote-data'; @@ -91,7 +91,8 @@ export class LookupRelationService { getAllSucceededRemoteData(), getRemoteDataPayload(), map((results: PaginatedList) => results.totalElements), - startWith(0) + startWith(0), + distinctUntilChanged() ); } diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts index 272331aaf6..7dee15ca05 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts @@ -7,6 +7,7 @@ import { Component, OnInit } from '@angular/core'; import { Metadata } from '../../../../../core/shared/metadata.utils'; import { MetadataValue } from '../../../../../core/shared/metadata.models'; +@listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @Component({ selector: 'ds-external-source-entry-list-submission-element', diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts index f762a8c1c4..105aa86204 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts @@ -407,7 +407,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo modalComp.repeatable = this.model.repeatable; modalComp.listId = this.listId; modalComp.relationshipOptions = this.model.relationship; - modalComp.label = this.model.label; + modalComp.label = this.model.relationship.relationshipType; modalComp.metadataFields = this.model.metadataFields; modalComp.item = this.item; modalComp.collection = this.collection; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts index c110c851fd..38e28d742c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core'; -import { combineLatest, Observable, Subscription, zip as observableZip } from 'rxjs'; +import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { hasValue } from '../../../../empty.util'; import { map, skip, switchMap, take } from 'rxjs/operators'; @@ -157,7 +157,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy select(...selectableObjects: Array>) { this.zone.runOutsideAngular( () => { - const obs: Observable = combineLatest(...selectableObjects.map((sri: SearchResult) => { + const obs: Observable = observableCombineLatest(...selectableObjects.map((sri: SearchResult) => { this.addNameVariantSubscription(sri); return this.relationshipService.getNameVariant(this.listId, sri.indexableObject.uuid) .pipe( @@ -223,7 +223,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy switchMap((options) => this.lookupRelationService.getTotalLocalResults(this.relationshipOptions, options)) ); - const externalSourcesAndOptions$ = combineLatest( + const externalSourcesAndOptions$ = observableCombineLatest( this.externalSourcesRD$.pipe( getAllSucceededRemoteData(), getRemoteDataPayload() @@ -233,7 +233,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy this.totalExternal$ = externalSourcesAndOptions$.pipe( switchMap(([sources, options]) => - observableZip(...sources.page.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options)))) + observableCombineLatest(...sources.page.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options)))) ); } diff --git a/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.html b/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.html index ca3b086653..921999b540 100644 --- a/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.html +++ b/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.html @@ -1,4 +1,4 @@ -
+