@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,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,128 +1,93 @@
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 : [];
40
+ var curSort = pipeline.getStateAtKey('sort');
65
41
  var openKeySet = new _set.default(openKeys);
66
-
67
42
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
68
43
  var _a;
69
-
70
44
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
71
45
  pipeline.setStateAtKey(stateKey, nextKeys, {
72
46
  key: key,
73
47
  action: action
74
48
  });
75
49
  };
76
-
77
50
  var toggle = function toggle(rowKey) {
78
51
  var expanded = openKeySet.has(rowKey);
79
-
80
52
  if (expanded) {
81
53
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
82
54
  return key !== rowKey;
83
55
  }), rowKey, 'collapse');
84
56
  } else {
85
57
  var _context;
86
-
87
58
  onChangeOpenKeys((0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
88
59
  }
89
60
  };
90
-
91
61
  var isLeafNode = (_d = opts.isLeafNode) !== null && _d !== void 0 ? _d : _utils.isLeafNode;
92
62
  var clickArea = (_e = opts.clickArea) !== null && _e !== void 0 ? _e : 'cell';
93
63
  var treeMetaKey = (_f = opts.treeMetaKey) !== null && _f !== void 0 ? _f : treeMetaSymbol;
94
- var stopClickEventPropagation = Boolean(opts.stopClickEventPropagation); // indents
95
-
64
+ var stopClickEventPropagation = Boolean(opts.stopClickEventPropagation);
65
+ // indents
96
66
  var iconWidth = ctx.indents.iconWidth;
97
67
  var iconIndent = (_g = opts.iconIndent) !== null && _g !== void 0 ? _g : ctx.indents.iconIndent;
98
68
  var iconGap = (_h = opts.iconGap) !== null && _h !== void 0 ? _h : ctx.indents.iconGap;
99
69
  var indentSize = (_j = opts.indentSize) !== null && _j !== void 0 ? _j : ctx.indents.indentSize;
100
70
  var Icon = opts.icon;
101
71
  return pipeline.mapDataSource(processDataSource).mapColumns(processColumns);
102
-
103
72
  function processDataSource(input) {
104
- if (pipeline.isSameInputDataSource() && openKeys === pipeline.getFeatureOptions('lastOpenKeys')) {
73
+ if (pipeline.isSameInputDataSource() && openKeys === pipeline.getFeatureOptions('lastOpenKeys') && curSort === pipeline.getFeatureOptions('lastSort')) {
105
74
  return pipeline.getFeatureOptions('lastTreeMode');
106
75
  }
107
-
108
- pipeline.setFeatureOptions('lastOpenKeys', pipeline.getStateAtKey(stateKey));
76
+ pipeline.setFeatureOptions('lastOpenKeys', openKeys);
77
+ pipeline.setFeatureOptions('lastSort', curSort);
109
78
  var result = [];
110
79
  dfs(input, 0);
111
-
112
80
  function dfs(nodes, depth) {
81
+ var parentNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
113
82
  if (nodes == null) {
114
83
  return;
115
84
  }
116
-
117
85
  var _iterator = _createForOfIteratorHelper(nodes),
118
- _step;
119
-
86
+ _step;
120
87
  try {
121
88
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
122
89
  var node = _step.value;
123
-
124
90
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, node, -1);
125
-
126
91
  var expanded = openKeySet.has(rowKey);
127
92
  var isLeaf = isLeafNode(node, {
128
93
  depth: depth,
@@ -136,7 +101,6 @@ function treeMode() {
136
101
  rowKey: rowKey
137
102
  };
138
103
  result.push((0, _extends3.default)((0, _defineProperty2.default)({}, treeMetaKey, treeMeta), node));
139
-
140
104
  if (!isLeaf && expanded) {
141
105
  dfs(node.children, depth + 1);
142
106
  }
@@ -147,38 +111,31 @@ function treeMode() {
147
111
  _iterator.f();
148
112
  }
149
113
  }
150
-
151
114
  pipeline.setFeatureOptions('lastTreeMode', result);
152
115
  return result;
153
116
  }
154
-
155
117
  function processColumns(columns) {
156
118
  if (columns.length === 0) {
157
119
  return columns;
158
120
  }
159
-
160
121
  var expandColIndex = (0, _findIndex.default)(columns).call(columns, function (_ref) {
161
122
  var code = _ref.code;
162
123
  return code && opts.expandColCode === code;
163
124
  });
164
125
  expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
165
126
  var expandCol = columns[expandColIndex];
166
-
167
127
  var render = function render(value, record, recordIndex) {
168
128
  var content = _internals.internals.safeRender(expandCol, record, recordIndex);
169
-
170
129
  if (record[treeMetaKey] == null) {
171
130
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
172
131
  return content;
173
132
  }
174
-
175
133
  var _record$treeMetaKey = record[treeMetaKey],
176
- rowKey = _record$treeMetaKey.rowKey,
177
- depth = _record$treeMetaKey.depth,
178
- isLeaf = _record$treeMetaKey.isLeaf,
179
- expanded = _record$treeMetaKey.expanded;
134
+ rowKey = _record$treeMetaKey.rowKey,
135
+ depth = _record$treeMetaKey.depth,
136
+ isLeaf = _record$treeMetaKey.isLeaf,
137
+ expanded = _record$treeMetaKey.expanded;
180
138
  var indent = iconIndent + depth * indentSize;
181
-
182
139
  if (isLeaf) {
183
140
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
184
141
  className: (0, _classnames.default)('expansion-cell', _styles.Classes.leaf)
@@ -188,15 +145,12 @@ function treeMode() {
188
145
  }
189
146
  }, content));
190
147
  }
191
-
192
148
  var onClick = function onClick(e) {
193
149
  if (stopClickEventPropagation) {
194
150
  e.stopPropagation();
195
151
  }
196
-
197
152
  toggle(rowKey);
198
153
  };
199
-
200
154
  var expandCls = expanded ? _styles.Classes.expanded : _styles.Classes.collapsed;
201
155
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
202
156
  className: (0, _classnames.default)('expansion-cell', expandCls),
@@ -223,29 +177,23 @@ function treeMode() {
223
177
  onClick: clickArea === 'icon' ? onClick : undefined
224
178
  }), content);
225
179
  };
