UNPKG

@bootstrap-styled/ra-ui

Version:
203 lines (169 loc) 8.1 kB
"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;