From 11d3f3327602e8f3977555d90faaaadf37036521 Mon Sep 17 00:00:00 2001 From: lotte Date: Mon, 23 Dec 2019 15:36:39 +0100 Subject: [PATCH] added input value as query in modal --- .../ds-dynamic-form-control-container.component.ts | 2 ++ .../ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts | 6 ++++-- .../dynamic-lookup-relation-modal.component.html | 3 ++- .../dynamic-lookup-relation-modal.component.ts | 1 + .../dynamic-lookup-relation-search-tab.component.html | 4 ++-- .../dynamic-lookup-relation-search-tab.component.ts | 5 ++--- src/app/shared/form/builder/parsers/field-parser.ts | 5 +++-- 7 files changed, 16 insertions(+), 10 deletions(-) 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 253c597f7b..796c2b02a0 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 @@ -317,10 +317,12 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo * Open a modal where the user can select relationships to be added to item being submitted */ openLookup() { + console.log(this.model); this.modalRef = this.modalService.open(DsDynamicLookupRelationModalComponent, { size: 'lg' }); const modalComp = this.modalRef.componentInstance; + modalComp.query = this.model.value.value; modalComp.repeatable = this.model.repeatable; modalComp.listId = this.listId; modalComp.relationshipOptions = this.model.relationship; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts index 37a89c9ecb..fa6ad2efef 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts @@ -37,7 +37,7 @@ export class DynamicConcatModel extends DynamicFormGroupModel { constructor(config: DynamicConcatModelConfig, layout?: DynamicFormControlLayout) { super(config, layout); - + console.log(config); this.separator = config.separator + ' '; this.relationship = config.relationship; this.repeatable = config.repeatable; @@ -57,8 +57,10 @@ export class DynamicConcatModel extends DynamicFormGroupModel { return Object.assign(new FormFieldMetadataValueObject(), firstValue, { value: firstValue.value + this.separator + secondValue.value }); } else if (isNotEmpty(firstValue) && isNotEmpty(firstValue.value)) { return Object.assign(new FormFieldMetadataValueObject(), firstValue); + } else if (isNotEmpty(secondValue) && isNotEmpty(secondValue.value)) { + return Object.assign(new FormFieldMetadataValueObject(), secondValue); } else { - return null; + return new FormFieldMetadataValueObject(); } } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html index 52f983e723..67ddcd3db8 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html @@ -15,6 +15,7 @@ [relationship]="relationshipOptions" [repeatable]="repeatable" [context]="context" + [query]="query" (selectObject)="select($event)" (deselectObject)="deselect($event)" class="d-block pt-3"> @@ -42,4 +43,4 @@
- \ No newline at end of file + 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 4aab8ff325..eab9102c7f 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 @@ -42,6 +42,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy selection$: Observable; context: Context; metadataFields: string; + query: string; subMap: { [uuid: string]: Subscription } = {}; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html index 4e2da1f12b..cf79f37a44 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html @@ -3,7 +3,7 @@ [resultCount]="(resultsRD$ | async)?.payload?.totalElements" [inPlaceSearch]="true" [showViewModes]="false">
- + @@ -66,4 +66,4 @@ (selectObject)="selectObject.emit($event)">
- \ No newline at end of file + diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts index 9c00d64953..c2ba77eacf 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts @@ -39,6 +39,7 @@ import { Context } from '../../../../../../core/shared/context.model'; export class DsDynamicLookupRelationSearchTabComponent implements OnInit, OnDestroy { @Input() relationship: RelationshipOptions; @Input() listId: string; + @Input() query: string; @Input() repeatable: boolean; @Input() selection$: Observable; @Input() context: Context; @@ -73,8 +74,6 @@ export class DsDynamicLookupRelationSearchTabComponent implements OnInit, OnDest this.resetRoute(); this.routeService.setParameter('fixedFilterQuery', this.relationship.filter); this.routeService.setParameter('configuration', this.relationship.searchConfiguration); - - this.someSelected$ = this.selection$.pipe(map((selection) => isNotEmpty(selection))); this.resultsRD$ = this.searchConfigService.paginatedSearchOptions.pipe( map((options) => { return Object.assign(new PaginatedSearchOptions({}), options, { fixedFilter: this.relationship.filter, configuration: this.relationship.searchConfiguration }) @@ -101,7 +100,7 @@ export class DsDynamicLookupRelationSearchTabComponent implements OnInit, OnDest */ resetRoute() { this.router.navigate([], { - queryParams: Object.assign({}, { page: 1, pageSize: this.initialPagination.pageSize }), + queryParams: Object.assign({}, { page: 1, pageSize: this.initialPagination.pageSize, query: this.query }), }); } diff --git a/src/app/shared/form/builder/parsers/field-parser.ts b/src/app/shared/form/builder/parsers/field-parser.ts index f3f82b3b0f..539e8e202d 100644 --- a/src/app/shared/form/builder/parsers/field-parser.ts +++ b/src/app/shared/form/builder/parsers/field-parser.ts @@ -32,6 +32,8 @@ export abstract class FieldParser { public abstract modelFactory(fieldValue?: FormFieldMetadataValueObject, label?: boolean): any; public parse() { + console.log(this.configData); + if (((this.getInitValueCount() > 1 && !this.configData.repeatable) || (this.configData.repeatable)) && (this.configData.input.type !== 'list') && (this.configData.input.type !== 'tag') @@ -44,9 +46,8 @@ export abstract class FieldParser { if (Array.isArray(this.configData.selectableMetadata) && this.configData.selectableMetadata.length === 1) { metadataKey = this.configData.selectableMetadata[0].metadata; - }; + } - console.log(this.getInitArrayIndex()); const config = { id: uniqueId() + '_array', label: this.configData.label,