ExpandedRow.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _Cell = _interopRequireDefault(require("../Cell"));
  9. var _TableContext = require("../context/TableContext");
  10. var _ExpandedRowContext = require("../context/ExpandedRowContext");
  11. var _default2 = (0, _vue.defineComponent)({
  12. name: 'ExpandedRow',
  13. inheritAttrs: false,
  14. props: ['prefixCls', 'component', 'cellComponent', 'expanded', 'colSpan', 'isEmpty'],
  15. setup: function setup(props, _ref) {
  16. var slots = _ref.slots,
  17. attrs = _ref.attrs;
  18. var tableContext = (0, _TableContext.useInjectTable)();
  19. var expandedRowContext = (0, _ExpandedRowContext.useInjectExpandedRow)();
  20. var fixHeader = expandedRowContext.fixHeader,
  21. fixColumn = expandedRowContext.fixColumn,
  22. componentWidth = expandedRowContext.componentWidth,
  23. horizonScroll = expandedRowContext.horizonScroll;
  24. return function () {
  25. var prefixCls = props.prefixCls,
  26. Component = props.component,
  27. cellComponent = props.cellComponent,
  28. expanded = props.expanded,
  29. colSpan = props.colSpan,
  30. isEmpty = props.isEmpty;
  31. return (0, _vue.createVNode)(Component, {
  32. "class": attrs.class,
  33. "style": {
  34. display: expanded ? null : 'none'
  35. }
  36. }, {
  37. default: function _default() {
  38. return [(0, _vue.createVNode)(_Cell.default, {
  39. "component": cellComponent,
  40. "prefixCls": prefixCls,
  41. "colSpan": colSpan
  42. }, {
  43. default: function _default() {
  44. var _slots$default;
  45. var contentNode = (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
  46. if (isEmpty ? horizonScroll.value : fixColumn.value) {
  47. var _contentNode = function () {
  48. return contentNode;
  49. }();
  50. contentNode = (0, _vue.createVNode)("div", {
  51. "style": {
  52. width: "".concat(componentWidth.value - (fixHeader.value ? tableContext.scrollbarSize : 0), "px"),
  53. position: 'sticky',
  54. left: 0,
  55. overflow: 'hidden'
  56. },
  57. "class": "".concat(prefixCls, "-expanded-row-fixed")
  58. }, [contentNode]);
  59. }
  60. return contentNode;
  61. }
  62. })];
  63. }
  64. });
  65. };
  66. }
  67. });
  68. exports.default = _default2;