@kdcloudjs/table 1.2.2-canary.17 → 1.2.2-canary.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +3628 -3146
  3. package/dist/@kdcloudjs/table.js.map +1 -1
  4. package/dist/@kdcloudjs/table.min.css +1 -1
  5. package/dist/@kdcloudjs/table.min.js +11 -19
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/_utils/formatUtil.js +1 -5
  8. package/es/_utils/hooks.js +3 -3
  9. package/es/_utils/usePopper.js +26 -26
  10. package/es/locale/locale.js +6 -7
  11. package/es/table/base/calculations.js +3 -3
  12. package/es/table/base/empty.js +2 -2
  13. package/es/table/base/globalStyleComponent.js +6 -8
  14. package/es/table/base/header.js +15 -13
  15. package/es/table/base/helpers/FastScrollManager.js +1 -2
  16. package/es/table/base/helpers/SpanManager.js +1 -2
  17. package/es/table/base/helpers/TableDOMUtils.js +5 -6
  18. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +2 -2
  19. package/es/table/base/html-table.js +16 -8
  20. package/es/table/base/loading.js +2 -2
  21. package/es/table/base/renderTemplates.js +17 -19
  22. package/es/table/base/styles.js +8 -4
  23. package/es/table/base/table.d.ts +1 -0
  24. package/es/table/base/table.js +22 -23
  25. package/es/table/base/utils.js +3 -3
  26. package/es/table/interfaces.d.ts +19 -0
  27. package/es/table/internals.d.ts +2 -1
  28. package/es/table/pipeline/features/columnDrag.js +21 -2
  29. package/es/table/pipeline/features/columnFilter.js +1 -3
  30. package/es/table/pipeline/features/columnHover.js +16 -11
  31. package/es/table/pipeline/features/columnRangeHover.js +18 -17
  32. package/es/table/pipeline/features/columnResizeWidth.js +2 -2
  33. package/es/table/pipeline/features/contextMenu.js +4 -6
  34. package/es/table/pipeline/features/featureApi/RowDragApi.js +1 -2
  35. package/es/table/pipeline/features/filter/DefaultFilterContent.js +4 -5
  36. package/es/table/pipeline/features/filter/Filter.js +2 -3
  37. package/es/table/pipeline/features/mergeCellHover.js +21 -15
  38. package/es/table/pipeline/features/multiSelect.d.ts +3 -1
  39. package/es/table/pipeline/features/multiSelect.js +38 -15
  40. package/es/table/pipeline/features/rangeSelection.js +12 -10
  41. package/es/table/pipeline/features/rowDetail.js +5 -3
  42. package/es/table/pipeline/features/rowDrag.js +2 -3
  43. package/es/table/pipeline/features/rowGrouping.js +9 -8
  44. package/es/table/pipeline/features/singleSelect.d.ts +3 -1
  45. package/es/table/pipeline/features/singleSelect.js +35 -11
  46. package/es/table/pipeline/features/sort.js +6 -7
  47. package/es/table/pipeline/features/tips.js +4 -4
  48. package/es/table/pipeline/features/treeMode.js +5 -5
  49. package/es/table/pipeline/features/treeSelect.js +2 -2
  50. package/es/table/pipeline/pipeline.js +1 -2
  51. package/es/table/pivot/cross-table/buildCrossTable.js +6 -8
  52. package/es/table/pivot/cross-table/cross-table.js +1 -3
  53. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +8 -10
  54. package/es/table/pivot/cross-tree-table/cross-tree-table.js +8 -11
  55. package/es/table/pivot/pivot-utils/builders.js +3 -3
  56. package/es/table/pivot/pivot-utils/convert-utils.js +3 -3
  57. package/es/table/transforms/autoWidth.js +3 -3
  58. package/es/table/transforms/columnResize.js +3 -5
  59. package/es/table/transforms/sort.js +6 -8
  60. package/es/table/transforms/tips.js +4 -4
  61. package/es/table/transforms/treeMode.js +10 -12
  62. package/es/table/utils/buildTree.js +3 -3
  63. package/es/table/utils/collectNodes.js +3 -3
  64. package/es/table/utils/exportTableAsExcel.js +3 -3
  65. package/es/table/utils/getTreeDepth.js +7 -4
  66. package/es/table/utils/groupBy.js +3 -3
  67. package/es/table/utils/makeRecursiveMapper.js +3 -3
  68. package/es/table/utils/mergeCellProps.js +0 -1
  69. package/es/table/utils/others.js +3 -3
  70. package/es/table/utils/traverseColumn.js +3 -3
  71. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +7 -8
  72. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +4 -5
  73. package/lib/_utils/arrayUtil.js +2 -3
  74. package/lib/_utils/formatUtil.js +1 -5
  75. package/lib/_utils/hooks.js +3 -3
  76. package/lib/_utils/index.js +2 -3
  77. package/lib/_utils/type.js +3 -5
  78. package/lib/_utils/usePopper.js +30 -34
  79. package/lib/config-provider/ConfigContext.js +1 -2
  80. package/lib/config-provider/compDefaultProps.js +1 -2
  81. package/lib/config-provider/configProvider.js +2 -4
  82. package/lib/config-provider/defaultConfig.js +1 -2
  83. package/lib/config-provider/index.js +1 -2
  84. package/lib/locale/index.js +2 -4
  85. package/lib/locale/locale.js +10 -14
  86. package/lib/locale/zh-CN.js +1 -2
  87. package/lib/table/base/BlankComponent.js +4 -7
  88. package/lib/table/base/calculations.js +3 -3
  89. package/lib/table/base/empty.js +3 -4
  90. package/lib/table/base/globalStyleComponent.js +9 -13
  91. package/lib/table/base/header.js +15 -13
  92. package/lib/table/base/helpers/FastScrollManager.js +3 -5
  93. package/lib/table/base/helpers/SpanManager.js +3 -5
  94. package/lib/table/base/helpers/TableDOMUtils.js +7 -9
  95. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +2 -2
  96. package/lib/table/base/helpers/getRichVisibleRectsStream.js +1 -2
  97. package/lib/table/base/html-table.js +16 -8
  98. package/lib/table/base/loading.js +2 -2
  99. package/lib/table/base/renderTemplates.js +18 -21
  100. package/lib/table/base/styles.js +16 -21
  101. package/lib/table/base/table.d.ts +1 -0
  102. package/lib/table/base/table.js +33 -34
  103. package/lib/table/base/utils.js +13 -22
  104. package/lib/table/common-views.js +4 -8
  105. package/lib/table/interfaces.d.ts +19 -0
  106. package/lib/table/internals.d.ts +2 -1
  107. package/lib/table/internals.js +2 -3
  108. package/lib/table/pipeline/const.js +2 -3
  109. package/lib/table/pipeline/features/autoFill.js +3 -6
  110. package/lib/table/pipeline/features/colGroupExtendable.js +2 -3
  111. package/lib/table/pipeline/features/columnDrag.js +21 -2
  112. package/lib/table/pipeline/features/columnFilter.js +1 -3
  113. package/lib/table/pipeline/features/columnHover.js +16 -11
  114. package/lib/table/pipeline/features/columnRangeHover.js +18 -17
  115. package/lib/table/pipeline/features/columnResizeWidth.js +6 -10
  116. package/lib/table/pipeline/features/contextMenu.js +5 -8
  117. package/lib/table/pipeline/features/featureApi/RowDragApi.js +3 -5
  118. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +6 -9
  119. package/lib/table/pipeline/features/filter/Filter.js +4 -7
  120. package/lib/table/pipeline/features/filter/FilterPanel.js +2 -4
  121. package/lib/table/pipeline/features/filter/util.js +2 -3
  122. package/lib/table/pipeline/features/footerDataSource.js +1 -2
  123. package/lib/table/pipeline/features/mergeCellHover.js +21 -15
  124. package/lib/table/pipeline/features/multiSelect.d.ts +3 -1
  125. package/lib/table/pipeline/features/multiSelect.js +38 -15
  126. package/lib/table/pipeline/features/rangeSelection.js +14 -14
  127. package/lib/table/pipeline/features/rowDetail.js +5 -3
  128. package/lib/table/pipeline/features/rowDrag.js +5 -9
  129. package/lib/table/pipeline/features/rowGrouping.js +9 -8
  130. package/lib/table/pipeline/features/singleSelect.d.ts +3 -1
  131. package/lib/table/pipeline/features/singleSelect.js +35 -11
  132. package/lib/table/pipeline/features/sort.js +6 -7
  133. package/lib/table/pipeline/features/tips.js +4 -4
  134. package/lib/table/pipeline/features/treeMode.js +7 -9
  135. package/lib/table/pipeline/features/treeSelect.js +2 -2
  136. package/lib/table/pipeline/index.js +1 -2
  137. package/lib/table/pipeline/pipeline.js +2 -4
  138. package/lib/table/pivot/cross-table/buildCrossTable.js +6 -8
  139. package/lib/table/pivot/cross-table/constants.js +1 -2
  140. package/lib/table/pivot/cross-table/cross-table.js +3 -6
  141. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +8 -10
  142. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +9 -13
  143. package/lib/table/pivot/pivot-utils/builders.js +3 -3
  144. package/lib/table/pivot/pivot-utils/convert-utils.js +3 -3
  145. package/lib/table/transforms/autoWidth.js +4 -5
  146. package/lib/table/transforms/columnResize.js +4 -7
  147. package/lib/table/transforms/sort.js +7 -10
  148. package/lib/table/transforms/tips.js +4 -4
  149. package/lib/table/transforms/treeMode.js +11 -14
  150. package/lib/table/use/useResizeObserver.js +1 -2
  151. package/lib/table/utils/browserType.js +2 -4
  152. package/lib/table/utils/buildTree.js +3 -3
  153. package/lib/table/utils/collectNodes.js +3 -3
  154. package/lib/table/utils/console.js +2 -3
  155. package/lib/table/utils/copyToClipboard.js +1 -2
  156. package/lib/table/utils/exportTableAsExcel.js +3 -3
  157. package/lib/table/utils/getTreeDepth.js +7 -4
  158. package/lib/table/utils/groupBy.js +3 -3
  159. package/lib/table/utils/keyCode.js +1 -2
  160. package/lib/table/utils/makeRecursiveMapper.js +3 -3
  161. package/lib/table/utils/mergeCellProps.js +0 -1
  162. package/lib/table/utils/others.js +4 -5
  163. package/lib/table/utils/proto.js +1 -2
  164. package/lib/table/utils/selectColumn.js +2 -4
  165. package/lib/table/utils/traverseColumn.js +3 -3
  166. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +9 -11
  167. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +6 -8
  168. package/package.json +1 -1
  169. package/CHANGELOG.md +0 -0
