dareway-rui
Version:
150 lines (136 loc) • 5.05 kB
JavaScript
;
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.NumberColumnConfigGenerator = NumberColumnConfigGenerator;
var _typeof2 = _interopRequireDefault(require('@babel/runtime/helpers/typeof'));
var _HeaderCell = _interopRequireDefault(require('./HeaderCell'));
var _BodyCell = _interopRequireDefault(require('./bodyCell/BodyCell'));
var _utils = require('../utils');
function NumberColumnConfigGenerator(
sortable,
onSort,
col,
updateCurrentRowNum,
syncCellValue,
gridReadonly,
resizable,
onResize,
currentRowNumber,
currentEditColName,
handleCellKeyDown,
setCurrentEditColName
) {
var name = col.name,
head = col.head,
headBold = col.headBold,
headFontColor = col.headFontColor,
headOblique = col.headOblique,
bodyAlign = col.bodyAlign,
bodyBold = col.bodyBold,
bodyFontColor = col.bodyFontColor,
bodyOblique = col.bodyOblique,
bodyStyleFilter = col.bodyStyleFilter,
hidden = col.hidden,
required = col.required,
columnReadonly = col.readonly,
cellReadonlyFilter = col.cellReadonlyFilter,
width = col.width,
maxLength = col.maxLength,
mask = col.mask,
zeroDisplayAs0 = col.zeroDisplayAs0,
nullable = col.nullable,
onBlur = col.onBlur,
sortOrder = col.sortOrder; // 根据 gridReadonly、columnReadonly 计算 column 的最终 readonly 状态
var readonly = (0, _utils.calculateColumnReadonly)(gridReadonly, columnReadonly);
var columnObj = {
title: head,
dataIndex: name,
width: width,
onHeaderCell: function onHeaderCell(column) {
return {
HeaderCell: _HeaderCell.default,
// name
name: name,
// head
head: head,
headBold: headBold,
headFontColor: headFontColor,
headOblique: headOblique,
// 排序
sortable: sortable,
onSort: onSort,
sortOrder: sortOrder,
// 只读、必填、隐藏
readonly: readonly,
required: required,
hidden: hidden,
// 宽度
width: width,
// 列拖动
resizable: resizable,
onResize: onResize
};
},
onCell: function onCell(record, index) {
var isEdit = false;
if (currentRowNumber === index + 1 && name === currentEditColName) {
isEdit = true;
}
var cellReadonly = readonly;
if (readonly === false) {
if (cellReadonlyFilter) {
cellReadonly = cellReadonlyFilter(record);
if (typeof cellReadonly !== 'boolean') {
throw new Error(
"<NumberColumn name='"
.concat(
name,
"'> \u5165\u53C2 cellReadonlyFilter \u7684\u8FD4\u56DE\u503C\u5FC5\u987B\u4E3A boolean \u7C7B\u578B\uFF0C\u5F53\u524D\u7ED3\u679C\u3010cellReadonlyFilter("
)
.concat(JSON.stringify(record), ') => ')
.concat(cellReadonly, '\uFF0C')
.concat((0, _typeof2.default)(cellReadonly), '\u3011,\u8BF7\u68C0\u67E5\uFF01')
);
}
}
}
return {
BodyCell: _BodyCell.default,
// name
name: name,
// body
bodyAlign: bodyAlign,
bodyBold: bodyBold,
bodyFontColor: bodyFontColor,
bodyOblique: bodyOblique,
bodyStyleFilter: bodyStyleFilter,
// 只读、必填、隐藏
readonly: cellReadonly,
required: required,
hidden: hidden,
// 宽度
width: width,
// maxlength
maxLength: maxLength,
mask: mask,
zeroDisplayAs0: zeroDisplayAs0,
nullable: nullable,
// value
value: record[name],
// event
onBlur: onBlur,
// rowNumber
rowNumber: index + 1,
isEdit: isEdit,
updateCurrentRowNum: updateCurrentRowNum,
syncCellValue: syncCellValue,
handleCellKeyDown: handleCellKeyDown,
setCurrentEditColName: setCurrentEditColName
};
}
};
return columnObj;
}
//@ sourceMappingURL=AntdColumnConfigGenerator.js.map