@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.6-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 (243) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/dist/@kdcloudjs/table.css +1 -1
  3. package/dist/@kdcloudjs/table.js +4847 -6022
  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 -24
  7. package/dist/@kdcloudjs/table.min.js.map +1 -1
  8. package/es/_utils/arrayUtil.js +0 -3
  9. package/es/_utils/devwarning.js +0 -1
  10. package/es/_utils/formatUtil.js +36 -101
  11. package/es/_utils/hooks.js +21 -45
  12. package/es/_utils/index.js +0 -2
  13. package/es/_utils/numberUtil.js +32 -55
  14. package/es/_utils/omit.js +0 -2
  15. package/es/_utils/type.js +0 -2
  16. package/es/_utils/usePopper.js +84 -147
  17. package/es/config-provider/compDefaultProps.js +0 -1
  18. package/es/config-provider/configProvider.js +2 -7
  19. package/es/config-provider/defaultConfig.js +0 -1
  20. package/es/index.js +0 -2
  21. package/es/locale/locale.js +11 -50
  22. package/es/table/base/calculations.js +25 -75
  23. package/es/table/base/colgroup.js +0 -1
  24. package/es/table/base/empty.js +6 -6
  25. package/es/table/base/header.js +30 -81
  26. package/es/table/base/helpers/SpanManager.js +4 -11
  27. package/es/table/base/helpers/TableDOMUtils.js +9 -34
  28. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  29. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +2 -3
  30. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  31. package/es/table/base/helpers/rowHeightManager.js +0 -28
  32. package/es/table/base/html-table.js +17 -39
  33. package/es/table/base/loading.js +8 -10
  34. package/es/table/base/renderTemplates.js +42 -60
  35. package/es/table/base/styles.js +0 -9
  36. package/es/table/base/table.js +110 -199
  37. package/es/table/base/utils.js +17 -57
  38. package/es/table/common-views.js +0 -7
  39. package/es/table/interfaces.d.ts +2 -0
  40. package/es/table/internals.d.ts +2 -1
  41. package/es/table/internals.js +0 -13
  42. package/es/table/pipeline/features/autoFill.js +11 -40
  43. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  44. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  45. package/es/table/pipeline/features/columnDrag.js +41 -97
  46. package/es/table/pipeline/features/columnFilter.js +12 -51
  47. package/es/table/pipeline/features/columnHover.js +1 -7
  48. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  49. package/es/table/pipeline/features/columnResizeWidth.js +13 -39
  50. package/es/table/pipeline/features/contextMenu.js +22 -95
  51. package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
  52. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  53. package/es/table/pipeline/features/filter/Filter.js +27 -51
  54. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  55. package/es/table/pipeline/features/filter/util.js +0 -4
  56. package/es/table/pipeline/features/footerDataSource.js +0 -3
  57. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  58. package/es/table/pipeline/features/multiSelect.js +15 -57
  59. package/es/table/pipeline/features/rangeSelection.js +73 -152
  60. package/es/table/pipeline/features/rowDetail.js +6 -43
  61. package/es/table/pipeline/features/rowDrag.js +39 -78
  62. package/es/table/pipeline/features/rowGrouping.js +10 -42
  63. package/es/table/pipeline/features/singleSelect.js +0 -24
  64. package/es/table/pipeline/features/sort.js +37 -90
  65. package/es/table/pipeline/features/tips.js +4 -10
  66. package/es/table/pipeline/features/treeMode.js +14 -49
  67. package/es/table/pipeline/features/treeSelect.js +2 -28
  68. package/es/table/pipeline/pipeline.js +12 -53
  69. package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
  70. package/es/table/pivot/cross-table/cross-table.js +23 -31
  71. package/es/table/pivot/cross-table/interfaces.d.ts +1 -1
  72. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
  73. package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
  74. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  75. package/es/table/pivot/pivot-utils/builders.js +34 -74
  76. package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
  77. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  78. package/es/table/transforms/autoRowSpan.js +1 -15
  79. package/es/table/transforms/autoWidth.js +13 -35
  80. package/es/table/transforms/buildTree.js +1 -2
  81. package/es/table/transforms/columnHover.js +9 -15
  82. package/es/table/transforms/columnRangeHover.js +12 -19
  83. package/es/table/transforms/columnResize.js +18 -42
  84. package/es/table/transforms/flatten.js +0 -3
  85. package/es/table/transforms/orderField.js +0 -3
  86. package/es/table/transforms/sort.d.ts +1 -0
  87. package/es/table/transforms/sort.js +42 -96
  88. package/es/table/transforms/tips.js +5 -10
  89. package/es/table/transforms/treeMode.js +39 -80
  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 +7 -22
  95. package/es/table/utils/collectNodes.js +4 -13
  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 +7 -43
  100. package/es/table/utils/getTreeDepth.js +8 -13
  101. package/es/table/utils/groupBy.js +4 -13
  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 +4 -15
  105. package/es/table/utils/mergeCellProps.js +6 -14
  106. package/es/table/utils/others.js +6 -19
  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 +5 -18
  110. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
  111. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
  112. package/es/table/utils/uiDegrade.js +0 -5
  113. package/lib/_utils/arrayUtil.js +2 -8
  114. package/lib/_utils/devwarning.js +0 -5
  115. package/lib/_utils/formatUtil.js +36 -105
  116. package/lib/_utils/hooks.js +21 -56
  117. package/lib/_utils/index.js +2 -9
  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 +3 -11
  122. package/lib/_utils/usePopper.js +88 -176
  123. package/lib/config-provider/ConfigContext.js +2 -6
  124. package/lib/config-provider/compDefaultProps.js +1 -3
  125. package/lib/config-provider/configProvider.js +5 -22
  126. package/lib/config-provider/defaultConfig.js +1 -7
  127. package/lib/config-provider/index.js +1 -8
  128. package/lib/index.js +2 -8
  129. package/lib/locale/index.js +2 -11
  130. package/lib/locale/locale.js +15 -71
  131. package/lib/locale/zh-CN.js +1 -2
  132. package/lib/table/base/calculations.js +25 -86
  133. package/lib/table/base/colgroup.js +0 -5
  134. package/lib/table/base/empty.js +7 -20
  135. package/lib/table/base/header.js +30 -91
  136. package/lib/table/base/helpers/SpanManager.js +6 -16
  137. package/lib/table/base/helpers/TableDOMUtils.js +9 -37
  138. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  139. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +2 -7
  140. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  141. package/lib/table/base/helpers/getRichVisibleRectsStream.js +14 -65
  142. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  143. package/lib/table/base/html-table.js +17 -49
  144. package/lib/table/base/index.js +0 -2
  145. package/lib/table/base/loading.js +8 -14
  146. package/lib/table/base/renderTemplates.js +44 -76
  147. package/lib/table/base/styles.js +8 -37
  148. package/lib/table/base/table.js +121 -243
  149. package/lib/table/base/utils.js +26 -109
  150. package/lib/table/common-views.js +4 -24
  151. package/lib/table/index.js +0 -13
  152. package/lib/table/interfaces.d.ts +2 -0
  153. package/lib/table/internals.d.ts +2 -1
  154. package/lib/table/internals.js +2 -17
  155. package/lib/table/pipeline/features/autoFill.js +14 -53
  156. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  157. package/lib/table/pipeline/features/buildTree.js +0 -2
  158. package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
  159. package/lib/table/pipeline/features/columnDrag.js +41 -103
  160. package/lib/table/pipeline/features/columnFilter.js +12 -65
  161. package/lib/table/pipeline/features/columnHover.js +1 -11
  162. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  163. package/lib/table/pipeline/features/columnResizeWidth.js +17 -63
  164. package/lib/table/pipeline/features/contextMenu.js +23 -121
  165. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +16 -52
  166. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  167. package/lib/table/pipeline/features/filter/Filter.js +29 -77
  168. package/lib/table/pipeline/features/filter/FilterPanel.js +13 -44
  169. package/lib/table/pipeline/features/filter/index.js +0 -5
  170. package/lib/table/pipeline/features/filter/util.js +2 -10
  171. package/lib/table/pipeline/features/footerDataSource.js +1 -12
  172. package/lib/table/pipeline/features/index.js +0 -23
  173. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  174. package/lib/table/pipeline/features/multiSelect.js +15 -71
  175. package/lib/table/pipeline/features/rangeSelection.js +75 -173
  176. package/lib/table/pipeline/features/rowDetail.js +6 -67
  177. package/lib/table/pipeline/features/rowDrag.js +41 -93
  178. package/lib/table/pipeline/features/rowGrouping.js +10 -62
  179. package/lib/table/pipeline/features/singleSelect.js +0 -34
  180. package/lib/table/pipeline/features/sort.js +37 -110
  181. package/lib/table/pipeline/features/tips.js +4 -19
  182. package/lib/table/pipeline/features/treeMode.js +15 -72
  183. package/lib/table/pipeline/features/treeSelect.js +2 -36
  184. package/lib/table/pipeline/index.js +1 -10
  185. package/lib/table/pipeline/pipeline.js +13 -64
  186. package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
  187. package/lib/table/pivot/cross-table/constants.js +1 -2
  188. package/lib/table/pivot/cross-table/cross-table.js +25 -42
  189. package/lib/table/pivot/cross-table/index.js +0 -4
  190. package/lib/table/pivot/cross-table/interfaces.d.ts +1 -1
  191. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
  192. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
  193. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  194. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  195. package/lib/table/pivot/pivot-utils/builders.js +34 -85
  196. package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
  197. package/lib/table/pivot/pivot-utils/index.js +0 -7
  198. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  199. package/lib/table/style/css.js +0 -1
  200. package/lib/table/style/index.js +0 -1
  201. package/lib/table/transforms/autoRowSpan.js +1 -21
  202. package/lib/table/transforms/autoWidth.js +14 -58
  203. package/lib/table/transforms/buildTree.js +1 -4
  204. package/lib/table/transforms/columnHover.js +9 -22
  205. package/lib/table/transforms/columnRangeHover.js +12 -27
  206. package/lib/table/transforms/columnResize.js +19 -63
  207. package/lib/table/transforms/flatten.js +0 -5
  208. package/lib/table/transforms/index.js +0 -12
  209. package/lib/table/transforms/orderField.js +0 -7
  210. package/lib/table/transforms/sort.d.ts +1 -0
  211. package/lib/table/transforms/sort.js +43 -122
  212. package/lib/table/transforms/tips.js +5 -20
  213. package/lib/table/transforms/treeMode.js +40 -109
  214. package/lib/table/transforms/visible.js +0 -7
  215. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  216. package/lib/table/use/useResizeObserver.js +2 -10
  217. package/lib/table/utils/applyTransforms.js +0 -2
  218. package/lib/table/utils/browserType.js +14 -23
  219. package/lib/table/utils/buildTree.js +7 -33
  220. package/lib/table/utils/collectNodes.js +4 -18
  221. package/lib/table/utils/console.js +2 -19
  222. package/lib/table/utils/copyToClipboard.js +1 -8
  223. package/lib/table/utils/element.js +14 -46
  224. package/lib/table/utils/exportTableAsExcel.js +7 -52
  225. package/lib/table/utils/getTreeDepth.js +8 -18
  226. package/lib/table/utils/groupBy.js +4 -17
  227. package/lib/table/utils/index.js +0 -22
  228. package/lib/table/utils/isGroupColumn.js +0 -3
  229. package/lib/table/utils/isLeafNode.js +0 -1
  230. package/lib/table/utils/keyCode.js +1 -2
  231. package/lib/table/utils/layeredFilter.js +0 -10
  232. package/lib/table/utils/layeredSort.js +0 -10
  233. package/lib/table/utils/makeRecursiveMapper.js +4 -24
  234. package/lib/table/utils/mergeCellProps.js +6 -18
  235. package/lib/table/utils/others.js +7 -36
  236. package/lib/table/utils/proto.js +3 -35
  237. package/lib/table/utils/selectColumn.js +2 -5
  238. package/lib/table/utils/smartCompare.js +4 -13
  239. package/lib/table/utils/traverseColumn.js +5 -25
  240. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
  241. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
  242. package/lib/table/utils/uiDegrade.js +1 -8
  243. package/package.json +3 -2
