@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,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,24 +272,20 @@ 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 newColumns = (0, _filter.default)(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (_ref) {
333
283
  var code = _ref.code;
334
284
  return code !== _autoFill.FILL_COLUMN_CODE;
335
- }); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
336
-
285
+ });
286
+ // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
337
287
  onColumnDragStopped(columnMoved, newColumns);
338
288
  }
339
-
340
289
  pipeline.setStateAtKey(stateKey, {
341
290
  cloumnsTranslateData: null
342
291
  });
@@ -345,7 +294,6 @@ function columnDrag() {
345
294
  currentTarget.style.opacity = '';
346
295
  currentTarget.style.cursor = '';
347
296
  }
348
-
349
297
  document.body.addEventListener('mousemove', handleMouseMove);
350
298
  document.body.addEventListener('mouseup', handleMouseUp);
351
299
  },
@@ -355,45 +303,37 @@ function columnDrag() {
355
303
  }));
356
304
  };
357
305
  }
358
-
359
306
  function enableMove(_ref2) {
360
307
  var lock = _ref2.lock,
361
- code = _ref2.code;
308
+ code = _ref2.code;
362
309
  return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
363
310
  }
364
-
365
311
  function getColumnWidth(col) {
366
312
  if (col.children) {
367
313
  return col.children.reduce(function (acc, col) {
368
314
  return acc + getColumnWidth(col);
369
315
  }, 0);
370
316
  }
371
-
372
317
  return col.width;
373
318
  }
374
-
375
319
  function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
376
320
  cols.forEach(function (col) {
377
321
  var _a;
378
-
379
322
  var code = col.code,
380
- children = col.children;
323
+ children = col.children;
381
324
  var movedWidth = (_a = cloumnsTranslateData[code]) !== null && _a !== void 0 ? _a : 0;
382
325
  cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
383
-
384
326
  if (!(0, _utils.isLeafNode)(col)) {
385
327
  moveAllChildren(children, cloumnsTranslateData, width);
386
328
  }
387
329
  });
388
330
  }
389
-
390
331
  function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
391
332
  var xDiff = mouseUpClientX - mouseDownClientX;
392
- var yDiff = mouseUpClientY - mouseDownClientY; // 鼠标点按和松开的偏移量大于5px,认为存在移动
393
-
333
+ var yDiff = mouseUpClientY - mouseDownClientY;
334
+ // 鼠标点按和松开的偏移量大于5px,认为存在移动
394
335
  if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
395
336
  return true;
396
337
  }
397
-
398
338
  return false;
399
339
  }