UNPKG

antd

Version:

An enterprise-class UI design language and React-based implementation

186 lines (141 loc) 7.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _createDOMForm = require('rc-form/lib/createDOMForm'); var _createDOMForm2 = _interopRequireDefault(_createDOMForm); var _PureRenderMixin = require('rc-util/lib/PureRenderMixin'); var _PureRenderMixin2 = _interopRequireDefault(_PureRenderMixin); var _omit = require('omit.js'); var _omit2 = _interopRequireDefault(_omit); var _createReactClass = require('create-react-class'); var _createReactClass2 = _interopRequireDefault(_createReactClass); var _warning = require('../_util/warning'); var _warning2 = _interopRequireDefault(_warning); var _FormItem = require('./FormItem'); var _FormItem2 = _interopRequireDefault(_FormItem); var _constants = require('./constants'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var Form = function (_React$Component) { (0, _inherits3['default'])(Form, _React$Component); function Form(props) { (0, _classCallCheck3['default'])(this, Form); var _this = (0, _possibleConstructorReturn3['default'])(this, (Form.__proto__ || Object.getPrototypeOf(Form)).call(this, props)); (0, _warning2['default'])(!props.form, 'It is unnecessary to pass `form` to `Form` after antd@1.7.0.'); return _this; } (0, _createClass3['default'])(Form, [{ key: 'shouldComponentUpdate', value: function shouldComponentUpdate() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _PureRenderMixin2['default'].shouldComponentUpdate.apply(this, args); } }, { key: 'getChildContext', value: function getChildContext() { var _props = this.props, layout = _props.layout, vertical = _props.vertical; return { vertical: layout === 'vertical' || vertical }; } }, { key: 'render', value: function render() { var _classNames; var _props2 = this.props, prefixCls = _props2.prefixCls, hideRequiredMark = _props2.hideRequiredMark, _props2$className = _props2.className, className = _props2$className === undefined ? '' : _props2$className, layout = _props2.layout, inline = _props2.inline, horizontal = _props2.horizontal, vertical = _props2.vertical; (0, _warning2['default'])(!inline && !horizontal && !vertical, '`Form[inline|horizontal|vertical]` is deprecated, please use `Form[layout]` instead.'); var formClassName = (0, _classnames2['default'])(prefixCls, (_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-horizontal', !inline && !vertical && layout === 'horizontal' || horizontal), (0, _defineProperty3['default'])(_classNames, prefixCls + '-vertical', layout === 'vertical' || vertical), (0, _defineProperty3['default'])(_classNames, prefixCls + '-inline', layout === 'inline' || inline), (0, _defineProperty3['default'])(_classNames, prefixCls + '-hide-required-mark', hideRequiredMark), _classNames), className); var formProps = (0, _omit2['default'])(this.props, ['prefixCls', 'className', 'layout', 'inline', 'horizontal', 'vertical', 'form', 'hideRequiredMark']); return _react2['default'].createElement('form', (0, _extends3['default'])({}, formProps, { className: formClassName })); } }]); return Form; }(_react2['default'].Component); exports['default'] = Form; Form.defaultProps = { prefixCls: 'ant-form', layout: 'horizontal', hideRequiredMark: false, onSubmit: function onSubmit(e) { e.preventDefault(); } }; Form.propTypes = { prefixCls: _propTypes2['default'].string, layout: _propTypes2['default'].oneOf(['horizontal', 'inline', 'vertical']), children: _propTypes2['default'].any, onSubmit: _propTypes2['default'].func, hideRequiredMark: _propTypes2['default'].bool }; Form.childContextTypes = { vertical: _propTypes2['default'].bool }; Form.Item = _FormItem2['default']; Form.create = function () { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var formWrapper = (0, _createDOMForm2['default'])((0, _extends3['default'])({ fieldNameProp: 'id' }, options, { fieldMetaProp: _constants.FIELD_META_PROP })); /* eslint-disable react/prefer-es6-class */ return function (Component) { return formWrapper((0, _createReactClass2['default'])({ propTypes: { form: _propTypes2['default'].object.isRequired }, childContextTypes: { form: _propTypes2['default'].object.isRequired }, getChildContext: function getChildContext() { return { form: this.props.form }; }, componentWillMount: function componentWillMount() { this.__getFieldProps = this.props.form.getFieldProps; }, deprecatedGetFieldProps: function deprecatedGetFieldProps(name, option) { (0, _warning2['default'])(false, '`getFieldProps` is not recommended, please use `getFieldDecorator` instead, ' + 'see: https://u.ant.design/get-field-decorator'); return this.__getFieldProps(name, option); }, render: function render() { this.props.form.getFieldProps = this.deprecatedGetFieldProps; var withRef = {}; if (options.withRef) { withRef.ref = 'formWrappedComponent'; } else if (this.props.wrappedComponentRef) { withRef.ref = this.props.wrappedComponentRef; } return _react2['default'].createElement(Component, (0, _extends3['default'])({}, this.props, withRef)); } })); }; }; module.exports = exports['default'];