expandUtil.js 962 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { createVNode as _createVNode } from "vue";
  2. export function renderExpandIcon(_ref) {
  3. let {
  4. prefixCls,
  5. record,
  6. onExpand,
  7. expanded,
  8. expandable
  9. } = _ref;
  10. const expandClassName = `${prefixCls}-row-expand-icon`;
  11. if (!expandable) {
  12. return _createVNode("span", {
  13. "class": [expandClassName, `${prefixCls}-row-spaced`]
  14. }, null);
  15. }
  16. const onClick = event => {
  17. onExpand(record, event);
  18. event.stopPropagation();
  19. };
  20. return _createVNode("span", {
  21. "class": {
  22. [expandClassName]: true,
  23. [`${prefixCls}-row-expanded`]: expanded,
  24. [`${prefixCls}-row-collapsed`]: !expanded
  25. },
  26. "onClick": onClick
  27. }, null);
  28. }
  29. export function findAllChildrenKeys(data, getRowKey, childrenColumnName) {
  30. const keys = [];
  31. function dig(list) {
  32. (list || []).forEach((item, index) => {
  33. keys.push(getRowKey(item, index));
  34. dig(item[childrenColumnName]);
  35. });
  36. }
  37. dig(data);
  38. return keys;
  39. }