linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
47 lines (46 loc) β’ 1.42 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findAllChildrenKeys = findAllChildrenKeys;
exports.renderExpandIcon = renderExpandIcon;
var React = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
function renderExpandIcon({
prefixCls,
record,
onExpand,
expanded,
expandable
}) {
const expandClassName = `${prefixCls}-row-expand-icon`;
if (!expandable) {
return /*#__PURE__*/React.createElement("span", {
className: (0, _classnames.default)(expandClassName, `${prefixCls}-row-spaced`)
});
}
const onClick = event => {
onExpand(record, event);
event.stopPropagation();
};
return /*#__PURE__*/React.createElement("span", {
className: (0, _classnames.default)(expandClassName, {
[`${prefixCls}-row-expanded`]: expanded,
[`${prefixCls}-row-collapsed`]: !expanded
}),
onClick: onClick
});
}
function findAllChildrenKeys(data, getRowKey, childrenColumnName) {
const keys = [];
function dig(list) {
(list || []).forEach((item, index) => {
keys.push(getRowKey(item, index));
dig(item[childrenColumnName]);
});
}
dig(data);
return keys;
}