import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
import { DValidateRules, FormLayout } from 'ng-devui';
import { DynamicFormsService } from './dynamic-forms.service';
@Component({
selector: 'da-dynamic-forms',
templateUrl: './dynamic-forms.component.html',
styleUrls: ['./dynamic-forms.component.scss'],
})
export class DynamicFormsComponent implements OnInit {
_formItems: any;
@Input() set formItems(formItems: any) {
if (formItems) {
this._formItems = this.formService.getFormItems(formItems);
}
}
get formItems() {
return this._formItems;
}
@Input() layout = FormLayout.Horizontal;
@Input() labelSize: 'sm' | '' | 'lg' = '';
@Input() labelAlign: 'start' | 'center' | 'end' = 'start';
@Input() formRules: DValidateRules;
@Input() showLoading = true;
@Input() formSubmitData: any;
@Input() showSubmitBtn: boolean = true;
@Input() showResetBtn: boolean = true;
@Input() submitBtnContent: string = 'Submit';
@Input() resetBtnContent: string = 'Reset';
@Output() formSubmit = new EventEmitter<any>();
constructor(private formService: DynamicFormsService) {}
ngOnInit(): void {}
submitForm(event: any) {
this.formSubmit.emit(event);
}
}