@@ -1,64 +1,39 @@
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.sort = sort;
17
-
18
12
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
19
-
20
13
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
23
-
24
15
  var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
29
-
30
18
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
31
-
32
19
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
33
-
34
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
35
-
36
21
  var _react = _interopRequireDefault(require("react"));
37
-
38
22
  var _styledComponents = _interopRequireDefault(require("styled-components"));
39
-
40
23
  var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
24
  var _internals = require("../../internals");
43
-
44
25
  var _utils = require("../../utils");
45
-
46
26
  var _styles = require("../../base/styles");
47
-
48
27
  var _templateObject;
49
-
50
- 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; } } }; }
51
-
52
- function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context4 = Object.prototype.toString.call(o)).call(_context4, 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); }
53
-
54
- 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; }
55
-
28
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
29
+ function _unsupportedIterableToArray(r, a) { if (r) { var _context4; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty2(_context4 = {}.toString.call(r)).call(_context4, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
30
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
56
31
  function SortIcon(_ref) {
57
32
  var _ref$size = _ref.size,
58
- size = _ref$size === void 0 ? 32 : _ref$size,
59
- style = _ref.style,
60
- className = _ref.className,
61
- order = _ref.order;
33
+ size = _ref$size === void 0 ? 32 : _ref$size,
34
+ style = _ref.style,
35
+ className = _ref.className,
36
+ order = _ref.order;
62
37
  return /*#__PURE__*/_react.default.createElement("svg", {
63
38
  style: style,
64
39
  className: className,
@@ -79,16 +54,13 @@ function SortIcon(_ref) {
79
54
  d: "M24 24L16 32 8 24z "
80
55
  }));
81
56
  }
82
-
83
57
  function DefaultSortHeaderCell(_ref2) {
84
- var _cx;
85
-
86
58
  var children = _ref2.children,
87
- column = _ref2.column,
88
- onToggle = _ref2.onToggle,
89
- sortOrder = _ref2.sortOrder,
90
- sortIndex = _ref2.sortIndex,
91
- sortOptions = _ref2.sortOptions;
59
+ column = _ref2.column,
60
+ onToggle = _ref2.onToggle,
61
+ sortOrder = _ref2.sortOrder,
62
+ sortIndex = _ref2.sortIndex,
63
+ sortOptions = _ref2.sortOptions;
92
64
  // 通过 justify-content 来与 col.align 保持对齐方向一致
93
65
  var justifyContent = column.align === 'right' ? 'flex-end' : column.align === 'center' ? 'center' : 'flex-start';
94
66
  return /*#__PURE__*/_react.default.createElement(TableHeaderCell, {
@@ -102,10 +74,10 @@ function DefaultSortHeaderCell(_ref2) {
102
74
  marginLeft: 2,
103
75
  flexShrink: 0
104
76
  },
105
- className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.tableSortIcon, true), (0, _defineProperty2.default)(_cx, "active", sortOrder === 'desc' || sortOrder === 'asc'), _cx)),
77
+ className: (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.tableSortIcon, true), "active", sortOrder === 'desc' || sortOrder === 'asc')),
106
78
  size: 16,
107
79
  order: sortOrder
108
- }), sortOptions.mode === 'multiple' && sortIndex !== -1 && /*#__PURE__*/_react.default.createElement("div", {
80
+ }), sortOptions.mode === 'multiple' && sortIndex !== -1 && (/*#__PURE__*/_react.default.createElement("div", {
109
81
  style: {
110
82
  userSelect: 'none',
111
83
  marginLeft: 2,
@@ -114,50 +86,41 @@ function DefaultSortHeaderCell(_ref2) {
114
86
  fontSize: 10,
115
87
  fontFamily: 'monospace'
116
88
  }
117
- }, sortIndex + 1));
89
+ }, sortIndex + 1)));
118
90
  }
