@kdcloudjs/table 1.2.0-canary.6 → 1.2.0-canary.6-hotfix.2

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 (254) hide show
  1. package/LICENSE +568 -568
  2. package/README.md +111 -111
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.js +1877 -3363
  5. package/dist/@kdcloudjs/table.js.map +1 -1
  6. package/dist/@kdcloudjs/table.min.css +1 -1
  7. package/dist/@kdcloudjs/table.min.js +16 -16
  8. package/dist/@kdcloudjs/table.min.js.map +1 -1
  9. package/dist/kd-ui-complete.less +777 -777
  10. package/es/_utils/arrayUtil.js +0 -3
  11. package/es/_utils/devwarning.js +0 -1
  12. package/es/_utils/formatUtil.js +35 -96
  13. package/es/_utils/hooks.js +18 -42
  14. package/es/_utils/index.js +0 -2
  15. package/es/_utils/numberUtil.js +32 -55
  16. package/es/_utils/omit.js +0 -2
  17. package/es/_utils/type.js +0 -2
  18. package/es/_utils/usePopper.js +74 -137
  19. package/es/config-provider/compDefaultProps.js +0 -1
  20. package/es/config-provider/configProvider.js +2 -7
  21. package/es/config-provider/defaultConfig.js +0 -1
  22. package/es/index.js +0 -2
  23. package/es/locale/locale.js +5 -43
  24. package/es/style/color/colors.less +1 -1
  25. package/es/style/core/index.less +1 -1
  26. package/es/style/core/motion/other.less +27 -27
  27. package/es/style/core/motion/slide.less +53 -53
  28. package/es/style/core/motion.less +1 -1
  29. package/es/style/core/reset.less +185 -185
  30. package/es/style/index.less +1 -1
  31. package/es/style/mixins/index.less +18 -18
  32. package/es/style/mixins/overlay.less +21 -21
  33. package/es/style/mixins/reset.less +12 -12
  34. package/es/style/themes/default.less +445 -445
  35. package/es/table/base/calculations.js +22 -72
  36. package/es/table/base/colgroup.js +0 -1
  37. package/es/table/base/empty.js +4 -4
  38. package/es/table/base/header.d.ts +2 -1
  39. package/es/table/base/header.js +17 -68
  40. package/es/table/base/helpers/SpanManager.js +3 -9
  41. package/es/table/base/helpers/TableDOMUtils.js +3 -26
  42. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  43. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  44. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  45. package/es/table/base/helpers/rowHeightManager.js +0 -28
  46. package/es/table/base/html-table.js +15 -36
  47. package/es/table/base/loading.js +6 -8
  48. package/es/table/base/renderTemplates.js +50 -54
  49. package/es/table/base/styles.js +1 -10
  50. package/es/table/base/table.js +116 -189
  51. package/es/table/base/utils.js +14 -54
  52. package/es/table/common-views.js +0 -7
  53. package/es/table/internals.js +0 -13
  54. package/es/table/pipeline/features/autoFill.js +11 -38
  55. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  56. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  57. package/es/table/pipeline/features/columnDrag.js +41 -95
  58. package/es/table/pipeline/features/columnFilter.js +11 -44
  59. package/es/table/pipeline/features/columnHover.js +1 -7
  60. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  61. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  62. package/es/table/pipeline/features/contextMenu.js +18 -89
  63. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  64. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  65. package/es/table/pipeline/features/filter/Filter.js +25 -48
  66. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  67. package/es/table/pipeline/features/filter/util.js +0 -4
  68. package/es/table/pipeline/features/footerDataSource.js +0 -3
  69. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  70. package/es/table/pipeline/features/multiSelect.js +15 -57
  71. package/es/table/pipeline/features/rangeSelection.js +63 -142
  72. package/es/table/pipeline/features/rowDetail.js +2 -41
  73. package/es/table/pipeline/features/rowGrouping.js +2 -35
  74. package/es/table/pipeline/features/singleSelect.js +0 -24
  75. package/es/table/pipeline/features/sort.js +29 -79
  76. package/es/table/pipeline/features/tips.js +0 -6
  77. package/es/table/pipeline/features/treeMode.js +9 -43
  78. package/es/table/pipeline/features/treeSelect.js +0 -26
  79. package/es/table/pipeline/pipeline.js +9 -49
  80. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  81. package/es/table/pivot/cross-table/cross-table.js +22 -28
  82. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  83. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  84. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  85. package/es/table/pivot/pivot-utils/builders.js +31 -71
  86. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  87. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  88. package/es/table/style/index.less +1 -1
  89. package/es/table/transforms/autoRowSpan.js +1 -15
  90. package/es/table/transforms/autoWidth.js +10 -32
  91. package/es/table/transforms/buildTree.js +1 -2
  92. package/es/table/transforms/columnHover.js +9 -15
  93. package/es/table/transforms/columnRangeHover.js +12 -19
  94. package/es/table/transforms/columnResize.js +15 -37
  95. package/es/table/transforms/flatten.js +0 -3
  96. package/es/table/transforms/orderField.js +0 -3
  97. package/es/table/transforms/sort.js +36 -88
  98. package/es/table/transforms/tips.js +1 -6
  99. package/es/table/transforms/treeMode.js +30 -69
  100. package/es/table/transforms/visible.js +0 -2
  101. package/es/table/use/useResizeObserver.js +1 -4
  102. package/es/table/utils/applyTransforms.js +0 -1
  103. package/es/table/utils/buildTree.js +4 -19
  104. package/es/table/utils/collectNodes.js +1 -10
  105. package/es/table/utils/console.js +0 -14
  106. package/es/table/utils/copyToClipboard.js +0 -4
  107. package/es/table/utils/element.js +14 -41
  108. package/es/table/utils/exportTableAsExcel.js +4 -40
  109. package/es/table/utils/getTreeDepth.js +1 -9
  110. package/es/table/utils/groupBy.js +1 -10
  111. package/es/table/utils/layeredFilter.js +0 -4
  112. package/es/table/utils/layeredSort.js +0 -5
  113. package/es/table/utils/makeRecursiveMapper.js +1 -12
  114. package/es/table/utils/mergeCellProps.js +6 -13
  115. package/es/table/utils/others.js +3 -16
  116. package/es/table/utils/proto.js +2 -30
  117. package/es/table/utils/smartCompare.js +4 -12
  118. package/es/table/utils/traverseColumn.js +2 -15
  119. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  120. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  121. package/lib/_utils/arrayUtil.js +0 -5
  122. package/lib/_utils/devwarning.js +0 -5
  123. package/lib/_utils/formatUtil.js +35 -100
  124. package/lib/_utils/hooks.js +18 -53
  125. package/lib/_utils/index.js +0 -6
  126. package/lib/_utils/numberUtil.js +32 -63
  127. package/lib/_utils/omit.js +0 -5
  128. package/lib/_utils/react-children.js +0 -5
  129. package/lib/_utils/type.js +0 -6
  130. package/lib/_utils/usePopper.js +74 -158
  131. package/lib/config-provider/ConfigContext.js +1 -4
  132. package/lib/config-provider/compDefaultProps.js +0 -1
  133. package/lib/config-provider/configProvider.js +3 -18
  134. package/lib/config-provider/defaultConfig.js +0 -5
  135. package/lib/config-provider/index.js +0 -6
  136. package/lib/index.js +2 -8
  137. package/lib/locale/index.js +0 -7
  138. package/lib/locale/locale.js +5 -57
  139. package/lib/style/color/colors.less +1 -1
  140. package/lib/style/components.less +1 -1
  141. package/lib/style/core/index.less +1 -1
  142. package/lib/style/core/motion/other.less +27 -27
  143. package/lib/style/core/motion/slide.less +53 -53
  144. package/lib/style/core/motion.less +1 -1
  145. package/lib/style/core/reset.less +185 -185
  146. package/lib/style/index.less +1 -1
  147. package/lib/style/mixins/index.less +18 -18
  148. package/lib/style/mixins/overlay.less +21 -21
  149. package/lib/style/mixins/reset.less +12 -12
  150. package/lib/style/themes/default.less +445 -445
  151. package/lib/table/base/calculations.js +22 -83
  152. package/lib/table/base/colgroup.js +0 -5
  153. package/lib/table/base/empty.js +4 -16
  154. package/lib/table/base/header.d.ts +2 -1
  155. package/lib/table/base/header.js +17 -78
  156. package/lib/table/base/helpers/SpanManager.js +3 -11
  157. package/lib/table/base/helpers/TableDOMUtils.js +1 -26
  158. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  159. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  160. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  161. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  162. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  163. package/lib/table/base/html-table.js +15 -46
  164. package/lib/table/base/index.js +0 -2
  165. package/lib/table/base/loading.js +6 -12
  166. package/lib/table/base/renderTemplates.js +51 -68
  167. package/lib/table/base/styles.js +1 -22
  168. package/lib/table/base/table.js +116 -222
  169. package/lib/table/base/utils.js +14 -89
  170. package/lib/table/common-views.js +0 -16
  171. package/lib/table/index.js +0 -13
  172. package/lib/table/internals.js +0 -14
  173. package/lib/table/pipeline/features/autoFill.js +11 -45
  174. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  175. package/lib/table/pipeline/features/buildTree.js +0 -2
  176. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  177. package/lib/table/pipeline/features/columnDrag.js +41 -101
  178. package/lib/table/pipeline/features/columnFilter.js +11 -58
  179. package/lib/table/pipeline/features/columnHover.js +1 -11
  180. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  181. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  182. package/lib/table/pipeline/features/contextMenu.js +18 -113
  183. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  184. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  185. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  186. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  187. package/lib/table/pipeline/features/filter/index.js +0 -5
  188. package/lib/table/pipeline/features/filter/util.js +0 -7
  189. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  190. package/lib/table/pipeline/features/index.js +0 -22
  191. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  192. package/lib/table/pipeline/features/multiSelect.js +15 -70
  193. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  194. package/lib/table/pipeline/features/rowDetail.js +2 -65
  195. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  196. package/lib/table/pipeline/features/singleSelect.js +0 -33
  197. package/lib/table/pipeline/features/sort.js +29 -99
  198. package/lib/table/pipeline/features/tips.js +0 -15
  199. package/lib/table/pipeline/features/treeMode.js +9 -64
  200. package/lib/table/pipeline/features/treeSelect.js +0 -34
  201. package/lib/table/pipeline/index.js +0 -8
  202. package/lib/table/pipeline/pipeline.js +9 -58
  203. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  204. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  205. package/lib/table/pivot/cross-table/index.js +0 -4
  206. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  207. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  208. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  209. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  210. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  211. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  212. package/lib/table/pivot/pivot-utils/index.js +0 -7
  213. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  214. package/lib/table/style/css.js +0 -1
  215. package/lib/table/style/index.js +0 -1
  216. package/lib/table/style/index.less +1 -1
  217. package/lib/table/transforms/autoRowSpan.js +1 -21
  218. package/lib/table/transforms/autoWidth.js +10 -53
  219. package/lib/table/transforms/buildTree.js +1 -4
  220. package/lib/table/transforms/columnHover.js +9 -22
  221. package/lib/table/transforms/columnRangeHover.js +12 -27
  222. package/lib/table/transforms/columnResize.js +15 -56
  223. package/lib/table/transforms/flatten.js +0 -5
  224. package/lib/table/transforms/index.js +0 -12
  225. package/lib/table/transforms/orderField.js +0 -7
  226. package/lib/table/transforms/sort.js +36 -112
  227. package/lib/table/transforms/tips.js +1 -16
  228. package/lib/table/transforms/treeMode.js +30 -96
  229. package/lib/table/transforms/visible.js +0 -7
  230. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  231. package/lib/table/use/useResizeObserver.js +1 -8
  232. package/lib/table/utils/applyTransforms.js +0 -2
  233. package/lib/table/utils/buildTree.js +4 -30
  234. package/lib/table/utils/collectNodes.js +1 -15
  235. package/lib/table/utils/console.js +0 -16
  236. package/lib/table/utils/copyToClipboard.js +0 -6
  237. package/lib/table/utils/element.js +14 -46
  238. package/lib/table/utils/exportTableAsExcel.js +4 -49
  239. package/lib/table/utils/getTreeDepth.js +1 -14
  240. package/lib/table/utils/groupBy.js +1 -14
  241. package/lib/table/utils/index.js +0 -20
  242. package/lib/table/utils/isGroupColumn.js +0 -3
  243. package/lib/table/utils/isLeafNode.js +0 -1
  244. package/lib/table/utils/layeredFilter.js +0 -10
  245. package/lib/table/utils/layeredSort.js +0 -10
  246. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  247. package/lib/table/utils/mergeCellProps.js +6 -17
  248. package/lib/table/utils/others.js +3 -31
  249. package/lib/table/utils/proto.js +2 -33
  250. package/lib/table/utils/smartCompare.js +4 -13
  251. package/lib/table/utils/traverseColumn.js +2 -22
  252. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  253. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  254. package/package.json +219 -218