@@ -12,8 +12,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _styles = require("./styles");
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
16
  var TopBlankComponent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
18
17
  var heightFromProps = _ref.height;
19
18
  (0, _react.useEffect)(function () {
@@ -72,11 +71,9 @@ var BottomBlankComponent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2,
72
71
  });
73
72
  BottomBlankComponent.displayName = 'BottomBlank';
74
73
  // 使用 memo 优化,只有当 height 或 className 改变时才重新渲染
75
- var TopBlank = /*#__PURE__*/(0, _react.memo)(TopBlankComponent, function (prevProps, nextProps) {
74
+ var TopBlank = exports.TopBlank = /*#__PURE__*/(0, _react.memo)(TopBlankComponent, function (prevProps, nextProps) {
76
75
  return prevProps.height === nextProps.height;
77
76
  });
78
- exports.TopBlank = TopBlank;
79
- var BottomBlank = /*#__PURE__*/(0, _react.memo)(BottomBlankComponent, function (prevProps, nextProps) {
77
+ var BottomBlank = exports.BottomBlank = /*#__PURE__*/(0, _react.memo)(BottomBlankComponent, function (prevProps, nextProps) {
80
78
  return prevProps.height === nextProps.height;
81
- });
82
- exports.BottomBlank = BottomBlank;
79
+ });
@@ -21,9 +21,9 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/ty
21
21
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
22
22
  var _utils = require("../utils");
23
23
  var _utils2 = require("./utils");
24
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
25
- function _unsupportedIterableToArray(o, minLen) { var _context10; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context10 = Object.prototype.toString.call(o)).call(_context10, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
25
+ function _unsupportedIterableToArray(r, a) { if (r) { var _context0; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty2(_context0 = {}.toString.call(r)).call(_context0, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
27
  function resolveVirtualEnabled(virtualEnum, defaultValue) {
28
28
  if (virtualEnum == null || virtualEnum === 'auto') {
29
29
  return defaultValue;
@@ -12,8 +12,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _colgroup = require("./colgroup");
14
14
  var _styles = require("./styles");
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
16
  var DefaultEmptyContent = /*#__PURE__*/_react.default.memo(function () {
18
17
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
19
18
  alt: "empty-image",
@@ -43,8 +42,8 @@ function EmptyHtmlTable(_ref) {
43
42
  style: {
44
43
  height: emptyCellHeight !== null && emptyCellHeight !== void 0 ? emptyCellHeight : 200
45
44
  }
46
- })))), show && /*#__PURE__*/_react.default.createElement("div", {
45
+ })))), show && (/*#__PURE__*/_react.default.createElement("div", {
47
46
  className: _styles.Classes.emptyWrapper,
48
47
  key: "empty"
49
- }, /*#__PURE__*/_react.default.createElement(EmptyContent, null)));
48
+ }, /*#__PURE__*/_react.default.createElement(EmptyContent, null))));
50
49
  }
