diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts index e0e519aaa9..925fabe5e0 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts @@ -79,6 +79,8 @@ import { FormService } from '../../form.service'; import { SubmissionService } from '../../../../submission/submission.service'; import { FormBuilderService } from '../form-builder.service'; import { NgxMaskModule } from 'ngx-mask'; +import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { environment } from '../../../../../environments/environment'; function getMockDsDynamicTypeBindRelationService(): DsDynamicTypeBindRelationService { return jasmine.createSpyObj('DsDynamicTypeBindRelationService', { @@ -230,7 +232,8 @@ describe('DsDynamicFormControlContainerComponent test suite', () => { findById: () => observableOf(createSuccessfulRemoteDataObject(testWSI)) } }, - { provide: NgZone, useValue: new NgZone({}) } + { provide: NgZone, useValue: new NgZone({}) }, + { provide: APP_CONFIG, useValue: environment } ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }).compileComponents().then(() => { 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 812735e69c..77ce65675a 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 @@ -4,7 +4,7 @@ import { Component, ComponentFactoryResolver, ContentChildren, - EventEmitter, + EventEmitter, Inject, Input, NgZone, OnChanges, @@ -118,6 +118,8 @@ import { RelationshipOptions } from '../models/relationship-options.model'; import { FormBuilderService } from '../form-builder.service'; import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-constants'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; +import { itemLinksToFollow } from '../../../utils/relation-query.utils'; export function dsDynamicFormControlMapFn(model: DynamicFormControlModel): Type | null { switch (model.type) { @@ -231,6 +233,11 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo private showErrorMessagesPreviousStage: boolean; + /** + * Determines whether to request embedded thumbnail. + */ + fetchThumbnail: boolean; + get componentType(): Type | null { return dsDynamicFormControlMapFn(this.model); } @@ -253,9 +260,11 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo private ref: ChangeDetectorRef, private formService: FormService, private formBuilderService: FormBuilderService, - private submissionService: SubmissionService + private submissionService: SubmissionService, + @Inject(APP_CONFIG) protected appConfig: AppConfig, ) { super(ref, componentFactoryResolver, layoutService, validationService, dynamicFormComponentService, relationService); + this.fetchThumbnail = this.appConfig.browseBy.showThumbnails; } /** @@ -285,7 +294,6 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo followLink('rightItem'), followLink('relationshipType') ); - relationshipsRD$.pipe( getFirstSucceededRemoteDataPayload(), getPaginatedListPayload() @@ -317,8 +325,10 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo } if (hasValue(this.value) && this.value.isVirtual) { - const relationship$ = this.relationshipService.findById(this.value.virtualValue, true, true, followLink('leftItem'), followLink('rightItem'), followLink('relationshipType')) - .pipe( + const relationship$ = this.relationshipService.findById(this.value.virtualValue, + true, + true, + ... itemLinksToFollow(this.fetchThumbnail)).pipe( getAllSucceededRemoteData(), getRemoteDataPayload()); this.relationshipValue$ = observableCombineLatest([this.item$.pipe(take(1)), relationship$]).pipe( diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss index 1146e55750..8b13789179 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss @@ -1,3 +1 @@ -span.text-contents{ - padding: var(--bs-btn-padding-y) 0; -} + diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.html index ff91b18e1c..64ace2296e 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.html +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.html @@ -1,12 +1,12 @@
- +
- +