export default class FormComponent extends React.Component { static GROUP: string; static CHECKBOX: string; static SELECT: string; static SELECTMANY: string; static PASSWORD: string; static FILE: string; static EMAIL: string; static DATE: string; static TIME: string; static NUMBER: string; static TEXTEDITOR: string; static GEOLOCATION: string; static PHONENUMBER: string; static CLASSIFICATIONSELECT: string; static FORMAT_OBJECT: string; static FORMAT_DEFAULT: string; static MODE_CREATE: string; static MODE_UPDATE: string; static MODE_SEARCH: string; static DIMMER_TYPE_LOADER: string; static DIMMER_TYPE_PROGRESS: string; static DEFAULT_DIMMER_MESSAGE: string; static REDIRECT_NONE: string; static FORM: string; static getDerivedStateFromProps(props: any, state: any): any; /** * Inject form structure and data into state */ static initFormState: (props: any, state: any) => any; /** * Concat all fields observers in an array * @param {Props} props * @return Array */ static initObservers(props: Props): any; /** * Prepare the fields state filled from data props or with empty values * @param {*} props * @param {*} state * @param {*} useData */ static initFieldsValues(props: any, state: any, useData?: any): any; constructor(props: any); dataPrefix: string; readOnly: boolean; group: string; isDimmed: boolean; props: any; state: { dimmed: boolean; dimmerType: string; dimmerMessage: string; deleteConfirm: boolean; error: null; errors: {}; observers: never[]; originalData: null; updatedAt: Date; loading: boolean; keyPrefix: string; }; lb: labelHelper; t: any; title: any; goBack(): void; onError(state: any): void; getData: (key: any) => any; getValues: (data: any) => any; /** * Register new data in form state and call registered observers * @param {*} key field key * @param {*} val new value */ setData: (key: any, val: any) => Promise; /** * Manage on change event on text and password fields * @param {Event} e */ onChange: (e: Event) => void; /** * This is called before saving changed data in state * An observer can pass modified form data in the 'formData' key * and other states directly * @param {} data * @return {} changed data */ triggerObservers: (data: any, prevData?: { data: {}; }) => any; componentDidMount(): Promise; createRefs: (fields: any) => void; /** * Parse all form fields to detect those based on external values * and call the given function to populate them with options * @param {Object} fields */ initSelectValues: (fields: Object) => Promise; /** * Reset form fields */ reset: () => Promise; /** * Extract value from parameter tha can be a function */ getParameterValue: (parameter?: null) => any; getOriginalData: (key: any) => any; resetData: (key: any) => void; redirect: (path: any, data: any) => void; getFormData: () => any; /** * Recursively extract sequential keywords from words in * flagged fields to allow to search them */ getKeywords: (fields: any, keywords?: any[]) => any[]; onSubmit: () => Promise; validate: () => boolean; validateFields: (fields: any, errors?: {}) => {}; onChangeCheckbox: (_e: any, data: any) => Promise; onCancel: () => void; onDelete: () => void; /** * Get the disabled status of the given field in the given optional group * @param name {String} field name (original version) * @param group {String} field group * @return Boolean */ isDisabled: (name: string, group: string) => boolean; /** * Get the protected status of the given field in the given optional group * @return Boolean */ isProtected: (name: any, group: any) => any; /** * Return the correct key for the field matching name * @param {string} name Field Name * @returns string */ getFieldKey: (name: string) => string; fileUploader: (files: any, name: any) => false | undefined; /** * Set the dimmer type, either loader or progress */ setDimmer: (dimmerType: any) => void; defaultOptions: { disabled: boolean; extras: never[]; }; buttons: (onSubmit: any, onCancel: any, disabled?: boolean, options?: { disabled: boolean; extras: never[]; }) => React.JSX.Element; deleteModal: () => React.JSX.Element; render(): React.JSX.Element; renderDimmer: (type?: string) => React.JSX.Element; renderFields: (fields: any, group: any) => any; renderAccordion: (group: any, name: any) => React.JSX.Element; renderNoTitleGroup: (group: any, name: any) => React.JSX.Element; renderGroup(group: any, name: any): React.JSX.Element; /** * Render a form field * @param {FieldDescriptor} field * @param {string} name * @param {string} group * @returns */ renderField: (field: FieldDescriptor, name: string, group: string) => any; renderButtons(options?: {}): React.JSX.Element; } import * as React from "react"; import { labelHelper } from "./Helpers";