diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.html
index a044a78e8e..7b8501e7af 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.html
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.html
@@ -317,6 +317,18 @@
>
+
+
+
+
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.spec.ts
index 3e24916899..7fc756c470 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.spec.ts
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.spec.ts
@@ -38,6 +38,7 @@ import { DynamicScrollableDropdownModel } from './models/scrollable-dropdown/dyn
import { DynamicTagModel } from './models/tag/dynamic-tag.model';
import { DynamicTypeaheadModel } from './models/typeahead/dynamic-typeahead.model';
import { DynamicQualdropModel } from './models/ds-dynamic-qualdrop.model';
+import { DynamicLookupNameModel } from './models/lookup/dynamic-lookup-name.model';
describe('DsDynamicFormControlComponent test suite', () => {
@@ -79,7 +80,8 @@ describe('DsDynamicFormControlComponent test suite', () => {
submissionScope: ''
}),
new DynamicDsDatePickerModel({id: 'datepicker'}),
- new DynamicLookupModel({id: 'lookup', separator: ','}),
+ new DynamicLookupModel({id: 'lookup'}),
+ new DynamicLookupNameModel({id: 'lookupName'}),
new DynamicQualdropModel({id: 'combobox', readOnly: false})
];
const testModel = formModel[8];
@@ -272,6 +274,8 @@ describe('DsDynamicFormControlComponent test suite', () => {
expect(testFn(formModel[23])).toEqual(NGBootstrapFormControlType.Lookup);
- expect(testFn(formModel[24])).toEqual(NGBootstrapFormControlType.Group);
+ expect(testFn(formModel[24])).toEqual(NGBootstrapFormControlType.LookupName);
+
+ expect(testFn(formModel[25])).toEqual(NGBootstrapFormControlType.Group);
});
});
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.ts
index 5bd8402702..660ae9c244 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.ts
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control.component.ts
@@ -39,6 +39,7 @@ import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP } from './models/lookup/dynamic-lookup
import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model';
import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model';
import { isNotEmpty } from '../../../empty.util';
+import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME } from './models/lookup/dynamic-lookup-name.model';
export const enum NGBootstrapFormControlType {
@@ -60,6 +61,7 @@ export const enum NGBootstrapFormControlType {
Relation = 16, // 'RELATION'
Date = 17, // 'DATE'
Lookup = 18, // LOOKUP
+ LookupName = 19, // LOOKUP_NAME
}
@Component({
@@ -144,6 +146,9 @@ export class DsDynamicFormControlComponent extends DynamicFormControlComponent i
case DYNAMIC_FORM_CONTROL_TYPE_LOOKUP:
return NGBootstrapFormControlType.Lookup;
+ case DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME:
+ return NGBootstrapFormControlType.LookupName;
+
default:
return null;
}
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts
new file mode 100644
index 0000000000..64590ec9e0
--- /dev/null
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts
@@ -0,0 +1,26 @@
+import { DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core';
+import { DynamicLookupModel, DynamicLookupModelConfig } from './dynamic-lookup.model';
+
+export const DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME = 'LOOKUP_NAME';
+
+export interface DynamicLookupNameModelConfig extends DynamicLookupModelConfig {
+ separator?: string;
+ firstPlaceholder?: string;
+ secondPlaceholder?: string;
+}
+
+export class DynamicLookupNameModel extends DynamicLookupModel {
+
+ @serializable() separator: string;
+ @serializable() secondPlaceholder: string;
+ @serializable() readonly type: string = DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME;
+
+ constructor(config: DynamicLookupNameModelConfig, layout?: DynamicFormControlLayout) {
+
+ super(config, layout);
+
+ this.separator = config.separator || ',';
+ this.placeholder = config.firstPlaceholder || 'form.last-name';
+ this.secondPlaceholder = config.secondPlaceholder || 'form.first-name';
+ }
+}
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.html
index 14f468b0f8..710639ff88 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.html
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.html
@@ -3,7 +3,7 @@
(openChange)="openChange($event);">
-