@controladad/ng-base
Version:
Everything you need for Angular
49 lines (48 loc) • 2.25 kB
TypeScript
import type { FormBuilderInputOption, FormBuilderOptions } from './form-builder.types';
import { FormControlExtended } from '@al00x/forms';
type FormBuilderTransformer<T, U> = (value: T, raw: T) => U;
export declare function formBuilder<T, U = T>(options: FormBuilderOptions<T>, transformer?: FormBuilderTransformer<T, U>): FormBuilder<T, U>;
export declare class FormBuilder<T, U = T> implements FormBuilderOptions<T> {
cols: number;
width: string;
gap: string;
allowAutocomplete: boolean;
defaults: FormBuilderOptions<T>['defaults'];
inputs: {
[key in keyof T]: FormBuilderInputOption<T[key]>;
};
formGroup: import("@al00x/forms").FormGroupExtended<any, any>;
keys: string[];
controls: {
[p in keyof T]: FormControlExtended<T[p]>;
};
hiddenKeysArray: import("@angular/core").WritableSignal<(keyof T)[]>;
hiddenKeys: import("@angular/core").Signal<{ [key in keyof T]: boolean; }>;
invisibleKeysArray: import("@angular/core").WritableSignal<(keyof T)[]>;
invisibleKeys: import("@angular/core").Signal<{ [key in keyof T]: boolean; }>;
private _onInit;
private _onAfterInit;
private _values;
private _initialValues?;
private _transfomer?;
constructor(opts: FormBuilderOptions<T>, transformer?: FormBuilderTransformer<T, U>);
private updateFormGroup;
validate(): boolean;
getValue(): U | null;
setValue(value: T): void;
patchValue(value: Partial<T>): void;
reset(value?: any): void;
invokeInit(): void | import("rxjs").Observable<any> | import("rxjs").Subscription;
invokeAfterInit(): void | import("rxjs").Observable<any> | import("rxjs").Subscription;
clone(values?: any): FormBuilder<T, U>;
setReadonly(state: boolean, ...keys: (keyof T)[]): void;
get values(): import("./form-builder.types").FormBuilderValue<T> | undefined;
updateInput(key: keyof T, options: Partial<FormBuilderInputOption<T>>): void;
hide(...keys: (keyof T)[]): void;
show(...keys: (keyof T)[]): void;
setHidden(state: boolean, ...keys: (keyof T)[]): void;
setInvisible(state: boolean, ...keys: (keyof T)[]): void;
setDisabled(state: boolean, ...keys: (keyof T)[]): void;
private forEachControl;
}
export {};