@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,51 +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.autoRowSpan = autoRowSpan;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _internals = require("../../internals");
13
-
14
10
  var _utils = require("../../utils");
15
-
16
11
  function isIdentity(x, y) {
17
12
  return x === y;
18
13
  }
19
-
20
14
  function autoRowSpan() {
21
15
  return function autoRowSpanStep(pipeline) {
22
16
  var dataSource = pipeline.getDataSource();
23
17
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, _ref) {
24
18
  var startIndex = _ref.startIndex,
25
- endIndex = _ref.endIndex;
26
-
19
+ endIndex = _ref.endIndex;
27
20
  var _a;
28
-
29
21
  if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.autoRowSpan)) {
30
22
  return col;
31
23
  }
32
-
33
24
  if (!(0, _utils.isLeafNode)(col)) {
34
25
  return col;
35
26
  }
36
-
37
27
  var isFunc = typeof col.features.autoRowSpan === 'function';
38
28
  var shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity;
39
29
  var spanRects = [];
40
30
  var lastBottom = 0;
41
31
  var prevValue = null;
42
32
  var prevRow = null;
43
-
44
33
  for (var rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {
45
34
  var row = dataSource[rowIndex];
46
-
47
35
  var value = _internals.internals.safeGetValue(col, row, rowIndex);
48
-
49
36
  if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {
50
37
  var spanRect = {
51
38
  top: lastBottom,
@@ -53,18 +40,14 @@ function autoRowSpan() {
53
40
  left: startIndex,
54
41
  right: endIndex
55
42
  };
56
-
57
43
  for (var i = lastBottom; i < rowIndex; i++) {
58
44
  spanRects.push(spanRect);
59
45
  }
60
-
61
46
  lastBottom = rowIndex;
62
47
  }
63
-
64
48
  prevValue = value;
65
49
  prevRow = row;
66
50
  }
67
-
68
51
  for (var _i = lastBottom; _i < dataSource.length; _i++) {
69
52
  spanRects.push({
70
53
  top: lastBottom,
@@ -73,7 +56,6 @@ function autoRowSpan() {
73
56
  right: endIndex
74
57
  });
75
58
  }
76
-
77
59
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
78
60
  getSpanRect: function getSpanRect(value, row, rowIndex) {
79
61
  return spanRects[rowIndex];
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.buildTree = buildTree;
7
-
8
7
  var _utils = require("../../utils");
9
-
10
8
  function buildTree(idProp, parentIdProp) {
11
9
  return function (pipeline) {
12
10
  return pipeline.mapDataSource(function (rows) {
@@ -1,43 +1,28 @@
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.colGroupExtendable = void 0;
9
-
10
8
  var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
17
-
18
12
  var _react = _interopRequireDefault(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireDefault(require("styled-components"));
21
-
22
14
  var _internals = require("../../internals");
23
-
24
15
  var _utils = require("../../utils");
25
-
26
16
  var _classnames = _interopRequireDefault(require("classnames"));
27
-
28
17
  var _styles = require("../../base/styles");
29
-
30
18
  var _templateObject;
31
-
32
19
  var ExtendIconStyle = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-size:12px;\n margin-left:4px;\n"])));
33
-
34
20
  var stateKey = 'colExtend';
35
-
36
21
  var ExpandIcon = function ExpandIcon(_ref) {
37
22
  var style = _ref.style,
38
- className = _ref.className,
39
- size = _ref.size,
40
- isExtend = _ref.isExtend;
23
+ className = _ref.className,
24
+ size = _ref.size,
25
+ isExtend = _ref.isExtend;
41
26
  return isExtend ? /*#__PURE__*/_react.default.createElement("svg", {
42
27
  className: className,
43
28
  width: size,
@@ -56,15 +41,12 @@ var ExpandIcon = function ExpandIcon(_ref) {
56
41
  d: "M321.652913 178.347087C309.449029 166.143203 309.449029 146.356797 321.652913 134.152913C333.856797 121.949029 353.643203 121.949029 365.847088 134.152913L709.597087 477.902913C721.800972 490.106797 721.800972 509.893203 709.597087 522.097087L365.847088 865.847087C353.643203 878.050972 333.856797 878.050972 321.652913 865.847087C309.449029 853.643203 309.449029 833.856797 321.652913 821.652913L643.305825 500L321.652913 178.347087z"
57
42
  }));
58
43
  };
59
-
60
44
  var colGroupExtendable = function colGroupExtendable() {
61
45
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
46
  return function (pipeline) {
63
47
  var _a, _b;
64
-
65
48
  var columns = pipeline.getColumns();
66
49
  var curState = (_b = (_a = opts.extendStatus) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : {};
67
-
68
50
  var processColumns = function processColumns(columns) {
69
51
  // 当组合列可伸缩,且处于收缩状态时,只渲染一个子列,其他不渲染
70
52
  var toggle = function toggle(col) {
@@ -74,12 +56,10 @@ var colGroupExtendable = function colGroupExtendable() {
74
56
  pipeline.setStateAtKey(stateKey, (0, _extends2.default)({}, curState));
75
57
  (opts === null || opts === void 0 ? void 0 : opts.onChangeExtendStatus) && opts.onChangeExtendStatus(curState, changedValue);
76
58
  };
77
-
78
59
  var addIcon = function addIcon(col) {
79
60
  var result = (0, _extends2.default)({}, col);
80
61
  var curColState = curState[col.code];
81
62
  var displaycolExtendIcon = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon;
82
-
83
63
  var addIconNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _internals.internals.safeRenderHeader((0, _extends2.default)({}, col)), /*#__PURE__*/_react.default.createElement(ExtendIconStyle, {
84
64
  onClick: function onClick() {
85
65
  toggle(col);
@@ -96,31 +76,23 @@ var colGroupExtendable = function colGroupExtendable() {
96
76
  size: 14,
97
77
  isExtend: curColState
98
78
  })));
99
-
100
79
  result.title = addIconNode;
101
80
  return result;
102
81
  };
103
-
104
82
  return (0, _utils.makeRecursiveMapper)(function (col) {
105
83
  var _a;
106
-
107
84
  var _ref2 = (col === null || col === void 0 ? void 0 : col.features) || {},
108
- showExtendIcon = _ref2.showExtendIcon;
109
-
85
+ showExtendIcon = _ref2.showExtendIcon;
110
86
  if (showExtendIcon === true && ((_a = col.children) === null || _a === void 0 ? void 0 : _a.length) > 1) {
111
87
  var _context;
112
-
113
88
  col = addIcon(col);
114
89
  curState[col.code] === false && (0, _splice.default)(_context = col.children).call(_context, 1, col.children.length);
115
90
  }
116
-
117
91
  return col;
118
92
  })(columns);
119
93
  };
120
-
121
94
  pipeline.columns(processColumns(columns));
122
95
  return pipeline;
123
96
  };
124
97
  };
125
-
126
98
  exports.colGroupExtendable = colGroupExtendable;
@@ -1,74 +1,58 @@
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.columnDrag = columnDrag;
9
-
10
8
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
13
-
14
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
17
-
18
12
  var _utils = require("../../utils");
19
-
20
13
  var _autoFill = require("./autoFill");
21
-
22
14
  var stateKey = 'columnDrag';
23
15
  var SCROLL_SIZE = 30;
24
-
25
16
  function disableSelect(event) {
26
17
  event.preventDefault();
27
18
  }
28
-
29
19
  function sortColumns(columns, sort) {
30
20
  var res = new Array(columns.length);
31
21
  var lastColumns = (0, _toConsumableArray2.default)(columns);
32
-
33
22
  while (columns.length) {
34
23
  var cloumn = columns.pop();
35
24
  res[sort[cloumn.code]] = cloumn;
36
25
  }
37
-
38
26
  if ((0, _filter.default)(res).call(res, Boolean).length !== lastColumns.length) {
39
27
  return lastColumns;
40
28
  }
41
-
42
29
  return res;
43
30
  }
44
-
45
31
  function stopClickPropagation(e) {
46
32
  e.stopPropagation();
47
33
  }
48
-
49
34
  function columnDrag() {
50
35
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
51
36
  return function (pipeline) {
52
37
  var _pipeline$getStateAtK = pipeline.getStateAtKey(stateKey, {}),
53
- cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
54
-
38
+ cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
55
39
  var columns = pipeline.getColumns();
56
- var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody; // if (cloumnsSortData) {
40
+ var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
41
+ // if (cloumnsSortData) {
57
42
  // columns = sortColumns(columns, cloumnsSortData)
58
43
  // }
59
-
60
44
  pipeline.columns((0, _filter.default)(columns).call(columns, function (column) {
61
45
  return column;
62
46
  }));
63
47
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, recursiveFlatMapInfo) {
64
48
  var path = recursiveFlatMapInfo.path,
65
- isLeaf = recursiveFlatMapInfo.isLeaf;
49
+ isLeaf = recursiveFlatMapInfo.isLeaf;
66
50
  var style = cloumnsTranslateData ? {
67
51
  transition: '.3s',
68
52
  transform: "translate3d(".concat(cloumnsTranslateData[col.code], "px, 0px, 0px)")
69
53
  } : {};
70
- var prevGetCellProps = col.getCellProps; // !col.code: 选择列 col.lock: 固定列 不允许拖拽
71
-
54
+ var prevGetCellProps = col.getCellProps;
55
+ // !col.code: 选择列 col.lock: 固定列 不允许拖拽
72
56
  if (col.lock || !col.code) return col;
73
57
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
74
58
  getCellProps: function getCellProps(value, record, rowIndex) {
@@ -82,8 +66,8 @@ function columnDrag() {
82
66
  if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
83
67
  return;
84
68
  }
85
-
86
- window.addEventListener('selectstart', disableSelect); // const cx = e.clientX
69
+ window.addEventListener('selectstart', disableSelect);
70
+ // const cx = e.clientX
87
71
  // const width = col.width
88
72
  // const a = startIndex
89
73
  // const b = endIndex
@@ -91,13 +75,10 @@ function columnDrag() {
91
75
  // let newColumn = [...columns]
92
76
  // let newStartIndex = startIndex
93
77
  // let endIdx = endIndex
94
-
95
78
  var columnMoved = false;
96
79
  var columns = pipeline.getColumns();
97
-
98
80
  var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
99
- cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
100
-
81
+ cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
101
82
  var cloumnsSortData = {};
102
83
  columns.forEach(function (item, index) {
103
84
  cloumnsSortData[item.code] = index;
@@ -111,21 +92,17 @@ function columnDrag() {
111
92
  var allColumns = (0, _utils.collectNodes)(columns);
112
93
  var tableBodyClientRect = tableBody.getBoundingClientRect();
113
94
  var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
114
-
115
95
  var updateScrollPosition = function updateScrollPosition(client) {
116
96
  var clientX = client.clientX;
117
97
  var left = tableBodyClientRect.left,
118
- width = tableBodyClientRect.width;
119
-
98
+ width = tableBodyClientRect.width;
120
99
  if (clientX + SCROLL_SIZE >= left + width) {
121
100
  pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
122
101
  }
123
-
124
102
  if (clientX - SCROLL_SIZE <= left) {
125
103
  pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
126
104
  }
127
105
  };
128
-
129
106
  function handleMouseMove(e) {
130
107
  var client = {
131
108
  clientX: e.clientX,
@@ -133,17 +110,15 @@ function columnDrag() {
133
110
  };
134
111
  var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
135
112
  var leftPosition = startX - scrollDistance; // 表头最左边起点
136
-
137
113
  updateScrollPosition(client);
138
-
139
114
  if (e.clientX - leftPosition < 20) {
140
115
  return;
141
116
  } else {
142
117
  e.stopPropagation();
143
118
  }
144
-
145
119
  document.body.style.userSelect = 'none';
146
- currentTarget.style.cursor = 'move'; // 循环计算每一个的位置
120
+ currentTarget.style.cursor = 'move';
121
+ // 循环计算每一个的位置
147
122
  // if (startIndex !== replaceIndex) {
148
123
  // const optionColumn = columns[startIndex]
149
124
  // const move = startIndex > replaceIndex ? 1 : -1
@@ -166,21 +141,18 @@ function columnDrag() {
166
141
  // index++
167
142
  // }
168
143
  // 重置位置信息
169
-
170
144
  cloumnsTranslateData = {};
171
145
  allColumns.forEach(function (item) {
172
146
  cloumnsTranslateData[item.code] = 0;
173
- }); // 计算平移位置
174
-
147
+ });
148
+ // 计算平移位置
175
149
  var replaceIndex = 0;
176
150
  var totalWitdth = getColumnWidth(columns[replaceIndex]);
177
-
178
151
  while (totalWitdth < e.clientX - leftPosition && replaceIndex < columns.length - 1) {
179
152
  replaceIndex++;
180
153
  totalWitdth += getColumnWidth(columns[replaceIndex]);
181
- } // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
182
-
183
-
154
+ }
155
+ // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
184
156
  var startIndex;
185
157
  columns.forEach(function (column, index) {
186
158
  if (column.code === col.code) {
@@ -189,63 +161,53 @@ function columnDrag() {
189
161
  });
190
162
  var optionColumn = columns[startIndex];
191
163
  var index = replaceIndex;
192
-
193
164
  if (startIndex > replaceIndex) {
194
165
  // 左移
195
166
  while (index < startIndex) {
196
167
  var _columns$index = columns[index],
197
- code = _columns$index.code,
198
- lock = _columns$index.lock,
199
- width = _columns$index.width,
200
- children = _columns$index.children;
201
-
168
+ code = _columns$index.code,
169
+ lock = _columns$index.lock,
170
+ width = _columns$index.width,
171
+ children = _columns$index.children;
202
172
  if (enableMove({
203
173
  code: code,
204
174
  lock: lock
205
175
  })) {
206
176
  cloumnsTranslateData[code] += optionColumn.width;
207
-
208
177
  if ((0, _utils.isLeafNode)(columns[index])) {
209
178
  cloumnsTranslateData[optionColumn.code] -= width;
210
179
  } else {
211
180
  cloumnsTranslateData[optionColumn.code] -= getColumnWidth(columns[index]);
212
181
  moveAllChildren(children, cloumnsTranslateData, optionColumn.width);
213
182
  }
214
-
215
183
  columnMoved = true;
216
184
  }
217
-
218
185
  index++;
219
186
  }
220
187
  } else if (startIndex < replaceIndex) {
221
188
  // 右移
222
189
  while (startIndex < index) {
223
190
  var _columns$index2 = columns[index],
224
- _code = _columns$index2.code,
225
- _lock = _columns$index2.lock,
226
- _width = _columns$index2.width,
227
- _children = _columns$index2.children;
228
-
191
+ _code = _columns$index2.code,
192
+ _lock = _columns$index2.lock,
193
+ _width = _columns$index2.width,
194
+ _children = _columns$index2.children;
229
195
  if (enableMove({
230
196
  code: _code,
231
197
  lock: _lock
232
198
  })) {
233
199
  cloumnsTranslateData[_code] -= optionColumn.width;
234
-
235
200
  if ((0, _utils.isLeafNode)(columns[index])) {
236
201
  cloumnsTranslateData[optionColumn.code] += _width;
237
202
  } else {
238
203
  cloumnsTranslateData[optionColumn.code] += getColumnWidth(columns[index]);
239
204
  moveAllChildren(_children, cloumnsTranslateData, optionColumn.width, true);
240
205
  }
241
-
242
206
  columnMoved = true;
243
207
  }
244
-
245
208
  index--;
246
209
  }
247
210
  }
248
-
249
211
  window.requestAnimationFrame(function () {
250
212
  pipeline.setStateAtKey(stateKey, {
251
213
  cloumnsTranslateData: cloumnsTranslateData
@@ -253,15 +215,12 @@ function columnDrag() {
253
215
  moveData = [startIndex, replaceIndex];
254
216
  });
255
217
  }
256
-
257
218
  function handleMouseUp(e) {
258
219
  document.body.removeEventListener('mousemove', handleMouseMove);
259
220
  document.body.removeEventListener('mouseup', handleMouseUp);
260
221
  window.removeEventListener('selectstart', disableSelect);
261
-
262
222
  if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
263
223
  e.stopPropagation(); // 存在移动就阻止冒泡
264
-
265
224
  currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
266
225
  }
267
226
 
@@ -269,13 +228,12 @@ function columnDrag() {
269
228
  // 取消阻止列头点击事件
270
229
  currentTarget.removeEventListener('click', stopClickPropagation);
271
230
  currentTarget = null;
272
-
273
231
  var _moveData = moveData,
274
- _moveData2 = (0, _slicedToArray2.default)(_moveData, 2),
275
- startIndex = _moveData2[0],
276
- replaceIndex = _moveData2[1];
277
-
278
- var optionColumn = columns[startIndex]; // const move = startIndex > replaceIndex ? 1 : -1
232
+ _moveData2 = (0, _slicedToArray2.default)(_moveData, 2),
233
+ startIndex = _moveData2[0],
234
+ replaceIndex = _moveData2[1];
235
+ var optionColumn = columns[startIndex];
236
+ // const move = startIndex > replaceIndex ? 1 : -1
279
237
  // let index = Math.min(startIndex, replaceIndex)
280
238
  // while (index < Math.max(startIndex, replaceIndex) && index > 0) {
281
239
  // const code = columns[index].code
@@ -283,16 +241,13 @@ function columnDrag() {
283
241
  // cloumnsSortData[code] += move
284
242
  // index += move
285
243
  // }
286
-
287
244
  var index = replaceIndex;
288
-
289
245
  if (startIndex > replaceIndex) {
290
246
  // 左移
291
247
  while (index < startIndex) {
292
248
  var _columns$index3 = columns[index],
293
- code = _columns$index3.code,
294
- lock = _columns$index3.lock;
295
-
249
+ code = _columns$index3.code,
250
+ lock = _columns$index3.lock;
296
251
  if (enableMove({
297
252
  code: code,
298
253
  lock: lock
@@ -301,16 +256,14 @@ function columnDrag() {
301
256
  cloumnsSortData[optionColumn.code] -= 1;
302
257
  columnMoved = true;
303
258
  }
304
-
305
259
  index++;
306
260
  }
307
261
  } else if (startIndex < replaceIndex) {
308
262
  // 右移
309
263
  while (index > startIndex) {
310
264
  var _columns$index4 = columns[index],
311
- _code2 = _columns$index4.code,
312
- _lock2 = _columns$index4.lock;
313
-
265
+ _code2 = _columns$index4.code,
266
+ _lock2 = _columns$index4.lock;
314
267
  if (enableMove({
315
268
  code: _code2,
316
269
  lock: _lock2
@@ -319,28 +272,23 @@ function columnDrag() {
319
272
  cloumnsSortData[optionColumn.code] += 1;
320
273
  columnMoved = true;
321
274
  }
322
-
323
275
  index--;
324
276
  }
325
277
  }
326
-
327
- var onColumnDragStopped = opts.onColumnDragStopped; // 拖拽结束返回列顺序
328
-
278
+ var onColumnDragStopped = opts.onColumnDragStopped;
279
+ // 拖拽结束返回列顺序
329
280
  if (onColumnDragStopped) {
330
281
  var _context;
331
-
332
282
  var isRowDragColumn = function isRowDragColumn(code) {
333
283
  var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
334
284
  return code === rowDragColumnKey;
335
285
  };
336
-
337
286
  var newColumns = (0, _filter.default)(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
338
287
  return column.code !== _autoFill.FILL_COLUMN_CODE && !isRowDragColumn(column.code) && !(0, _utils.isSelectColumn)(column);
339
- }); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
340
-
288
+ });
289
+ // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
341
290
  onColumnDragStopped(columnMoved, newColumns);
342
291
  }
343
-
344
292
  pipeline.setStateAtKey(stateKey, {
345
293
  cloumnsTranslateData: null
346
294
  });
@@ -349,7 +297,6 @@ function columnDrag() {
349
297
  currentTarget.style.opacity = '';
350
298
  currentTarget.style.cursor = '';
351
299
  }
352
-
353
300
  var onColumnDragStart = opts.onColumnDragStart;
354
301
  onColumnDragStart && onColumnDragStart(col);
355
302
  document.body.addEventListener('mousemove', handleMouseMove);
@@ -361,45 +308,37 @@ function columnDrag() {
361
308
  }));
362
309
  };
363
310
  }
364
-
365
311
  function enableMove(_ref) {
366
312
  var lock = _ref.lock,
367
- code = _ref.code;
313
+ code = _ref.code;
368
314
  return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
369
315
  }
370
-
371
316
  function getColumnWidth(col) {
372
317
  if (col.children) {
373
318
  return col.children.reduce(function (acc, col) {
374
319
  return acc + getColumnWidth(col);
375
320
  }, 0);
376
321
  }
377
-
378
322
  return col.width;
379
323
  }
380
-
381
324
  function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
382
325
  cols.forEach(function (col) {
383
326
  var _a;
384
-
385
327
  var code = col.code,
386
- children = col.children;
328
+ children = col.children;
387
329
  var movedWidth = (_a = cloumnsTranslateData[code]) !== null && _a !== void 0 ? _a : 0;
388
330
  cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
389
-
390
331
  if (!(0, _utils.isLeafNode)(col)) {
391
332
  moveAllChildren(children, cloumnsTranslateData, width);
392
333
  }
393
334
  });
394
335
  }
395
-
396
336
  function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
397
337
  var xDiff = mouseUpClientX - mouseDownClientX;
398
- var yDiff = mouseUpClientY - mouseDownClientY; // 鼠标点按和松开的偏移量大于5px,认为存在移动
399
-
338
+ var yDiff = mouseUpClientY - mouseDownClientY;
339
+ // 鼠标点按和松开的偏移量大于5px,认为存在移动
400
340
  if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
401
341
  return true;
402
342
  }
403
-
404
343
  return false;
405
344
  }