@manojadams/metaforms
Version:
Meta-data driven forms
68 lines (67 loc) • 2.38 kB
TypeScript
import React from "react";
import FormContext from "../form-context";
import { IField, IMeta } from "../../constants/model-interfaces";
import { IError, IRenderField } from "../../constants/common-interface";
export default abstract class BaseFormControl extends React.Component {
props: IRenderField;
static contextType: React.Context<import("../../constants/MetaForm").default>;
context: React.ContextType<typeof FormContext>;
displayType: string | undefined;
field: IField;
isFormControl: boolean;
uuid: string;
section: string;
validation: {
required: boolean | undefined;
pattern: string | undefined;
};
state: IState;
constructor(props: IRenderField);
setLoading(loading: boolean): void;
initConfig(): void;
componentDidUpdate(props: any): void;
componentDidCatch(error: any, errorInfo: any): void;
componentDidMount(): void;
render(): JSX.Element;
control(): JSX.Element;
abstract month(): JSX.Element;
abstract phone(): JSX.Element;
abstract date(): JSX.Element;
abstract search(): JSX.Element;
abstract text(): JSX.Element;
abstract label(): JSX.Element;
abstract password(): JSX.Element;
abstract email(): JSX.Element;
abstract number(): JSX.Element;
abstract radio(): JSX.Element;
abstract checkbox(): JSX.Element;
abstract select(): JSX.Element;
abstract multiselect(): JSX.Element;
abstract button(): JSX.Element;
abstract hint(): JSX.Element;
abstract file(): JSX.Element;
radioButton(): JSX.Element;
multitext(): JSX.Element;
header(): JSX.Element;
modalsearch(): JSX.Element;
paragraph(): JSX.Element;
customControl(): JSX.Element;
templateControl(): JSX.Element;
customTextControl(): JSX.Element;
currency(): JSX.Element;
handleChange(e: any, val?: any, ref?: any): void;
handleOpen(e: any): void;
handleDependencies(value: any): void;
getWrapperClassName(): string;
handleValidation(): void;
validate(value: string | number | boolean | undefined): void;
setError(hasError: boolean, errorMsg: string): void;
getDisplayLabel(): string | undefined;
}
interface IState {
error: IError;
componentError: IError;
form: IMeta;
loading: boolean;
}
export {};