@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.7-hotfix.1

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 (251) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.css.map +0 -0
  3. package/dist/@kdcloudjs/table.js +1755 -3334
  4. package/dist/@kdcloudjs/table.js.map +1 -1
  5. package/dist/@kdcloudjs/table.min.css +1 -1
  6. package/dist/@kdcloudjs/table.min.js +16 -16
  7. package/dist/@kdcloudjs/table.min.js.map +1 -1
  8. package/dist/default-theme.js +0 -0
  9. package/dist/kd-ui-complete.less +0 -0
  10. package/dist/kd-ui.less +0 -0
  11. package/dist/theme.js +0 -0
  12. package/es/_utils/arrayUtil.js +0 -3
  13. package/es/_utils/devwarning.js +0 -1
  14. package/es/_utils/formatUtil.js +35 -96
  15. package/es/_utils/hooks.js +18 -42
  16. package/es/_utils/index.js +0 -2
  17. package/es/_utils/numberUtil.js +32 -55
  18. package/es/_utils/omit.js +0 -2
  19. package/es/_utils/type.js +0 -2
  20. package/es/_utils/usePopper.js +74 -137
  21. package/es/config-provider/compDefaultProps.js +0 -1
  22. package/es/config-provider/configProvider.js +2 -7
  23. package/es/config-provider/defaultConfig.js +0 -1
  24. package/es/index.js +0 -2
  25. package/es/locale/locale.js +5 -43
  26. package/es/table/base/calculations.js +22 -72
  27. package/es/table/base/colgroup.js +0 -1
  28. package/es/table/base/empty.js +4 -4
  29. package/es/table/base/header.js +16 -69
  30. package/es/table/base/helpers/SpanManager.js +3 -9
  31. package/es/table/base/helpers/TableDOMUtils.js +4 -28
  32. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  33. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  34. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  35. package/es/table/base/helpers/rowHeightManager.js +0 -28
  36. package/es/table/base/html-table.js +14 -35
  37. package/es/table/base/loading.js +6 -8
  38. package/es/table/base/renderTemplates.js +26 -44
  39. package/es/table/base/styles.js +0 -9
  40. package/es/table/base/table.js +95 -181
  41. package/es/table/base/utils.js +14 -54
  42. package/es/table/common-views.js +0 -7
  43. package/es/table/internals.js +0 -13
  44. package/es/table/pipeline/features/autoFill.js +11 -40
  45. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  46. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  47. package/es/table/pipeline/features/columnDrag.js +41 -96
  48. package/es/table/pipeline/features/columnFilter.js +11 -48
  49. package/es/table/pipeline/features/columnHover.js +1 -7
  50. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  51. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  52. package/es/table/pipeline/features/contextMenu.js +18 -89
  53. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  54. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  55. package/es/table/pipeline/features/filter/Filter.js +25 -48
  56. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  57. package/es/table/pipeline/features/filter/util.js +0 -4
  58. package/es/table/pipeline/features/footerDataSource.js +0 -3
  59. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  60. package/es/table/pipeline/features/multiSelect.js +15 -57
  61. package/es/table/pipeline/features/rangeSelection.js +63 -142
  62. package/es/table/pipeline/features/rowDetail.js +2 -41
  63. package/es/table/pipeline/features/rowDrag.js +38 -76
  64. package/es/table/pipeline/features/rowGrouping.js +2 -35
  65. package/es/table/pipeline/features/singleSelect.js +0 -24
  66. package/es/table/pipeline/features/sort.js +32 -89
  67. package/es/table/pipeline/features/tips.js +0 -6
  68. package/es/table/pipeline/features/treeMode.js +14 -46
  69. package/es/table/pipeline/features/treeSelect.js +0 -26
  70. package/es/table/pipeline/pipeline.js +11 -51
  71. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  72. package/es/table/pivot/cross-table/cross-table.js +22 -28
  73. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  74. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  75. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  76. package/es/table/pivot/pivot-utils/builders.js +31 -71
  77. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  78. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  79. package/es/table/transforms/autoRowSpan.js +1 -15
  80. package/es/table/transforms/autoWidth.js +10 -32
  81. package/es/table/transforms/buildTree.js +1 -2
  82. package/es/table/transforms/columnHover.js +9 -15
  83. package/es/table/transforms/columnRangeHover.js +12 -19
  84. package/es/table/transforms/columnResize.js +15 -37
  85. package/es/table/transforms/flatten.js +0 -3
  86. package/es/table/transforms/orderField.js +0 -3
  87. package/es/table/transforms/sort.js +36 -93
  88. package/es/table/transforms/tips.js +1 -6
  89. package/es/table/transforms/treeMode.js +30 -69
  90. package/es/table/transforms/visible.js +0 -2
  91. package/es/table/use/useResizeObserver.js +1 -4
  92. package/es/table/utils/applyTransforms.js +0 -1
  93. package/es/table/utils/browserType.js +12 -19
  94. package/es/table/utils/buildTree.js +4 -19
  95. package/es/table/utils/collectNodes.js +1 -10
  96. package/es/table/utils/console.js +0 -14
  97. package/es/table/utils/copyToClipboard.js +0 -4
  98. package/es/table/utils/element.js +14 -41
  99. package/es/table/utils/exportTableAsExcel.js +4 -40
  100. package/es/table/utils/getTreeDepth.js +1 -9
  101. package/es/table/utils/groupBy.js +1 -10
  102. package/es/table/utils/layeredFilter.js +0 -4
  103. package/es/table/utils/layeredSort.js +0 -5
  104. package/es/table/utils/makeRecursiveMapper.js +1 -12
  105. package/es/table/utils/mergeCellProps.js +6 -13
  106. package/es/table/utils/others.js +3 -16
  107. package/es/table/utils/proto.js +2 -30
  108. package/es/table/utils/smartCompare.js +4 -12
  109. package/es/table/utils/traverseColumn.js +2 -15
  110. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  111. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  112. package/es/table/utils/uiDegrade.js +0 -5
  113. package/lib/_utils/arrayUtil.js +0 -5
  114. package/lib/_utils/devwarning.js +0 -5
  115. package/lib/_utils/formatUtil.js +35 -100
  116. package/lib/_utils/hooks.js +18 -53
  117. package/lib/_utils/index.js +0 -6
  118. package/lib/_utils/numberUtil.js +32 -63
  119. package/lib/_utils/omit.js +0 -5
  120. package/lib/_utils/react-children.js +0 -5
  121. package/lib/_utils/type.js +0 -6
  122. package/lib/_utils/usePopper.js +74 -158
  123. package/lib/config-provider/ConfigContext.js +1 -4
  124. package/lib/config-provider/compDefaultProps.js +0 -1
  125. package/lib/config-provider/configProvider.js +3 -18
  126. package/lib/config-provider/defaultConfig.js +0 -5
  127. package/lib/config-provider/index.js +0 -6
  128. package/lib/index.js +2 -8
  129. package/lib/locale/index.js +0 -7
  130. package/lib/locale/locale.js +5 -57
  131. package/lib/table/base/calculations.js +22 -83
  132. package/lib/table/base/colgroup.js +0 -5
  133. package/lib/table/base/empty.js +4 -16
  134. package/lib/table/base/header.js +16 -79
  135. package/lib/table/base/helpers/SpanManager.js +3 -11
  136. package/lib/table/base/helpers/TableDOMUtils.js +2 -28
  137. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  138. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  139. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  140. package/lib/table/base/helpers/getRichVisibleRectsStream.js +13 -63
  141. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  142. package/lib/table/base/html-table.js +14 -45
  143. package/lib/table/base/index.js +0 -2
  144. package/lib/table/base/loading.js +6 -12
  145. package/lib/table/base/renderTemplates.js +27 -58
  146. package/lib/table/base/styles.js +0 -21
  147. package/lib/table/base/table.js +95 -214
  148. package/lib/table/base/utils.js +14 -89
  149. package/lib/table/common-views.js +0 -16
  150. package/lib/table/index.js +0 -13
  151. package/lib/table/internals.js +0 -14
  152. package/lib/table/pipeline/features/autoFill.js +11 -47
  153. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  154. package/lib/table/pipeline/features/buildTree.js +0 -2
  155. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  156. package/lib/table/pipeline/features/columnDrag.js +41 -102
  157. package/lib/table/pipeline/features/columnFilter.js +11 -62
  158. package/lib/table/pipeline/features/columnHover.js +1 -11
  159. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  160. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  161. package/lib/table/pipeline/features/contextMenu.js +18 -113
  162. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  163. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  164. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  165. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  166. package/lib/table/pipeline/features/filter/index.js +0 -5
  167. package/lib/table/pipeline/features/filter/util.js +0 -7
  168. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  169. package/lib/table/pipeline/features/index.js +0 -23
  170. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  171. package/lib/table/pipeline/features/multiSelect.js +15 -71
  172. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  173. package/lib/table/pipeline/features/rowDetail.js +2 -65
  174. package/lib/table/pipeline/features/rowDrag.js +38 -87
  175. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  176. package/lib/table/pipeline/features/singleSelect.js +0 -34
  177. package/lib/table/pipeline/features/sort.js +31 -108
  178. package/lib/table/pipeline/features/tips.js +0 -15
  179. package/lib/table/pipeline/features/treeMode.js +14 -67
  180. package/lib/table/pipeline/features/treeSelect.js +0 -34
  181. package/lib/table/pipeline/index.js +0 -8
  182. package/lib/table/pipeline/pipeline.js +11 -60
  183. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  184. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  185. package/lib/table/pivot/cross-table/index.js +0 -4
  186. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  187. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  188. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  189. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  190. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  191. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  192. package/lib/table/pivot/pivot-utils/index.js +0 -7
  193. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  194. package/lib/table/style/css.js +0 -1
  195. package/lib/table/style/index.js +0 -1
  196. package/lib/table/transforms/autoRowSpan.js +1 -21
  197. package/lib/table/transforms/autoWidth.js +10 -53
  198. package/lib/table/transforms/buildTree.js +1 -4
  199. package/lib/table/transforms/columnHover.js +9 -22
  200. package/lib/table/transforms/columnRangeHover.js +12 -27
  201. package/lib/table/transforms/columnResize.js +15 -56
  202. package/lib/table/transforms/flatten.js +0 -5
  203. package/lib/table/transforms/index.js +0 -12
  204. package/lib/table/transforms/orderField.js +0 -7
  205. package/lib/table/transforms/sort.js +36 -117
  206. package/lib/table/transforms/tips.js +1 -16
  207. package/lib/table/transforms/treeMode.js +30 -96
  208. package/lib/table/transforms/visible.js +0 -7
  209. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  210. package/lib/table/use/useResizeObserver.js +1 -8
  211. package/lib/table/utils/applyTransforms.js +0 -2
  212. package/lib/table/utils/browserType.js +12 -19
  213. package/lib/table/utils/buildTree.js +4 -30
  214. package/lib/table/utils/collectNodes.js +1 -15
  215. package/lib/table/utils/console.js +0 -16
  216. package/lib/table/utils/copyToClipboard.js +0 -6
  217. package/lib/table/utils/element.js +14 -46
  218. package/lib/table/utils/exportTableAsExcel.js +4 -49
  219. package/lib/table/utils/getTreeDepth.js +1 -14
  220. package/lib/table/utils/groupBy.js +1 -14
  221. package/lib/table/utils/index.js +0 -22
  222. package/lib/table/utils/isGroupColumn.js +0 -3
  223. package/lib/table/utils/isLeafNode.js +0 -1
  224. package/lib/table/utils/layeredFilter.js +0 -10
  225. package/lib/table/utils/layeredSort.js +0 -10
  226. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  227. package/lib/table/utils/mergeCellProps.js +6 -17
  228. package/lib/table/utils/others.js +3 -31
  229. package/lib/table/utils/proto.js +2 -33
  230. package/lib/table/utils/selectColumn.js +0 -1
  231. package/lib/table/utils/smartCompare.js +4 -13
  232. package/lib/table/utils/traverseColumn.js +2 -22
  233. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  234. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  235. package/lib/table/utils/uiDegrade.js +1 -8
  236. package/package.json +2 -1
  237. package/lib/style/color/colors.less +0 -2
  238. package/lib/style/core/index.less +0 -2
  239. package/lib/style/core/motion/other.less +0 -28
  240. package/lib/style/core/motion/slide.less +0 -53
  241. package/lib/style/core/motion.less +0 -2
  242. package/lib/style/core/reset.less +0 -186
  243. package/lib/style/index.css +0 -410
  244. package/lib/style/index.less +0 -2
  245. package/lib/style/mixins/index.less +0 -19
  246. package/lib/style/mixins/overlay.less +0 -22
  247. package/lib/style/mixins/reset.less +0 -13
  248. package/lib/style/themes/default.less +0 -445
  249. package/lib/style/themes/index.less +0 -1
  250. package/lib/table/style/index.css +0 -0
  251. package/lib/table/style/index.less +0 -1
