29 lines
690 B
TypeScript
29 lines
690 B
TypeScript
import { Component, Input } from '@angular/core';
|
|
import { FormGroup } from '@angular/forms';
|
|
import { CompositeField } from '../models/CompositeField';
|
|
import { Field } from '../models/Field';
|
|
import { FormArray } from '@angular/forms/src/model';
|
|
|
|
@Component({
|
|
selector: 'compositefield-form',
|
|
templateUrl: './compositefield-form.component.html',
|
|
styleUrls: []
|
|
})
|
|
|
|
export class CompositeFieldFormComponent {
|
|
@Input() form: FormGroup;
|
|
@Input() dataModel: CompositeField;
|
|
|
|
constructon(){}
|
|
|
|
ngOnInit(){
|
|
this.addNewField();
|
|
}
|
|
|
|
addNewField(){
|
|
let field: Field = new Field();
|
|
this.dataModel.fields.push(field);
|
|
(<FormArray>this.form.get("fields")).push(field.buildForm());
|
|
}
|
|
|
|
} |