dareway-rui
Version:
246 lines (200 loc) • 9.29 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;
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 _getPrototypeOf2 = _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 _react = _interopRequireDefault(require('react'));
var _antd = require('antd');
var _propTypes = _interopRequireDefault(require('prop-types'));
var _util = require('../../../common/util');
var _FrameConstants = require('../../../../constants/FrameConstants');
var _MsgBox = _interopRequireDefault(require('../../../../util/MsgBox'));
var _CardMask = _interopRequireDefault(require('../../../../taglib/mask/string/CardMask'));
var _YzbmMask = _interopRequireDefault(require('../../../../taglib/mask/string/YzbmMask'));
var _generator = require('../../utils/generator');
var EditInput =
/*#__PURE__*/
(function(_React$PureComponent) {
(0, _inherits2.default)(EditInput, _React$PureComponent);
function EditInput(props) {
var _this;
(0, _classCallCheck2.default)(this, EditInput);
_this = (0, _possibleConstructorReturn2.default)(
this,
(0, _getPrototypeOf2.default)(EditInput).call(this, props)
);
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'handleReactChangeWithMask',
function(value) {
var mask = _this.props.mask;
if (mask === 'card') {
return _CardMask.default.format(value);
} else if (mask === 'yzbm') {
return _YzbmMask.default.format(value);
}
}
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleBlurWithMask', function(
value
) {
var _this$props = _this.props,
name = _this$props.name,
mask = _this$props.mask;
if (mask === 'card' && !_CardMask.default.checkValid(value)) {
var errormsg = '\u8EAB\u4EFD\u8BC1\u53F7\u7801\u3010'.concat(
value,
'\u3011\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5!'
);
_MsgBox.default.error(errormsg);
} else if (mask === 'yzbm' && !_YzbmMask.default.checkValid(value)) {
var _errormsg = '\u90AE\u653F\u7F16\u7801\u3010'.concat(
value,
'\u3011\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5!'
);
_MsgBox.default.error(_errormsg);
}
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleBlur', function(event) {
var _this$props2 = _this.props,
maxLength = _this$props2.maxLength,
name = _this$props2.name,
rowNum = _this$props2.rowNum,
syncCellValue = _this$props2.syncCellValue,
onBlur = _this$props2.onBlur,
mask = _this$props2.mask; // 限制 maxlength
var newValue = _this.state.value;
if (mask) {
_this.handleBlurWithMask(newValue);
} else {
newValue = (0, _util.filterValueByMaxLength)(_this.state.value, maxLength);
} // 同步 model 数据
syncCellValue(rowNum, name, newValue);
if (onBlur) {
onBlur(newValue);
}
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleChange', function(event) {
var _this$props3 = _this.props,
maxLength = _this$props3.maxLength,
mask = _this$props3.mask;
var newValue = event.target.value;
if (mask) {
newValue = _this.handleReactChangeWithMask(newValue);
} else {
newValue = (0, _util.filterValueByMaxLength)(event.target.value, maxLength);
}
_this.setState({
value: newValue
});
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleKeyDown', function(
event
) {
var key = event.which;
if (
key === _FrameConstants.KEY_CODE.ENTER ||
key === _FrameConstants.KEY_CODE.TAB ||
key === _FrameConstants.KEY_CODE.DOWNARROW ||
key === _FrameConstants.KEY_CODE.UPARROW
) {
_this.handleBlur();
}
var onKeyDown = _this.props.onKeyDown;
if (onKeyDown) {
onKeyDown(event);
}
});
var _value = _this.props.value;
_this.state = {
value: _value
};
_this.inputRef = _react.default.createRef();
return _this;
}
(0, _createClass2.default)(EditInput, [
{
key: 'componentDidMount',
value: function componentDidMount() {
this.inputRef.current.focus();
}
},
{
key: 'render',
value: function render() {
var _this$props4 = this.props,
name = _this$props4.name,
bodyAlign = _this$props4.bodyAlign,
bodyFontColor = _this$props4.bodyFontColor,
bodyBold = _this$props4.bodyBold,
bodyOblique = _this$props4.bodyOblique,
bodyStyleFilter = _this$props4.bodyStyleFilter;
var style = (0, _generator.generateEditCellStyle)({});
if (bodyAlign) {
style['textAlign'] = bodyAlign;
}
if (bodyFontColor) {
style['color'] = bodyFontColor;
}
if (bodyBold) {
style['fontWeight'] = 'bold';
}
if (bodyOblique) {
style['fontStyle'] = 'oblique';
}
if (bodyStyleFilter) {
var extraStyles = bodyStyleFilter((0, _defineProperty2.default)({}, name, this.state.value));
if (extraStyles) {
if (extraStyles.color) {
style['color'] = extraStyles.color;
}
if (extraStyles.bold) {
style['fontWeight'] = 'bold';
}
if (extraStyles.oblique) {
style['fontStyle'] = 'oblique';
}
}
}
return _react.default.createElement(
'div',
null,
_react.default.createElement(_antd.Input, {
ref: this.inputRef,
style: style,
value: this.state.value,
onKeyDown: this.handleKeyDown,
onChange: this.handleChange,
onBlur: this.handleBlur
})
);
}
}
]);
return EditInput;
})(_react.default.PureComponent);
exports.default = EditInput;
(0, _defineProperty2.default)(EditInput, 'propTypes', {
name: _propTypes.default.string,
value: _propTypes.default.any,
rowNum: _propTypes.default.number,
maxLength: _propTypes.default.number,
mask: _propTypes.default.string,
onBlur: _propTypes.default.func,
onKeyDown: _propTypes.default.func,
syncCellValue: _propTypes.default.func,
bodyAlign: _propTypes.default.string,
bodyBold: _propTypes.default.bool,
bodyFontColor: _propTypes.default.string,
bodyOblique: _propTypes.default.bool,
bodyStyleFilter: _propTypes.default.func
});
//@ sourceMappingURL=EditInput.js.map