@skireal/form-builder
Version:
Form builder for Angular apps
25 lines (24 loc) • 1.45 kB
TypeScript
import { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';
import { FormField } from '../models/form-constructor.model';
import { FormFieldType } from '../constants/ui-constants';
import { Observable } from 'rxjs';
export declare class UiFormService {
private fb;
private fieldsToCreate;
private fieldsToCreateSubject;
constructor(fb: FormBuilder);
createFormGroup(addedFields: FormField[]): FormGroup;
generateFormGroupConfig(addedFields: FormField[]): Record<string, FormGroup | FormArray | FormControl>;
createControlForField(field: FormField): FormGroup | FormArray | FormControl;
createFormGroupForObject(objectFields: FormField[]): FormGroup;
createControl(defaultValue?: string): FormControl;
createFormArray(): FormArray;
addControlToFormArray(formArray: FormArray, arrayName: string, nestedArrayConfig?: Record<string, FormControl | FormGroup | FormArray | string>): void;
removeControlFromFormArray(formArray: FormArray, index: number): void;
createGroupForArray(arrayName: string, nestedArrayConfig?: Record<string, FormControl | FormGroup | FormArray | string>): FormGroup;
saveFieldProperties(form: FormGroup, fieldType: string): FormField;
generateUniqueId(): string;
setFieldsToCreate(fieldType: FormFieldType): void;
getFieldsToCreate(): Observable<FormField[]>;
getRequiredFields(fieldType: string): string[];
}