@@ -1,96 +1,62 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.calculateRenderInfo = calculateRenderInfo;
17
12
  exports.getLeftNestedLockCount = getLeftNestedLockCount;
18
-
19
13
  var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
20
-
21
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
-
23
15
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
24
-
25
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
26
-
27
17
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
28
-
29
18
  var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
30
-
31
19
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
32
-
33
20
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/typeof"));
34
-
35
21
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
36
-
37
22
  var _utils = require("../utils");
38
-
39
23
  var _utils2 = require("./utils");
40
-
41
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; } } }; }
42
-
43
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); }
44
-
45
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; }
46
-
47
27
  function resolveVirtualEnabled(virtualEnum, defaultValue) {
48
28
  if (virtualEnum == null || virtualEnum === 'auto') {
49
29
  return defaultValue;
50
30
  }
51
-
52
31
  return virtualEnum;
53
32
  }
54
-
55
33
  var lockColumnNeedSpecifiedWidthWarned = false;
56
-
57
34
  function warnLockColumnNeedSpecifiedWidth(column) {
58
35
  if (!lockColumnNeedSpecifiedWidthWarned) {
59
36
  lockColumnNeedSpecifiedWidthWarned = true;
60
-
61
37
  _utils.console.warn('lock=true 的列需要指定宽度', column);
62
38
  }
63
39
  }
