import { Component, Input, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { FieldGroup } from 'app/models/DataSetProfile/FieldGroup'; import { FieldSet } from 'app/models/DataSetProfile/FieldSet'; import { FormArray } from '@angular/forms/src/model'; import { Field } from 'app/models/DataSetProfile/Field'; @Component({ selector: 'groupfield-form', templateUrl: './groupfield-form.component.html', styleUrls: [] }) export class GroupFieldFormComponent { @Input() form: FormGroup; @Input() dataModel: FieldGroup; @Input() indexPath: string; constructor(){} ngOnInit(){ //this.addNewField(); } addNewFieldSet(){ let compositeField: FieldSet = new FieldSet(); let field: Field = new Field(); //create field at the same time compositeField.fields.push(field); //(this.form.get("compositeFields").get("fields")).push(field.buildForm()); this.dataModel.compositeFields.push(compositeField); (this.form.get("compositeFields")).push(compositeField.buildForm()); } DeleteFieldSet(index){ this.dataModel.compositeFields.splice(index, 1); (this.form.get("compositeFields")).removeAt(index); } }