shineout
Version:
Shein 前端组件库
100 lines (76 loc) • 2.54 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireDefault(require("react"));
var _styles = require("./styles");
var _is = require("../utils/is");
var Tfoot =
/*#__PURE__*/
function (_React$PureComponent) {
(0, _inheritsLoose2.default)(Tfoot, _React$PureComponent);
function Tfoot() {
return _React$PureComponent.apply(this, arguments) || this;
}
var _proto = Tfoot.prototype;
_proto.getTrs = function getTrs() {
var _this$props$summary = this.props.summary,
summary = _this$props$summary === void 0 ? [] : _this$props$summary;
if (!(0, _is.isArray)(summary[0])) {
summary = [summary];
}
var summarys = summary;
var trs = [];
for (var i = 0; i < summarys.length; i++) {
var row = summarys[i];
trs[i] = [];
var index = 0;
for (var j = 0; j < row.length; j++) {
var item = row[j];
var nextIndex = index + (item.colSpan || 1);
trs[i].push(this.renderTd(item, index));
index = nextIndex;
}
}
return trs;
};
_proto.renderTd = function renderTd(item, index) {
var render = item.render,
_item$colSpan = item.colSpan,
colSpan = _item$colSpan === void 0 ? 1 : _item$colSpan;
var columns = this.props.columns;
var content = render();
var fixed = {};
var isLast = index + colSpan - 1 >= columns.length - 1;
for (var i = 0; i < colSpan; i++) {
var col = columns[index + i] || {};
if (col.fixed) {
fixed["fixed-" + col.fixed] = true;
}
if (col.firstFixed) {
fixed['fixed-first'] = true;
}
if (col.lastFixed) {
fixed['fixed-last'] = true;
}
}
return _react.default.createElement("td", {
key: index,
colSpan: colSpan,
className: _styles.tableClass.apply(void 0, Object.keys(fixed).concat([isLast && 'ignore-right-border']))
}, content);
};
_proto.render = function render() {
var trs = this.getTrs();
return _react.default.createElement("tfoot", null, trs.map(function (tr, index) {
return _react.default.createElement("tr", {
key: index,
className: (0, _styles.tableClass)('normal')
}, tr);
}));
};
return Tfoot;
}(_react.default.PureComponent);
var _default = Tfoot;
exports.default = _default;