@@ -1,166 +1,107 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
-
5
4
  var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
6
-
7
5
  var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
8
-
9
6
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
10
-
11
7
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
12
-
13
8
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
14
-
15
9
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
16
-
17
10
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
18
-
19
11
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
20
-
21
12
  Object.defineProperty(exports, "__esModule", {
22
13
  value: true
23
14
  });
24
15
  exports.BaseTable = void 0;
25
-
26
16
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
27
-
28
17
  var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
29
-
30
18
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
31
-
32
19
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
33
-
34
20
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
35
-
36
21
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
37
-
38
22
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
39
-
40
23
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
41
-
42
24
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
43
-
44
25
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
45
-
46
26
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
47
-
48
27
  var _classnames = _interopRequireDefault(require("classnames"));
49
-
50
28
  var _react = _interopRequireDefault(require("react"));
51
-
52
29
  var _rxjs = require("rxjs");
53
-
54
30
  var op = _interopRequireWildcard(require("rxjs/operators"));
55
-
56
31
  var _calculations = require("./calculations");
57
-
58
32
  var _empty = require("./empty");
59
-
60
33
  var _header = _interopRequireDefault(require("./header"));
61
-
62
34
  var _getRichVisibleRectsStream = require("./helpers/getRichVisibleRectsStream");
