@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,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
28
  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
29
  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
30
  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
-
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,14 @@ function SortIcon(_ref) {
79
54
  d: "M24 24L16 32 8 24z "
80
55
  }));
81
56
  }
82
-
83
57
  function DefaultSortHeaderCell(_ref2) {
84
58
  var _cx;
85
-
86
59
  var children = _ref2.children,
87
- column = _ref2.column,
88
- onToggle = _ref2.onToggle,
89
- sortOrder = _ref2.sortOrder,
90
- sortIndex = _ref2.sortIndex,
91
- sortOptions = _ref2.sortOptions;
60
+ column = _ref2.column,
61
+ onToggle = _ref2.onToggle,
62
+ sortOrder = _ref2.sortOrder,
63
+ sortIndex = _ref2.sortIndex,
64
+ sortOptions = _ref2.sortOptions;
92
65
  // 通过 justify-content 来与 col.align 保持对齐方向一致
93
66
  var justifyContent = column.align === 'right' ? 'flex-end' : column.align === 'center' ? 'center' : 'flex-start';
94
67
  return /*#__PURE__*/_react.default.createElement(TableHeaderCell, {
@@ -116,48 +89,39 @@ function DefaultSortHeaderCell(_ref2) {
116
89
  }
117
90
  }, sortIndex + 1));
118
91
  }
