UNPKG

antui-admin

Version:
179 lines (139 loc) 6.28 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); 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 _input = require('antd/lib/input'); var _input2 = _interopRequireDefault(_input); require('antd/lib/input/style/css'); var _form = require('antd/lib/form'); var _form2 = _interopRequireDefault(_form); require('antd/lib/form/style/css'); var _col = require('antd/lib/col'); var _col2 = _interopRequireDefault(_col); require('antd/lib/col/style/css'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * 密码控件 */ var PasswordForm = function (_React$Component) { (0, _inherits3.default)(PasswordForm, _React$Component); function PasswordForm() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, PasswordForm); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = PasswordForm.__proto__ || (0, _getPrototypeOf2.default)(PasswordForm)).call.apply(_ref, [this].concat(args))), _this), _this.state = { confirmDirty: false }, _this.handleConfirmBlur = function (e) { var value = e.target.value; _this.setState({ confirmDirty: _this.state.confirmDirty || !!value }); }, _this.checkPassword = function (rule, value, callback) { var form = _this.props.form; if (value && value !== form.getFieldValue(_this.props.name)) { callback('两次输入密码不一致!'); } else { callback(); } }, _this.checkConfirm = function (rule, value, callback) { var form = _this.props.form; if (value && _this.state.confirmDirty) { form.validateFields([_this.props.name + "_repeat"], { force: true }); } callback(); }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(PasswordForm, [{ key: 'render', value: function render() { var _props = this.props, form = _props.form, name = _props.name, _props$formFieldOptio = _props.formFieldOptions, formFieldOptions = _props$formFieldOptio === undefined ? {} : _props$formFieldOptio, rules = _props.rules, placeholder = _props.placeholder, type = _props.type, formItemLayout = _props.formItemLayout, col = _props.col, repeat = _props.repeat, otherProps = (0, _objectWithoutProperties3.default)(_props, ['form', 'name', 'formFieldOptions', 'rules', 'placeholder', 'type', 'formItemLayout', 'col', 'repeat']); var getFieldDecorator = form.getFieldDecorator; // 如果有rules formFieldOptions.rules = [{ required: true, message: '\u8BF7\u8F93\u5165' + otherProps.title }, { validator: this.checkConfirm }]; if (rules && rules.length) { formFieldOptions.rules.concat(rules); } var ComponentCol = type === "inline" ? "div" : _col2.default; return _react2.default.createElement( 'div', { className: 'col-item col-item-password-wrap' }, _react2.default.createElement( ComponentCol, (0, _extends3.default)({ className: 'col-item col-item-password' }, col), _react2.default.createElement( _form2.default.Item, (0, _extends3.default)({}, formItemLayout, { label: otherProps.title, hasFeedback: true, className: 'col-item-content' }), getFieldDecorator(name, formFieldOptions)(_react2.default.createElement(_input2.default, { type: 'password', placeholder: placeholder })) ) ), repeat ? _react2.default.createElement( ComponentCol, (0, _extends3.default)({ className: 'col-item col-item-repeat-password' }, col), _react2.default.createElement( _form2.default.Item, (0, _extends3.default)({}, formItemLayout, { label: "确认" + otherProps.title, hasFeedback: true, className: 'col-item-content' }), getFieldDecorator(name + "_repeat", { rules: [{ required: true, message: '\u8BF7\u518D\u6B21\u8F93\u5165' + otherProps.title }, { validator: this.checkPassword }] })(_react2.default.createElement(_input2.default, { type: 'password', onBlur: this.handleConfirmBlur, placeholder: '\u4E24\u6B21\u8F93\u5165\u9700\u4FDD\u6301\u4E00\u81F4' })) ) ) : null ); } }]); return PasswordForm; }(_react2.default.Component); PasswordForm.propTypes = { form: _react.PropTypes.object, name: _react.PropTypes.string, formFieldOptions: _react.PropTypes.object, rules: _react.PropTypes.array, placeholder: _react.PropTypes.string, ComponentCol: _react.PropTypes.node, ComponentItem: _react.PropTypes.node, formItemLayout: _react.PropTypes.object, col: _react.PropTypes.object, repeat: _react.PropTypes.bool, type: _react.PropTypes.string }; exports.default = PasswordForm; module.exports = exports['default'];