64
-
65
40
  var columnHiddenDeprecatedWarned = false;
66
-
67
41
  function warnColumnHiddenDeprecated(column) {
68
42
  if (!columnHiddenDeprecatedWarned) {
69
43
  columnHiddenDeprecatedWarned = true;
70
-
71
44
  _utils.console.warn('column.hidden 已经过时,如果需要隐藏该列,请将其从 columns 数组中移除', column);
72
45
  }
73
46
  }
74
47
  /** 检查列配置 & 设置默认宽度 & 剔除隐藏的列 */
75
-
76
-
77
48
  function processColumns(columns, defaultColumnWidth) {
78
49
  if (columns == null || !Array.isArray(columns)) {
79
50
  _utils.console.warn('<BaseTable /> props.columns 需要传入一个数组', columns);
80
-
81
51
  columns = [];
82
52
  }
83
-
84
53
  function dfs(columns) {
85
54
  var result = [];
86
-
87
55
  var _iterator = _createForOfIteratorHelper(columns),
88
- _step;
89
-
56
+ _step;
90
57
  try {
91
58
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
92
59
  var column = _step.value;
93
-
94
60
  if (column.width == null) {
95
61
  if (defaultColumnWidth != null) {
96
62
  column = (0, _extends2.default)((0, _extends2.default)({}, column), {
@@ -100,7 +66,6 @@ function processColumns(columns, defaultColumnWidth) {
100
66
  warnLockColumnNeedSpecifiedWidth(column);
101
67
  }
102
68
  }
103
-
104
69
  if ((0, _utils.isLeafNode)(column)) {
105
70
  if (column.hidden) {
106
71
  // 被隐藏的列 会在这里被剔除
@@ -109,8 +74,8 @@ function processColumns(columns, defaultColumnWidth) {
109
74
  result.push(column);
110
75
  }
111
76
  } else {
112
- var nextChildren = dfs(column.children); // 如果 nextChildren 为空,说明所有的子节点均被隐藏了,在这里隐藏父节点
113
-
77
+ var nextChildren = dfs(column.children);
78
+ // 如果 nextChildren 为空,说明所有的子节点均被隐藏了,在这里隐藏父节点
114
79
  if (nextChildren.length > 0) {
115
80
  result.push((0, _extends2.default)((0, _extends2.default)({}, column), {
116
81
  children: nextChildren
@@ -123,23 +88,17 @@ function processColumns(columns, defaultColumnWidth) {
123
88
  } finally {
124
89
  _iterator.f();
125
90
  }
126
-
127
91
  return result;
128
92
  }
129
-
130
93
  return dfs(columns);
131
94
  }
132
-
133
95
  function getLeftNestedLockCount(columns) {
134
96
  var nestedCount = 0;
135
-
136
97
  var _iterator2 = _createForOfIteratorHelper(columns),
137
- _step2;
138
-
98
+ _step2;
139
99
  try {
140
100
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
141
101
  var col = _step2.value;
142
-
143
102
  if (isLock(col)) {
144
103
  nestedCount += 1;
145
104
  } else {
@@ -151,9 +110,7 @@ function getLeftNestedLockCount(columns) {
151
110
  } finally {
152
111
  _iterator2.f();
153
112
  }
154
-
155
113
  return nestedCount;
156
-
157
114
  function isLock(col) {
158
115
  if ((0, _utils.isLeafNode)(col)) {
159
116
  return col.lock;
@@ -162,15 +119,12 @@ function getLeftNestedLockCount(columns) {
162
119
  }
163
120
  }
164
121
  }
165
-
166
122
  function getHorizontalRenderRange(_ref) {
167
123
  var _context, _context2;
168
-
169
124
  var offsetX = _ref.offsetX,
170
- maxRenderWidth = _ref.maxRenderWidth,
171
- flat = (0, _flat.default)(_ref),
172
- useVirtual = _ref.useVirtual;
173
-
125
+ maxRenderWidth = _ref.maxRenderWidth,
126
+ flat = (0, _flat.default)(_ref),
127
+ useVirtual = _ref.useVirtual;
174
128
  if (!useVirtual.horizontal) {
175
129
  return {
176
130
  leftIndex: 0,
@@ -179,30 +133,24 @@ function getHorizontalRenderRange(_ref) {
179
133
  rightBlank: 0
180
134
  };
181
135
  }
182
-
183
136
  var leftIndex = 0;
184
137
  var centerCount = 0;
185
138
  var leftBlank = 0;
186
139
  var centerRenderWidth = 0;
187
140
  var overscannedOffsetX = Math.max(0, offsetX - _utils2.OVERSCAN_SIZE);
188
-
189
141
  while (leftIndex < flat.center.length) {
190
142
  var col = flat.center[leftIndex];
191
-
192
143
  if (col.width + leftBlank < overscannedOffsetX) {
193
144
  leftIndex += 1;
194
145
  leftBlank += col.width;
195
146
  } else {
196
147
  break;
197
148
  }
198
- } // 考虑 over scan 之后,中间部分的列至少需要渲染的宽度
199
-
200
-
149
+ }
150
+ // 考虑 over scan 之后,中间部分的列至少需要渲染的宽度
201
151
  var minCenterRenderWidth = maxRenderWidth + (overscannedOffsetX - leftBlank) + 2 * _utils2.OVERSCAN_SIZE;
202
-
203
152
  while (leftIndex + centerCount < flat.center.length) {
204
153
  var _col = flat.center[leftIndex + centerCount];
205
-
206
154
  if (centerRenderWidth < minCenterRenderWidth) {
207
155
  centerRenderWidth += _col.width;
208
156
  centerCount += 1;
@@ -210,7 +158,6 @@ function getHorizontalRenderRange(_ref) {
210
158
  break;
211
159
  }
212
160
  }
213
-
214
161
  var rightBlankCount = flat.center.length - leftIndex - centerCount;
215
162
  var rightBlank = (0, _utils2.sum)((0, _map.default)(_context = (0, _slice.default)(_context2 = flat.center).call(_context2, flat.center.length - rightBlankCount)).call(_context, function (col) {
216
163
  return col.width;
@@ -221,28 +168,25 @@ function getHorizontalRenderRange(_ref) {
221
168
  rightIndex: leftIndex + centerCount,
222
169
  rightBlank: rightBlank
223
170
  };
224
- } // 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)
171
+ }
172
+ // 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)
225
173
  // todo 可以考虑下将 header 部分的计算逻辑也放到这个文件中,目前应该有一些重复的计算逻辑
226
-
227
-
228
174
  function calculateRenderInfo(table) {
229
175
  var _context3, _context4, _context5, _context6, _context7, _context8, _context9;
230
-
231
176
  var _table$state = table.state,
232
- offsetX = _table$state.offsetX,
233
- maxRenderWidth = _table$state.maxRenderWidth;
177
+ offsetX = _table$state.offsetX,
178
+ maxRenderWidth = _table$state.maxRenderWidth;
234
179
  var _table$props = table.props,
235
- useVirtualProp = _table$props.useVirtual,
236
- columnsProp = _table$props.columns,
237
- dataSourceProp = _table$props.dataSource,
238
- defaultColumnWidth = _table$props.defaultColumnWidth;
180
+ useVirtualProp = _table$props.useVirtual,
181
+ columnsProp = _table$props.columns,
182
+ dataSourceProp = _table$props.dataSource,
183
+ defaultColumnWidth = _table$props.defaultColumnWidth;
239
184
  var columns = processColumns(columnsProp, defaultColumnWidth);
240
185
  var leftNestedLockCount = getLeftNestedLockCount(columns);
241
186
  var fullFlat = (0, _utils.collectNodes)(columns, 'leaf-only');
242
187
  var flat;
243
188
  var nested;
244
189
  var useVirtual;
245
-
246
190
  if (leftNestedLockCount === columns.length) {
247
191
  flat = {
248
192
  left: [],
@@ -288,7 +232,6 @@ function calculateRenderInfo(table) {
288
232
  center: centerNested
289
233
  };
290
234
  }
291
-
292
235
  var horizontalRenderRange = getHorizontalRenderRange({
293
236
  maxRenderWidth: maxRenderWidth,
294
237
  offsetX: offsetX,
@@ -297,9 +240,9 @@ function calculateRenderInfo(table) {
297
240
  });
298
241
  var verticalRenderRange = table.getVerticalRenderRange(useVirtual);
299
242
  var leftBlank = horizontalRenderRange.leftBlank,
300
- leftIndex = horizontalRenderRange.leftIndex,
301
- rightBlank = horizontalRenderRange.rightBlank,
302
- rightIndex = horizontalRenderRange.rightIndex;
243
+ leftIndex = horizontalRenderRange.leftIndex,
244
+ rightBlank = horizontalRenderRange.rightBlank,
245
+ rightIndex = horizontalRenderRange.rightIndex;
303
246
  var unfilteredVisibleColumnDescriptors = (0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)((0, _map.default)(_context4 = flat.left).call(_context4, function (col, i) {
304
247
  return {
305
248
  type: 'normal',
@@ -327,7 +270,8 @@ function calculateRenderInfo(table) {
327
270
  colIndex: flat.full.length - flat.right.length + i
328
271
  };
329
272
  })));
330
- var visibleColumnDescriptors = (0, _filter.default)(unfilteredVisibleColumnDescriptors).call(unfilteredVisibleColumnDescriptors, Boolean); // const totalWidth = visibleColumnDescriptors.reduce((pre, cur) => {
273
+ var visibleColumnDescriptors = (0, _filter.default)(unfilteredVisibleColumnDescriptors).call(unfilteredVisibleColumnDescriptors, Boolean);
274
+ // const totalWidth = visibleColumnDescriptors.reduce((pre, cur) => {
331
275
  // if (cur.type === 'blank') {
332
276
  // return cur.width + pre
333
277
  // } else {
@@ -341,26 +285,21 @@ function calculateRenderInfo(table) {
341
285
  // width: `width: calc(100% - ${totalWidth}px)`
342
286
  // } as VisibleColumnDescriptor)
343
287
  // }
344
-
345
288
  var fullFlatCount = flat.full.length;
346
289
  var leftFlatCount = flat.left.length;
347
290
  var rightFlatCount = flat.right.length;
348
291
  var stickyLeftMap = new _map2.default();
349
292
  var stickyLeft = 0;
350
-
351
293
  for (var i = 0; i < leftFlatCount; i++) {
352
294
  stickyLeftMap.set(i, stickyLeft);
353
295
  stickyLeft += flat.full[i].width;
354
296
  }
355
-
356
297
  var stickyRightMap = new _map2.default();
357
298
  var stickyRight = 0;
358
-
359
299
  for (var _i = 0; _i < rightFlatCount; _i++) {
360
300
  stickyRightMap.set(fullFlatCount - 1 - _i, stickyRight);
361
301
  stickyRight += flat.full[fullFlatCount - 1 - _i].width;
362
302
  }
363
-
364
303
  var leftLockTotalWidth = (0, _utils2.sum)((0, _map.default)(_context8 = flat.left).call(_context8, function (col) {
365
304
  return col.width;
366
305
  }));
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Colgroup = Colgroup;
9
-
10
8
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  function Colgroup(_ref) {
15
11
  var descriptors = _ref.descriptors;
16
12
  return /*#__PURE__*/_react.default.createElement("colgroup", null, (0, _map.default)(descriptors).call(descriptors, function (descriptor) {
@@ -22,7 +18,6 @@ function Colgroup(_ref) {
22
18
  }
23
19
  });
24
20
  }
25
-
26
21
  return /*#__PURE__*/_react.default.createElement("col", {
27
22
  key: descriptor.colIndex,
28
23
  style: {
@@ -1,30 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
-
9
6
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.EmptyHtmlTable = EmptyHtmlTable;
15
-
16
11
  var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _colgroup = require("./colgroup");
21
-
22
14
  var _styles = require("./styles");
23
-
24
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); }
25
-
26
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; }
27
-
28
17
  var DefaultEmptyContent = /*#__PURE__*/_react.default.memo(function () {
29
18
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
30
19
  alt: "empty-image",
@@ -34,13 +23,12 @@ var DefaultEmptyContent = /*#__PURE__*/_react.default.memo(function () {
34
23
  className: "empty-tips"
35
24
  }, "\u6CA1\u6709\u7B26\u5408\u67E5\u8BE2\u6761\u4EF6\u7684\u6570\u636E", /*#__PURE__*/_react.default.createElement("br", null), "\u8BF7\u4FEE\u6539\u6761\u4EF6\u540E\u91CD\u65B0\u67E5\u8BE2"));
36
25
  });
37
-
38
26
  function EmptyHtmlTable(_ref) {
39
27
  var descriptors = _ref.descriptors,
40
- isLoading = _ref.isLoading,
41
- emptyCellHeight = _ref.emptyCellHeight,
42
- _ref$EmptyContent = _ref.EmptyContent,
43
- EmptyContent = _ref$EmptyContent === void 0 ? DefaultEmptyContent : _ref$EmptyContent;
28
+ isLoading = _ref.isLoading,
29
+ emptyCellHeight = _ref.emptyCellHeight,
30
+ _ref$EmptyContent = _ref.EmptyContent,
31
+ EmptyContent = _ref$EmptyContent === void 0 ? DefaultEmptyContent : _ref$EmptyContent;
44
32
  var show = !isLoading;
45
33
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("table", {
46
34
  key: "table"
@@ -4,6 +4,7 @@ interface TableHeaderProps {
4
4
  info: RenderInfo;
5
5
  theaderPosition?: 'left' | 'center' | 'right';
6
6
  rowCount?: number;
7
+ stickyRightOffset?: number;
7
8
  }
8
- export default function TableHeader({ info, theaderPosition, rowCount: _rowCount }: TableHeaderProps): JSX.Element;
9
+ export default function TableHeader({ info, theaderPosition, rowCount: _rowCount, stickyRightOffset }: TableHeaderProps): JSX.Element;
9
10
  export {};
@@ -1,76 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.default = TableHeader;
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
-
20
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
-
22
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
23
-
24
15
  var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
29
-
30
18
  var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
19
  var _react = _interopRequireDefault(require("react"));
33
-
34
20
  var _utils = require("../utils");
35
-
36
21
  var _styles = require("./styles");
37
-
38
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; } } }; }
39
-
40
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); }
41
-
42
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; }
43
-
44
25
  function range(n) {
45
26
  var array = [];
46
-
47
27
  for (var i = 0; i < n; i++) {
48
28
  array.push(i);
49
29
  }
50
-
51
30
  return array;
52
31
  }
53
32
  /** 根据当前横向虚拟滚动 对 nested.center 进行过滤,结果只保留当前视野内可见的那些列配置 */
54
-
55
-
56
33
  function filterNestedCenter(centerNested, hoz, leftFlatCount) {
57
34
  return dfs(centerNested, leftFlatCount).filtered;
58
-
59
35
  function dfs(cols, startColIndex) {
60
36
  var leafCount = 0;
61
37
  var filtered = [];
62
-
63
38
  var _iterator = _createForOfIteratorHelper(cols),
64
- _step;
65
-
39
+ _step;
66
40
  try {
67
41
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
68
42
  var col = _step.value;
69
43
  var colIndex = startColIndex + leafCount;
70
-
71
44
  if ((0, _utils.isLeafNode)(col)) {
72
45
  leafCount += 1;
73
-
74
46
  if (leftFlatCount + hoz.leftIndex <= colIndex && colIndex < leftFlatCount + hoz.rightIndex) {
75
47
  filtered.push({
76
48
  colIndex: colIndex,
@@ -80,7 +52,6 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
80
52
  } else {
81
53
  var dfsRes = dfs(col.children, colIndex);
82
54
  leafCount += dfsRes.leafCount;
83
-
84
55
  if (dfsRes.filtered.length > 0) {
85
56
  filtered.push({
86
57
  colIndex: colIndex,
@@ -95,7 +66,6 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
95
66
  } finally {
96
67
  _iterator.f();
97
68
  }
98
-
99
69
  return {
100
70
  filtered: filtered,
101
71
  leafCount: leafCount
@@ -103,28 +73,21 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
103
73
  }
104
74
  }
105
75
  /** 根据输入的 nested 列配置,算出相应的 leveled & flat 配置方便渲染 */
106
-
107
-
108
76
  function calculateLeveledAndFlat(inputNested, rowCount) {
109
77
  var leveled = [];
110
-
111
78
  for (var depth = 0; depth < rowCount; depth++) {
112
79
  leveled.push([]);
113
80
  }
114
-
115
81
  var flat = [];
116
82
  dfs(inputNested, 0);
117
83
  return {
118
84
  flat: flat,
119
85
  leveled: leveled
120
86
  };
121
-
122
87
  function dfs(input, depth) {
123
88
  var leafCount = 0;
124
-
125
89
  for (var i = 0; i < input.length; i++) {
126
90
  var indexedCol = input[i];
127
-
128
91
  if ((0, _utils.isLeafNode)(indexedCol)) {
129
92
  leafCount += 1;
130
93
  var wrapped = {
@@ -140,7 +103,6 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
140
103
  } else {
141
104
  var dfsRes = dfs(indexedCol.children, depth + 1);
142
105
  leafCount += dfsRes.leafCount;
143
-
144
106
  if (dfsRes.leafCount > 0) {
145
107
  leveled[depth].push({
146
108
  type: 'normal',
@@ -153,26 +115,20 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
153
115
  }
154
116
  }
155
117
  }
156
-
157
118
  return {
158
119
  leafCount: leafCount
159
120
  };
160
121
  }
161
122
  }
162
123
  /** 包装列配置,附加上 colIndex 属性 */
163
-
164
-
165
124
  function attachColIndex(inputNested, colIndexOffset) {
166
125
  return dfs(inputNested, colIndexOffset).result;
167
-
168
126
  function dfs(input, startColIndex) {
169
127
  var result = [];
170
128
  var leafCount = 0;
171
-
172
129
  for (var i = 0; i < input.length; i++) {
173
130
  var col = input[i];
174
131
  var colIndex = startColIndex + leafCount;
175
-
176
132
  if ((0, _utils.isLeafNode)(col)) {
177
133
  leafCount += 1;
178
134
  result.push({
@@ -182,7 +138,6 @@ function attachColIndex(inputNested, colIndexOffset) {
182
138
  } else {
183
139
  var sub = dfs(col.children, colIndex);
184
140
  leafCount += sub.leafCount;
185
-
186
141
  if (sub.leafCount > 0) {
187
142
  result.push({
188
143
  col: col,
@@ -192,7 +147,6 @@ function attachColIndex(inputNested, colIndexOffset) {
192
147
  }
193
148
  }
194
149
  }
195
-
196
150
  return {
197
151
  result: result,
198
152
  leafCount: leafCount
@@ -200,17 +154,13 @@ function attachColIndex(inputNested, colIndexOffset) {
200
154
  }
201
155
  }
202
156
  /** 计算用于渲染表头的数据结构 */
203
-
204
-
205
157
  function calculateHeaderRenderInfo(_ref, rowCount) {
206
158
  var flat = (0, _flat.default)(_ref),
207
- nested = _ref.nested,
208
- hoz = _ref.horizontalRenderRange,
209
- useVirtual = _ref.useVirtual;
210
-
159
+ nested = _ref.nested,
160
+ hoz = _ref.horizontalRenderRange,
161
+ useVirtual = _ref.useVirtual;
211
162
  if (useVirtual.header) {
212
163
  var _context, _context2;
213
-
214
164
  var leftPart = calculateLeveledAndFlat(attachColIndex(nested.left, 0), rowCount);
215
165
  var filtered = filterNestedCenter(nested.center, hoz, flat.left.length);
216
166
  var centerPart = calculateLeveledAndFlat(filtered, rowCount);
@@ -227,7 +177,6 @@ function calculateHeaderRenderInfo(_ref, rowCount) {
227
177
  }], (0, _toConsumableArray2.default)((0, _flat.default)(rightPart))),
228
178
  leveled: (0, _map.default)(_context2 = range(rowCount)).call(_context2, function (depth) {
229
179
  var _context3;
230
-
231
180
  return (0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(leftPart.leveled[depth]), [{
232
181
  type: 'blank',
233
182
  width: hoz.leftBlank,
@@ -240,20 +189,18 @@ function calculateHeaderRenderInfo(_ref, rowCount) {
240
189
  })
241
190
  };
242
191
  }
243
-
244
192
  return calculateLeveledAndFlat(attachColIndex(nested.full, 0), rowCount);
245
193
  }
246
-
247
194
  function TableHeader(_ref2) {
248
195
  var _context4, _context5;
249
-
250
196
  var info = _ref2.info,
251
- theaderPosition = _ref2.theaderPosition,
252
- _rowCount = _ref2.rowCount;
197
+ theaderPosition = _ref2.theaderPosition,
198
+ _rowCount = _ref2.rowCount,
199
+ stickyRightOffset = _ref2.stickyRightOffset;
253
200
  var nested = info.nested,
254
- flat = (0, _flat.default)(info),
255
- stickyLeftMap = info.stickyLeftMap,
256
- stickyRightMap = info.stickyRightMap;
201
+ flat = (0, _flat.default)(info),
202
+ stickyLeftMap = info.stickyLeftMap,
203
+ stickyRightMap = info.stickyRightMap;
257
204
  var rowCount = _rowCount !== null && _rowCount !== void 0 ? _rowCount : (0, _utils.getTreeDepth)(nested.full) + 1;
258
205
  var headerRenderInfo = calculateHeaderRenderInfo(info, rowCount);
259
206
  var fullFlatCount = flat.full.length;
@@ -261,11 +208,9 @@ function TableHeader(_ref2) {
261
208
  var rightFlatCount = flat.right.length;
262
209
  var thead = (0, _map.default)(_context4 = headerRenderInfo.leveled).call(_context4, function (wrappedCols, level) {
263
210
  var _cx2;
264
-
265
- var _wrappedCols = (0, _concat.default)(wrappedCols).call(wrappedCols); // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
211
+ var _wrappedCols = (0, _concat.default)(wrappedCols).call(wrappedCols);
212
+ // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
266
213
  // rowspan 需要空白的列头去占位, 需要补充额外的空白列头
267
-
268
-
269
214
  if (rowCount > 1 && ['left', 'right'].indexOf(theaderPosition) > -1) {
270
215
  _wrappedCols.push({
271
216
  type: 'blank',
@@ -274,30 +219,25 @@ function TableHeader(_ref2) {
274
219
  isPlacehoder: true
275
220
  });
276
221
  }
277
-
278
222
  var headerCells = (0, _map.default)(_wrappedCols).call(_wrappedCols, function (wrapped, index) {
279
223
  var _a, _b, _c;
280
-
281
224
  if (wrapped.type === 'normal') {
282
225
  var _cx;
283
-
284
226
  var colIndex = wrapped.colIndex,
285
- colSpan = wrapped.colSpan,
286
- isLeaf = wrapped.isLeaf,
287
- col = wrapped.col;
227
+ colSpan = wrapped.colSpan,
228
+ isLeaf = wrapped.isLeaf,
229
+ col = wrapped.col;
288
230
  var headerCellProps = (_a = col.headerCellProps) !== null && _a !== void 0 ? _a : {};
289
231
  var positionStyle = {};
290
-
291
232
  if (colIndex < leftFlatCount) {
292
233
  positionStyle.position = 'sticky';
293
234
  positionStyle.left = stickyLeftMap.get(colIndex);
294
235
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
295
236
  positionStyle.position = 'sticky';
296
- positionStyle.right = stickyRightMap.get(colIndex);
237
+ var stickyRightIndex = colSpan > 1 ? colIndex + colSpan - 1 : colIndex;
238
+ positionStyle.right = stickyRightMap.get(stickyRightIndex) + stickyRightOffset;
297
239
  }
298
-
299
240
  var justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start';
300
-
301
241
  var cell = /*#__PURE__*/_react.default.createElement("th", (0, _extends2.default)({
302
242
  key: colIndex
303
243
  }, headerCellProps, {
@@ -315,7 +255,6 @@ function TableHeader(_ref2) {
315
255
  justifyContent: justifyContent
316
256
  }
317
257
  }, (_c = col.title) !== null && _c !== void 0 ? _c : col.name));
318
-
319
258
  return cell;
320
259
  } else {
321
260
  if (wrapped.width > 0) {