extended-dynamic-forms
Version:
Extended React JSON Schema Form (RJSF) v6 with custom components, widgets, templates, layouts, and form events
28 lines (26 loc) • 1.19 kB
TypeScript
import { FormEventHandlers, FieldEventHandlers, WebhookConfig } from '../types';
export declare class FormEventHub {
private formHandlers;
private fieldHandlers;
private webhooks;
private debounceTimers;
private webhookQueue;
private isProcessingQueue;
constructor(formHandlers: FormEventHandlers, fieldHandlers?: FieldEventHandlers, webhooks?: WebhookConfig[]);
handleBeforeSubmit(data: any): Promise<any>;
handleAfterSubmit(data: any): Promise<void>;
handleBeforeValidation(data: any): Promise<any>;
handleAfterValidation(data: any, errors: any): Promise<void>;
handleFieldEvent(eventType: 'focus' | 'blur' | 'change', fieldId: string, fieldValue: any, schema?: any, formData?: any, fieldPath?: string[]): Promise<void>;
private processWebhooks;
private debounceWebhook;
private queueWebhook;
private processWebhookQueue;
private callWebhook;
createFieldEventHandlers(fieldId: string, schema?: any, formData?: any, fieldPath?: string[]): {
onFocus: (value: any) => Promise<void>;
onBlur: (value: any) => Promise<void>;
onChange: (value: any) => Promise<void>;
};
cleanup(): void;
}