@@ -11,23 +11,21 @@ Object.defineProperty(exports, "__esModule", {
11
11
  exports.default = void 0;
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
15
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
16
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
17
17
  var _react = _interopRequireWildcard(require("react"));
18
18
  var _styles = require("./styles");
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
22
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
- var GlobalStyleComponent = /*#__PURE__*/function (_PureComponent) {
24
- (0, _inherits2.default)(GlobalStyleComponent, _PureComponent);
25
- var _super = _createSuper(GlobalStyleComponent);
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var GlobalStyleComponent = exports.default = /*#__PURE__*/function (_PureComponent) {
26
23
  function GlobalStyleComponent() {
27
24
  (0, _classCallCheck2.default)(this, GlobalStyleComponent);
28
- return _super.apply(this, arguments);
25
+ return _callSuper(this, GlobalStyleComponent, arguments);
29
26
  }
30
- (0, _createClass2.default)(GlobalStyleComponent, [{
27
+ (0, _inherits2.default)(GlobalStyleComponent, _PureComponent);
28
+ return (0, _createClass2.default)(GlobalStyleComponent, [{
31
29
  key: "render",
32
30
  value: function render() {
33
31
  return /*#__PURE__*/_react.default.createElement(_styles.GlobalStyle, {
@@ -35,6 +33,4 @@ var GlobalStyleComponent = /*#__PURE__*/function (_PureComponent) {
35
33
  });
36
34
  }
37
35
  }]);
38
- return GlobalStyleComponent;
39
- }(_react.PureComponent);
40
- exports.default = GlobalStyleComponent;
36
+ }(_react.PureComponent);
@@ -19,9 +19,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
  var _react = _interopRequireDefault(require("react"));
20
20
  var _utils = require("../utils");
21
21
  var _styles = require("./styles");
22
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
23
- function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
23
+ function _unsupportedIterableToArray(r, a) { if (r) { var _context6; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context6 = {}.toString.call(r)).call(_context6, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25
25
  function range(n) {
26
26
  var array = [];
27
27
  for (var i = 0; i < n; i++) {
@@ -79,12 +79,13 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
79
79
  leveled.push([]);
80
80
  }
81
81
  var flat = [];
82
- dfs(inputNested, 0);
82
+ dfs(inputNested, 0, false);
83
83
  return {
84
84
  flat: flat,
85
85
  leveled: leveled
86
86
  };
87
- function dfs(input, depth) {
87
+ function dfs(input, depth, suppressLeveled) {
88
+ var _a;
88
89
  var leafCount = 0;
89
90
  for (var i = 0; i < input.length; i++) {
90
91
  var indexedCol = input[i];
@@ -98,12 +99,15 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
98
99
  colSpan: 1,
99
100
  isLeaf: true
100
101
  };
101
- leveled[depth].push(wrapped);
102
+ if (!suppressLeveled) {
103
+ leveled[depth].push(wrapped);
104
+ }
102
105
  flat.push(wrapped);
103
106
  } else {
104
- var dfsRes = dfs(indexedCol.children, depth + 1);
107
+ var mergeHeader = Boolean((_a = indexedCol.col) === null || _a === void 0 ? void 0 : _a.isHeaderMerge);
108
+ var dfsRes = dfs(indexedCol.children, depth + 1, suppressLeveled || mergeHeader);
105
109
  leafCount += dfsRes.leafCount;
106
- if (dfsRes.leafCount > 0) {
110
+ if (dfsRes.leafCount > 0 && !suppressLeveled) {
107
111
  leveled[depth].push({
108
112
  type: 'normal',
109
113
  width: indexedCol.col.width,
@@ -208,7 +212,6 @@ function TableHeader(_ref2) {
208
212
  var leftFlatCount = flat.left.length;
209
213
  var rightFlatCount = flat.right.length;
210
214
  var thead = (0, _map.default)(_context4 = headerRenderInfo.leveled).call(_context4, function (wrappedCols, level) {
211
- var _cx2;
212
215
  var _wrappedCols = (0, _concat.default)(wrappedCols).call(wrappedCols);
213
216
  // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
214
217
  // rowspan 需要空白的列头去占位, 需要补充额外的空白列头
@@ -223,7 +226,6 @@ function TableHeader(_ref2) {
223
226
  var headerCells = (0, _map.default)(_wrappedCols).call(_wrappedCols, function (wrapped, index) {
224
227
  var _a, _b, _c;
225
228
  if (wrapped.type === 'normal') {
226
- var _cx;
227
229
  var colIndex = wrapped.colIndex,
228
230
  colSpan = wrapped.colSpan,
229
231
  isLeaf = wrapped.isLeaf,
@@ -250,9 +252,9 @@ function TableHeader(_ref2) {
250
252
  var cell = /*#__PURE__*/_react.default.createElement("th", (0, _extends2.default)({
251
253
  key: colIndex
252
254
  }, headerCellProps, {
253
- className: (0, _classnames.default)(_styles.Classes.tableHeaderCell, headerCellProps.className, (_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.first, colIndex === 0), (0, _defineProperty2.default)(_cx, _styles.Classes.last, colIndex + colSpan === fullFlatCount), (0, _defineProperty2.default)(_cx, _styles.Classes.lockLeft, colIndex < leftFlatCount || theaderPosition === 'left'), (0, _defineProperty2.default)(_cx, _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right'), (0, _defineProperty2.default)(_cx, _styles.Classes.leaf, wrapped.isLeaf), _cx)),
255
+ className: (0, _classnames.default)(_styles.Classes.tableHeaderCell, headerCellProps.className, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, colIndex === 0), _styles.Classes.last, colIndex + colSpan === fullFlatCount), _styles.Classes.lockLeft, colIndex < leftFlatCount || theaderPosition === 'left'), _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right'), _styles.Classes.leaf, wrapped.isLeaf || col.isHeaderMerge)),
254
256
  colSpan: colSpan,
255
- rowSpan: isLeaf ? rowCount - level : undefined,
257
+ rowSpan: isLeaf || col.isHeaderMerge ? rowCount - level : undefined,
256
258
  style: (0, _extends2.default)((0, _extends2.default)({
257
259
  textAlign: col.align,
258
260
  verticalAlign: (_b = col.verticalAlign) !== null && _b !== void 0 ? _b : 'middle'
@@ -280,7 +282,7 @@ function TableHeader(_ref2) {
280
282
  });
281
283
  return /*#__PURE__*/_react.default.createElement("tr", {
282
284
  key: level,
283
- className: (0, _classnames.default)(_styles.Classes.tableHeaderRow, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, _styles.Classes.first, level === 0), (0, _defineProperty2.default)(_cx2, _styles.Classes.last, level === rowCount - 1), _cx2))
285
+ className: (0, _classnames.default)(_styles.Classes.tableHeaderRow, (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, level === 0), _styles.Classes.last, level === rowCount - 1))
284
286
  }, headerCells);
285
287
  });
286
288
  var colgroup = (0, _map.default)(_context5 = (0, _flat.default)(headerRenderInfo)).call(_context5, function (wrapped) {
@@ -12,7 +12,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpe
12
12
  * 快速滚动管理器
13
13
  * 抽取 BaseTable 中的快速滚动相关逻辑
14
14
  */
15
- var FastScrollManager = /*#__PURE__*/function () {
15
+ var FastScrollManager = exports.FastScrollManager = /*#__PURE__*/function () {
16
16
  function FastScrollManager(callbacks) {
17
17
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
18
18
  (0, _classCallCheck2.default)(this, FastScrollManager);
@@ -38,7 +38,7 @@ var FastScrollManager = /*#__PURE__*/function () {
38
38
  /**
39
39
  * 检测是否接近底部(剩余滚动距离少于两屏)
40
40
  */
41
- (0, _createClass2.default)(FastScrollManager, [{
41
+ return (0, _createClass2.default)(FastScrollManager, [{
42
42
  key: "isNearBottom",
43
43
  value: function isNearBottom(currentScrollTop, maxRenderHeight, totalScrollHeight) {
44
44
  var remainingScrollDistance = totalScrollHeight - currentScrollTop - maxRenderHeight;
@@ -170,6 +170,4 @@ var FastScrollManager = /*#__PURE__*/function () {
170
170
  return (0, _extends2.default)({}, this.config);
171
171
  }
172
172
  }]);
173
- return FastScrollManager;
174
- }();
175
- exports.FastScrollManager = FastScrollManager;
173
+ }();
@@ -11,12 +11,12 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpe
11
11
  /** 在表格的单元格的渲染过程中,先渲染的单元格的 colSpan/rowSpan 会影响到后续单元格是否被渲染
12
12
  * `SpanManager` 会在内部维护一份状态来记录最近渲染单元格的 colSpan/rowSpan,
13
13
  * 方便后续的单元格快速判断 "是否需要跳过渲染" */
14
- var SpanManager = /*#__PURE__*/function () {
14
+ var SpanManager = exports.default = /*#__PURE__*/function () {
15
15
  function SpanManager() {
16
16
  (0, _classCallCheck2.default)(this, SpanManager);
17
17
  this.rects = [];
18
18
  }
19
- (0, _createClass2.default)(SpanManager, [{
19
+ return (0, _createClass2.default)(SpanManager, [{
20
20
  key: "testSkip",
21
21
  value: function testSkip(rowIndex, colIndex) {
22
22
  return this.rects.some(function (_ref) {
@@ -46,6 +46,4 @@ var SpanManager = /*#__PURE__*/function () {
46
46
  });
47
47
  }
48
48
  }]);
49
- return SpanManager;
50
- }();
51
- exports.default = SpanManager;
49
+ }();
@@ -48,7 +48,7 @@ var _styles = require("../styles");
48
48
  // 在「可能存在嵌套表格」的情况下,我们可以采用以下的方式来避免「querySelector 不小心获取到了的嵌套表格上的元素」:
49
49
  // artTable.querySelector('.art-lock-shadow-mask .art-left-lock-shadow')
50
50
  // 表格 DOM 结构辅助工具
51
- var TableDOMHelper = /*#__PURE__*/function () {
51
+ var TableDOMHelper = exports.TableDOMHelper = /*#__PURE__*/function () {
52
52
  function TableDOMHelper(artTableWrapper) {
53
53
  var _this = this,
54
54
  _context2,
@@ -66,17 +66,17 @@ var TableDOMHelper = /*#__PURE__*/function () {
66
66
  this.getInRangeRowByCellEvent = function (e) {
67
67
  var _context;
68
68
  var _a;
69
- var getParentNode = function getParentNode(ele, target) {
69
+ var _getParentNode = function getParentNode(ele, target) {
70
70
  if (ele.parentNode.nodeName === target) {
71
71
  return ele.parentNode;
72
72
  }
73
- return getParentNode(ele.parentNode, target);
73
+ return _getParentNode(ele.parentNode, target);
74
74
  };
75
75
  e = e instanceof Array ? e[0] : e;
76
76
  var curCell = e === null || e === void 0 ? void 0 : e.currentTarget;
77
- var curRow = getParentNode(curCell, 'TR');
77
+ var curRow = _getParentNode(curCell, 'TR');
78
78
  var curRowSpan = parseInt(e.currentTarget.getAttribute('rowspan')) || 1;
79
- var rows = (_a = getParentNode(curCell, 'TABLE')) === null || _a === void 0 ? void 0 : _a.rows;
79
+ var rows = (_a = _getParentNode(curCell, 'TABLE')) === null || _a === void 0 ? void 0 : _a.rows;
80
80
  return (0, _slice.default)(_context = (0, _from.default)(rows)).call(_context, curRow.rowIndex, curRow.rowIndex + curRowSpan);
81
81
  };
82
82
  this.artTableWrapper = artTableWrapper;
@@ -93,7 +93,7 @@ var TableDOMHelper = /*#__PURE__*/function () {
93
93
  this.stickyScroll = stickyScrolls[stickyScrolls.length - 1]; // 当嵌套多层表格时,需要查找最后一个,否则会查找到父表格内嵌套的子表格的
94
94
  this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles.Classes.stickyScrollItem));
95
95
  }
96
- (0, _createClass2.default)(TableDOMHelper, [{
96
+ return (0, _createClass2.default)(TableDOMHelper, [{
97
97
  key: "getVirtualTop",
98
98
  value: function getVirtualTop() {
99
99
  return this.tableBody.querySelector(".".concat(_styles.Classes.virtualBlank, ".top"));
@@ -144,6 +144,4 @@ var TableDOMHelper = /*#__PURE__*/function () {
144
144
  return rowOffsetTop + tableOffsetTop;
145
145
  }
146
146
  }]);
147
- return TableDOMHelper;
148
- }();
149
- exports.TableDOMHelper = TableDOMHelper;
147
+ }();
@@ -9,9 +9,9 @@ describe("".concat(NAME), function () {
9
9
  var tableDOMHelper;
10
10
  var container;
11
11
  beforeAll(function () {
12
- var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17;
12
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context0, _context1, _context10, _context11, _context12, _context13, _context14, _context15;
13
13
  container = document.createElement('div');
14
- container.innerHTML = (0, _concat.default)(_context = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = (0, _concat.default)(_context10 = (0, _concat.default)(_context11 = (0, _concat.default)(_context12 = (0, _concat.default)(_context13 = (0, _concat.default)(_context14 = (0, _concat.default)(_context15 = (0, _concat.default)(_context16 = (0, _concat.default)(_context17 = "<div class='".concat(_styles.Classes.artTableWrapper, "'>\n <div class='")).call(_context17, _styles.Classes.loadingWrapper, "'>\n <div class='")).call(_context16, _styles.Classes.loadingIndicatorWrapper, "'>\n <div class='")).call(_context15, _styles.Classes.loadingIndicator, "'></div>\n </div> \n <div class='")).call(_context14, _styles.Classes.loadingContentWrapper, "'>\n <div class='")).call(_context13, _styles.Classes.artTable, "'>\n <div class='")).call(_context12, _styles.Classes.tableHeader, "'>\n \n </div>\n <div class='")).call(_context11, _styles.Classes.tableBody, "'>\n <div class='")).call(_context10, _styles.Classes.virtual, "'>\n <div class='")).call(_context9, _styles.Classes.virtualBlank, " top'></div>\n <table></table>\n <div class='")).call(_context8, _styles.Classes.virtualBlank, " bottom'></div>\n </div> \n </div>\n <div class='")).call(_context7, _styles.Classes.tableFooter, "'>\n </div>\n <div class='")).call(_context6, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context5, _styles.Classes.leftLockShadow, "'></div>\n </div>\n <div class='")).call(_context4, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context3, _styles.Classes.rightLockShadow, "'></div>\n </div>\n </div>\n <div class='")).call(_context2, _styles.Classes.stickyScroll, "'>\n <div class='")).call(_context, _styles.Classes.stickyScrollItem, "'></div>\n </div>\n </div> \n </div> \n </div>");
14
+ container.innerHTML = (0, _concat.default)(_context = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = (0, _concat.default)(_context0 = (0, _concat.default)(_context1 = (0, _concat.default)(_context10 = (0, _concat.default)(_context11 = (0, _concat.default)(_context12 = (0, _concat.default)(_context13 = (0, _concat.default)(_context14 = (0, _concat.default)(_context15 = "<div class='".concat(_styles.Classes.artTableWrapper, "'>\n <div class='")).call(_context15, _styles.Classes.loadingWrapper, "'>\n <div class='")).call(_context14, _styles.Classes.loadingIndicatorWrapper, "'>\n <div class='")).call(_context13, _styles.Classes.loadingIndicator, "'></div>\n </div> \n <div class='")).call(_context12, _styles.Classes.loadingContentWrapper, "'>\n <div class='")).call(_context11, _styles.Classes.artTable, "'>\n <div class='")).call(_context10, _styles.Classes.tableHeader, "'>\n \n </div>\n <div class='")).call(_context1, _styles.Classes.tableBody, "'>\n <div class='")).call(_context0, _styles.Classes.virtual, "'>\n <div class='")).call(_context9, _styles.Classes.virtualBlank, " top'></div>\n <table></table>\n <div class='")).call(_context8, _styles.Classes.virtualBlank, " bottom'></div>\n </div> \n </div>\n <div class='")).call(_context7, _styles.Classes.tableFooter, "'>\n </div>\n <div class='")).call(_context6, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context5, _styles.Classes.leftLockShadow, "'></div>\n </div>\n <div class='")).call(_context4, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context3, _styles.Classes.rightLockShadow, "'></div>\n </div>\n </div>\n <div class='")).call(_context2, _styles.Classes.stickyScroll, "'>\n <div class='")).call(_context, _styles.Classes.stickyScrollItem, "'></div>\n </div>\n </div> \n </div> \n </div>");
15
15
  tableDOMHelper = new _TableDOMUtils.TableDOMHelper(container.querySelector(".".concat(_styles.Classes.artTableWrapper)));
16
16
  });
17
17
  afterAll(function () {
@@ -20,8 +20,7 @@ var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-po
20
20
  var _rxjs = require("rxjs");
21
21
  var op = _interopRequireWildcard(require("rxjs/operators"));
22
22
  var _utils = require("../utils");
23
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
25
24
  function isWindow(arg) {
26
25
  return arg.toString() === '[object Window]' || arg.toString() === '[object global]';
27
26
  }
@@ -36,11 +36,11 @@ function HtmlTable(_ref) {
36
36
  descriptors: hozInfo.visible
37
37
  }), /*#__PURE__*/_react.default.createElement(tbodyHtmlTag, null, (0, _map.default)(data).call(data, renderRow)));
38
38
  function renderRow(record, i) {
39
- var _cx, _context;
39
+ var _context, _context2;
40
40
  var rowIndex = verInfo.offset + i;
41
41
  spanManager.stripUpwards(rowIndex);
42
42
  var rowProps = getRowProps(record, rowIndex);
43
- var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, (_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.first, rowIndex === verInfo.first), (0, _defineProperty2.default)(_cx, _styles.Classes.last, rowIndex === verInfo.last), (0, _defineProperty2.default)(_cx, _styles.Classes.even, rowIndex % 2 === 0), (0, _defineProperty2.default)(_cx, _styles.Classes.odd, rowIndex % 2 === 1), _cx), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
43
+ var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, rowIndex === verInfo.first), _styles.Classes.last, rowIndex === verInfo.last), _styles.Classes.even, rowIndex % 2 === 0), _styles.Classes.odd, rowIndex % 2 === 1), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
44
44
  var visibleColumnDescriptor = (0, _concat.default)(_context = hozInfo.visible).call(_context);
45
45
  // 左中右区域渲染,存在融合单元格时需要适配rowspan属性
46
46
  // 如果固定的列均存在融合单元格,需空白一列做占位,否则融合的单元格不会渲染,导致显示异常
@@ -53,12 +53,21 @@ function HtmlTable(_ref) {
53
53
  isPlacehoder: true
54
54
  });
55
55
  }
56
+ // detail 行跳过水平虚拟化,渲染所有列,确保 column 0 的 getSpanRect 能正确执行
57
+ var isDetailRow = (rowProps === null || rowProps === void 0 ? void 0 : rowProps['data-row-detail-key']) != null;
58
+ var rowDescriptors = isDetailRow ? (0, _map.default)(_context2 = flat.full).call(_context2, function (col, i) {
59
+ return {
60
+ type: 'normal',
61
+ col: col,
62
+ colIndex: i
63
+ };
64
+ }) : visibleColumnDescriptor;
56
65
  return /*#__PURE__*/_react.default.createElement("tr", (0, _extends2.default)({}, rowProps, {
57
66
  className: rowClass,
58
67
  key: (rowProps === null || rowProps === void 0 ? void 0 : rowProps['data-row-detail-key']) ? rowProps['data-row-detail-key'] : _internals.internals.safeGetRowKey(primaryKey, record, rowIndex),
59
68
  "data-rowindex": rowIndex,
60
69
  "data-role": 'table-row'
61
- }), (0, _map.default)(visibleColumnDescriptor).call(visibleColumnDescriptor, function (descriptor) {
70
+ }), (0, _map.default)(rowDescriptors).call(rowDescriptors, function (descriptor) {
62
71
  if (descriptor.type === 'blank') {
63
72
  return /*#__PURE__*/_react.default.createElement("td", {
64
73
  key: descriptor.blankSide,
@@ -67,11 +76,10 @@ function HtmlTable(_ref) {
67
76
  }
68
77
  });
69
78
  }
70
- return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex);
79
+ return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex, isDetailRow ? fullFlatCount : undefined);
71
80
  }));
72
81
  }
73
- function renderBodyCell(record, rowIndex, column, colIndex) {
74
- var _cx2;
82
+ function renderBodyCell(record, rowIndex, column, colIndex, colSpanLimit) {
75
83
  var _a, _b, _c;
76
84
  if (spanManager.testSkip(rowIndex, colIndex)) {
77
85
  return null;
@@ -102,7 +110,7 @@ function HtmlTable(_ref) {
102
110
  }
103
111
  // rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格
104
112
  rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex);
105
- colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex);
113
+ colSpan = Math.min(colSpan, (colSpanLimit !== null && colSpanLimit !== void 0 ? colSpanLimit : hozInfo.visible.length) - colIndex);
106
114
  // todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
107
115
  rowSpan = Math.max(rowSpan, 1);
108
116
  colSpan = Math.max(colSpan, 1);
@@ -126,7 +134,7 @@ function HtmlTable(_ref) {
126
134
  return /*#__PURE__*/_react.default.createElement('td', (0, _extends2.default)((0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({
127
135
  key: colIndex
128
136
  }, cellProps), {
129
- className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, _styles.Classes.first, colIndex === 0), (0, _defineProperty2.default)(_cx2, _styles.Classes.last, colIndex + colSpan === fullFlatCount), (0, _defineProperty2.default)(_cx2, _styles.Classes.lockLeft, colIndex < leftFlatCount || tbodyPosition === 'left'), (0, _defineProperty2.default)(_cx2, _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount), (0, _defineProperty2.default)(_cx2, _styles.Classes.rowSpan, rowSpan > 1), _cx2))
137
+ className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, colIndex === 0), _styles.Classes.last, colIndex + colSpan === fullFlatCount), _styles.Classes.lockLeft, colIndex < leftFlatCount || tbodyPosition === 'left'), _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount), _styles.Classes.rowSpan, rowSpan > 1))
130
138
  }), hasSpan ? {
131
139
  colSpan: colSpan,
132
140
  rowSpan: rowSpan
@@ -54,11 +54,11 @@ function Loading(_ref2) {
54
54
  LoadingIcon = _ref2$LoadingIcon === void 0 ? DefaultLoadingIcon : _ref2$LoadingIcon;
55
55
  return /*#__PURE__*/_react.default.createElement("div", {
56
56
  className: _styles.Classes.loadingWrapper
57
- }, visible && /*#__PURE__*/_react.default.createElement("div", {
57
+ }, visible && (/*#__PURE__*/_react.default.createElement("div", {
58
58
  className: _styles.Classes.loadingIndicatorWrapper
59
59
  }, /*#__PURE__*/_react.default.createElement("div", {
60
60
  className: _styles.Classes.loadingIndicator
61
- }, /*#__PURE__*/_react.default.createElement(LoadingIcon, null))), /*#__PURE__*/_react.default.createElement(LoadingContentWrapper, {
61
+ }, /*#__PURE__*/_react.default.createElement(LoadingIcon, null)))), /*#__PURE__*/_react.default.createElement(LoadingContentWrapper, {
62
62
  visible: visible,
63
63
  children: children
64
64
  }));
@@ -21,8 +21,7 @@ var _styles = require("./styles");
21
21
  var _utils = require("./utils");
22
22
  var _utils2 = require("../utils");
23
23
  var _header = _interopRequireDefault(require("./header"));
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
25
  /*
27
26
  * @Author: wqhui
28
27
  * @Date: 2022-03-14 11:21:12
@@ -62,7 +61,7 @@ function renderTableHeaderInIE(info, props, extra) {
62
61
  style: typeof (extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset) === 'number' ? {
63
62
  width: extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset
64
63
  } : undefined
65
- })), left.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
64
+ })), left.length > 0 ? (/*#__PURE__*/_react.default.createElement("div", {
66
65
  className: _styles.Classes.fixedLeft
67
66
  }, /*#__PURE__*/_react.default.createElement(_header.default, {
68
67
  info: (0, _extends2.default)((0, _extends2.default)({}, info), {
@@ -88,7 +87,7 @@ function renderTableHeaderInIE(info, props, extra) {
88
87
  }),
89
88
  theaderPosition: "left",
90
89
  rowCount: rowCount
91
- })) : null, right.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
90
+ }))) : null, right.length > 0 ? (/*#__PURE__*/_react.default.createElement("div", {
92
91
  className: _styles.Classes.fixedRight,
93
92
  style: fixedRightTableStyle
94
93
  }, /*#__PURE__*/_react.default.createElement(_header.default, {
@@ -115,7 +114,7 @@ function renderTableHeaderInIE(info, props, extra) {
115
114
  }),
116
115
  theaderPosition: 'right',
117
116
  rowCount: rowCount
118
- })) : null);
117
+ }))) : null);
119
118
  }
120
119
  function renderTableBodyInIE(info, props, extra) {
121
120
  var dataSource = props.dataSource,
@@ -147,33 +146,33 @@ function renderTableBodyInIE(info, props, extra) {
147
146
  }, /*#__PURE__*/_react.default.createElement("div", {
148
147
  className: _styles.Classes.virtual,
149
148
  tabIndex: -1
150
- }, topBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
149
+ }, topBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
151
150
  key: "top-blank",
152
151
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'top'),
153
152
  style: {
154
153
  height: topBlank
155
154
  }
156
- }), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
155
+ })), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
157
156
  tbodyHtmlTag: "tbody"
158
157
  }, commonProps, {
159
158
  tbodyPosition: hasLockColumn ? 'center' : undefined,
160
159
  horizontalRenderInfo: info,
161
160
  verticalRenderInfo: verticalRenderInfo
162
- })), bottomBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
161
+ })), bottomBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
163
162
  key: "bottom-blank",