63
-
64
35
  var _rowHeightManager = require("./helpers/rowHeightManager");
65
-
66
36
  var _TableDOMUtils = require("./helpers/TableDOMUtils");
67
-
68
37
  var _htmlTable = require("./html-table");
69
-
70
38
  var _loading = _interopRequireDefault(require("./loading"));
71
-
72
39
  var _styles = require("./styles");
73
-
74
40
  var _utils = require("./utils");
75
-
76
41
  var _utils2 = require("../utils");
77
-
78
42
  var _renderTemplates = _interopRequireDefault(require("./renderTemplates"));
79
-
80
43
  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); }
81
-
82
44
  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; }
83
-
84
45
  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(_e2) { throw _e2; }, 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(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
85
-
86
46
  function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context2 = Object.prototype.toString.call(o)).call(_context2, 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); }
87
-
88
47
  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; }
89
-
90
48
  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); }; }
91
-
92
49
  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; } }
93
-
94
50
  var propsDotEmptyContentDeprecatedWarned = false;
95
-
96
51
  function warnPropsDotEmptyContentIsDeprecated() {
97
52
  if (!propsDotEmptyContentDeprecatedWarned) {
98
53
  propsDotEmptyContentDeprecatedWarned = true;
99
-
100
54
  _utils2.console.warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
101
55
  }
102
56
  }
