@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,56 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.rowDetail = rowDetail;
11
-
12
9
  var _toArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toArray"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
-
16
11
  var _extends4 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
-
18
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
19
-
20
13
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
23
-
24
15
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
25
-
26
16
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
27
-
28
17
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
29
-
30
18
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
31
-
32
19
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
33
-
34
20
  var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
21
  var _react = _interopRequireDefault(require("react"));
37
-
38
22
  var _commonViews = require("../../common-views");
39
-
40
23
  var _internals = require("../../internals");
41
-
42
24
  var _utils = require("../../utils");
43
-
44
25
  var _others = require("../../utils/others");
45
-
46
26
  var _console = _interopRequireDefault(require("../../utils/console"));
47
-
48
27
  var _renderTemplates = _interopRequireDefault(require("../../base/renderTemplates"));
49
-
50
28
  var _base = require("../../base");
51
-
52
29
  var rowDetailSymbol = (0, _symbol.default)('row-detail');
53
-
54
30
  var fallbackRenderDetail = function fallbackRenderDetail() {
55
31
  return /*#__PURE__*/_react.default.createElement("div", {
56
32
  style: {
@@ -62,14 +38,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
62
38
  }
63
39
  }, "\u8BBE\u7F6E ", /*#__PURE__*/_react.default.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
64
40
  };
65
-
66
41
  function rowDetail() {
67
42
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
43
  return function rowDetailStep(pipeline) {
69
44
  var _context, _context2;
70
-
71
45
  var _a, _b, _c, _d, _e, _f, _g, _h;
72
-
73
46
  var stateKey = 'rowDetail';
74
47
  var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
75
48
  var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
@@ -84,33 +57,26 @@ function rowDetail() {
84
57
  var openKeys = (_h = (_g = (_f = opts.openKeys) !== null && _f !== void 0 ? _f : pipeline.getStateAtKey(stateKey)) !== null && _g !== void 0 ? _g : opts.defaultOpenAll ? (0, _map.default)(_context = (0, _filter.default)(_context2 = pipeline.getDataSource()).call(_context2, hasDetail)).call(_context, function (row, rowIndex) {
85
58
  return _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
86
59
  }) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
87
-
88
60
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
89
61
  var _a;
90
-
91
62
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
92
63
  pipeline.setStateAtKey(stateKey, nextKeys, {
93
64
  key: key,
94
65
  action: action
95
66
  });
96
67
  };
97
-
98
68
  var openKeySet = new _set.default(openKeys);
99
-
100
69
  var toggle = function toggle(rowKey) {
101
70
  var expanded = openKeySet.has(rowKey);
102
-
103
71
  if (expanded) {
104
72
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
105
73
  return key !== rowKey;
106
74
  }), rowKey, 'collapse');
107
75
  } else {
108
76
  var _context3;
109
-
110
77
  onChangeOpenKeys((0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
111
78
  }
112
79
  };
113
-
114
80
  var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
115
81
  return pipeline.dataSource((0, _flatMapInstanceProperty(_others))(pipeline.getDataSource(), function (row, rowIndex) {
116
82
  if (openKeySet.has(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex))) {
@@ -126,35 +92,27 @@ function rowDetail() {
126
92
  };
127
93
  }
128
94
  });
129
-
130
95
  function processColumns(columns) {
131
96
  if (columns.length === 0) {
132
97
  return columns;
133
98
  }
134
-
135
99
  var expandColumnIndex = 0;
136
-
137
100
  if (opts.expandColumnCode) {
138
101
  expandColumnIndex = (0, _findIndex.default)(columns).call(columns, function (col) {
139
102
  return col.code === opts.expandColumnCode;
140
103
  });
141
-
142
104
  if (expandColumnIndex < 0) {
143
105
  _console.default.warn('没找到可展开的列,请检查设置的展开列code');
144
-
145
106
  return columns;
146
107
  }
147
108
  }
148
-
149
109
  var expandCol = columns[expandColumnIndex];
150
110
  var tableColumns = (0, _toConsumableArray2.default)(columns);
151
-
152
111
  var render = function render(value, row, rowIndex) {
153
112
  if (row[rowDetailMetaKey]) {
154
113
  // 第一列内容已经渲染
155
114
  if (expandColumnIndex !== 0) return;
156
115
  var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
157
-
158
116
  if (typeof renderRowDetail === 'function') {
159
117
  return renderRowDetail({
160
118
  row: row,
@@ -163,12 +121,9 @@ function rowDetail() {
163
121
  renderDetail: renderDetail
164
122
  });
165
123
  }
166
-
167
124
  return renderDetail(row, rowIndex);
168
125
  }
169
-
170
126
  var content = _internals.internals.safeRender(expandCol, row, rowIndex);
171
-
172
127
  if (!hasDetail(row, rowIndex)) {
173
128
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
174
129
  style: {
@@ -176,19 +131,14 @@ function rowDetail() {
176
131
  }
177
132
  }, content);
178
133
  }
179
-
180
134
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
181
-
182
135
  var expanded = openKeySet.has(rowKey);
183
-
184
136
  var onClick = function onClick(e) {
185
137
  if (opts.stopClickEventPropagation) {
186
138
  e.stopPropagation();
187
139
  }
188
-
189
140
  toggle(rowKey);
190
141
  };
191
-
192
142
  var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
193
143
  var ExpandIcon = opts.expandIcon;
194
144
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
@@ -210,10 +160,8 @@ function rowDetail() {
210
160
  onClick: clickArea === 'icon' ? onClick : undefined
211
161
  }), content);
212
162
  };
213
-
214
163
  var getCellProps = function getCellProps(value, row, rowIndex) {
215
164
  var _a;
216
-
217
165
  if (row[rowDetailMetaKey]) {
218
166
  return {
219
167
  style: (0, _extends4.default)({
@@ -222,19 +170,15 @@ function rowDetail() {
222
170
  }, opts.detailCellStyle)
223
171
  };
224
172
  }
225
-
226
173
  var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
227
-
228
174
  if (!hasDetail(row, rowIndex)) {
229
175
  return prevProps;
230
176
  }
231
-
232
177
  return (0, _utils.mergeCellProps)(prevProps, {
233
178
  onClick: function onClick(e) {
234
179
  if (opts.stopClickEventPropagation) {
235
180
  e.stopPropagation();
236
181
  }
237
-
238
182
  toggle(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex));
239
183
  },
240
184
  style: {
@@ -242,15 +186,12 @@ function rowDetail() {
242
186
  }
243
187
  });
244
188
  };
245
-
246
189
  var _tableColumns = (0, _toArray2.default)(tableColumns),
247
- firstCol = _tableColumns[0],
248
- others = (0, _slice.default)(_tableColumns).call(_tableColumns, 1);
249
-
190
+ firstCol = _tableColumns[0],
191
+ others = (0, _slice.default)(_tableColumns).call(_tableColumns, 1);
250
192
  var firstColRender = function firstColRender(value, row, rowIndex) {
251
193
  if (row[rowDetailMetaKey]) {
252
194
  var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
253
-
254
195
  if (typeof renderRowDetail === 'function') {
255
196
  return renderRowDetail({
256
197
  row: row,
@@ -259,15 +200,11 @@ function rowDetail() {
259
200
  renderDetail: renderDetail
260
201
  });
261
202
  }
262
-
263
203
  return renderDetail(row, rowIndex);
264
204
  }
265
-
266
205
  var content = _internals.internals.safeRender(firstCol, row, rowIndex);
267
-
268
206
  return content;
269
207
  };
270
-
271
208
  tableColumns[0] = (0, _extends4.default)((0, _extends4.default)({}, firstCol), {
272
209
  render: firstColRender,
273
210
  getSpanRect: function getSpanRect(value, row, rowIndex) {
@@ -1,34 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
4
-
5
4
  var _mapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/map");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.ROW_DRAG_COLUMN_CODE = void 0;
13
10
  exports.rowDrag = rowDrag;
14
11
  exports.rowDragKey = void 0;
15
-
16
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
-
18
13
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
19
-
20
14
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
21
-
22
15
  var _react = _interopRequireDefault(require("react"));
23
-
24
16
  var _rxjs = require("rxjs");
25
-
26
17
  var _operators = require("rxjs/operators");
27
-
28
18
  var _classnames = _interopRequireDefault(require("classnames"));
29
-
30
19
  var _styles = require("../../base/styles");
31
-
32
20
  var ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
33
21
  exports.ROW_DRAG_COLUMN_CODE = ROW_DRAG_COLUMN_CODE;
34
22
  var rowDragKey = 'rowDragKey';
@@ -60,47 +48,38 @@ var defaultRowDragColumn = {
60
48
  }));
61
49
  }
62
50
  };
63
-
64
51
  function rowDrag(opt) {
65
52
  return function rowDragStep(pipeline) {
66
53
  var _context;
67
-
68
54
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
69
55
  var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
70
56
  if (!tableBody) return pipeline;
71
57
  var dataSource = pipeline.getDataSource();
72
58
  var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
73
-
74
59
  var handleDragStrat = function handleDragStrat(event) {
75
- var _a; // 开始拖拽
76
-
77
-
60
+ var _a;
61
+ // 开始拖拽
78
62
  artTable.classList.add((0, _classnames.default)(_styles.Classes.rowDragging));
79
63
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, event);
80
64
  };
81
-
82
65
  var handleDragMove = function handleDragMove(event) {
83
66
  var _a;
84
-
85
67
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, event);
86
68
  pipeline.setStateAtKey(rowDragKey, event);
87
69
  };
88
-
89
70
  var handleDragEnd = function handleDragEnd(event, isValid) {
90
71
  var _a;
91
-
92
72
  artTable.classList.remove((0, _classnames.default)(_styles.Classes.rowDragging));
93
- pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
94
-
73
+ pipeline.setStateAtKey(rowDragKey, event);
74
+ // 超出拖拽范围不触发dragend事件
95
75
  if (isValid) {
96
76
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, event);
97
77
  }
98
78
  };
99
-
100
79
  var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
101
80
  var isFinished = _ref.isFinished,
102
- _ref$dragPosition = _ref.dragPosition,
103
- dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
81
+ _ref$dragPosition = _ref.dragPosition,
82
+ dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
104
83
  return {
105
84
  startRowIndex: startRowInfo.rowIndex,
106
85
  startRow: startRowInfo.row,
@@ -110,31 +89,26 @@ function rowDrag(opt) {
110
89
  isFinished: isFinished
111
90
  };
112
91
  };
113
-
114
92
  var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
115
93
  if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
116
94
  var clientY = mouseMoveEvent.clientY;
117
95
  var tableBodyClientRect = tableBody.getBoundingClientRect();
118
96
  var top = tableBodyClientRect.top,
119
- height = tableBodyClientRect.height;
120
-
97
+ height = tableBodyClientRect.height;
121
98
  if (clientY + SCROLL_OFFSET >= top + height) {
122
99
  pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
123
100
  }
124
-
125
101
  if (clientY + SCROLL_OFFSET <= top) {
126
102
  pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
127
103
  }
128
104
  };
129
-
130
105
  var onMouseDown = function onMouseDown(mouseDownEvent) {
131
106
  var _a;
132
-
133
107
  var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
134
108
  var endRowInfo = startRowInfo;
135
109
  if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
136
- if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return; // 默认拖拽插入的位置是向下
137
-
110
+ if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
111
+ // 默认拖拽插入的位置是向下
138
112
  var dragPosition = 'bottom';
139
113
  var isOutOfRange = false;
140
114
  var isValidDrag = false;
@@ -144,12 +118,12 @@ function rowDrag(opt) {
144
118
  });
145
119
  handleDragStrat(dragStartEvent);
146
120
  var tableWidth = tableBody.clientWidth;
147
- var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
148
-
121
+ var startRowRects = startRowInfo.cell.getBoundingClientRect();
122
+ // 光标位置距离初始拖拽行的偏移量
149
123
  var mouseDownClientY = mouseDownEvent.clientY;
150
124
  var startOffset = mouseDownEvent.clientY - startRowRects.top;
151
- var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
152
-
125
+ var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
126
+ // 可拖拽的范围
153
127
  var dragRange = getDragRange(tableBody, {
154
128
  startOffset: startOffset,
155
129
  rowHeight: rowHeight
@@ -160,7 +134,6 @@ function rowDrag(opt) {
160
134
  };
161
135
  var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
162
136
  var mouseup$ = (0, _rxjs.fromEvent)(window, 'mouseup');
163
-
164
137
  var scrollCallback = function scrollCallback(event) {
165
138
  // 在当前表格内滚动不处理
166
139
  if (event.target === tableBody) return;
@@ -171,27 +144,23 @@ function rowDrag(opt) {
171
144
  var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
172
145
  updateCurSorStyle(isOutOfRange);
173
146
  };
174
-
175
147
  document.addEventListener('scroll', scrollCallback, true);
176
148
  var rowDrag$ = mousemove$.pipe((0, _filterInstanceProperty(_operators))(function (mouseMoveEvent) {
177
- var mouseMoveClientY = mouseMoveEvent.clientY; // 上下移动偏移量大于5才是有效的拖拽
178
-
149
+ var mouseMoveClientY = mouseMoveEvent.clientY;
150
+ // 上下移动偏移量大于5才是有效的拖拽
179
151
  if (Math.abs(mouseMoveClientY - mouseDownClientY) > 5) {
180
152
  isValidDrag = true;
181
153
  }
182
-
183
154
  return isValidDrag;
184
155
  }), (0, _mapInstanceProperty(_operators))(function (mouseMoveEvent) {
185
156
  var clientX = mouseMoveEvent.clientX,
186
- clientY = mouseMoveEvent.clientY;
157
+ clientY = mouseMoveEvent.clientY;
187
158
  var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
188
-
189
159
  if (tagretRow) {
190
160
  endRowInfo = tagretRow;
191
161
  }
192
-
193
- var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
194
-
162
+ var targetRowRects = endRowInfo.cell.getBoundingClientRect();
163
+ // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
195
164
  var isMoveToTop = clientY - startOffset < targetRowRects.top;
196
165
  dragPosition = isMoveToTop ? 'top' : 'bottom';
197
166
  isOutOfRange = isOutOfDragRange({
@@ -203,7 +172,6 @@ function rowDrag(opt) {
203
172
  y: clientY
204
173
  };
205
174
  updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
206
-
207
175
  updateDragElementPosition(dragElement, dragRange, {
208
176
  x: clientX,
209
177
  y: clientY,
@@ -219,8 +187,8 @@ function rowDrag(opt) {
219
187
  rowDrag$.subscribe({
220
188
  next: function next(_ref2) {
221
189
  var startRowInfo = _ref2.startRowInfo,
222
- endRowInfo = _ref2.endRowInfo,
223
- dragPosition = _ref2.dragPosition;
190
+ endRowInfo = _ref2.endRowInfo,
191
+ dragPosition = _ref2.dragPosition;
224
192
  var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
225
193
  isFinished: false,
226
194
  dragPosition: dragPosition
@@ -240,7 +208,6 @@ function rowDrag(opt) {
240
208
  }
241
209
  });
242
210
  };
243
-
244
211
  var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
245
212
  pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
246
213
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
@@ -251,12 +218,11 @@ function rowDrag(opt) {
251
218
  });
252
219
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
253
220
  var _cx;
254
-
255
221
  var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
256
222
  var startRowIndex = rowDragEvent.startRowIndex,
257
- endRowIndex = rowDragEvent.endRowIndex,
258
- isFinished = rowDragEvent.isFinished,
259
- dragPosition = rowDragEvent.dragPosition;
223
+ endRowIndex = rowDragEvent.endRowIndex,
224
+ isFinished = rowDragEvent.isFinished,
225
+ dragPosition = rowDragEvent.dragPosition;
260
226
  var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
261
227
  if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
262
228
  var className = (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.rowDragStart, rowIndex === startRowIndex), (0, _defineProperty2.default)(_cx, _styles.Classes.rowDragEnd, rowIndex === endRowIndex), (0, _defineProperty2.default)(_cx, _styles.Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), (0, _defineProperty2.default)(_cx, _styles.Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'), _cx));
@@ -267,7 +233,6 @@ function rowDrag(opt) {
267
233
  return pipeline;
268
234
  };
269
235
  }
270
-
271
236
  function getTargetRowInfo(target, tableBody, record) {
272
237
  while (target && tableBody.contains(target)) {
273
238
  if (target.getAttribute('data-role') === 'table-cell') {
@@ -283,41 +248,33 @@ function getTargetRowInfo(target, tableBody, record) {
283
248
  cell: target
284
249
  };
285
250
  }
286
-
287
251
  target = target.parentElement;
288
252
  }
289
-
290
253
  return null;
291
254
  }
292
-
293
255
  function isEleInFooter(target) {
294
256
  while (target && !target.classList.contains(_styles.Classes.artTable)) {
295
257
  if (target.classList.contains(_styles.Classes.tableFooter)) {
296
258
  return true;
297
259
  }
298
-
299
260
  target = target.parentElement;
300
261
  }
301
-
302
262
  return false;
303
263
  }
304
-
305
264
  function createDragElement(rects, tableWidth, rowHeight) {
306
265
  var _context2, _context3, _context4;
307
-
308
266
  var x = rects.x,
309
- y = rects.y;
267
+ y = rects.y;
310
268
  var dragMoveElement = document.createElement('div');
311
269
  dragMoveElement.className = (0, _classnames.default)(_styles.Classes.rowDragElement);
312
270
  dragMoveElement.style.cssText = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "position:fixed;z-index:9999;left:".concat(x, "px;top:")).call(_context4, y, "px;pointer-events:none;width:")).call(_context3, tableWidth, "px;height:")).call(_context2, rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
313
271
  document.body.appendChild(dragMoveElement);
314
272
  return dragMoveElement;
315
273
  }
316
-
317
274
  function updateDragElementPosition(element, dragRange, _ref3) {
318
275
  var x = _ref3.x,
319
- y = _ref3.y,
320
- startOffset = _ref3.startOffset;
276
+ y = _ref3.y,
277
+ startOffset = _ref3.startOffset;
321
278
  var validPosition = getValidPosition({
322
279
  x: x,
323
280
  y: y
@@ -325,11 +282,9 @@ function updateDragElementPosition(element, dragRange, _ref3) {
325
282
  element.style.top = validPosition.y - startOffset + 'px';
326
283
  return element;
327
284
  }
328
-
329
285
  function removeDragElement(element) {
330
286
  document.body.removeChild(element);
331
287
  }
332
-
333
288
  function updateCurSorStyle(isOutOfRange) {
334
289
  if (isOutOfRange) {
335
290
  document.body.style.cursor = 'no-drop';
@@ -337,19 +292,17 @@ function updateCurSorStyle(isOutOfRange) {
337
292
  document.body.style.cursor = 'move';
338
293
  }
339
294
  }
340
-
341
295
  function removeCurSorStyle() {
342
296
  document.body.style.cursor = 'default';
343
297
  }
344
-
345
298
  function getDragRange(tableBody, _ref4) {
346
299
  var startOffset = _ref4.startOffset,
347
- rowHeight = _ref4.rowHeight;
300
+ rowHeight = _ref4.rowHeight;
348
301
  var tableBodyClientRect = tableBody.getBoundingClientRect();
349
302
  var height = tableBodyClientRect.height,
350
- width = tableBodyClientRect.width,
351
- top = tableBodyClientRect.top,
352
- left = tableBodyClientRect.left;
303
+ width = tableBodyClientRect.width,
304
+ top = tableBodyClientRect.top,
305
+ left = tableBodyClientRect.left;
353
306
  return {
354
307
  minX: left,
355
308
  maxX: left + width,
@@ -357,14 +310,13 @@ function getDragRange(tableBody, _ref4) {
357
310
  maxY: top + height + startOffset
358
311
  };
359
312
  }
360
-
361
313
  function getValidPosition(position, dragRange) {
362
314
  var x = position.x,
363
- y = position.y;
315
+ y = position.y;
364
316
  var minX = dragRange.minX,
365
- maxX = dragRange.maxX,
366
- minY = dragRange.minY,
367
- maxY = dragRange.maxY;
317
+ maxX = dragRange.maxX,
318
+ minY = dragRange.minY,
319
+ maxY = dragRange.maxY;
368
320
  var newX = x < minX ? minX : x > maxX ? maxX : x;
369
321
  var newY = y < minY ? minY : y > maxY ? maxY : y;
370
322
  return {
@@ -372,13 +324,12 @@ function getValidPosition(position, dragRange) {
372
324
  y: newY
373
325
  };
374
326
  }
375
-
376
327
  function isOutOfDragRange(position, dragRange) {
377
328
  var x = position.x,
378
- y = position.y;
329
+ y = position.y;
379
330
  var minX = dragRange.minX,
380
- maxX = dragRange.maxX,
381
- minY = dragRange.minY,
382
- maxY = dragRange.maxY;
331
+ maxX = dragRange.maxX,
332
+ minY = dragRange.minY,
333
+ maxY = dragRange.maxY;
383
334
  return x > maxX || x < minX || y > maxY || y < minY;
384
335
  }