119
-
120
92
  function hasAnySortableColumns(cols) {
121
93
  return cols.some(function (col) {
122
94
  var _a;
123
-
124
95
  return Boolean((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || !(0, _utils.isLeafNode)(col) && hasAnySortableColumns(col.children);
125
96
  });
126
97
  }
127
-
128
98
  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
99
  var stateKey = 'sort';
131
-
132
100
  function sort() {
133
101
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
134
102
  return function sortStep(pipeline) {
135
103
  var _a, _b, _c;
136
-
137
104
  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;
105
+ orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
106
+ _opts$mode = opts.mode,
107
+ mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
108
+ _opts$SortHeaderCell = opts.SortHeaderCell,
109
+ SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
110
+ keepDataSource = opts.keepDataSource,
111
+ highlightColumnWhenActive = opts.highlightColumnWhenActive,
112
+ stopClickEventPropagation = opts.stopClickEventPropagation,
113
+ sortIconHoverShow = opts.sortIconHoverShow;
147
114
  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
115
  var activeSorts = (0, _filter.default)(inputSorts).call(inputSorts, function (s) {
149
116
  return s.order !== 'none';
150
- }); // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
151
-
117
+ });
118
+ // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
152
119
  var sorts = mode === 'multiple' ? activeSorts : (0, _slice.default)(activeSorts).call(activeSorts, 0, 1);
153
-
154
120
  var onChangeSortsInMultipleMode = function onChangeSortsInMultipleMode(nextSorts, currentSort) {
155
121
  var _a;
156
-
157
122
  (_a = opts.onChangeSorts) === null || _a === void 0 ? void 0 : _a.call(opts, nextSorts, currentSort);
158
123
  pipeline.setStateAtKey(stateKey, nextSorts);
159
124
  };
160
-
161
125
  var onChangeSorts = mode === 'multiple' ? onChangeSortsInMultipleMode : function (nextSorts, currentSort) {
162
126
  // 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效
163
127
  var len = nextSorts.length;
@@ -180,59 +144,46 @@ function sort() {
180
144
  }));
181
145
  var dataSource = pipeline.getDataSource();
182
146
  var columns = pipeline.getColumns();
183
-
184
147
  if (process.env.NODE_ENV !== 'production') {
185
148
  if (!hasAnySortableColumns(columns)) {
186
149
  _utils.console.warn('commonTransform.sort 缺少可排序的列,请通过 column.features.sortable 来指定哪些列可排序', columns);
187
150
  }
188
151
  }
189
-
190
152
  pipeline.dataSource(processDataSource(dataSource));
191
153
  pipeline.columns(processColumns(columns));
192
154
  return pipeline;
193
-
194
155
  function processDataSource(dataSource) {
195
156
  var _context, _context2;
196
-
197
157
  if (keepDataSource) {
198
158
  return dataSource;
199
159
  }
200
-
201
160
  if (sortMap.size === 0) {
202
161
  return dataSource;
203
162
  }
204
-
205
163
  var sortColumnsMap = new _map.default((0, _map2.default)(_context = (0, _filter.default)(_context2 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context2, function (col) {
206
164
  var _a, _b;
207
-
208
165
  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
166
  })).call(_context, function (col) {
210
167
  return [col.code, col];
211
168
  }));
212
169
  return (0, _utils.layeredSort)(dataSource, function (x, y) {
213
170
  var _iterator = _createForOfIteratorHelper(sorts),
214
- _step;
215
-
171
+ _step;
216
172
  try {
217
173
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
218
174
  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
-
175
+ code = _step$value.code,
176
+ order = _step$value.order;
177
+ var column = sortColumnsMap.get(code);
178
+ // 如果 code 对应的 column 不可排序,我们跳过该 code
223
179
  if (column == null) {
224
180
  continue;
225
181
  }
226
-
227
182
  var sortable = column.features.sortable;
228
183
  var compareFn = typeof sortable === 'function' ? sortable : _utils.smartCompare;
229
-
230
184
  var xValue = _internals.internals.safeGetValue(column, x, -1);
231
-
232
185
  var yValue = _internals.internals.safeGetValue(column, y, -1);
233
-
234
186
  var cmp = compareFn(xValue, yValue, x, y);
235
-
236
187
  if (cmp !== 0) {
237
188
  return cmp * (order === 'asc' ? 1 : -1);
238
189
  }
@@ -242,16 +193,13 @@ function sort() {
242
193
  } finally {
243
194
  _iterator.f();
244
195
  }
245
-
246
196
  return 0;
247
197
  });
248
- } // 在「升序 - 降序 - 不排序」之间不断切换
249
-
250
-
198
+ }
199
+ // 在「升序 - 降序 - 不排序」之间不断切换
251
200
  function toggle(code) {
252
201
  var sort = sortMap.get(code);
253
202
  var currentSort;
254
-
255
203
  if (sort == null) {
256
204
  currentSort = {
257
205
  code: code,
@@ -268,7 +216,6 @@ function sort() {
268
216
  code: code,
269
217
  order: nextOrder
270
218
  };
271
-
272
219
  if (nextOrder === 'none') {
273
220
  nextSorts.pop();
274
221
  } else {
@@ -276,43 +223,33 @@ function sort() {
276
223
  order: nextOrder
277
224
  });
278
225
  }
279
-
280
226
  onChangeSorts(nextSorts, currentSort);
281
227
  }
282
228
  }
283
-
284
229
  function processColumns(columns) {
285
230
  return (0, _map2.default)(columns).call(columns, dfs);
286
-
287
231
  function dfs(col) {
288
232
  var _a;
289
-
290
233
  var result = (0, _extends2.default)({}, col);
291
234
  var sortable = col.code && (((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || sortMap.has(col.code));
292
235
  var active = sortable && sortMap.has(col.code);
293
-
294
236
  if (sortable) {
295
237
  var sortIndex = -1;
296
238
  var sortOrder = 'none';
297
-
298
239
  if (active) {
299
240
  var _sortMap$get = sortMap.get(col.code),
300
- order = _sortMap$get.order,
301
- index = _sortMap$get.index;
302
-
241
+ order = _sortMap$get.order,
242
+ index = _sortMap$get.index;
303
243
  sortOrder = order;
304
244
  sortIndex = index;
305
-
306
245
  if (highlightColumnWhenActive) {
307
246
  result.headerCellProps = (0, _utils.mergeCellProps)(col.headerCellProps, {
308
247
  style: {
309
248
  background: 'var(--header-highlight-bgcolor)'
310
249
  }
311
250
  });
312
-
313
251
  result.getCellProps = function (value, row, rowIndex) {
314
252
  var prevCellProps = _internals.internals.safeGetCellProps(col, row, rowIndex);
315
-
316
253
  return (0, _utils.mergeCellProps)(prevCellProps, {
317
254
  style: {
318
255
  background: 'var(--highlight-bgcolor)'
@@ -321,13 +258,11 @@ function sort() {
321
258
  };
322
259
  }
323
260
  }
324
-
325
261
  var sortNode = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
326
262
  onToggle: function onToggle(e) {
327
263
  if (stopClickEventPropagation) {
328
264
  e.stopPropagation();
329
265
  }
330
-
331
266
  toggle(col.code);
332
267
  },
333
268
  sortOrder: sortOrder,
@@ -337,24 +272,19 @@ function sort() {
337
272
  }, _internals.internals.safeRenderHeader((0, _extends2.default)((0, _extends2.default)({}, col), {
338
273
  title: col.title && col.title[0] ? col.title[0] : col.title
339
274
  })));
340
-
341
275
  if (result.title && result.title[0]) {
342
276
  result.title[0] = sortNode;
343
277
  } else {
344
278
  result.title = sortNode;
345
279
  }
346
280
  }
347
-
348
281
  if (!(0, _utils.isLeafNode)(col)) {
349
282
  var _context3;
350
-
351
283
  result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
352
284
  }
353
-
354
285
  return result;
355
286
  }
356
287
  }
357
-
358
288
  function getNextOrder(order) {
359
289
  var idx = orders.indexOf(order);
360
290
  return orders[idx === orders.length - 1 ? 0 : idx + 1];
@@ -1,46 +1,31 @@
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
31
  title: /*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
@@ -1,123 +1,86 @@
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 _Symbol2 = 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.treeMetaSymbol = void 0;
17
12
  exports.treeMode = treeMode;
18
-
19
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
-
21
14
  var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
22
-
23
15
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
24
-
25
16
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
26
-
27
17
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
28
-
29
18
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
30
-
31
19
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
32
-
33
20
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
34
-
35
21
  var _classnames = _interopRequireDefault(require("classnames"));
36
-
37
22
  var _react = _interopRequireDefault(require("react"));
38
-
39
23
  var _commonViews = require("../../common-views");
40
-
41
24
  var _internals = require("../../internals");
42
-
43
25
  var _utils = require("../../utils");
44
-
45
26
  var _styles = require("../../base/styles");
46
-
47
27
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol2 !== "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; } } }; }
48
-
49
28
  function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_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); }
50
-
51
29
  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; }
52
-
53
30
  var treeMetaSymbol = (0, _symbol.default)('treeMetaSymbol');
54
31
  exports.treeMetaSymbol = treeMetaSymbol;
55
-
56
32
  function treeMode() {
57
33
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
34
  return function treeModeStep(pipeline) {
59
35
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
60
-
61
36
  var stateKey = 'treeMode';
62
37
  var ctx = pipeline.ctx;
63
38
  var primaryKey = pipeline.ensurePrimaryKey('treeMode');
64
39
  var openKeys = (_c = (_b = (_a = opts.openKeys) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultOpenKeys) !== null && _c !== void 0 ? _c : [];
65
40
  var openKeySet = new _set.default(openKeys);
66
-
67
41
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
68
42
  var _a;
69
-
70
43
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
71
44
  pipeline.setStateAtKey(stateKey, nextKeys, {
72
45
  key: key,
73
46
  action: action
74
47
  });
75
48
  };
76
-
77
49
  var toggle = function toggle(rowKey) {
78
50
  var expanded = openKeySet.has(rowKey);
79
-
80
51
  if (expanded) {
81
52
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
82
53
  return key !== rowKey;
83
54
  }), rowKey, 'collapse');
84
55
  } else {
85
56
  var _context;
86
-
87
57
  onChangeOpenKeys((0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
88
58
  }
89
59
  };
90
-
91
60
  var isLeafNode = (_d = opts.isLeafNode) !== null && _d !== void 0 ? _d : _utils.isLeafNode;
92
61
  var clickArea = (_e = opts.clickArea) !== null && _e !== void 0 ? _e : 'cell';
93
62
  var treeMetaKey = (_f = opts.treeMetaKey) !== null && _f !== void 0 ? _f : treeMetaSymbol;
94
- var stopClickEventPropagation = Boolean(opts.stopClickEventPropagation); // indents
95
-
63
+ var stopClickEventPropagation = Boolean(opts.stopClickEventPropagation);
64
+ // indents
96
65
  var iconWidth = ctx.indents.iconWidth;
97
66
  var iconIndent = (_g = opts.iconIndent) !== null && _g !== void 0 ? _g : ctx.indents.iconIndent;
98
67
  var iconGap = (_h = opts.iconGap) !== null && _h !== void 0 ? _h : ctx.indents.iconGap;
99
68
  var indentSize = (_j = opts.indentSize) !== null && _j !== void 0 ? _j : ctx.indents.indentSize;
100
69
  var Icon = opts.icon;
101
70
  return pipeline.mapDataSource(processDataSource).mapColumns(processColumns);
102
-
103
71
  function processDataSource(input) {
104
72
  var result = [];
105
73
  dfs(input, 0);
106
-
107
74
  function dfs(nodes, depth) {
108
75
  if (nodes == null) {
109
76
  return;
110
77
  }
111
-
112
78
  var _iterator = _createForOfIteratorHelper(nodes),
113
- _step;
114
-
79
+ _step;
115
80
  try {
116
81
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
117
82
  var node = _step.value;
118
-
119
83
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, node, -1);
120
-
121
84
  var expanded = openKeySet.has(rowKey);
122
85
  var isLeaf = isLeafNode(node, {
123
86
  depth: depth,
@@ -131,7 +94,6 @@ function treeMode() {
131
94
  rowKey: rowKey
132
95
  };
133
96
  result.push((0, _extends3.default)((0, _defineProperty2.default)({}, treeMetaKey, treeMeta), node));
134
-
135
97
  if (!isLeaf && expanded) {
136
98
  dfs(node.children, depth + 1);
137
99
  }
@@ -142,37 +104,30 @@ function treeMode() {
142
104
  _iterator.f();
143
105
  }
144
106
  }
145
-
146
107
  return result;
147
108
  }
148
-
149
109
  function processColumns(columns) {
150
110
  if (columns.length === 0) {
151
111
  return columns;
152
112
  }
153
-
154
113
  var expandColIndex = (0, _findIndex.default)(columns).call(columns, function (_ref) {
155
114
  var code = _ref.code;
156
115
  return code && opts.expandColCode === code;
157
116
  });
158
117
  expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
159
118
  var expandCol = columns[expandColIndex];
160
-
161
119
  var render = function render(value, record, recordIndex) {
162
120
  var content = _internals.internals.safeRender(expandCol, record, recordIndex);
163
-
164
121
  if (record[treeMetaKey] == null) {
165
122
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
166
123
  return content;
167
124
  }
168
-
169
125
  var _record$treeMetaKey = record[treeMetaKey],
170
- rowKey = _record$treeMetaKey.rowKey,
171
- depth = _record$treeMetaKey.depth,
172
- isLeaf = _record$treeMetaKey.isLeaf,
173
- expanded = _record$treeMetaKey.expanded;
126
+ rowKey = _record$treeMetaKey.rowKey,
127
+ depth = _record$treeMetaKey.depth,
128
+ isLeaf = _record$treeMetaKey.isLeaf,
129
+ expanded = _record$treeMetaKey.expanded;
174
130
  var indent = iconIndent + depth * indentSize;
175
-
176
131
  if (isLeaf) {
177
132
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
178
133
  className: (0, _classnames.default)('expansion-cell', _styles.Classes.leaf)
@@ -182,15 +137,12 @@ function treeMode() {
182
137
  }
183
138
  }, content));
184
139
  }
185
-
186
140
  var onClick = function onClick(e) {
187
141
  if (stopClickEventPropagation) {
188
142
  e.stopPropagation();
189
143
  }
190
-
191
144
  toggle(rowKey);
192
145
  };
193
-
194
146
  var expandCls = expanded ? _styles.Classes.expanded : _styles.Classes.collapsed;
195
147
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
196
148
  className: (0, _classnames.default)('expansion-cell', expandCls),
@@ -217,29 +169,23 @@ function treeMode() {
217
169
  onClick: clickArea === 'icon' ? onClick : undefined
218
170
  }), content);
219
171
  };
220
-
221
172
  var getCellProps = function getCellProps(value, record, rowIndex) {
222
173
  var prevProps = _internals.internals.safeGetCellProps(expandCol, record, rowIndex);
223
-
224
174
  if (record[treeMetaKey] == null) {
225
175
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
226
176
  return prevProps;
227
177
  }
228
-
229
178
  var _record$treeMetaKey2 = record[treeMetaKey],
230
- isLeaf = _record$treeMetaKey2.isLeaf,
231
- rowKey = _record$treeMetaKey2.rowKey;
232
-
179
+ isLeaf = _record$treeMetaKey2.isLeaf,
180
+ rowKey = _record$treeMetaKey2.rowKey;
233
181
  if (isLeaf) {
234
182
  return prevProps;
235
183
  }
236
-
237
184
  return (0, _utils.mergeCellProps)(prevProps, {
238
185
  onClick: function onClick(e) {
239
186
  if (stopClickEventPropagation) {
240
187
  e.stopPropagation();
241
188
  }
242
-
243
189
  toggle(rowKey);
244
190
  },
245
191
  style: {
@@ -247,7 +193,6 @@ function treeMode() {
247
193
  }
248
194
  });
249
195
  };
250
-
251
196
  columns[expandColIndex] = (0, _extends3.default)((0, _extends3.default)({}, expandCol), {
252
197
  title: /*#__PURE__*/_react.default.createElement("span", {
253
198
  style: {