opti-form
Version:
Form logic for React with immutable controls and value
46 lines • 2.05 kB
TypeScript
import { TControlExternalErrorFlat } from './TControlExternalErrorFlat';
import { TControlValue } from './TControlValue';
import { TFormCreationProps } from './TFormCreationProps';
import { TControlDataFields } from './control-data';
import { FormState } from './form-state';
import { TFormFields, TResetProps } from './types';
import { FormValidationType } from './validation';
import { TControlObjectValue } from './values';
interface IConstantProps<Value extends TControlObjectValue, Context = null> {
fieldsData: TControlDataFields<Value, Context>;
onChange?: (newForm: OptiForm<Value, Context>) => void;
}
interface IProps<Value extends TControlObjectValue, Context = null> {
value: TControlValue<Value>;
defaultValue: TControlValue<Value>;
context: Context;
validationType: FormValidationType;
}
export declare class OptiForm<Value extends TControlObjectValue, Context = null> {
private readonly constantProps;
static create<Value extends TControlObjectValue, Context>(props: TFormCreationProps<Value, Context>): OptiForm<Value, Context>;
private static modify;
get fields(): TFormFields<Value>;
get value(): TControlValue<Value>;
get defaultValue(): TControlValue<Value>;
get isTouched(): boolean;
get isDirty(): boolean;
get isValid(): boolean;
get isValidating(): boolean;
private state;
private updateData?;
constructor(constantProps: IConstantProps<Value, Context>, arg: IProps<Value, Context> | FormState<Value, Context>);
setValue(value: TControlValue<Value>): void;
reset(props?: TResetProps<Value>): void;
setValidationType(newType: FormValidationType): void;
setContext(context: Context): void;
setOnChange(callback: (newForm: OptiForm<Value, Context>) => void): void;
getValidValue(): Promise<Value | null>;
applyFlatErrorsList(flatErrors: TControlExternalErrorFlat[]): void;
destroy(): void;
private getState;
private onChange;
private modifyExternalUpdate;
}
export {};
//# sourceMappingURL=OptiForm.d.ts.map