@schema-render/search-table-react
Version:
Conditional search table component.
95 lines (94 loc) • 3.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
createTableSummary: function() {
return createTableSummary;
},
getFlattenedColumns: function() {
return getFlattenedColumns;
}
});
var _jsxruntime = require("react/jsx-runtime");
var _corereact = require("@schema-render/core-react");
var _antd = require("antd");
var _constants = require("../../constants");
var _common = require("../../utils/common");
var isArray = _corereact.utils.isArray, isNil = _corereact.utils.isNil;
/**
* 获取默认文案
*/ function getSummaryDefaultText(dataKey, summaryText) {
// 序号栏显示“合计”文案
if (dataKey === _constants.EColumnsKeys.rowNumber) {
return summaryText;
}
// 操作栏默认为空
if (dataKey === _constants.EColumnsKeys.actions) {
return '';
}
// 其他列数据不存在显示中横线
return '-';
}
function getFlattenedColumns(columns) {
var flattened = [];
function traverse(list) {
(0, _common.forEach)(list, function(item) {
if (isArray(item.children)) {
traverse(item.children);
} else {
flattened.push(item);
}
});
}
traverse(columns);
return flattened;
}
/**
* 创建 Antd Table 总结栏列表数据
*/ function createTableSummaryItems(param) {
var flattenedColumns = param.flattenedColumns, summaryData = param.summaryData, _param_summaryText = param.summaryText, summaryText = _param_summaryText === void 0 ? '合计' : _param_summaryText, _param_hasRowNumber = param.hasRowNumber, hasRowNumber = _param_hasRowNumber === void 0 ? false : _param_hasRowNumber, _param_hasRowSelection = param.hasRowSelection, hasRowSelection = _param_hasRowSelection === void 0 ? false : _param_hasRowSelection;
var resultList = [];
var index = -1;
if (hasRowSelection) {
index++;
resultList.push({
index: index,
text: hasRowNumber ? '' : summaryText
});
}
(0, _common.forEach)(flattenedColumns, function(param) {
var key = param.key, dataIndex = param.dataIndex;
var strDataIndex = isArray(dataIndex) ? dataIndex.join('.') : dataIndex;
var dataKey = String(key || strDataIndex);
var content = summaryData[dataKey];
index++;
resultList.push({
index: index,
text: isNil(content) ? getSummaryDefaultText(dataKey, summaryText) : content
});
});
return resultList;
}
function createTableSummary(p) {
var items = createTableSummaryItems(p);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_antd.Table.Summary, {
fixed: "bottom",
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_antd.Table.Summary.Row, {
children: items.map(function(item) {
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_antd.Table.Summary.Cell, {
align: "center",
index: item.index,
colSpan: item.colSpan,
children: item.text
}, item.index);
})
})
});
}