dareway-rui
Version:
211 lines (186 loc) • 8.91 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 _propTypes = _interopRequireDefault(require('prop-types'));
var _EditInput = _interopRequireDefault(require('./EditInput'));
var _ReadonlyInput = _interopRequireDefault(require('./ReadonlyInput'));
var BodyCell =
/*#__PURE__*/
(function(_React$PureComponent) {
(0, _inherits2.default)(BodyCell, _React$PureComponent);
function BodyCell(props) {
var _this;
(0, _classCallCheck2.default)(this, BodyCell);
_this = (0, _possibleConstructorReturn2.default)(
this,
(0, _getPrototypeOf2.default)(BodyCell).call(this, props)
);
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'updateGridCurrentRowNum',
function() {
var _this$props = _this.props,
updateCurrentRowNum = _this$props.updateCurrentRowNum,
rowNumber = _this$props.rowNumber;
updateCurrentRowNum(rowNumber);
}
);
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'handlePureReadonlyTdClick',
function(event) {
_this.updateGridCurrentRowNum();
var setCurrentEditColName = _this.props.setCurrentEditColName;
setCurrentEditColName(null);
event.stopPropagation();
event.preventDefault();
}
);
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'handleToggleReadonlyTdClick',
function(event) {
_this.updateGridCurrentRowNum(); //不能冒泡,最外层有退出所有编辑状态的操作
event.stopPropagation();
event.preventDefault();
}
);
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'handleToggleReadonlyInputClick',
function(event) {
//设置当前行当前列为可编辑列
_this.updateGridCurrentRowNum();
var _this$props2 = _this.props,
setCurrentEditColName = _this$props2.setCurrentEditColName,
name = _this$props2.name;
setCurrentEditColName(name);
event.stopPropagation();
event.preventDefault();
}
);
return _this;
}
(0, _createClass2.default)(BodyCell, [
{
key: 'render',
value: function render() {
var _this$props3 = this.props,
name = _this$props3.name,
value = _this$props3.value,
rowNumber = _this$props3.rowNumber,
maxLength = _this$props3.maxLength,
readonly = _this$props3.readonly,
hidden = _this$props3.hidden,
isEdit = _this$props3.isEdit,
handleCellKeyDown = _this$props3.handleCellKeyDown,
setCurrentEditColName = _this$props3.setCurrentEditColName,
onBlur = _this$props3.onBlur,
lovJS = _this$props3.lovJS,
width = _this$props3.width,
bodyAlign = _this$props3.bodyAlign,
bodyBold = _this$props3.bodyBold,
bodyFontColor = _this$props3.bodyFontColor,
bodyOblique = _this$props3.bodyOblique,
bodyStyleFilter = _this$props3.bodyStyleFilter,
syncCellValue = _this$props3.syncCellValue;
if (hidden) {
return null;
}
if (readonly) {
return _react.default.createElement(
'td',
{
name: name,
onClick: this.handlePureReadonlyTdClick
},
_react.default.createElement(_ReadonlyInput.default, {
name: name,
width: width,
value: value,
bodyAlign: bodyAlign,
bodyBold: bodyBold,
bodyFontColor: bodyFontColor,
bodyOblique: bodyOblique,
bodyStyleFilter: bodyStyleFilter
})
);
}
return _react.default.createElement(
'td',
{
name: name,
onClick: this.handleToggleReadonlyTdClick
},
isEdit
? _react.default.createElement(_EditInput.default, {
name: name,
value: value,
onKeyDown: handleCellKeyDown,
onBlur: onBlur,
maxLength: maxLength,
rowNum: rowNumber,
syncCellValue: syncCellValue,
bodyAlign: bodyAlign,
bodyBold: bodyBold,
bodyFontColor: bodyFontColor,
bodyOblique: bodyOblique,
bodyStyleFilter: bodyStyleFilter,
lovJS: lovJS,
setCurrentEditColName: setCurrentEditColName
})
: _react.default.createElement(_ReadonlyInput.default, {
name: name,
value: value,
width: width,
onClick: this.handleToggleReadonlyInputClick,
bodyAlign: bodyAlign,
bodyBold: bodyBold,
bodyFontColor: bodyFontColor,
bodyOblique: bodyOblique,
bodyStyleFilter: bodyStyleFilter
})
);
}
}
]);
return BodyCell;
})(_react.default.PureComponent);
exports.default = BodyCell;
(0, _defineProperty2.default)(BodyCell, 'propTypes', {
name: _propTypes.default.string,
value: _propTypes.default.string,
maxLength: _propTypes.default.number,
rowNumber: _propTypes.default.number,
// 只读、必填、隐藏
readonly: _propTypes.default.bool,
required: _propTypes.default.bool,
hidden: _propTypes.default.bool,
// body ui
width: _propTypes.default.number,
bodyAlign: _propTypes.default.string,
bodyBold: _propTypes.default.bool,
bodyFontColor: _propTypes.default.string,
bodyOblique: _propTypes.default.bool,
bodyStyleFilter: _propTypes.default.func,
// onBlur,
onBlur: _propTypes.default.func,
lovJS: _propTypes.default.func,
// updateCurrentRowNum
handleCellKeyDown: _propTypes.default.func,
updateCurrentRowNum: _propTypes.default.func,
syncCellValue: _propTypes.default.func,
setCurrentEditColName: _propTypes.default.func
});
//@ sourceMappingURL=BodyCell.js.map