argos/dmp-admin/src/app/wordlist/wordlist-component.ts

34 lines
1.3 KiB
TypeScript

import { FormGroup } from '@angular/forms';
import { Field } from '../models/Field';
import { Component, Input, OnInit } from '@angular/core';
import { WordListData } from '../models/DataField/WordListData';
import { FormArray } from '@angular/forms/src/model';
import { ListingItem } from '../models/Commons/ListingItem';
import { JsonSerializer } from '../utilities/JsonSerializer';
@Component({
selector: 'wordlist-component',
templateUrl: './wordlist-component.html'
})
export class WordlistComponent implements OnInit{
@Input() dataModel: Field;
@Input() form: FormGroup;
private data: WordListData = new WordListData();
private options = new Array<ListingItem>();
ngOnInit(){
this.data.type = "wordlist";
// if (this.form.get("data")) this.form.removeControl("data");
this.form.addControl("data", this.data.buildForm());
if(!this.dataModel.data)
this.addNewRow();
}
addNewRow(){
let wordListOptions:ListingItem = new ListingItem();
(<FormArray>this.form.get("data").get("options")).push(wordListOptions.buildForm());
this.data.options = [];
this.data.options.push(wordListOptions);
this.dataModel.data = new JsonSerializer<WordListData>().fromJSONObject(this.data,WordListData);
}
}