dareway-rui
Version:
128 lines (116 loc) • 4.3 kB
JavaScript
;
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.CheckboxColumnConfigGenerator = CheckboxColumnConfigGenerator;
var _typeof2 = _interopRequireDefault(require('@babel/runtime/helpers/typeof'));
var _HeaderCell = _interopRequireDefault(require('./HeaderCell'));
var _BodyCell = _interopRequireDefault(require('./BodyCell'));
var _utils = require('../utils');
function CheckboxColumnConfigGenerator(
sortable,
onSort,
col,
updateCurrentRowNum,
syncCellValue,
gridReadonly,
resizable,
onResize
) {
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,
hidden = col.hidden,
required = col.required,
columnReadonly = col.readonly,
cellReadonlyFilter = col.cellReadonlyFilter,
width = col.width,
onBlur = col.onBlur,
onChange = col.onChange,
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 cellReadonly = readonly;
if (readonly === false) {
if (cellReadonlyFilter) {
cellReadonly = cellReadonlyFilter(record);
if (typeof cellReadonly !== 'boolean') {
throw new Error(
"<DateColumn 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,
// 只读、必填、隐藏
readonly: cellReadonly,
required: required,
hidden: hidden,
// 宽度
width: width,
// value
value: record[name],
// event
onBlur: onBlur,
onChange: onChange,
// rowNumber
rowNumber: index + 1,
updateCurrentRowNum: updateCurrentRowNum,
syncCellValue: syncCellValue
};
}
};
return columnObj;
}
//@ sourceMappingURL=AntdColumnConfigGenerator.js.map