164
163
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'bottom'),
165
164
  style: {
166
165
  height: bottomBlank
167
166
  }
168
- })), left.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
167
+ }))), left.length > 0 ? (/*#__PURE__*/_react.default.createElement("div", {
169
168
  className: _styles.Classes.fixedLeft
170
- }, topBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
169
+ }, topBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
171
170
  key: "top-blank",
172
171
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'top'),
173
172
  style: {
174
173
  height: topBlank
175
174
  }
176
- }), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
175
+ })), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
177
176
  tbodyHtmlTag: "tbody"
178
177
  }, commonProps, {
179
178
  tbodyPosition: "left",
@@ -187,21 +186,21 @@ function renderTableBodyInIE(info, props, extra) {
187
186
  visible: (0, _slice.default)(visible).call(visible, 0, left.length)
188
187
  }),
189
188
  verticalRenderInfo: verticalRenderInfo
190
- })), bottomBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
189
+ })), bottomBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
191
190
  key: "bottom-blank",
192
191
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'bottom'),
193
192
  style: {
194
193
  height: bottomBlank
195
194
  }
196
- })) : null, right.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
195
+ })))) : null, right.length > 0 ? (/*#__PURE__*/_react.default.createElement("div", {
197
196
  className: _styles.Classes.fixedRight
198
- }, topBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
197
+ }, topBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
199
198
  key: "top-blank",
200
199
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'top'),
201
200
  style: {
202
201
  height: topBlank
203
202
  }
