@novin-dev/formalite
Version:
Generate MUI form with few line of code
49 lines (42 loc) • 2.35 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var React = require('react');
var TextField = require('@mui/material/TextField');
var utils = require('../../config/utils.js');
var SkeletonBase = require('./SkeletonBase.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var TextField__default = /*#__PURE__*/_interopDefaultLegacy(TextField);
var TextFieldBase = function (props) {
var name = props.name, formik = props.formik, loading = props.loading, validationSchema = props.validationSchema, translator = props.translator, mustRegex = props.mustRegex, onChange = props.onChange, otherProps = tslib.__rest(props, ["name", "formik", "loading", "validationSchema", "translator", "mustRegex", "onChange"]);
if (loading) {
return React__default["default"].createElement(SkeletonBase.TextViewSkeleton, { hasHelper: !!otherProps.helperText });
}
var handleChange = function (e) {
var value = e.target.value;
if (!utils.checkRegex({ regexs: mustRegex, text: value })) {
return;
}
formik.setFieldValue(name, value);
if (onChange) {
try {
onChange(value, e);
}
catch (error) {
utils.showErrorMessage(error);
}
}
};
return (React__default["default"].createElement(TextField__default["default"], tslib.__assign({ fullWidth: true, name: name, required: utils.checkIsRequired({
schema: validationSchema,
formikValues: formik.values,
key: name,
}), error: utils.getData({ source: formik.touched, key: name }) &&
Boolean(utils.getData({ source: formik.errors, key: name })), value: utils.getData({ source: formik.values, key: name }), onChange: handleChange }, otherProps, { helperText: utils.getData({ source: formik.touched, key: name }) &&
utils.getData({ source: formik.errors, key: name })
? translator(utils.getData({ source: formik.errors, key: name }))
: otherProps.helperText })));
};
exports.TextFieldBase = TextFieldBase;
//# sourceMappingURL=TextFieldBase.js.map