simple-form-manager-v2
Version:
Simple form Manager V2
80 lines (79 loc) • 3.02 kB
TypeScript
export interface IForm {
dirty: boolean;
valid: boolean;
touched: boolean;
}
export interface IAll {
form: IForm;
running: boolean;
tickSpeed: number;
scheme: any;
fieldDetails: any;
data: any;
}
export interface IFormManager {
fields: any;
fieldScheme: any;
form: IForm;
data: any;
all: IAll;
formSubmittable: boolean;
running: boolean;
setFieldValidationStatus: (fieldName: string, validator: string, value: boolean) => void;
setFieldStatus: (fieldName: string, manualOverride: boolean, isValid: boolean, errorMsg: string) => void;
toggleValidationNode: (fieldName: string, validator: any, value: any) => void;
restoreForm: () => void;
resetForm: () => void;
resetField: (fieldName: string) => void;
showFieldError: (fieldName: string) => boolean;
setTouched: (fieldName: string, value: boolean) => void;
setValue: (fieldName: string, value: any) => void;
setValues: (value: any) => void;
setObjectValue: (fieldName: string, value: any) => void;
onUpdateObjectValue: (fieldName: string, value: any) => void;
onBlur: (fieldName: string) => void;
onUpdateValue: (fieldName: string, value: any) => void;
start: (tickSpeed: number, preserve: boolean) => void;
stop: () => void;
setValidator: (fieldName: string, validator: string, validatorFunc: any) => void;
}
export default class CFormManager implements IFormManager {
private valuePoll;
private isDirty;
private isValid;
private isTouched;
private isRunning;
private iTickSpeed;
private scheme;
private fieldNameArray;
fields: any;
constructor(formValidationSchema?: any);
get fieldScheme(): any;
get form(): IForm;
get data(): any;
get running(): boolean;
get formSubmittable(): boolean;
get all(): IAll;
showFieldError(fieldName: string): boolean;
onBlur(fieldName: string): void;
onUpdateValue(fieldName: string, value: any): void;
onUpdateObjectValue(fieldName: string, value: any): void;
setTouched(fieldName: string, value?: boolean): void;
setValue(fieldName: string, value: any): void;
setObjectValue(fieldName: string, value: any): void;
setValues(values: object): void;
start(tickSpeed?: number, preserve?: boolean): void;
stop(): void;
setFieldValidationStatus: (fieldName: string, validator: string, value: boolean) => void;
setFieldStatus(fieldName: string, manualOverride: boolean, isValid: boolean, errorMsg: string): void;
toggleValidationNode(fieldName: string, validator?: any, value?: any): void;
restoreForm(): void;
resetForm(): void;
resetField(fieldName: string): void;
setValidator(fieldName: string, validator: string, validatorFunc: any): void;
private updateFormStatus;
private validateField;
private buildFieldNameArray;
private validateValidator;
private initializeFields;
}