import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core' import { FormArray, FormGroup } from '@angular/forms' import { FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core' import { FormlyFieldConfig } from '@ngx-formly/core/src/components/formly.field.config' import { UiButton } from '@tabler/angular-ui' @Component({ selector: 'ui-form', template: `
`, }) export class FormComponent implements OnInit { @Input() public buttons: UiButton[] @Input() public fields: FormlyFieldConfig[] = [] @Input() public form: FormGroup | FormArray = new FormGroup({}) @Input() public model: any = {} @Input() public options: FormlyFormOptions = {} @Output() public action = new EventEmitter() @Output() public modelChange = new EventEmitter() constructor(private builder: FormlyFormBuilder) {} public ngOnInit() { this.builder.buildForm(this.form, this.fields, this.model, this.options) } }