expandUtil.js 1.1 KB

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