fix: get/set typeahead model and control values properly

pull/6405/head
Arman Ozak 5 years ago
parent d090a5460f
commit 019c27b5ab

@ -22,6 +22,7 @@ import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';
import snq from 'snq';
import { DateAdapter } from '../../adapters/date.adapter';
import { TimeAdapter } from '../../adapters/time.adapter';
import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties';
import { ePropType } from '../../enums/props.enum';
import { FormProp } from '../../models/form-props';
import { PropData } from '../../models/props';
@ -96,8 +97,12 @@ export class ExtensibleFormPropComponent implements OnChanges {
private getTypeaheadControls() {
const { name } = this.prop;
const { [name + '_Text']: key, [name]: value } = this.form.controls;
return [key, value];
const textSuffix = '_Text';
const extraPropName = `${EXTRA_PROPERTIES_KEY}.${name}`;
const keyControl =
this.form.get(extraPropName + textSuffix) || this.form.get(name + textSuffix);
const valueControl = this.form.get(extraPropName) || this.form.get(name);
return [keyControl, valueControl];
}
private setAsterisk() {
@ -156,5 +161,9 @@ export class ExtensibleFormPropComponent implements OnChanges {
this.validators = validators(this.data);
this.setAsterisk();
}
const [keyControl, valueControl] = this.getTypeaheadControls();
if (keyControl && valueControl)
this.typeaheadModel = { key: keyControl.value, value: valueControl.value };
}
}

Loading…
Cancel
Save