103
-
104
57
  var BaseTable = /*#__PURE__*/function (_React$Component) {
105
58
  (0, _inherits2.default)(BaseTable, _React$Component);
106
-
107
59
  var _super = _createSuper(BaseTable);
108
-
109
60
  function BaseTable(props) {
110
61
  var _this;
111
-
112
62
  (0, _classCallCheck2.default)(this, BaseTable);
113
63
  _this = _super.call(this, props);
114
64
  _this.rowHeightManager = (0, _rowHeightManager.makeRowHeightManager)(_this.props.dataSource.length, _this.props.estimatedRowHeight);
115
65
  _this.artTableWrapperRef = /*#__PURE__*/_react.default.createRef();
116
66
  _this.hasScrollY = false;
117
67
  _this.offsetY = 0;
118
-
119
68
  _this.handleRowMouseEnter = function (e) {
120
69
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
121
-
122
70
  nodeList && nodeList.forEach(function (node) {
123
71
  node.classList.add('row-hover');
124
72
  });
125
73
  };
126
-
127
74
  _this.handleRowMouseLeave = function (e) {
128
75
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
129
-
130
76
  nodeList && nodeList.forEach(function (node) {
131
77
  node.classList.remove('row-hover');
132
78
  });
133
79
  };
134
-
135
80
  _this.renderTableBody = function (info) {
136
81
  // console.log('render body')
137
82
  var _this$props = _this.props,
138
- dataSource = _this$props.dataSource,
139
- getRowProps = _this$props.getRowProps,
140
- primaryKey = _this$props.primaryKey,
141
- isLoading = _this$props.isLoading,
142
- emptyCellHeight = _this$props.emptyCellHeight,
143
- footerDataSource = _this$props.footerDataSource;
144
- var tableBodyClassName = (0, _classnames.default)(_styles.Classes.tableBody, _styles.Classes.horizontalScrollContainer); // 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能
145
-
83
+ dataSource = _this$props.dataSource,
84
+ getRowProps = _this$props.getRowProps,
85
+ primaryKey = _this$props.primaryKey,
86
+ isLoading = _this$props.isLoading,
87
+ emptyCellHeight = _this$props.emptyCellHeight,
88
+ footerDataSource = _this$props.footerDataSource;
89
+ var tableBodyClassName = (0, _classnames.default)(_styles.Classes.tableBody, _styles.Classes.horizontalScrollContainer);
90
+ // 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能
146
91
  var virtualStyle = _utils2.browserType.isIE || _utils2.browserType.isEdge ? {
147
92
  overflow: 'hidden'
148
93
  } : {};
149
-
150
94
  if (dataSource.length === 0) {
151
95
  var _this$props2 = _this.props,
152
- components = _this$props2.components,
153
- emptyContent = _this$props2.emptyContent;
96
+ components = _this$props2.components,
97
+ emptyContent = _this$props2.emptyContent;
154
98
  var EmptyContent = components.EmptyContent;
155
-
156
99
  if (EmptyContent == null && emptyContent != null) {
157
100
  warnPropsDotEmptyContentIsDeprecated();
158
-
159
101
  EmptyContent = function EmptyContent() {
160
102
  return emptyContent;
161
103
  };
162
104
  }
163
-
164
105
  return /*#__PURE__*/_react.default.createElement("div", {
165
106
  className: (0, _classnames.default)(tableBodyClassName, 'empty')
166
107
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -174,14 +115,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
174
115
  emptyCellHeight: emptyCellHeight
175
116
  })));
176
117
  }
177
-
178
118
  var _info$verticalRenderR = info.verticalRenderRange,
179
- topIndex = _info$verticalRenderR.topIndex,
180
- bottomBlank = _info$verticalRenderR.bottomBlank,
181
- topBlank = _info$verticalRenderR.topBlank,
182
- bottomIndex = _info$verticalRenderR.bottomIndex;
119
+ topIndex = _info$verticalRenderR.topIndex,
120
+ bottomBlank = _info$verticalRenderR.bottomBlank,
121
+ topBlank = _info$verticalRenderR.topBlank,
122
+ bottomIndex = _info$verticalRenderR.bottomIndex;
183
123
  var renderBody = (0, _renderTemplates.default)('body');
184
-
185
124
  if (typeof renderBody === 'function') {
186
125
  return renderBody(info, _this.props, {
187
126
  rowProps: {
@@ -190,7 +129,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
190
129
  }
191
130
  });
192
131
  }
193
-
194
132
  return /*#__PURE__*/_react.default.createElement("div", {
195
133
  className: tableBodyClassName
196
134
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -223,7 +161,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
223
161
  }
224
162
  })));
225
163
  };
226
-
227
164
  _this.state = {
228
165
  hasScroll: true,
229
166
  hasScrollY: true,
@@ -239,44 +176,36 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
239
176
  return _this;
240
177
  }
241
178
  /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
