You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

40 lines
951 B

import React, { PropTypes } from 'react';
import createDOMForm from 'rc-form/lib/createDOMForm';
import Form from './Form';
import FormItem from './FormItem';
import ValueMixin from './ValueMixin';
import assign from 'object-assign';
import { FIELD_META_PROP } from './constants';
Form.create = (o = {}) => {
const options = assign({}, o, {
fieldNameProp: 'id',
fieldMetaProp: FIELD_META_PROP,
});
const formWrapper = createDOMForm(options);
/* eslint-disable react/prefer-es6-class */
return (Component) => formWrapper(React.createClass({
propTypes: {
form: PropTypes.object.isRequired,
},
childContextTypes: {
form: PropTypes.object.isRequired,
},
getChildContext() {
return {
form: this.props.form,
};
},
render() {
return <Component {...this.props} />;
},
}));
};
Form.Item = FormItem;
// @Deprecated
Form.ValueMixin = ValueMixin;
export default Form;