antui-admin
Version:
admin ui for antd
179 lines (139 loc) • 6.28 kB
JavaScript
'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'];