@e-group/material-form
Version:
Custom react components for integrate redux-form.
58 lines (45 loc) • 1.77 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _TextLoading = _interopRequireDefault(require("@e-group/material/TextLoading"));
const TextLoadingField = props => {
const _props$meta = props.meta,
touched = _props$meta.touched,
error = _props$meta.error,
invalid = _props$meta.invalid,
asyncValidating = _props$meta.asyncValidating,
errorProp = props.error,
helperText = props.helperText,
InputProps = props.InputProps,
other = (0, _objectWithoutProperties2.default)(props, ["meta", "error", "helperText", "InputProps"]);
const isError = touched && invalid;
const handleMultipleSelectOnChange = e => {
props.input.onChange(e.target.value);
};
const getInput = () => {
const input = props.input,
select = props.select,
SelectProps = props.SelectProps;
if (select && SelectProps && SelectProps.multiple) {
return {
value: input.value || [],
onChange: handleMultipleSelectOnChange
};
}
return input;
};
return /*#__PURE__*/_react.default.createElement(_TextLoading.default, (0, _extends2.default)({
error: isError,
loading: asyncValidating,
helperText: isError ? error : helperText,
InputProps: InputProps
}, getInput(), other));
};
var _default = TextLoadingField;
exports.default = _default;