119
-
120
91
  function hasAnySortableColumns(cols) {
121
92
  return cols.some(function (col) {
122
93
  var _a;
123
-
124
94
  return Boolean((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || !(0, _utils.isLeafNode)(col) && hasAnySortableColumns(col.children);
125
95
  });
126
96
  }
127
-
128
97
  var TableHeaderCell = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n display: flex;\n align-items: center;\n // flex: auto;\n"])));
129
-
130
98
  var stateKey = 'sort';
131
-
132
99
  function sort() {
133
100
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
134
101
  return function sortStep(pipeline) {
135
102
  var _a, _b, _c;
136
-
137
103
  var _opts$orders = opts.orders,
138
- orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
139
- _opts$mode = opts.mode,
140
- mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
141
- _opts$SortHeaderCell = opts.SortHeaderCell,
142
- SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
143
- keepDataSource = opts.keepDataSource,
144
- highlightColumnWhenActive = opts.highlightColumnWhenActive,
145
- stopClickEventPropagation = opts.stopClickEventPropagation,
146
- sortIconHoverShow = opts.sortIconHoverShow;
104
+ orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
105
+ _opts$mode = opts.mode,
106
+ mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
107
+ _opts$SortHeaderCell = opts.SortHeaderCell,
108
+ SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
109
+ keepDataSource = opts.keepDataSource,
110
+ highlightColumnWhenActive = opts.highlightColumnWhenActive,
111
+ stopClickEventPropagation = opts.stopClickEventPropagation,
112
+ sortIconHoverShow = opts.sortIconHoverShow;
147
113
  var inputSorts = (_c = (_b = (_a = opts.sorts) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultSorts) !== null && _c !== void 0 ? _c : [];
148
114
  var activeSorts = (0, _filter.default)(inputSorts).call(inputSorts, function (s) {
149
115
  return s.order !== 'none';
150
- }); // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
151
-
116
+ });
117
+ // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
152
118
  var sorts = mode === 'multiple' ? activeSorts : (0, _slice.default)(activeSorts).call(activeSorts, 0, 1);
153
-
154
119
  var onChangeSortsInMultipleMode = function onChangeSortsInMultipleMode(nextSorts, currentSort) {
155
120
  var _a;
156
-
157
121
  (_a = opts.onChangeSorts) === null || _a === void 0 ? void 0 : _a.call(opts, nextSorts, currentSort);
158
122
  pipeline.setStateAtKey(stateKey, nextSorts);
159
123
  };
160
-
161
124
  var onChangeSorts = mode === 'multiple' ? onChangeSortsInMultipleMode : function (nextSorts, currentSort) {
162
125
  // 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效
163
126
  var len = nextSorts.length;
@@ -180,59 +143,46 @@ function sort() {
180
143
  }));
181
144
  var dataSource = pipeline.getDataSource();
182
145
  var columns = pipeline.getColumns();
183
-
184
146
  if (process.env.NODE_ENV !== 'production') {
185
147
  if (!hasAnySortableColumns(columns)) {
186
148
  _utils.console.warn('commonTransform.sort 缺少可排序的列,请通过 column.features.sortable 来指定哪些列可排序', columns);
187
149
  }
188
150
  }
189
-
190
151
  pipeline.dataSource(processDataSource(dataSource));
191
152
  pipeline.columns(processColumns(columns));
192
153
  return pipeline;
193
-
194
154
  function processDataSource(dataSource) {
195
155
  var _context, _context2;
196
-
197
156
  if (keepDataSource) {
198
157
  return dataSource;
199
158
  }
200
-
201
159
  if (sortMap.size === 0) {
202
160
  return dataSource;
203
161
  }
204
-
205
162
  var sortColumnsMap = new _map.default((0, _map2.default)(_context = (0, _filter.default)(_context2 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context2, function (col) {
206
163
  var _a, _b;
207
-
208
164
  return ((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) !== false && ((_b = col.features) === null || _b === void 0 ? void 0 : _b.sortable) != null;
209
165
  })).call(_context, function (col) {
210
166
  return [col.code, col];
211
167
  }));
212
168
  return (0, _utils.layeredSort)(dataSource, function (x, y) {
213
169
  var _iterator = _createForOfIteratorHelper(sorts),
214
- _step;
215
-
170
+ _step;
216
171
  try {
217
172
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
218
173
  var _step$value = _step.value,
219
- code = _step$value.code,
220
- order = _step$value.order;
221
- var column = sortColumnsMap.get(code); // 如果 code 对应的 column 不可排序,我们跳过该 code
222
-
174
+ code = _step$value.code,
175
+ order = _step$value.order;
176
+ var column = sortColumnsMap.get(code);
177
+ // 如果 code 对应的 column 不可排序,我们跳过该 code
223
178
  if (column == null) {
224
179
  continue;
225
180
  }
226
-
227
181
  var sortable = column.features.sortable;
228
182
  var compareFn = typeof sortable === 'function' ? sortable : _utils.smartCompare;
229
-
230
183
  var xValue = _internals.internals.safeGetValue(column, x, -1);
231
-
232
184
  var yValue = _internals.internals.safeGetValue(column, y, -1);
233
-
234
185
  var cmp = compareFn(xValue, yValue, x, y);
235
-
236
186
  if (cmp !== 0) {
237
187
  return cmp * (order === 'asc' ? 1 : -1);
238
188
  }
@@ -242,16 +192,13 @@ function sort() {
242
192
  } finally {
243
193
  _iterator.f();
244
194
  }
245
-
246
195
  return 0;
247
196
  });
248
- } // 在「升序 - 降序 - 不排序」之间不断切换
249
-
250
-
197
+ }
198
+ // 在「升序 - 降序 - 不排序」之间不断切换
251
199
  function toggle(code) {
252
200
  var sort = sortMap.get(code);
253
201
  var currentSort;
254
-
255
202
  if (sort == null) {
256
203
  currentSort = {
257
204
  code: code,
@@ -268,7 +215,6 @@ function sort() {
268
215
  code: code,
269
216
  order: nextOrder
270
217
  };
271
-
272
218
  if (nextOrder === 'none') {
273
219
  nextSorts.pop();
274
220
  } else {
@@ -276,43 +222,33 @@ function sort() {
276
222
  order: nextOrder
277
223
  });
278
224
  }
279
-
280
225
  onChangeSorts(nextSorts, currentSort);
281
226
  }
282
227
  }
283
-
284
228
  function processColumns(columns) {
285
229
  return (0, _map2.default)(columns).call(columns, dfs);
286
-
287
230
  function dfs(col) {
288
231
  var _a;
289
-
290
232
  var result = (0, _extends2.default)({}, col);
291
233
  var sortable = col.code && (((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || sortMap.has(col.code));
292
234
  var active = sortable && sortMap.has(col.code);
293
-
294
235
  if (sortable) {
295
236
  var sortIndex = -1;
296
237
  var sortOrder = 'none';
297
-
298
238
  if (active) {
299
239
  var _sortMap$get = sortMap.get(col.code),
300
- order = _sortMap$get.order,
301
- index = _sortMap$get.index;
302
-
240
+ order = _sortMap$get.order,
241
+ index = _sortMap$get.index;
303
242
  sortOrder = order;
304
243
  sortIndex = index;
305
-
306
244
  if (highlightColumnWhenActive) {
307
245
  result.headerCellProps = (0, _utils.mergeCellProps)(col.headerCellProps, {
308
246
  style: {
309
247
  background: 'var(--header-highlight-bgcolor)'
310
248
  }
311
249
  });
312
-
313
250
  result.getCellProps = function (value, row, rowIndex) {
314
251
  var prevCellProps = _internals.internals.safeGetCellProps(col, row, rowIndex);
315
-
316
252
  return (0, _utils.mergeCellProps)(prevCellProps, {
317
253
  style: {
318
254
  background: 'var(--highlight-bgcolor)'
@@ -321,13 +257,11 @@ function sort() {
321
257
  };
322
258
  }
323
259
  }
324
-
325
260
  var sortNode = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
326
261
  onToggle: function onToggle(e) {
327
262
  if (stopClickEventPropagation) {
328
263
  e.stopPropagation();
329
264
  }
330
-
331
265
  toggle(col.code);
332
266
  },
333
267
  sortOrder: sortOrder,
@@ -337,22 +271,19 @@ function sort() {
337
271
  }, _internals.internals.safeRenderHeader((0, _extends2.default)((0, _extends2.default)({}, col), {
338
272
  title: col.title && col.title[0] ? col.title[0] : col.title
339
273
  })));
340
-
341
274
  var _sortNodeWithoutTitle = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
342
275
  onToggle: function onToggle(e) {
343
276
  if (stopClickEventPropagation) {
344
277
  e.stopPropagation();
345
278
  }
346
-
347
279
  toggle(col.code);
348
280
  },
349
281
  sortOrder: sortOrder,
350
282
  column: col,
351
283
  sortIndex: sortIndex,
352
284
  sortOptions: sortOptions
353
- }); // 开启标题行高自适应后,修改表头的渲染结构
354
-
355
-
285
+ });
286
+ // 开启标题行高自适应后,修改表头的渲染结构
356
287
  if (col.renderHeader) {
357
288
  result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
358
289
  } else {
@@ -363,17 +294,13 @@ function sort() {
363
294
  }
364
295
  }
365
296
  }
366
-
367
297
  if (!(0, _utils.isLeafNode)(col)) {
368
298
  var _context3;
369
-
370
299
  result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
371
300
  }
372
-
373
301
  return result;
374
302
  }
375
303
  }
376
-
377
304
  function getNextOrder(order) {
378
305
  var idx = orders.indexOf(order);
379
306
  return orders[idx === orders.length - 1 ? 0 : idx + 1];
@@ -1,53 +1,38 @@
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.tips = tips;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
-
18
12
  var _commonViews = require("../../common-views");
19
-
20
13
  var _internals = require("../../internals");
21
-
22
14
  var _utils = require("../../utils");
23
-
24
15
  var _templateObject;
25
-
26
16
  var HeaderCellWithTips = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n\n .tip-icon-wrapper {\n margin-left: 2px;\n }\n\n .tip-icon {\n display: flex;\n fill: currentColor;\n }\n"])));
27
-
28
17
  function tips() {
29
18
  return function tipsSteap(pipeline) {
30
19
  var Balloon = pipeline.ctx.components.Balloon;
31
20
  var Tooltip = pipeline.ctx.components.Tooltip;
32
-
33
21
  if (Balloon == null && Tooltip == null) {
34
22
  throw new Error('使用 tips 之前需要通过 pipeline context 设置 components.Balloon / components.Tooltip');
35
23
  }
36
-
37
24
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
38
25
  var _a;
39
-
40
26
  if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.tips)) {
41
27
  return col;
42
28
  }
43
-
44
29
  var justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start';
45
30
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
46
- title: /*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
31
+ title: (/*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
47
32
  style: {
48
33
  justifyContent: justifyContent
49
34
  }
50
- }, _internals.internals.safeRenderHeader(col), Balloon ?
35
+ }, _internals.internals.safeRenderHeader(col), Balloon ? (
51
36
  /*#__PURE__*/
52
37
  // fusion/hippo
53
38
  _react.default.createElement(Balloon, {
@@ -57,7 +42,7 @@ function tips() {
57
42
  }, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
58
43
  className: "tip-icon"
59
44
  }))
60
- }, col.features.tips) :
45
+ }, col.features.tips)) : (
61
46
  /*#__PURE__*/
62
47
  // antd
63
48
  _react.default.createElement(Tooltip, {
@@ -66,7 +51,7 @@ function tips() {
66
51
  className: "tip-icon-wrapper"
67
52
  }, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
68
53
  className: "tip-icon"
69
- }))))
54
+ }))))))
70
55
  });
71
56
  }));
72
57
  };