UNPKG

dareway-rui

Version:

242 lines (198 loc) 9.09 kB
'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 _ruiIcon = _interopRequireDefault(require('rui-icon')); var _propTypes = _interopRequireDefault(require('prop-types')); var _util = require('../../../common/util'); var _FrameConstants = require('../../../../constants/FrameConstants'); var Search = _antd.Input.Search; 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), 'syncData', function() { var _this$props = _this.props, maxLength = _this$props.maxLength, name = _this$props.name, rowNum = _this$props.rowNum, syncCellValue = _this$props.syncCellValue, onBlur = _this$props.onBlur; // 限制 maxlength var newValue = (0, _util.filterValueByMaxLength)(_this.state.value, maxLength); // 同步 model 数据 syncCellValue(rowNum, name, newValue); return newValue; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleBlur', function(event) { var newValue = _this.syncData(); var onBlur = _this.props.onBlur; if (onBlur) { onBlur(newValue); } }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleChange', function(event) { var maxLength = _this.props.maxLength; var newValue = (0, _util.filterValueByMaxLength)(event.target.value, maxLength); //设置UI显示的内容 _this.setState({ value: newValue }); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleOnSearch', function( value, event ) { _this.syncData(); //同步数据 var lovJS = _this.props.lovJS; // 触发lovJS if (lovJS && _this.isTriggerOnSearch()) { // this.endEdit(); lovJS(); } }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'isTriggerOnSearch', function() { if (_this.props.value !== _this.state.value || _this.state.value === '') { return true; } return false; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleKeyDown', function( event ) { var key = event.which; if (key === _FrameConstants.KEY_CODE.ENTER && _this.isTriggerOnSearch()) { return; } 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: 'componentWillReceiveProps', value: function componentWillReceiveProps(newProps) { if (newProps.value !== this.state.value) { this.setState({ value: newProps.value }); } } }, { key: 'componentDidMount', value: function componentDidMount() { this.inputRef.current.focus(); } }, { key: 'componentDidUpdate', value: function componentDidUpdate(prevProps, prevState, snapshot) { this.inputRef.current.focus(); } }, { key: 'render', value: function render() { var _this$props2 = this.props, name = _this$props2.name, bodyAlign = _this$props2.bodyAlign, bodyFontColor = _this$props2.bodyFontColor, bodyBold = _this$props2.bodyBold, bodyOblique = _this$props2.bodyOblique, bodyStyleFilter = _this$props2.bodyStyleFilter; // TODO 这里需要注意,Antd 的 Search 组件,目前不支持配置 style 样式; var style = {}; 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(Search, { ref: this.inputRef, value: this.state.value, enterButton: _react.default.createElement(_ruiIcon.default, { type: 'search' }), onSearch: this.handleOnSearch, onChange: this.handleChange, onKeyDown: this.handleKeyDown, onBlur: this.handleBlur }) ); } } ]); return EditInput; })(_react.default.PureComponent); exports.default = EditInput; (0, _defineProperty2.default)(EditInput, 'propTypes', { name: _propTypes.default.string, value: _propTypes.default.string, rowNum: _propTypes.default.number, maxLength: _propTypes.default.number, onBlur: _propTypes.default.func, onKeyDown: _propTypes.default.func, syncCellValue: _propTypes.default.func, setCurrentEditColName: _propTypes.default.func, lovJS: _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