expandUtil.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.findAllChildrenKeys = findAllChildrenKeys;
  7. exports.renderExpandIcon = renderExpandIcon;
  8. var _vue = require("vue");
  9. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  10. function renderExpandIcon(_ref) {
  11. var _ref2;
  12. var prefixCls = _ref.prefixCls,
  13. record = _ref.record,
  14. onExpand = _ref.onExpand,
  15. expanded = _ref.expanded,
  16. expandable = _ref.expandable;
  17. var expandClassName = "".concat(prefixCls, "-row-expand-icon");
  18. if (!expandable) {
  19. return (0, _vue.createVNode)("span", {
  20. "class": [expandClassName, "".concat(prefixCls, "-row-spaced")]
  21. }, null);
  22. }
  23. var onClick = function onClick(event) {
  24. onExpand(record, event);
  25. event.stopPropagation();
  26. };
  27. return (0, _vue.createVNode)("span", {
  28. "class": (_ref2 = {}, (0, _defineProperty2.default)(_ref2, expandClassName, true), (0, _defineProperty2.default)(_ref2, "".concat(prefixCls, "-row-expanded"), expanded), (0, _defineProperty2.default)(_ref2, "".concat(prefixCls, "-row-collapsed"), !expanded), _ref2),
  29. "onClick": onClick
  30. }, null);
  31. }
  32. function findAllChildrenKeys(data, getRowKey, childrenColumnName) {
  33. var keys = [];
  34. function dig(list) {
  35. (list || []).forEach(function (item, index) {
  36. keys.push(getRowKey(item, index));
  37. dig(item[childrenColumnName]);
  38. });
  39. }
  40. dig(data);
  41. return keys;
  42. }