UNPKG

@react-awesome-query-builder/mui

Version:
48 lines (46 loc) 1.71 kB
import _extends from "@babel/runtime/helpers/extends"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import React, { useState, useEffect } from "react"; import TextField from "@mui/material/TextField"; import FormControl from "@mui/material/FormControl"; var __isInternal = true; //true to optimize render export default (function (props) { var value = props.value, setValue = props.setValue, config = props.config, readonly = props.readonly, placeholder = props.placeholder, customProps = props.customProps, maxLength = props.maxLength, valueError = props.valueError; var _useState = useState(value), _useState2 = _slicedToArray(_useState, 2), internalValue = _useState2[0], setInternalValue = _useState2[1]; useEffect(function () { if (value !== internalValue) setInternalValue(value); }, [value]); var onChange = function onChange(e) { var val = e.target.value; if (val === "") val = undefined; // don't allow empty value if (__isInternal) setInternalValue(val); setValue(val, undefined, __isInternal); }; var showErrorMessage = config.settings.showErrorMessage; var canUseInternal = showErrorMessage ? true : !valueError; var textValue = (__isInternal && canUseInternal ? internalValue : value) || ""; return /*#__PURE__*/React.createElement(FormControl, null, /*#__PURE__*/React.createElement(TextField, _extends({ variant: "standard", value: textValue, placeholder: !readonly ? placeholder : "", InputProps: { readOnly: readonly }, inputProps: { maxLength: maxLength }, disabled: readonly, onChange: onChange, size: "small" }, customProps))); });