import { DataModel } from '../../entities/DataModel'; import { Component, Input } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { FieldBase } from './field-base'; @Component({ selector: 'df-field', templateUrl: './dynamic-form-field.component.html' }) export class DynamicFormFieldComponent { @Input() dataModel: DataModel; @Input() field: FieldBase; @Input() form: FormGroup; get isValid() { return true; //return this.form.controls[this.field.key].valid; } ruleVisibleMethod(field, rule, dataModel){ //visibility rule -- checks if target field is visible dataModel.fields.forEach(fld => { if (fld.label == rule._target && fld.visible == true) field.visible = true; }); if(field.visible == true) return true; } FieldValueRuleMethod(field, rule, dataModel){ //fieldValue rule -- checks the value of target if (rule._ruleStyle == "range"){ dataModel.fields.forEach(fld => { if (fld.key == rule._target && rule._from< fld.value x.order === field.group)); console.log(this.dataModel); } }