extended-dynamic-forms
Version:
Extended React JSON Schema Form (RJSF) v6 with custom components, widgets, templates, layouts, and form events
42 lines (40 loc) • 1.5 kB
TypeScript
import { RJSFSchema, UiSchema } from '@rjsf/utils';
import { ConditionalRule, ConditionalEvent, ConditionalActions, ConditionalEngineInstance } from '../types';
export declare class SimpleConditionalEngine implements ConditionalEngineInstance {
private rules;
private actions;
private originalSchema;
private originalUiSchema;
constructor(rules: ConditionalRule[], schema: RJSFSchema, uiSchema?: UiSchema, extraActions?: ConditionalActions);
/**
* Get nested value from object using dot notation with array index support
*/
private getNestedValue;
/**
* Evaluate a single condition against form data
*/
private evaluateCondition;
/**
* Evaluate field-level condition
*/
private evaluateFieldCondition;
addRule(rule: ConditionalRule): void;
run(formData: any): Promise<ConditionalEvent[]>;
processEvents(events: ConditionalEvent[], schema: RJSFSchema, uiSchema: UiSchema, formData: any): {
schema: RJSFSchema;
uiSchema: UiSchema;
};
processFormData(formData: any): Promise<{
schema: RJSFSchema;
uiSchema: UiSchema;
formData: any;
}>;
runAndProcess(formData: any, schema: RJSFSchema, uiSchema: UiSchema): Promise<{
schema: RJSFSchema;
uiSchema: UiSchema;
events: ConditionalEvent[];
}>;
getAvailableActions(): string[];
addAction(actionType: string, actionFunction: any): void;
removeAction(actionType: string): void;
}