fv-react-form
Version:
Flexible React form with validation.
143 lines (100 loc) • 5.06 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _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; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _index = require("./index");
var _index2 = _interopRequireDefault(_index);
var _Textarea = require("./Fields/Textarea");
var _Textarea2 = _interopRequireDefault(_Textarea);
var _Select = require("./Fields/Select");
var _Select2 = _interopRequireDefault(_Select);
var _Checkbox = require("./Fields/Checkbox");
var _Checkbox2 = _interopRequireDefault(_Checkbox);
var _Label = require("./Elements/Label");
var _Label2 = _interopRequireDefault(_Label);
var _Error = require("./Elements/Error");
var _Error2 = _interopRequireDefault(_Error);
var _fvValidation = require("fv-validation");
var _fvValidation2 = _interopRequireDefault(_fvValidation);
var _Input = require("./Fields/Input");
var _Input2 = _interopRequireDefault(_Input);
var _Button = require("./Elements/Button");
var _Button2 = _interopRequireDefault(_Button);
var _Group = require("./Elements/Group");
var _Group2 = _interopRequireDefault(_Group);
var _Errors = require("./Elements/Errors");
var _Errors2 = _interopRequireDefault(_Errors);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Container = function (_Component) {
_inherits(Container, _Component);
function Container(props) {
_classCallCheck(this, Container);
var _this = _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).call(this, props));
_this.reset.bind(_this);
_this.state = {
mount: true
};
return _this;
}
_createClass(Container, [{
key: "reset",
value: function reset() {
var _this2 = this;
this.setState({ mount: false }, function () {
return _this2.setState({ mount: true });
});
}
}, {
key: "submit",
value: function submit() {
this.refs.form.submit();
}
}, {
key: "getErrors",
value: function getErrors() {
return this.refs.form.getErrors();
}
}, {
key: "getData",
value: function getData() {
return this.refs.form.getData();
}
}, {
key: "getForm",
value: function getForm() {
return this.refs.form.getForm();
}
}, {
key: "getValidation",
value: function getValidation() {
return this.refs.form.getValidation();
}
}, {
key: "render",
value: function render() {
if (!this.state.mount) {
return null;
}
return _react2.default.createElement(_index2.default, _extends({ ref: "form" }, this.props, { reset: this.reset }));
}
}]);
return Container;
}(_react.Component);
exports.default = Container;
Container.Input = _Input2.default;
Container.Select = _Select2.default;
Container.Button = _Button2.default;
Container.Checkbox = _Checkbox2.default;
Container.Textarea = _Textarea2.default;
Container.Label = _Label2.default;
Container.Group = _Group2.default;
Container.Error = _Error2.default;
Container.Errors = _Errors2.default;
Container.Validation = _fvValidation2.default;
;