react-form-package
Version:
A declarative form component with inbuilt validation and state management
47 lines (37 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Error = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _helpers = require("../../helpers");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var Error = function Error(props) {
var data = props.data,
id = props.id,
errorMessage = props.errorMessage,
ErrorLabelComponent = props.ErrorLabelComponent,
validateOnClick = props.validateOnClick,
buttonClicked = props.buttonClicked;
if (validateOnClick) {
return data[id].invalid && buttonClicked && _react["default"].createElement(ErrorLabelComponent.type, _extends({}, ErrorLabelComponent.props, {
style: _helpers.errorStyle
}), errorMessage || (0, _helpers.writeErrorMessage)(data[id].rules));
}
return data[id].invalid && data[id].touched && _react["default"].createElement(ErrorLabelComponent.type, _extends({}, ErrorLabelComponent.props, {
style: _helpers.errorStyle
}), errorMessage || (0, _helpers.writeErrorMessage)(data[id].rules));
};
exports.Error = Error;
Error.defaultProps = {};
Error.propTypes = {
id: _propTypes["default"].string.isRequired,
errorMessage: _propTypes["default"].string.isRequired,
ErrorLabelComponent: _propTypes["default"].element.isRequired,
data: _propTypes["default"].any,
// eslint-disable-line
validateOnClick: _propTypes["default"].bool.isRequired,
buttonClicked: _propTypes["default"].bool.isRequired
};