226
-
227
180
  var getCellProps = function getCellProps(value, record, rowIndex) {
228
181
  var prevProps = _internals.internals.safeGetCellProps(expandCol, record, rowIndex);
229
-
230
182
  if (record[treeMetaKey] == null) {
231
183
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
232
184
  return prevProps;
233
185
  }
234
-
235
186
  var _record$treeMetaKey2 = record[treeMetaKey],
236
- isLeaf = _record$treeMetaKey2.isLeaf,
237
- rowKey = _record$treeMetaKey2.rowKey;
238
-
187
+ isLeaf = _record$treeMetaKey2.isLeaf,
188
+ rowKey = _record$treeMetaKey2.rowKey;
239
189
  if (isLeaf) {
240
190
  return prevProps;
241
191
  }
242
-
243
192
  return (0, _utils.mergeCellProps)(prevProps, {
244
193
  onClick: function onClick(e) {
245
194
  if (stopClickEventPropagation) {
246
195
  e.stopPropagation();
247
196
  }
248
-
249
197
  toggle(rowKey);
250
198
  },
251
199
  style: {
@@ -253,7 +201,6 @@ function treeMode() {
253
201
  }
254
202
  });
255
203
  };
256
-
257
204
  columns[expandColIndex] = (0, _extends3.default)((0, _extends3.default)({}, expandCol), {
258
205
  title: /*#__PURE__*/_react.default.createElement("span", {
259
206
  style: {
@@ -1,56 +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.treeSelect = treeSelect;
9
-
10
8
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _others = require("../../utils/others");
19
-
20
13
  var _StrictTreeDataHelper = _interopRequireDefault(require("../../utils/tree-data-helpers/StrictTreeDataHelper"));
21
-
22
14
  var _TreeDataHelper = _interopRequireDefault(require("../../utils/tree-data-helpers/TreeDataHelper"));
23
-
24
15
  var STATE_KEY = 'treeSelect';
25
-
26
16
  function treeSelect(opts) {
27
17
  return function treeSelectStep(pipeline) {
28
18
  var _ref, _context;
29
-
30
19
  var _a, _b, _c, _d, _e, _f, _g, _h;
31
-
32
20
  var Checkbox = pipeline.ctx.components.Checkbox;
33
-
34
21
  if (Checkbox == null) {
35
22
  throw new Error('使用 treeSelect 之前需要通过 pipeline context 设置 components.Checkbox');
36
23
  }
37
-
38
24
  var primaryKey = pipeline.ensurePrimaryKey('treeSelect');
39
-
40
25
  if (typeof primaryKey !== 'string') {
41
26
  throw new Error('treeSelect 仅支持字符串作为 primaryKey');
42
27
  }
43
-
44
28
  var clickArea = (_a = opts.clickArea) !== null && _a !== void 0 ? _a : 'checkbox';
45
29
  var isDisabled = (_b = opts.isDisabled) !== null && _b !== void 0 ? _b : (0, _others.always)(false);
46
30
  var isDetached = (_c = opts.idDetached) !== null && _c !== void 0 ? _c : (0, _others.always)(false);
47
31
  var value = (_f = (_e = (_d = opts.value) !== null && _d !== void 0 ? _d : pipeline.getStateAtKey(STATE_KEY)) !== null && _e !== void 0 ? _e : opts.defaultValue) !== null && _f !== void 0 ? _f : [];
48
32
  var tree = opts.rootKey != null ? [(_ref = {}, (0, _defineProperty2.default)(_ref, primaryKey, opts.rootKey), (0, _defineProperty2.default)(_ref, "children", opts.tree), _ref)] : opts.tree;
49
-
50
33
  var getNodeValue = function getNodeValue(node) {
51
34
  return node[primaryKey];
52
35
  };
53
-
54
36
  var treeDataHelper = opts.checkStrictly ? new _StrictTreeDataHelper.default({
55
37
  value: value,
56
38
  getNodeValue: getNodeValue,
@@ -62,15 +44,12 @@ function treeSelect(opts) {
62
44
  tree: tree,
63
45
  checkedStrategy: (_g = opts.checkedStrategy) !== null && _g !== void 0 ? _g : 'parent'
64
46
  });
65
-
66
47
  var onToggleKey = function onToggleKey(key) {
67
48
  var _a;
68
-
69
49
  var nextValue = treeDataHelper.getValueAfterToggle(key);
70
50
  pipeline.setStateAtKey(STATE_KEY, nextValue);
71
51
  (_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, nextValue);
72
52
  };
73
-
74
53
  var makeCheckbox = function makeCheckbox(key, root, row) {
75
54
  return /*#__PURE__*/_react.default.createElement(Checkbox, {
76
55
  checked: treeDataHelper.isChecked(key),
@@ -81,7 +60,6 @@ function treeSelect(opts) {
81
60
  } : undefined
82
61
  });
83
62
  };
84
-
85
63
  var checkboxColumn = (0, _extends2.default)((0, _extends2.default)({
86
64
  name: '',
87
65
  width: 50,
@@ -93,13 +71,10 @@ function treeSelect(opts) {
93
71
  },
94
72
  getCellProps: function getCellProps(value, row) {
95
73
  var rowKey = row[primaryKey];
96
-
97
74
  if (clickArea !== 'cell') {
98
75
  return;
99
76
  }
100
-
101
77
  var disabled = isDisabled(row);
102
-
103
78
  if (disabled) {
104
79
  return {
105
80
  style: {
@@ -107,7 +82,6 @@ function treeSelect(opts) {
107
82
  }
108
83
  };
109
84
  }
110
-
111
85
  return {
112
86
  style: {
113
87
  cursor: 'pointer'
@@ -116,7 +90,6 @@ function treeSelect(opts) {
116
90
  if (opts.stopClickEventPropagation) {
117
91
  e.stopPropagation();
118
92
  }
119
-
120
93
  onToggleKey(rowKey);
121
94
  }
122
95
  };
@@ -124,19 +97,15 @@ function treeSelect(opts) {
124
97
  });
125
98
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
126
99
  var checkboxPlacement = (_h = opts.checkboxPlacement) !== null && _h !== void 0 ? _h : 'start';
127
-
128
100
  if (checkboxPlacement === 'start') {
129
101
  nextColumns.unshift(checkboxColumn);
130
102
  } else {
131
103
  nextColumns.push(checkboxColumn);
132
104
  }
133
-
134
105
  pipeline.columns(nextColumns);
135
-
136
106
  if (clickArea === 'row') {
137
107
  pipeline.appendRowPropsGetter(function (row) {
138
108
  var disabled = isDisabled(row);
139
-
140
109
  if (!disabled) {
141
110
  return {
142
111
  style: {
@@ -146,14 +115,12 @@ function treeSelect(opts) {
146
115
  if (opts.stopClickEventPropagation) {
147
116
  e.stopPropagation();
148
117
  }
149
-
150
118
  onToggleKey(row[primaryKey]);
151
119
  }
152
120
  };
153
121
  }
154
122
  });
155
123
  }
156
-
157
124
  if (opts.highlightRowWhenSelected) {
158
125
  pipeline.appendRowPropsGetter(function (row) {
159
126
  if (treeDataHelper.isChecked(row[primaryKey])) {
@@ -163,7 +130,6 @@ function treeSelect(opts) {
163
130
  }
164
131
  });
165
132
  }
166
-
167
133
  return pipeline;
168
134
  };
169
135
  }
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
@@ -22,13 +19,8 @@ Object.defineProperty(exports, "useTablePipeline", {
22
19
  return _pipeline.useTablePipeline;
23
20
  }
24
21
  });
25
-
26
22
  var features = _interopRequireWildcard(require("./features"));
27
-
28
23
  exports.features = features;
29
-
30
24
  var _pipeline = require("./pipeline");
31
-
32
25
  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); }
33
-
34
26
  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; }