diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.html
index d2a1996a60..a31171d7ef 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.html
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.html
@@ -54,7 +54,8 @@
- ,
- private submissionObjectService: SubmissionObjectDataService
+ private submissionObjectService: SubmissionObjectDataService,
+ private ref: ChangeDetectorRef
) {
super(componentFactoryResolver, layoutService, validationService);
}
@@ -228,6 +229,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
this.hasRelationLookup = hasValue(this.model.relationship);
this.reorderables = [];
if (this.hasRelationLookup) {
+
this.listId = 'list-' + this.model.relationship.relationshipType;
const item$ = this.submissionObjectService
.findById(this.model.submissionId).pipe(
@@ -271,7 +273,8 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
);
this.subs.push(this.reorderables$.subscribe((rs) => {
- this.reorderables = rs
+ this.reorderables = rs;
+ this.ref.detectChanges();
}));
this.relationService.getRelatedItemsByLabel(this.item, this.model.relationship.relationshipType).pipe(
@@ -335,8 +338,8 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
}
moveSelection(event: CdkDragDrop) {
- moveItemInArray(this.reorderables, event.previousIndex, event.currentIndex);
this.zone.runOutsideAngular(() => {
+ moveItemInArray(this.reorderables, event.previousIndex, event.currentIndex);
const relationships = this.reorderables.map((reo: Reorderable, index: number) => {
reo.oldIndex = reo.getPlace();
reo.newIndex = index;
@@ -351,7 +354,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
return observableOf(undefined);
}
})
- ).subscribe();
+ ).pipe(getSucceededRemoteData()).subscribe();
})
}
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts
index def879701e..c222feb3f0 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts
@@ -85,7 +85,6 @@ export class ExistingMetadataListElementComponent implements OnInit, OnChanges,
filter((item: Item) => hasValue(item) && isNotEmpty(item.uuid))
).subscribe((item: Item) => {
this.relatedItem = item;
-
const relationMD: MetadataValue = this.submissionItem.firstMetadata(this.relationshipOptions.metadataField, { value: this.relatedItem.uuid });
if (hasValue(relationMD)) {
const metadataRepresentationMD: MetadataValue = this.submissionItem.firstMetadata(this.metadataFields, { authority: relationMD.authority });