242
-
243
-
244
179
  (0, _createClass2.default)(BaseTable, [{
245
180
  key: "getDoms",
246
181
  value: function getDoms() {
247
182
  _utils2.console.warn('[kd-table] BaseTable.getDoms() 已经过时');
248
-
249
183
  return this.domHelper;
250
184
  }
251
185
  /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
252
-
253
186
  }, {
254
187
  key: "updateStickyScroll",
255
188
  value: function updateStickyScroll() {
256
189
  var _a, _b;
257
-
258
190
  var _this$domHelper = this.domHelper,
259
- stickyScroll = _this$domHelper.stickyScroll,
260
- artTable = _this$domHelper.artTable,
261
- stickyScrollItem = _this$domHelper.stickyScrollItem;
191
+ stickyScroll = _this$domHelper.stickyScroll,
192
+ artTable = _this$domHelper.artTable,
193
+ stickyScrollItem = _this$domHelper.stickyScrollItem;
262
194
  var _lastHasScrollY = this.hasScrollY;
263
-
264
195
  if (!artTable) {
265
196
  return;
266
197
  }
267
-
268
198
  var tableBodyHtmlTable = this.domHelper.getTableBodyHtmlTable();
269
199
  var innerTableWidth = tableBodyHtmlTable.offsetWidth;
270
200
  var artTableWidth = artTable.offsetWidth;
271
- var artTableHeight = artTable.offsetHeight; // 表格隐藏后,不需要对表格的滚动条做额外的逻辑处理
272
-
201
+ var artTableHeight = artTable.offsetHeight;
202
+ // 表格隐藏后,不需要对表格的滚动条做额外的逻辑处理
273
203
  if (artTableWidth === 0 && artTableHeight === 0) return;
274
204
  var stickyScrollHeightProp = this.props.stickyScrollHeight;
275
- var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? this.getScrollBarWidth() : stickyScrollHeightProp; // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
205
+ var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? this.getScrollBarWidth() : stickyScrollHeightProp;
206
+ // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
276
207
  // 设置滚动条高度
277
-
278
208
  stickyScroll.style.height = "".concat(stickyScrollHeight, "px");
279
-
280
209
  if (artTableWidth >= innerTableWidth) {
281
210
  if (this.state.hasScroll) {
282
211
  this.setState({
@@ -291,7 +220,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
291
220
  });
292
221
  }
293
222
  }
294
-
295
223
  if (this.domHelper.virtual.offsetHeight > this.domHelper.tableBody.offsetHeight) {
296
224
  // if (!this.state.hasScroll) {
297
225
  // this.setState({
@@ -306,34 +234,30 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
306
234
  // })
307
235
  this.hasScrollY = false;
308
236
  }
309
-
310
237
  if (_lastHasScrollY !== this.hasScrollY) {
311
238
  (_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
312
239
  }
313
-
314
240
  var _this$lastInfo = this.lastInfo,
315
- leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
316
- rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
241
+ leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
242
+ rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
317
243
  var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth;
318
- var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0; // 设置子节点宽度
319
-
244
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
245
+ // 设置子节点宽度
320
246
  stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth + stickyRightOffset, "px");
321
247
  }
322
248
  }, {
323
249
  key: "renderTableHeader",
324
250
  value: function renderTableHeader(info) {
325
251
  var _this$props3 = this.props,
326
- stickyTop = _this$props3.stickyTop,
327
- hasHeader = _this$props3.hasHeader;
252
+ stickyTop = _this$props3.stickyTop,
253
+ hasHeader = _this$props3.hasHeader;
328
254
  var renderHeader = (0, _renderTemplates.default)('header');
329
255
  var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
330
-
331
256
  if (typeof renderHeader === 'function') {
332
257
  return renderHeader(info, this.props, {
333
258
  stickyRightOffset: stickyRightOffset
334
259
  });
335
260
  }
336
-
337
261
  return /*#__PURE__*/_react.default.createElement("div", {
338
262
  className: (0, _classnames.default)(_styles.Classes.tableHeader, 'no-scrollbar'),
339
263
  style: {
@@ -367,29 +291,23 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
367
291
  this.syncHorizontalScroll(this.domHelper.virtual.scrollLeft);
368
292
  }
369
293
  /** 同步横向滚动偏移量 */
370
-
371
294
  }, {
372
295
  key: "syncHorizontalScroll",
373
296
  value: function syncHorizontalScroll(x) {
374
297
  this.updateOffsetX(x);
375
298
  var flat = (0, _flat.default)(this.lastInfo);
376
299
  var leftLockShadow = this.domHelper.getLeftLockShadow();
377
-
378
300
  if (leftLockShadow) {
379
301
  var shouldShowLeftLockShadow = flat.left.length > 0 && this.state.needRenderLock && x > 0;
380
-
381
302
  if (shouldShowLeftLockShadow) {
382
303
  leftLockShadow.classList.add('show-shadow');
383
304
  } else {
384
305
  leftLockShadow.classList.remove('show-shadow');
385
306
  }
386
307
  }
387
-
388
308
  var rightLockShadow = this.domHelper.getRightLockShadow();
389
-
390
309
  if (rightLockShadow) {
391
310
  var shouldShowRightLockShadow = flat.right.length > 0 && this.state.needRenderLock && x < this.domHelper.virtual.scrollWidth - this.domHelper.virtual.clientWidth;
392
-
393
311
  if (shouldShowRightLockShadow) {
394
312
  rightLockShadow.classList.add('show-shadow');
395
313
  } else {
@@ -402,10 +320,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
402
320
  value: function getVerticalRenderRange(useVirtual) {
403
321
  var dataSource = this.props.dataSource;
404
322
  var _this$state = this.state,
405
- offsetY = _this$state.offsetY,
406
- maxRenderHeight = _this$state.maxRenderHeight;
323
+ offsetY = _this$state.offsetY,
324
+ maxRenderHeight = _this$state.maxRenderHeight;
407
325
  var rowCount = dataSource.length;
408
-
409
326
  if (useVirtual.vertical) {
410
327
  return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
411
328
  } else {
@@ -417,14 +334,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
417
334
  value: function renderTableFooter(info) {
418
335
  // console.log('render footer')
419
336
  var _this$props4 = this.props,
420
- _this$props4$footerDa = _this$props4.footerDataSource,
421
- footerDataSource = _this$props4$footerDa === void 0 ? [] : _this$props4$footerDa,
422
- getRowProps = _this$props4.getRowProps,
423
- primaryKey = _this$props4.primaryKey,
424
- stickyBottom = _this$props4.stickyBottom;
337
+ _this$props4$footerDa = _this$props4.footerDataSource,
338
+ footerDataSource = _this$props4$footerDa === void 0 ? [] : _this$props4$footerDa,
339
+ getRowProps = _this$props4.getRowProps,
340
+ primaryKey = _this$props4.primaryKey,
341
+ stickyBottom = _this$props4.stickyBottom;
425
342
  var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
426
343
  var renderFooter = (0, _renderTemplates.default)('footer');
427
-
428
344
  if (typeof renderFooter === 'function') {
429
345
  return renderFooter(info, this.props, {
430
346
  rowProps: {
@@ -434,7 +350,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
434
350
  stickyRightOffset: stickyRightOffset
435
351
  });
436
352
  }
437
-
438
353
  return /*#__PURE__*/_react.default.createElement("div", {
439
354
  className: (0, _classnames.default)(_styles.Classes.tableFooter, _styles.Classes.horizontalScrollContainer),
440
355
  style: {
@@ -464,8 +379,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
464
379
  }, {
465
380
  key: "renderLockShadows",
466
381
  value: function renderLockShadows(info) {
467
- var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0; // console.log('render LockShadows')
468
-
382
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
383
+ // console.log('render LockShadows')
469
384
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
470
385
  className: _styles.Classes.lockShadowMask,
471
386
  style: {
@@ -489,8 +404,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
489
404
  value: function renderStickyScroll(info) {
490
405
  // console.log('render stickyscroll')
491
406
  var _this$props5 = this.props,
492
- hasStickyScroll = _this$props5.hasStickyScroll,
493
- stickyBottom = _this$props5.stickyBottom;
407
+ hasStickyScroll = _this$props5.hasStickyScroll,
408
+ stickyBottom = _this$props5.stickyBottom;
494
409
  var hasScroll = this.state.hasScroll;
495
410
  var isScroll = hasStickyScroll && hasScroll;
496
411
  var stickyScrollContainerStyle = this.getStickyScrollContainerStyle();
@@ -528,8 +443,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
528
443
  key: "getStickyScrollContainerStyle",
529
444
  value: function getStickyScrollContainerStyle() {
530
445
  var _this$props6 = this.props,
531
- hasStickyScroll = _this$props6.hasStickyScroll,
532
- stickyScrollHeight = _this$props6.stickyScrollHeight;
446
+ hasStickyScroll = _this$props6.hasStickyScroll,
447
+ stickyScrollHeight = _this$props6.stickyScrollHeight;
533
448
  var hasScroll = this.state.hasScroll;
534
449
  var isScroll = hasStickyScroll && hasScroll;
535
450
  var height = stickyScrollHeight === 'auto' ? this.getScrollBarWidth() : stickyScrollHeight;
@@ -544,24 +459,23 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
544
459
  key: "render",
545
460
  value: function render() {
546
461
  var _cx;
547
-
548
462
  // console.log('render table')
549
463
  var info = (0, _calculations.calculateRenderInfo)(this);
550
464
  this.lastInfo = info;
551
465
  var _this$props7 = this.props,
552
- dataSource = _this$props7.dataSource,
553
- className = _this$props7.className,
554
- style = _this$props7.style,
555
- hasHeader = _this$props7.hasHeader,
556
- useOuterBorder = _this$props7.useOuterBorder,
557
- isStickyHead = _this$props7.isStickyHead,
558
- isStickyHeader = _this$props7.isStickyHeader,
559
- isStickyFooter = _this$props7.isStickyFooter,
560
- isLoading = _this$props7.isLoading,
561
- getTableProps = _this$props7.getTableProps,
562
- footerDataSource = _this$props7.footerDataSource,
563
- components = _this$props7.components,
564
- bordered = _this$props7.bordered;
466
+ dataSource = _this$props7.dataSource,
467
+ className = _this$props7.className,
468
+ style = _this$props7.style,
469
+ hasHeader = _this$props7.hasHeader,
470
+ useOuterBorder = _this$props7.useOuterBorder,
471
+ isStickyHead = _this$props7.isStickyHead,
472
+ isStickyHeader = _this$props7.isStickyHeader,
473
+ isStickyFooter = _this$props7.isStickyFooter,
474
+ isLoading = _this$props7.isLoading,
475
+ getTableProps = _this$props7.getTableProps,
476
+ footerDataSource = _this$props7.footerDataSource,
477
+ components = _this$props7.components,
478
+ bordered = _this$props7.bordered;
565
479
  var artTableWrapperClassName = (0, _classnames.default)(_styles.Classes.artTableWrapper, (_cx = {
566
480
  'use-outer-border': useOuterBorder,
567
481
  empty: dataSource.length === 0,
@@ -588,18 +502,17 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
588
502
  key: "componentDidMount",
589
503
  value: function componentDidMount() {
590
504
  var _a, _b, _c, _d, _e, _f;
591
-
592
505
  this.rootSubscription = new _rxjs.Subscription();
593
506
  this.resizeSubject = new _rxjs.Subject();
594
507
  this.updateDOMHelper();
595
508
  this.props$ = new _rxjs.BehaviorSubject(this.props);
596
509
  this.initSubscriptions();
597
- this.didMountOrUpdate(); // console.log('did mount end')
598
-
510
+ this.didMountOrUpdate();
511
+ // console.log('did mount end')
599
512
  var _this$props8 = this.props,
600
- cssVariables = _this$props8.cssVariables,
601
- enableCSSVariables = _this$props8.enableCSSVariables,
602
- bordered = _this$props8.bordered;
513
+ cssVariables = _this$props8.cssVariables,
514
+ enableCSSVariables = _this$props8.enableCSSVariables,
515
+ bordered = _this$props8.bordered;
603
516
  (0, _utils.cssPolifill)({
604
517
  variables: cssVariables || {},
605
518
  enableCSSVariables: enableCSSVariables,
@@ -612,14 +525,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
612
525
  }, {
613
526
  key: "componentDidUpdate",
614
527
  value: function componentDidUpdate(prevProps, prevState) {
615
- var _a; // console.log('did update start')
616
-
617
-
528
+ var _a;
529
+ // console.log('did update start')
618
530
  var _this$props9 = this.props,
619
- cssVariables = _this$props9.cssVariables,
620
- enableCSSVariables = _this$props9.enableCSSVariables,
621
- bordered = _this$props9.bordered;
622
-
531
+ cssVariables = _this$props9.cssVariables,
532
+ enableCSSVariables = _this$props9.enableCSSVariables,
533
+ bordered = _this$props9.bordered;
623
534
  if (!(0, _utils.shallowEqual)(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_a = this.props) === null || _a === void 0 ? void 0 : _a.cssVariables)) {
624
535
  (0, _utils.cssPolifill)({
625
536
  variables: cssVariables || {},
@@ -627,10 +538,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
627
538
  bordered: bordered
628
539
  });
629
540
  }
630
-
631
541
  this.updateDOMHelper();
632
542
  this.props$.next(this.props);
633
- this.didMountOrUpdate(prevProps, prevState); // console.log('did update end')
543
+ this.didMountOrUpdate(prevProps, prevState);
544
+ // console.log('did update end')
634
545
  }
635
546
  }, {
636
547
  key: "didMountOrUpdate",
@@ -649,11 +560,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
649
560
  this.domHelper.stickyScroll.scrollLeft = 0;
650
561
  }
651
562
  }
652
-
653
563
  if (prevProps != null) {
654
564
  var prevHasFooter = prevProps.footerDataSource.length > 0;
655
565
  var currentHasFooter = this.props.footerDataSource.length > 0;
656
-
657
566
  if (!prevHasFooter && currentHasFooter) {
658
567
  (0, _utils.getTableScrollFooterDOM)(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft;
659
568
  }
@@ -663,64 +572,55 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
663
572
  key: "initSubscriptions",
664
573
  value: function initSubscriptions() {
665
574
  var _this2 = this;
666
-
667
575
  var _this$domHelper2 = this.domHelper,
668
- virtual = _this$domHelper2.virtual,
669
- stickyScroll = _this$domHelper2.stickyScroll;
576
+ virtual = _this$domHelper2.virtual,
577
+ stickyScroll = _this$domHelper2.stickyScroll;
670
578
  this.rootSubscription.add(_utils.throttledWindowResize$.subscribe(function () {
671
579
  _this2.updateStickyScroll();
672
-
673
580
  _this2.adjustNeedRenderLock();
674
581
  }));
675
582
  this.resizeSubject.pipe(op.debounceTime(100)).subscribe(function () {
676
583
  var _a, _b;
677
-
678
584
  (_b = (_a = _this2.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, _this2.domHelper.tableBody.clientWidth);
679
585
  });
680
-
681
586
  var handleTableWrapperResize = function handleTableWrapperResize() {
682
587
  _this2.resizeSubject.next();
683
588
  };
684
-
685
- this.resizeObserver = (0, _utils.addResizeObserver)(this.domHelper.artTableWrapper, handleTableWrapperResize); // 滚动同步
686
-
589
+ this.resizeObserver = (0, _utils.addResizeObserver)(this.domHelper.artTableWrapper, handleTableWrapperResize);
590
+ // 滚动同步
687
591
  this.rootSubscription.add((0, _utils.syncScrollLeft)([(0, _utils.getTableScrollHeaderDOM)(this.domHelper), virtual, (0, _utils.getTableScrollFooterDOM)(this.domHelper), stickyScroll], function (scrollLeft) {
688
592
  _this2.syncHorizontalScroll(scrollLeft);
689
593
  }));
690
- var richVisibleRects$ = (0, _getRichVisibleRectsStream.getRichVisibleRectsStream)(this.domHelper.virtual, this.props$.pipe(op.skip(1), op.mapTo('structure-may-change')), this.props.virtualDebugLabel).pipe(op.shareReplay()); // 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)
691
-
594
+ var richVisibleRects$ = (0, _getRichVisibleRectsStream.getRichVisibleRectsStream)(this.domHelper.virtual, this.props$.pipe(op.skip(1), op.mapTo('structure-may-change')), this.props.virtualDebugLabel).pipe(op.shareReplay());
595
+ // 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)
692
596
  this.rootSubscription.add((0, _rxjs.combineLatest)([richVisibleRects$.pipe(op.map(function (p) {
693
597
  return p.clipRect;
694
598
  }), op.distinctUntilChanged(_utils.shallowEqual)), this.props$.pipe(op.startWith(null), op.pairwise(), op.filter(function (_ref) {
695
599
  var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
696
- prevProps = _ref2[0],
697
- props = _ref2[1];
698
-
600
+ prevProps = _ref2[0],
601
+ props = _ref2[1];
699
602
  return prevProps == null || !prevProps.isLoading && props.isLoading;
700
603
  }))]).subscribe(function (_ref3) {
701
604
  var _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
702
- clipRect = _ref4[0];
703
-
605
+ clipRect = _ref4[0];
704
606
  var loadingIndicator = _this2.domHelper.getLoadingIndicator();
705
-
706
607
  if (!loadingIndicator) {
707
608
  return;
708
609
  }
709
-
710
- var height = clipRect.bottom - clipRect.top; // fixme 这里的定位在有些特殊情况下可能会出错 see #132
711
-
610
+ var height = clipRect.bottom - clipRect.top;
611
+ // fixme 这里的定位在有些特殊情况下可能会出错 see #132
712
612
  loadingIndicator.style.top = "".concat(height / 2, "px");
713
613
  loadingIndicator.style.marginTop = "".concat(height / 2, "px");
714
- })); // 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render
715
-
614
+ }));
615
+ // 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render
716
616
  this.rootSubscription.add(richVisibleRects$.pipe(op.filter(function () {
717
617
  var _this2$lastInfo$useVi = _this2.lastInfo.useVirtual,
718
- horizontal = _this2$lastInfo$useVi.horizontal,
719
- vertical = _this2$lastInfo$useVi.vertical;
618
+ horizontal = _this2$lastInfo$useVi.horizontal,
619
+ vertical = _this2$lastInfo$useVi.vertical;
720
620
  return horizontal || vertical;
721
621
  }), op.map(function (_ref5) {
722
622
  var clipRect = _ref5.clipRect,
723
- offsetY = _ref5.offsetY;
623
+ offsetY = _ref5.offsetY;
724
624
  return {
725
625
  maxRenderHeight: clipRect.bottom - clipRect.top,
726
626
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -730,16 +630,15 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
730
630
  // 如果表格区域被隐藏, 不需要触发组件重渲染
731
631
  if (y.maxRenderHeight === 0 && y.maxRenderWidth === 0) {
732
632
  return true;
733
- } // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
734
-
735
-
633
+ }
634
+ // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
736
635
  return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < _utils.OVERSCAN_SIZE / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < _utils.OVERSCAN_SIZE / 2 && Math.abs(x.offsetY - y.offsetY) < _utils.OVERSCAN_SIZE / 2;
737
636
  })).subscribe(function (sizeAndOffset) {
738
637
  _this2.setState(sizeAndOffset);
739
638
  }));
740
639
  this.rootSubscription.add(richVisibleRects$.pipe(op.map(function (_ref6) {
741
640
  var clipRect = _ref6.clipRect,
742
- offsetY = _ref6.offsetY;
641
+ offsetY = _ref6.offsetY;
743
642
  return {
744
643
  maxRenderHeight: clipRect.bottom - clipRect.top,
745
644
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -747,20 +646,18 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
747
646
  };
748
647
  }), op.distinctUntilChanged(function (x, y) {
749
648
  return x.offsetY - y.offsetY === 0;
750
- }), // 计算得到当前行索引对应的数据块,blocks改成数组的形式,兼容快速拖动可视区域出现两个数据块的情况
649
+ }),
650
+ // 计算得到当前行索引对应的数据块,blocks改成数组的形式,兼容快速拖动可视区域出现两个数据块的情况
751
651
  op.map(function (sizeAndOffset) {
752
652
  var _a;
753
-
754
653
  var offsetY = sizeAndOffset.offsetY,
755
- maxRenderHeight = sizeAndOffset.maxRenderHeight;
654
+ maxRenderHeight = sizeAndOffset.maxRenderHeight;
756
655
  var scrollDirection = offsetY - _this2.offsetY >= 0 ? 'down' : 'up';
757
656
  _this2.offsetY = offsetY;
758
657
  var rowCount = _this2.props.dataSource.length;
759
-
760
658
  var vertical = _this2.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
761
-
762
659
  var topIndex = vertical.topIndex,
763
- bottomIndex = vertical.bottomIndex;
660
+ bottomIndex = vertical.bottomIndex;
764
661
  var blockSize = ((_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.blockSize) || 200;
765
662
  var topBlockStartIndex = Math.floor(Math.max(topIndex - 1, 0) / blockSize) * blockSize;
766
663
  var bottomBlockStartIndex = Math.floor((bottomIndex + 1) / blockSize) * blockSize;
@@ -772,10 +669,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
772
669
  return event$.pipe(op.map(function (startIndex) {
773
670
  return startIndex;
774
671
  }));
775
- }), // 过滤掉重复掉值
672
+ }),
673
+ // 过滤掉重复掉值
776
674
  op.distinctUntilChanged()).subscribe(function (startIndex) {
777
675
  var _a;
778
-
779
676
  (_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.callback(startIndex);
780
677
  }));
781
678
  }
@@ -783,13 +680,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
783
680
  key: "componentWillUnmount",
784
681
  value: function componentWillUnmount() {
785
682
  var _a;
786
-
787
683
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
788
684
  this.rootSubscription.unsubscribe();
789
685
  this.resizeSubject.unsubscribe();
790
686
  }
791
687
  /** 更新 DOM 节点的引用,方便其他方法直接操作 DOM */
792
-
793
688
  }, {
794
689
  key: "updateDOMHelper",
795
690
  value: function updateDOMHelper() {
@@ -799,51 +694,42 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
799
694
  key: "updateRowHeightManager",
800
695
  value: function updateRowHeightManager() {
801
696
  var _a;
802
-
803
697
  var virtualTop = this.domHelper.getVirtualTop();
804
698
  var virtualTopHeight = (_a = virtualTop === null || virtualTop === void 0 ? void 0 : virtualTop.clientHeight) !== null && _a !== void 0 ? _a : 0;
805
699
  var maxTrRowIndex = -1;
806
700
  var maxTrBottom = -1;
807
701
  var zeroHeightRowCount = 0;
808
-
809
702
  var _iterator = _createForOfIteratorHelper(this.domHelper.getTableRows()),
810
- _step;
811
-
703
+ _step;
812
704
  try {
813
705
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
814
706
  var tr = _step.value;
815
707
  var rowIndex = Number(tr.dataset.rowindex);
816
-
817
708
  if (isNaN(rowIndex)) {
818
709
  continue;
819
710
  }
820
-
821
711
  maxTrRowIndex = Math.max(maxTrRowIndex, rowIndex);
822
712
  var offset = tr.offsetTop + virtualTopHeight;
823
713
  var size = tr.offsetHeight;
824
-
825
714
  if (size === 0) {
826
715
  zeroHeightRowCount += 1;
827
716
  } else {
828
717
  // 渲染出来的行高度为0,说明是display=none情况,行高不存在该种异常情况,不保存当前的高度
829
718
  this.rowHeightManager.updateRow(rowIndex, offset, size);
830
719
  }
831
-
832
720
  maxTrBottom = Math.max(maxTrBottom, offset + size);
833
- } // 当 estimatedRowHeight 过大时,可能出现「渲染行数过少,无法覆盖可视范围」的情况
721
+ }
722
+ // 当 estimatedRowHeight 过大时,可能出现「渲染行数过少,无法覆盖可视范围」的情况
834
723
  // 出现这种情况时,我们判断「下一次渲染能够渲染更多行」是否满足,满足的话就直接调用 forceUpdate
835
724
  // zeroHeightRowCount === 0 用于确保当前没有 display=none 的情况
836
-
837
725
  } catch (err) {
838
726
  _iterator.e(err);
839
727
  } finally {
840
728
  _iterator.f();
841
729
  }
842
-
843
730
  if (maxTrRowIndex !== -1 && zeroHeightRowCount === 0) {
844
731
  if (maxTrBottom < this.state.offsetY + this.state.maxRenderHeight) {
845
732
  var vertical = this.getVerticalRenderRange(this.lastInfo.useVirtual);
846
-
847
733
  if (vertical.bottomIndex - 1 > maxTrRowIndex) {
848
734
  this.forceUpdate();
849
735
  }
@@ -851,23 +737,19 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
851
737
  }
852
738
  }
853
739
  /** 计算表格所有列的渲染宽度之和,判断表格是否需要渲染锁列 */
854
-
855
740
  }, {
856
741
  key: "adjustNeedRenderLock",
857
742
  value: function adjustNeedRenderLock() {
858
743
  var needRenderLock = this.state.needRenderLock;
859
744
  var _this$lastInfo2 = this.lastInfo,
860
- flat = (0, _flat.default)(_this$lastInfo2),
861
- hasLockColumn = _this$lastInfo2.hasLockColumn;
862
-
745
+ flat = (0, _flat.default)(_this$lastInfo2),
746
+ hasLockColumn = _this$lastInfo2.hasLockColumn;
863
747
  if (hasLockColumn) {
864
748
  var _context;
865
-
866
749
  var sumOfColWidth = (0, _utils.sum)((0, _map.default)(_context = flat.full).call(_context, function (col) {
867
750
  return col.width;
868
751
  }));
869
752
  var nextNeedRenderLock = sumOfColWidth > this.domHelper.artTable.clientWidth;
870
-
871
753
  if (needRenderLock !== nextNeedRenderLock) {
872
754
  this.setState({
873
755
  needRenderLock: nextNeedRenderLock
@@ -884,7 +766,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
884
766
  }]);
885
767
  return BaseTable;
886
768
  }(_react.default.Component);
887
-
888
769
  exports.BaseTable = BaseTable;
889
770
  BaseTable.defaultProps = {
890
771
  hasHeader: true,