import { FormGroup } from '@angular/forms'; import { DatasetProfileComboBoxType } from '../../../../../core/common/enum/dataset-profile-combo-box-type'; import { AutoCompleteFieldData } from '../../../../../core/model/dataset-profile-definition/field-data/field-data'; import { FieldDataEditorModel } from './field-data-editor-model'; import { FieldDataOptionEditorModel } from './field-data-option-editor-model'; export class AutoCompleteFieldDataEditorModel extends FieldDataEditorModel { public type: DatasetProfileComboBoxType = DatasetProfileComboBoxType.Autocomplete; public url: string; public optionsRoot: string; public multiAutoComplete: boolean; public autoCompleteOptions: FieldDataOptionEditorModel = new FieldDataOptionEditorModel(); //public multiAutoCompleteOptions: FieldDataOptionEditorModel = new FieldDataOptionEditorModel(); buildForm(): FormGroup { const formGroup = this.formBuilder.group({ label: [this.label], type: [this.type], url: [this.url], optionsRoot: [this.optionsRoot], multiAutoComplete: [this.multiAutoComplete] }); formGroup.addControl('autoCompleteOptions', this.autoCompleteOptions.buildForm()); return formGroup; } fromModel(item: AutoCompleteFieldData): AutoCompleteFieldDataEditorModel { this.type = item.type; this.url = item.url; this.label = item.label; this.optionsRoot = item.optionsRoot; this.multiAutoComplete = item.multiAutoComplete; this.autoCompleteOptions = new FieldDataOptionEditorModel().fromModel(item.autoCompleteOptions); return this; } }