ngx-core-business
Version:
A comprehensive solution designed to streamline the development of enterprise-level Angular applications.
50 lines (49 loc) • 1.54 kB
TypeScript
import { FormBuilder, FormGroup } from '@angular/forms';
import * as i0 from "@angular/core";
export declare const EMAIL_PATTERN: RegExp;
export declare const URL_PATTERN: RegExp;
export type FieldGroupType = 'object' | 'array';
export interface FieldValidations {
groupType?: string;
required?: boolean;
disabled?: boolean;
min?: number;
max?: number;
minLength?: number;
maxLength?: number;
email?: boolean;
pattern?: RegExp | string;
emailPattern?: boolean | RegExp;
urlPattern?: boolean | RegExp;
customValidation?: () => boolean;
defaultValue?: any;
valueType?: 'array' | 'object' | 'string' | 'number' | 'boolean';
arrayValueType?: 'string' | 'number';
}
export type FormFieldDefinition = FieldValidations | {
[key: string]: FieldValidations | string;
groupType: string;
};
export interface FormField extends FieldValidations {
name: string;
}
export type FormFields = {
[key: string]: FormFieldDefinition;
};
export declare class FormBuilderHelper {
private formBuilder;
constructor(formBuilder: FormBuilder);
buildFormGroup(fields: FormFields, values?: {
[key: string]: any;
}): FormGroup;
/**
* Retronar un arreglo de validadores
*
* @param field
*/
getValidators(field: FieldValidations): any[];
private buildFormArray;
private getFormGroupFieldDefinition;
static ɵfac: i0.ɵɵFactoryDeclaration<FormBuilderHelper, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<FormBuilderHelper>;
}