@talend/react-forms
Version:
React forms library based on json schema form.
140 lines (139 loc) • 7.92 kB
TypeScript
export default class UIForm extends Component<any, any, any> {
static displayName: string;
static FormTemplate: typeof FormTemplate;
static TextModeTemplate: typeof TextModeTemplate;
static FieldTemplate: typeof FieldTemplate;
static Message: typeof Message;
static callTrigger: typeof callTrigger;
static utils: {
array: typeof import("./utils/array");
collapsible: {
createCollapsibleFieldset: typeof import("./fieldsets/CollapsibleFieldset").default;
defaultTitle: typeof import("./fieldsets/CollapsibleFieldset").defaultTitle;
};
errors: typeof import("./utils/errors");
properties: typeof import("./utils/properties");
propTypes: typeof import("./utils/propTypes");
triggers: typeof import("./utils/triggers");
validation: typeof import("./utils/validation");
condition: typeof import("./utils/condition").default;
templates: {
array: typeof import("./fieldsets/Array/DefaultArrayTemplate.component").default;
array_text: typeof import("./fieldsets/Array/displayMode/TextModeArrayTemplate.component").default;
};
widgets: {
array: typeof import("./fieldsets/Array").default;
columns: typeof import("./fieldsets/Columns").default;
collapsibleFieldset: Function;
fieldset: typeof import("./fieldsets/Fieldset").default;
tabs: typeof import("./fieldsets/Tabs").default;
button: typeof import("./fields/Button").Button;
checkbox: typeof import("./fields/CheckBox").CheckBox;
file: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
number: typeof import("./fields/Text").default;
password: typeof import("./fields/Text").default;
radios: typeof import("./fields/Radios").default;
reset: typeof import("./fields/Button").Button;
select: typeof import("./fields/Select").default;
submit: typeof import("./fields/Button").Button;
text: typeof import("./fields/Text").default;
textarea: typeof import("./fields/TextArea").default;
fieldset_text: typeof import("./fieldsets/Fieldset").default;
button_text: () => null;
buttons_text: () => null;
checkbox_text: typeof import("./fields/CheckBox").TextModeCheckBox;
checkboxes_text: typeof import("./fieldsets/Array").default;
code_text: typeof import("./fields/Code").CodeTextMode;
comparator_text: typeof import("./fields/Comparator").TextModeComparator;
datalist_text: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
file_text: typeof import("./fields/File").FileTextMode;
multiSelectTag_text: typeof import("./fields/MultiSelectTag").MultiSelectTagTextMode;
number_text: typeof import("./fields/Text").TextTextMode;
password_text: typeof import("./fields/Text").TextTextMode;
radios_text: typeof import("./fields/Text").TextTextMode;
select_text: typeof import("./fields/Select").TextModeSelect;
text_text: typeof import("./fields/Text").TextTextMode;
textarea_text: typeof import("./fields/TextArea").TextAreaTextMode;
toggle_text: typeof import("./fields/CheckBox").TextModeCheckBox;
buttons: typeof import("./fields/Button").Buttons;
checkboxes: typeof import("./fields/CheckBox").CheckBoxes;
code: typeof import(".").Code;
datalist: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
date: typeof import("./fields/Date").DateWidget;
datetime: typeof import("./fields/Date").DateTimeWidget;
enumeration: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
time: typeof import("./fields/Date").TimeWidget;
keyValue: typeof import("./fields/KeyValue").default;
listView: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
multiSelectTag: typeof import("./fields/MultiSelectTag").default;
nestedListView: import("react").ComponentType<Omit<import("react-i18next/helpers").$Subtract<any, import("react-i18next").WithTranslationProps>, keyof import("react-i18next").WithTranslation<Ns, undefined>> & import("react-i18next").WithTranslationProps>;
radioOrSelect: typeof import("./fields/RadioOrSelect").default;
resourcePicker: typeof import("./fields/ResourcePicker").default;
comparator: typeof import("./fields/Comparator").default;
timezoneList: typeof import("./fields/TimezoneList").default;
toggle: typeof import("./fields/Toggle").default;
};
};
static Widget: typeof Widget;
static customFormats: (t: any) => {
email: (fieldData: any) => any;
'url-http-https': (fieldData: any) => any;
'url-git': (fieldData: any) => any;
'no-leading-trailing-space': (fieldData: any) => any;
'string-without-space': (fieldData: any) => any;
timestamp: (fieldData: any) => any;
'iso-datetime': (fieldData: any) => any;
};
static lang: typeof lang;
static merge: (jsonSchema: any, uiSchema: any) => {
jsonSchema: any;
uiSchema: any;
};
constructor(props: any);
state: {
initialState: FormSchema;
liveState: FormSchema;
};
/**
* Update the model and validation
* If onChange is provided, it is triggered
* @param event The change event
* @param payload { schema, value, error } The change payload
* schema: The schema
* value: The new value
* error: The validation error
*/
onChange(event: any, payload: schema): void;
onTrigger(event: any, payload: any): any;
/**
* On user reset change local state and call this.props.onReset
*/
onReset(event: any): void;
/**
* On user submit change local state and call this.props.onSubmit
* @param event submit event
* @param {Object} properties
* @param {Object} mergedSchema
*/
onSubmit(event: any, properties: Object, mergedSchema: Object): void;
/**
* Set all fields validation in state
* @param errors the validation errors
* @param callback callback to call after setState
*/
setErrors(event: any, errors: any, callback: any): void;
/**
* Update live and initialState with the new schema
* @param nextProps
*/
componentDidUpdate(prevProps: any): void;
render(): import("react/jsx-runtime").JSX.Element;
}
import { Component } from 'react';
import * as FormTemplate from './FormTemplate';
import { TextModeTemplate } from './fields/FieldTemplate';
import FieldTemplate from './fields/FieldTemplate';
import Message from './Message';
import callTrigger from './trigger';
import Widget from './Widget';
import lang from './lang';