@bootstrap-styled/ra-ui
Version:
UI components for react-admin
203 lines (169 loc) • 8.1 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.SimpleForm = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reduxForm = require("redux-form");
var _reactRedux = require("react-redux");
var _compose = _interopRequireDefault(require("recompose/compose"));
var _classnames = _interopRequireDefault(require("classnames"));
var _raCore = require("ra-core");
var _Form = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Form"));
var _FormInput = _interopRequireDefault(require("./FormInput"));
var _Toolbar = _interopRequireDefault(require("./Toolbar"));
var _CardContentInner = _interopRequireDefault(require("../layout/CardContentInner"));
var sanitizeRestProps = function sanitizeRestProps(_ref) {
var anyTouched = _ref.anyTouched,
array = _ref.array,
asyncBlurFields = _ref.asyncBlurFields,
asyncValidate = _ref.asyncValidate,
asyncValidating = _ref.asyncValidating,
autofill = _ref.autofill,
blur = _ref.blur,
change = _ref.change,
clearAsyncError = _ref.clearAsyncError,
clearFields = _ref.clearFields,
clearSubmit = _ref.clearSubmit,
clearSubmitErrors = _ref.clearSubmitErrors,
destroy = _ref.destroy,
dirty = _ref.dirty,
dispatch = _ref.dispatch,
form = _ref.form,
handleSubmit = _ref.handleSubmit,
initialize = _ref.initialize,
initialized = _ref.initialized,
initialValues = _ref.initialValues,
pristine = _ref.pristine,
pure = _ref.pure,
redirect = _ref.redirect,
reset = _ref.reset,
resetSection = _ref.resetSection,
save = _ref.save,
submit = _ref.submit,
submitFailed = _ref.submitFailed,
submitSucceeded = _ref.submitSucceeded,
submitting = _ref.submitting,
touch = _ref.touch,
translate = _ref.translate,
triggerSubmit = _ref.triggerSubmit,
undoable = _ref.undoable,
untouch = _ref.untouch,
valid = _ref.valid,
validate = _ref.validate,
props = (0, _objectWithoutProperties2.default)(_ref, ["anyTouched", "array", "asyncBlurFields", "asyncValidate", "asyncValidating", "autofill", "blur", "change", "clearAsyncError", "clearFields", "clearSubmit", "clearSubmitErrors", "destroy", "dirty", "dispatch", "form", "handleSubmit", "initialize", "initialized", "initialValues", "pristine", "pure", "redirect", "reset", "resetSection", "save", "submit", "submitFailed", "submitSucceeded", "submitting", "touch", "translate", "triggerSubmit", "undoable", "untouch", "valid", "validate"]);
return props;
};
var SimpleForm = function (_Component) {
(0, _inherits2.default)(SimpleForm, _Component);
function SimpleForm() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, SimpleForm);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(SimpleForm)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSubmitWithRedirect", function () {
var redirect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.redirect;
return _this.props.handleSubmit(function (values) {
return _this.props.save(values, redirect);
});
});
return _this;
}
(0, _createClass2.default)(SimpleForm, [{
key: "render",
value: function render() {
var _this$props = this.props,
basePath = _this$props.basePath,
children = _this$props.children,
className = _this$props.className,
invalid = _this$props.invalid,
pristine = _this$props.pristine,
record = _this$props.record,
redirect = _this$props.redirect,
resource = _this$props.resource,
saving = _this$props.saving,
submitOnEnter = _this$props.submitOnEnter,
toolbar = _this$props.toolbar,
undoable = _this$props.undoable,
version = _this$props.version,
rest = (0, _objectWithoutProperties2.default)(_this$props, ["basePath", "children", "className", "invalid", "pristine", "record", "redirect", "resource", "saving", "submitOnEnter", "toolbar", "undoable", "version"]);
return _react.default.createElement(_Form.default, (0, _extends2.default)({
className: (0, _classnames.default)('simple-form', className)
}, sanitizeRestProps(rest)), _react.default.createElement(_CardContentInner.default, {
key: version
}, _react.Children.map(children, function (input) {
return _react.default.createElement(_FormInput.default, {
basePath: basePath,
input: input,
record: record,
resource: resource
});
})), toolbar && _react.default.cloneElement(toolbar, {
basePath: basePath,
handleSubmitWithRedirect: this.handleSubmitWithRedirect,
handleSubmit: this.props.handleSubmit,
invalid: invalid,
pristine: pristine,
record: record,
redirect: redirect,
resource: resource,
saving: saving,
submitOnEnter: submitOnEnter,
undoable: undoable
}));
}
}]);
return SimpleForm;
}(_react.Component);
exports.SimpleForm = SimpleForm;
SimpleForm.propTypes = {
basePath: _propTypes.default.string,
children: _propTypes.default.node,
className: _propTypes.default.string,
defaultValue: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),
handleSubmit: _propTypes.default.func,
invalid: _propTypes.default.bool,
pristine: _propTypes.default.bool,
record: _propTypes.default.object,
resource: _propTypes.default.string,
redirect: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool, _propTypes.default.func]),
save: _propTypes.default.func,
saving: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
submitOnEnter: _propTypes.default.bool,
toolbar: _propTypes.default.element,
undoable: _propTypes.default.bool,
validate: _propTypes.default.func,
version: _propTypes.default.number
};
SimpleForm.defaultProps = {
submitOnEnter: true,
toolbar: _react.default.createElement(_Toolbar.default, null)
};
var enhance = (0, _compose.default)((0, _reactRedux.connect)(function (state, props) {
return {
form: props.form || _raCore.REDUX_FORM_NAME,
initialValues: (0, _raCore.getDefaultValues)(state, props),
saving: props.saving || state.admin.saving
};
}), _raCore.translate, (0, _reduxForm.reduxForm)({
destroyOnUnmount: false,
enableReinitialize: true,
keepDirtyOnReinitialize: true
}));
var _default = enhance(SimpleForm);
exports.default = _default;