@edirect/form-engine
Version:
Achieve form logic reusage with forms expressed in json format.
33 lines (32 loc) • 1.1 kB
TypeScript
import Field from './Field.js';
import Scope from './Scope.js';
import Base from './Base.js';
import * as Events from '../events/index.js';
import { TComponent, TFormValues, TSchema, TStepData, TComponentPropsMapping, TFormEventDirectives } from '../types.js';
declare class Form extends Base {
#private;
formData: TFormValues;
formId: string;
schema: TSchema;
scopedSchema: TSchema;
scope: Scope;
initialValues: Record<string, unknown>;
steps: Record<number, {
[x in string]: Field;
}>;
group: string;
constructor(formId: string, observer: Events.Observer, scope: Scope, schema: TSchema, opts: {
initialValues: Record<string, unknown>;
}, group: any);
get step(): TStepData;
set step(step: TStepData);
get fields(): {
[x: string]: Field;
};
eventReducedSchema(event: Events.TEventsKeys): TFormEventDirectives;
getFieldInstance(component: TComponent, propsMapping?: TComponentPropsMapping): Field;
rehydrate(): void;
destroyField(field: string): void;
}
export default Form;
export type { Form };