Row.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _Cell = _interopRequireDefault(require("./Cell"));
  10. var _propsUtil = require("../_util/props-util");
  11. var _index = require("./index");
  12. var Row = function Row(props) {
  13. var renderCells = function renderCells(items, _ref, _ref2) {
  14. var colon = _ref.colon,
  15. prefixCls = _ref.prefixCls,
  16. bordered = _ref.bordered;
  17. var component = _ref2.component,
  18. type = _ref2.type,
  19. showLabel = _ref2.showLabel,
  20. showContent = _ref2.showContent,
  21. rootLabelStyle = _ref2.labelStyle,
  22. rootContentStyle = _ref2.contentStyle;
  23. return items.map(function (item, index) {
  24. var _item$children, _item$children$label;
  25. var itemProps = item.props || {};
  26. var _itemProps$prefixCls = itemProps.prefixCls,
  27. itemPrefixCls = _itemProps$prefixCls === void 0 ? prefixCls : _itemProps$prefixCls,
  28. _itemProps$span = itemProps.span,
  29. span = _itemProps$span === void 0 ? 1 : _itemProps$span,
  30. _itemProps$labelStyle = itemProps.labelStyle,
  31. labelStyle = _itemProps$labelStyle === void 0 ? itemProps['label-style'] : _itemProps$labelStyle,
  32. _itemProps$contentSty = itemProps.contentStyle,
  33. contentStyle = _itemProps$contentSty === void 0 ? itemProps['content-style'] : _itemProps$contentSty,
  34. _itemProps$label = itemProps.label,
  35. label = _itemProps$label === void 0 ? (_item$children = item.children) === null || _item$children === void 0 ? void 0 : (_item$children$label = _item$children.label) === null || _item$children$label === void 0 ? void 0 : _item$children$label.call(_item$children) : _itemProps$label;
  36. var children = (0, _propsUtil.getSlot)(item);
  37. var className = (0, _propsUtil.getClass)(item);
  38. var style = (0, _propsUtil.getStyle)(item);
  39. var key = item.key;
  40. if (typeof component === 'string') {
  41. return (0, _vue.createVNode)(_Cell.default, {
  42. "key": "".concat(type, "-").concat(String(key) || index),
  43. "class": className,
  44. "style": style,
  45. "labelStyle": (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rootLabelStyle), labelStyle),
  46. "contentStyle": (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rootContentStyle), contentStyle),
  47. "span": span,
  48. "colon": colon,
  49. "component": component,
  50. "itemPrefixCls": itemPrefixCls,
  51. "bordered": bordered,
  52. "label": showLabel ? label : null,
  53. "content": showContent ? children : null
  54. }, null);
  55. }
  56. return [(0, _vue.createVNode)(_Cell.default, {
  57. "key": "label-".concat(String(key) || index),
  58. "class": className,
  59. "style": (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rootLabelStyle), style), labelStyle),
  60. "span": 1,
  61. "colon": colon,
  62. "component": component[0],
  63. "itemPrefixCls": itemPrefixCls,
  64. "bordered": bordered,
  65. "label": label
  66. }, null), (0, _vue.createVNode)(_Cell.default, {
  67. "key": "content-".concat(String(key) || index),
  68. "class": className,
  69. "style": (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rootContentStyle), style), contentStyle),
  70. "span": span * 2 - 1,
  71. "component": component[1],
  72. "itemPrefixCls": itemPrefixCls,
  73. "bordered": bordered,
  74. "content": children
  75. }, null)];
  76. });
  77. };
  78. var prefixCls = props.prefixCls,
  79. vertical = props.vertical,
  80. row = props.row,
  81. index = props.index,
  82. bordered = props.bordered;
  83. var _inject = (0, _vue.inject)(_index.descriptionsContext, {
  84. labelStyle: (0, _vue.ref)({}),
  85. contentStyle: (0, _vue.ref)({})
  86. }),
  87. labelStyle = _inject.labelStyle,
  88. contentStyle = _inject.contentStyle;
  89. if (vertical) {
  90. return (0, _vue.createVNode)(_vue.Fragment, null, [(0, _vue.createVNode)("tr", {
  91. "key": "label-".concat(index),
  92. "class": "".concat(prefixCls, "-row")
  93. }, [renderCells(row, props, {
  94. component: 'th',
  95. type: 'label',
  96. showLabel: true,
  97. labelStyle: labelStyle.value,
  98. contentStyle: contentStyle.value
  99. })]), (0, _vue.createVNode)("tr", {
  100. "key": "content-".concat(index),
  101. "class": "".concat(prefixCls, "-row")
  102. }, [renderCells(row, props, {
  103. component: 'td',
  104. type: 'content',
  105. showContent: true,
  106. labelStyle: labelStyle.value,
  107. contentStyle: contentStyle.value
  108. })])]);
  109. }
  110. return (0, _vue.createVNode)("tr", {
  111. "key": index,
  112. "class": "".concat(prefixCls, "-row")
  113. }, [renderCells(row, props, {
  114. component: bordered ? ['th', 'td'] : 'td',
  115. type: 'item',
  116. showLabel: true,
  117. showContent: true,
  118. labelStyle: labelStyle.value,
  119. contentStyle: contentStyle.value
  120. })]);
  121. };
  122. var _default = Row;
  123. exports.default = _default;