material-form-builder
Version:
FormBuilder For React.js
38 lines (37 loc) • 1.55 kB
TypeScript
/// <reference types="node" />
import React, { Component } from "react";
import { FormBuilder } from "../../formBuilder";
import { OutputValues } from "../../types/builder.outputValues";
import { InputImplement } from '../../types/input.implement';
import { ItemsInputProps, ItemsInputValueType } from './items.interface';
interface IState {
error: boolean;
items: string[];
}
export declare class ItemsInput extends Component<ItemsInputProps, IState> implements InputImplement<ItemsInputValueType> {
state: IState;
validationTimeout: NodeJS.Timeout | undefined;
formBuilderRef: {
[key: string]: FormBuilder | null;
};
shouldComponentUpdate(nextProps: ItemsInputProps, nextState: IState): boolean;
UNSAFE_componentWillMount(): void;
private sleep;
setValue(values: ItemsInputValueType): Promise<ItemsInputValueType>;
private setItemValue;
exportFormBuilderData: (validation: boolean) => OutputValues[];
getValue(validation?: boolean): any;
clear(): Promise<ItemsInputValueType>;
validation(validation?: boolean): boolean;
getRandomKey: () => string;
addItem: () => Promise<string>;
copyItem: (key: string) => () => Promise<void>;
removeItem: (key: string) => () => Promise<string | undefined>;
removeAll: () => Promise<any>;
click: () => void;
focus: () => void;
blur: () => void;
renderItem: (key: string, withoutExtraElement?: boolean) => React.JSX.Element;
render(): React.JSX.Element;
}
export {};