204
- }), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
203
+ })), /*#__PURE__*/_react.default.createElement(_htmlTable.HtmlTable, (0, _extends2.default)({
205
204
  tbodyHtmlTag: "tbody"
206
205
  }, commonProps, {
207
206
  tbodyPosition: "right",
@@ -215,13 +214,13 @@ function renderTableBodyInIE(info, props, extra) {
215
214
  visible: (0, _slice.default)(visible).call(visible, visible.length - right.length)
216
215
  }),
217
216
  verticalRenderInfo: verticalRenderInfo
218
- })), bottomBlank > 0 && /*#__PURE__*/_react.default.createElement("div", {
217
+ })), bottomBlank > 0 && (/*#__PURE__*/_react.default.createElement("div", {
219
218
  key: "bottom-blank",
220
219
  className: (0, _classnames.default)(_styles.Classes.virtualBlank, 'bottom'),
221
220
  style: {
222
221
  height: bottomBlank
223
222
  }
224
- })) : null, /*#__PURE__*/_react.default.createElement("div", {
223
+ })))) : null, /*#__PURE__*/_react.default.createElement("div", {
225
224
  className: _styles.Classes.rowDetailContainer
226
225
  }));
227
226
  }
@@ -308,7 +307,7 @@ function renderRowDetailInIE(params) {
308
307
  if (!domHelper) return;
309
308
  var artTable = domHelper.artTable;
310
309
  var rowDetailContainer = artTable && artTable.querySelector(".".concat(_styles.Classes.rowDetailContainer));
311
- return /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(RowDetail, (0, _extends2.default)({}, params)), rowDetailContainer);
310
+ return /*#__PURE__*/_reactDom.default.createPortal(/*#__PURE__*/_react.default.createElement(RowDetail, (0, _extends2.default)({}, params)), rowDetailContainer);
312
311
  }
313
312
  function RowDetail(props) {
314
313
  var detailRef = (0, _react.useRef)(null);
@@ -335,9 +334,7 @@ function RowDetail(props) {
335
334
  (0, _react.useEffect)(function () {
336
335
  // 这时候行才渲染完,只能在这里设置偏移量
337
336
  var offsetTop = domHelper.getRowTop(rowIndex) || 0;
338
- setTimeout(function () {
339
- detailRef.current.style.transform = "translateY(".concat(offsetTop + 'px', ")");
340
- }, 0);
337
+ detailRef.current.style.transform = "translateY(".concat(offsetTop + 'px', ")");
341
338
  });
342
339
  return /*#__PURE__*/_react.default.createElement("div", {
343
340
  ref: detailRef,