2018-02-02 11:57:24 +01:00
|
|
|
import { DataField } from './DataField';
|
2018-05-14 08:44:35 +02:00
|
|
|
import { FormGroup } from '@angular/forms'
|
2018-06-27 12:29:21 +02:00
|
|
|
import { ListingItem } from '../common/ListingItem';
|
2018-05-14 08:44:35 +02:00
|
|
|
import { JsonSerializer } from '../../utilities/JsonSerializer';
|
2018-02-02 11:57:24 +01:00
|
|
|
|
|
|
|
export class AutocompleteData extends DataField<AutocompleteData>{
|
|
|
|
|
2018-06-27 12:29:21 +02:00
|
|
|
public type: string;
|
|
|
|
public url: string;
|
|
|
|
public optionsRoot: string;
|
|
|
|
public autoCompleteOptions: ListingItem = new ListingItem();
|
2018-02-02 11:57:24 +01:00
|
|
|
|
2018-06-27 12:29:21 +02:00
|
|
|
buildForm(): FormGroup {
|
|
|
|
let formGroup = this.formBuilder.group({
|
|
|
|
label: [this.label],
|
|
|
|
type: [this.type],
|
|
|
|
url: [this.url],
|
|
|
|
optionsRoot: [this.optionsRoot]
|
|
|
|
})
|
|
|
|
formGroup.addControl("autoCompleteOptions", this.autoCompleteOptions.buildForm());
|
|
|
|
return formGroup;
|
|
|
|
}
|
2018-02-02 11:57:24 +01:00
|
|
|
|
2018-06-27 12:29:21 +02:00
|
|
|
fromJSONObject(item: any): AutocompleteData {
|
|
|
|
this.type = item.type;
|
|
|
|
this.url = item.url;
|
|
|
|
this.label = item.label;
|
|
|
|
this.optionsRoot = item.optionsRoot;
|
|
|
|
this.autoCompleteOptions = JsonSerializer.fromJSONObject(item.autoCompleteOptions, ListingItem);
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|