import { Component, Input } from '@angular/core'; import { FormGroup, FormControl } from '@angular/forms'; import { Field } from 'app/models/DataSetProfile/Field'; import { Rule } from 'app/models/DataSetProfile/Rule'; import { Multiplicity } from 'app/models/DataSetProfile/Multiplicity'; import { FormArray } from '@angular/forms/src/model'; import { ComboboxComponent } from 'app/combobox/combobox-component'; @Component({ selector: 'field-form', templateUrl: './field-form.component.html', styleUrls: [] }) export class FieldFormComponent { @Input() form: FormGroup; @Input() dataModel: Field; @Input() showMultiplicity: boolean = true; @Input() indexPath: string; isFieldMultiplicityEnabled: boolean = false; constructon() { } ngOnInit() { if(this.form.get("multiplicity")) if (this.form.get("multiplicity").value.min >1 || this.form.get("multiplicity").value.max >1) this.isFieldMultiplicityEnabled = true; // this.addNewRule(); } onIsFieldMultiplicityEnabledChange(isFieldMultiplicityEnabled: boolean) { if (!isFieldMultiplicityEnabled) { (this.form.get('multiplicity').get("min")).setValue(0); (this.form.get('multiplicity').get("max")).setValue(0); } } addNewRule() { let rule: Rule = new Rule(); this.dataModel.visible.rules.push(rule); (this.form.get("visible").get("rules")).push(rule.buildForm()); } DeleteRule(index) { this.dataModel.visible.rules.splice(index, 1); (this.form.get("visible").get("rules")).removeAt(index); } }