@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.6-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 (243) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/dist/@kdcloudjs/table.css +1 -1
  3. package/dist/@kdcloudjs/table.js +4847 -6022
  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 -24
  7. package/dist/@kdcloudjs/table.min.js.map +1 -1
  8. package/es/_utils/arrayUtil.js +0 -3
  9. package/es/_utils/devwarning.js +0 -1
  10. package/es/_utils/formatUtil.js +36 -101
  11. package/es/_utils/hooks.js +21 -45
  12. package/es/_utils/index.js +0 -2
  13. package/es/_utils/numberUtil.js +32 -55
  14. package/es/_utils/omit.js +0 -2
  15. package/es/_utils/type.js +0 -2
  16. package/es/_utils/usePopper.js +84 -147
  17. package/es/config-provider/compDefaultProps.js +0 -1
  18. package/es/config-provider/configProvider.js +2 -7
  19. package/es/config-provider/defaultConfig.js +0 -1
  20. package/es/index.js +0 -2
  21. package/es/locale/locale.js +11 -50
  22. package/es/table/base/calculations.js +25 -75
  23. package/es/table/base/colgroup.js +0 -1
  24. package/es/table/base/empty.js +6 -6
  25. package/es/table/base/header.js +30 -81
  26. package/es/table/base/helpers/SpanManager.js +4 -11
  27. package/es/table/base/helpers/TableDOMUtils.js +9 -34
  28. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  29. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +2 -3
  30. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  31. package/es/table/base/helpers/rowHeightManager.js +0 -28
  32. package/es/table/base/html-table.js +17 -39
  33. package/es/table/base/loading.js +8 -10
  34. package/es/table/base/renderTemplates.js +42 -60
  35. package/es/table/base/styles.js +0 -9
  36. package/es/table/base/table.js +110 -199
  37. package/es/table/base/utils.js +17 -57
  38. package/es/table/common-views.js +0 -7
  39. package/es/table/interfaces.d.ts +2 -0
  40. package/es/table/internals.d.ts +2 -1
  41. package/es/table/internals.js +0 -13
  42. package/es/table/pipeline/features/autoFill.js +11 -40
  43. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  44. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  45. package/es/table/pipeline/features/columnDrag.js +41 -97
  46. package/es/table/pipeline/features/columnFilter.js +12 -51
  47. package/es/table/pipeline/features/columnHover.js +1 -7
  48. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  49. package/es/table/pipeline/features/columnResizeWidth.js +13 -39
  50. package/es/table/pipeline/features/contextMenu.js +22 -95
  51. package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
  52. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  53. package/es/table/pipeline/features/filter/Filter.js +27 -51
  54. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  55. package/es/table/pipeline/features/filter/util.js +0 -4
  56. package/es/table/pipeline/features/footerDataSource.js +0 -3
  57. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  58. package/es/table/pipeline/features/multiSelect.js +15 -57
  59. package/es/table/pipeline/features/rangeSelection.js +73 -152
  60. package/es/table/pipeline/features/rowDetail.js +6 -43
  61. package/es/table/pipeline/features/rowDrag.js +39 -78
  62. package/es/table/pipeline/features/rowGrouping.js +10 -42
  63. package/es/table/pipeline/features/singleSelect.js +0 -24
  64. package/es/table/pipeline/features/sort.js +37 -90
  65. package/es/table/pipeline/features/tips.js +4 -10
  66. package/es/table/pipeline/features/treeMode.js +14 -49
  67. package/es/table/pipeline/features/treeSelect.js +2 -28
  68. package/es/table/pipeline/pipeline.js +12 -53
  69. package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
  70. package/es/table/pivot/cross-table/cross-table.js +23 -31
  71. package/es/table/pivot/cross-table/interfaces.d.ts +1 -1
  72. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
  73. package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
  74. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  75. package/es/table/pivot/pivot-utils/builders.js +34 -74
  76. package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
  77. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  78. package/es/table/transforms/autoRowSpan.js +1 -15
  79. package/es/table/transforms/autoWidth.js +13 -35
  80. package/es/table/transforms/buildTree.js +1 -2
  81. package/es/table/transforms/columnHover.js +9 -15
  82. package/es/table/transforms/columnRangeHover.js +12 -19
  83. package/es/table/transforms/columnResize.js +18 -42
  84. package/es/table/transforms/flatten.js +0 -3
  85. package/es/table/transforms/orderField.js +0 -3
  86. package/es/table/transforms/sort.d.ts +1 -0
  87. package/es/table/transforms/sort.js +42 -96
  88. package/es/table/transforms/tips.js +5 -10
  89. package/es/table/transforms/treeMode.js +39 -80
  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 +7 -22
  95. package/es/table/utils/collectNodes.js +4 -13
  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 +7 -43
  100. package/es/table/utils/getTreeDepth.js +8 -13
  101. package/es/table/utils/groupBy.js +4 -13
  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 +4 -15
  105. package/es/table/utils/mergeCellProps.js +6 -14
  106. package/es/table/utils/others.js +6 -19
  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 +5 -18
  110. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
  111. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
  112. package/es/table/utils/uiDegrade.js +0 -5
  113. package/lib/_utils/arrayUtil.js +2 -8
  114. package/lib/_utils/devwarning.js +0 -5
  115. package/lib/_utils/formatUtil.js +36 -105
  116. package/lib/_utils/hooks.js +21 -56
  117. package/lib/_utils/index.js +2 -9
  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 +3 -11
  122. package/lib/_utils/usePopper.js +88 -176
  123. package/lib/config-provider/ConfigContext.js +2 -6
  124. package/lib/config-provider/compDefaultProps.js +1 -3
  125. package/lib/config-provider/configProvider.js +5 -22
  126. package/lib/config-provider/defaultConfig.js +1 -7
  127. package/lib/config-provider/index.js +1 -8
  128. package/lib/index.js +2 -8
  129. package/lib/locale/index.js +2 -11
  130. package/lib/locale/locale.js +15 -71
  131. package/lib/locale/zh-CN.js +1 -2
  132. package/lib/table/base/calculations.js +25 -86
  133. package/lib/table/base/colgroup.js +0 -5
  134. package/lib/table/base/empty.js +7 -20
  135. package/lib/table/base/header.js +30 -91
  136. package/lib/table/base/helpers/SpanManager.js +6 -16
  137. package/lib/table/base/helpers/TableDOMUtils.js +9 -37
  138. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  139. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +2 -7
  140. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  141. package/lib/table/base/helpers/getRichVisibleRectsStream.js +14 -65
  142. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  143. package/lib/table/base/html-table.js +17 -49
  144. package/lib/table/base/index.js +0 -2
  145. package/lib/table/base/loading.js +8 -14
  146. package/lib/table/base/renderTemplates.js +44 -76
  147. package/lib/table/base/styles.js +8 -37
  148. package/lib/table/base/table.js +121 -243
  149. package/lib/table/base/utils.js +26 -109
  150. package/lib/table/common-views.js +4 -24
  151. package/lib/table/index.js +0 -13
  152. package/lib/table/interfaces.d.ts +2 -0
  153. package/lib/table/internals.d.ts +2 -1
  154. package/lib/table/internals.js +2 -17
  155. package/lib/table/pipeline/features/autoFill.js +14 -53
  156. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  157. package/lib/table/pipeline/features/buildTree.js +0 -2
  158. package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
  159. package/lib/table/pipeline/features/columnDrag.js +41 -103
  160. package/lib/table/pipeline/features/columnFilter.js +12 -65
  161. package/lib/table/pipeline/features/columnHover.js +1 -11
  162. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  163. package/lib/table/pipeline/features/columnResizeWidth.js +17 -63
  164. package/lib/table/pipeline/features/contextMenu.js +23 -121
  165. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +16 -52
  166. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  167. package/lib/table/pipeline/features/filter/Filter.js +29 -77
  168. package/lib/table/pipeline/features/filter/FilterPanel.js +13 -44
  169. package/lib/table/pipeline/features/filter/index.js +0 -5
  170. package/lib/table/pipeline/features/filter/util.js +2 -10
  171. package/lib/table/pipeline/features/footerDataSource.js +1 -12
  172. package/lib/table/pipeline/features/index.js +0 -23
  173. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  174. package/lib/table/pipeline/features/multiSelect.js +15 -71
  175. package/lib/table/pipeline/features/rangeSelection.js +75 -173
  176. package/lib/table/pipeline/features/rowDetail.js +6 -67
  177. package/lib/table/pipeline/features/rowDrag.js +41 -93
  178. package/lib/table/pipeline/features/rowGrouping.js +10 -62
  179. package/lib/table/pipeline/features/singleSelect.js +0 -34
  180. package/lib/table/pipeline/features/sort.js +37 -110
  181. package/lib/table/pipeline/features/tips.js +4 -19
  182. package/lib/table/pipeline/features/treeMode.js +15 -72
  183. package/lib/table/pipeline/features/treeSelect.js +2 -36
  184. package/lib/table/pipeline/index.js +1 -10
  185. package/lib/table/pipeline/pipeline.js +13 -64
  186. package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
  187. package/lib/table/pivot/cross-table/constants.js +1 -2
  188. package/lib/table/pivot/cross-table/cross-table.js +25 -42
  189. package/lib/table/pivot/cross-table/index.js +0 -4
  190. package/lib/table/pivot/cross-table/interfaces.d.ts +1 -1
  191. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
  192. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
  193. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  194. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  195. package/lib/table/pivot/pivot-utils/builders.js +34 -85
  196. package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
  197. package/lib/table/pivot/pivot-utils/index.js +0 -7
  198. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  199. package/lib/table/style/css.js +0 -1
  200. package/lib/table/style/index.js +0 -1
  201. package/lib/table/transforms/autoRowSpan.js +1 -21
  202. package/lib/table/transforms/autoWidth.js +14 -58
  203. package/lib/table/transforms/buildTree.js +1 -4
  204. package/lib/table/transforms/columnHover.js +9 -22
  205. package/lib/table/transforms/columnRangeHover.js +12 -27
  206. package/lib/table/transforms/columnResize.js +19 -63
  207. package/lib/table/transforms/flatten.js +0 -5
  208. package/lib/table/transforms/index.js +0 -12
  209. package/lib/table/transforms/orderField.js +0 -7
  210. package/lib/table/transforms/sort.d.ts +1 -0
  211. package/lib/table/transforms/sort.js +43 -122
  212. package/lib/table/transforms/tips.js +5 -20
  213. package/lib/table/transforms/treeMode.js +40 -109
  214. package/lib/table/transforms/visible.js +0 -7
  215. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  216. package/lib/table/use/useResizeObserver.js +2 -10
  217. package/lib/table/utils/applyTransforms.js +0 -2
  218. package/lib/table/utils/browserType.js +14 -23
  219. package/lib/table/utils/buildTree.js +7 -33
  220. package/lib/table/utils/collectNodes.js +4 -18
  221. package/lib/table/utils/console.js +2 -19
  222. package/lib/table/utils/copyToClipboard.js +1 -8
  223. package/lib/table/utils/element.js +14 -46
  224. package/lib/table/utils/exportTableAsExcel.js +7 -52
  225. package/lib/table/utils/getTreeDepth.js +8 -18
  226. package/lib/table/utils/groupBy.js +4 -17
  227. package/lib/table/utils/index.js +0 -22
  228. package/lib/table/utils/isGroupColumn.js +0 -3
  229. package/lib/table/utils/isLeafNode.js +0 -1
  230. package/lib/table/utils/keyCode.js +1 -2
  231. package/lib/table/utils/layeredFilter.js +0 -10
  232. package/lib/table/utils/layeredSort.js +0 -10
  233. package/lib/table/utils/makeRecursiveMapper.js +4 -24
  234. package/lib/table/utils/mergeCellProps.js +6 -18
  235. package/lib/table/utils/others.js +7 -36
  236. package/lib/table/utils/proto.js +3 -35
  237. package/lib/table/utils/selectColumn.js +2 -5
  238. package/lib/table/utils/smartCompare.js +4 -13
  239. package/lib/table/utils/traverseColumn.js +5 -25
  240. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
  241. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
  242. package/lib/table/utils/uiDegrade.js +1 -8
  243. package/package.json +3 -2
@@ -2,6 +2,7 @@ import _toArray from "@babel/runtime-corejs3/helpers/toArray";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _extends from "@babel/runtime-corejs3/helpers/extends";
4
4
  import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
5
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
6
  import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
6
7
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
7
8
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
@@ -18,9 +19,7 @@ import { always, flatMap } from '../../utils/others';
18
19
  import console from '../../utils/console';
19
20
  import getTableRenderTemplate from '../../base/renderTemplates';
20
21
  import { Classes } from '../../base';
21
-
22
22
  var rowDetailSymbol = _Symbol('row-detail');
23
-
24
23
  var fallbackRenderDetail = function fallbackRenderDetail() {
25
24
  return /*#__PURE__*/React.createElement("div", {
26
25
  style: {
@@ -32,14 +31,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
32
31
  }
33
32
  }, "\u8BBE\u7F6E ", /*#__PURE__*/React.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
34
33
  };
35
-
36
34
  export function rowDetail() {
37
35
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
38
36
  return function rowDetailStep(pipeline) {
39
37
  var _context, _context2;
40
-
41
38
  var _a, _b, _c, _d, _e, _f, _g, _h;
42
-
43
39
  var stateKey = 'rowDetail';
44
40
  var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
45
41
  var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
@@ -54,33 +50,26 @@ export function rowDetail() {
54
50
  var openKeys = (_h = (_g = (_f = opts.openKeys) !== null && _f !== void 0 ? _f : pipeline.getStateAtKey(stateKey)) !== null && _g !== void 0 ? _g : opts.defaultOpenAll ? _mapInstanceProperty(_context = _filterInstanceProperty(_context2 = pipeline.getDataSource()).call(_context2, hasDetail)).call(_context, function (row, rowIndex) {
55
51
  return internals.safeGetRowKey(primaryKey, row, rowIndex);
56
52
  }) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
57
-
58
53
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
59
54
  var _a;
60
-
61
55
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
62
56
  pipeline.setStateAtKey(stateKey, nextKeys, {
63
57
  key: key,
64
58
  action: action
65
59
  });
66
60
  };
67
-
68
61
  var openKeySet = new _Set(openKeys);
69
-
70
62
  var toggle = function toggle(rowKey) {
71
63
  var expanded = openKeySet.has(rowKey);
72
-
73
64
  if (expanded) {
74
65
  onChangeOpenKeys(_filterInstanceProperty(openKeys).call(openKeys, function (key) {
75
66
  return key !== rowKey;
76
67
  }), rowKey, 'collapse');
77
68
  } else {
78
69
  var _context3;
79
-
80
70
  onChangeOpenKeys(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(openKeys), [rowKey]), rowKey, 'expand');
81
71
  }
82
72
  };
83
-
84
73
  var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
85
74
  return pipeline.dataSource(flatMap(pipeline.getDataSource(), function (row, rowIndex) {
86
75
  if (openKeySet.has(internals.safeGetRowKey(primaryKey, row, rowIndex))) {
@@ -96,35 +85,28 @@ export function rowDetail() {
96
85
  };
97
86
  }
98
87
  });
99
-
100
88
  function processColumns(columns) {
89
+ var _context4;
101
90
  if (columns.length === 0) {
102
91
  return columns;
103
92
  }
104
-
105
93
  var expandColumnIndex = 0;
106
-
107
94
  if (opts.expandColumnCode) {
108
95
  expandColumnIndex = _findIndexInstanceProperty(columns).call(columns, function (col) {
109
96
  return col.code === opts.expandColumnCode;
110
97
  });
111
-
112
98
  if (expandColumnIndex < 0) {
113
99
  console.warn('没找到可展开的列,请检查设置的展开列code');
114
100
  return columns;
115
101
  }
116
102
  }
117
-
118
103
  var expandCol = columns[expandColumnIndex];
119
-
120
104
  var tableColumns = _toConsumableArray(columns);
121
-
122
105
  var render = function render(value, row, rowIndex) {
123
106
  if (row[rowDetailMetaKey]) {
124
107
  // 第一列内容已经渲染
125
108
  if (expandColumnIndex !== 0) return;
126
109
  var renderRowDetail = getTableRenderTemplate('rowDetail');
127
-
128
110
  if (typeof renderRowDetail === 'function') {
129
111
  return renderRowDetail({
130
112
  row: row,
@@ -133,12 +115,9 @@ export function rowDetail() {
133
115
  renderDetail: renderDetail
134
116
  });
135
117
  }
136
-
137
118
  return renderDetail(row, rowIndex);
138
119
  }
139
-
140
120
  var content = internals.safeRender(expandCol, row, rowIndex);
141
-
142
121
  if (!hasDetail(row, rowIndex)) {
143
122
  return /*#__PURE__*/React.createElement(InlineFlexCell, {
144
123
  style: {
@@ -146,18 +125,14 @@ export function rowDetail() {
146
125
  }
147
126
  }, content);
148
127
  }
149
-
150
128
  var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
151
129
  var expanded = openKeySet.has(rowKey);
152
-
153
130
  var onClick = function onClick(e) {
154
131
  if (opts.stopClickEventPropagation) {
155
132
  e.stopPropagation();
156
133
  }
157
-
158
134
  toggle(rowKey);
159
135
  };
160
-
161
136
  var expandCls = expanded ? Classes.expanded : Classes.collapsed;
162
137
  var ExpandIcon = opts.expandIcon;
163
138
  return /*#__PURE__*/React.createElement(ExpansionCell, {
@@ -179,10 +154,8 @@ export function rowDetail() {
179
154
  onClick: clickArea === 'icon' ? onClick : undefined
180
155
  }), content);
181
156
  };
182
-
183
157
  var getCellProps = function getCellProps(value, row, rowIndex) {
184
158
  var _a;
185
-
186
159
  if (row[rowDetailMetaKey]) {
187
160
  return {
188
161
  style: _extends({
@@ -191,19 +164,15 @@ export function rowDetail() {
191
164
  }, opts.detailCellStyle)
192
165
  };
193
166
  }
194
-
195
167
  var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
196
-
197
168
  if (!hasDetail(row, rowIndex)) {
198
169
  return prevProps;
199
170
  }
200
-
201
171
  return mergeCellProps(prevProps, {
202
172
  onClick: function onClick(e) {
203
173
  if (opts.stopClickEventPropagation) {
204
174
  e.stopPropagation();
205
175
  }
206
-
207
176
  toggle(internals.safeGetRowKey(primaryKey, row, rowIndex));
208
177
  },
209
178
  style: {
@@ -211,15 +180,12 @@ export function rowDetail() {
211
180
  }
212
181
  });
213
182
  };
214
-
215
183
  var _tableColumns = _toArray(tableColumns),
216
- firstCol = _tableColumns[0],
217
- others = _sliceInstanceProperty(_tableColumns).call(_tableColumns, 1);
218
-
184
+ firstCol = _tableColumns[0],
185
+ others = _sliceInstanceProperty(_context4 = _arrayLikeToArray(_tableColumns)).call(_context4, 1);
219
186
  var firstColRender = function firstColRender(value, row, rowIndex) {
220
187
  if (row[rowDetailMetaKey]) {
221
188
  var renderRowDetail = getTableRenderTemplate('rowDetail');
222
-
223
189
  if (typeof renderRowDetail === 'function') {
224
190
  return renderRowDetail({
225
191
  row: row,
@@ -228,14 +194,11 @@ export function rowDetail() {
228
194
  renderDetail: renderDetail
229
195
  });
230
196
  }
231
-
232
197
  return renderDetail(row, rowIndex);
233
198
  }
234
-
235
199
  var content = internals.safeRender(firstCol, row, rowIndex);
236
200
  return content;
237
201
  };
238
-
239
202
  tableColumns[0] = _extends(_extends({}, firstCol), {
240
203
  render: firstColRender,
241
204
  getSpanRect: function getSpanRect(value, row, rowIndex) {
@@ -251,12 +214,12 @@ export function rowDetail() {
251
214
  }
252
215
  });
253
216
  tableColumns[expandColumnIndex] = _extends(_extends({}, expandCol), {
254
- title: /*#__PURE__*/React.createElement("div", {
217
+ title: (/*#__PURE__*/React.createElement("div", {
255
218
  style: {
256
219
  display: 'inline-block',
257
220
  marginLeft: textOffset
258
221
  }
259
- }, internals.safeRenderHeader(expandCol)),
222
+ }, internals.safeRenderHeader(expandCol))),
260
223
  render: render,
261
224
  getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps,
262
225
  getSpanRect: function getSpanRect(value, row, rowIndex) {
@@ -38,43 +38,35 @@ var defaultRowDragColumn = {
38
38
  export function rowDrag(opt) {
39
39
  return function rowDragStep(pipeline) {
40
40
  var _context;
41
-
42
41
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
43
42
  var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
44
43
  if (!tableBody) return pipeline;
45
44
  var dataSource = pipeline.getDataSource();
46
45
  var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
47
-
48
46
  var handleDragStrat = function handleDragStrat(event) {
49
- var _a; // 开始拖拽
50
-
51
-
47
+ var _a;
48
+ // 开始拖拽
52
49
  artTable.classList.add(cx(Classes.rowDragging));
53
50
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, event);
54
51
  };
55
-
56
52
  var handleDragMove = function handleDragMove(event) {
57
53
  var _a;
58
-
59
54
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, event);
60
55
  pipeline.setStateAtKey(rowDragKey, event);
61
56
  };
62
-
63
57
  var handleDragEnd = function handleDragEnd(event, isValid) {
64
58
  var _a;
65
-
66
59
  artTable.classList.remove(cx(Classes.rowDragging));
67
- pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
68
-
60
+ pipeline.setStateAtKey(rowDragKey, event);
61
+ // 超出拖拽范围不触发dragend事件
69
62
  if (isValid) {
70
63
  (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, event);
71
64
  }
72
65
  };
73
-
74
66
  var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
75
67
  var isFinished = _ref.isFinished,
76
- _ref$dragPosition = _ref.dragPosition,
77
- dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
68
+ _ref$dragPosition = _ref.dragPosition,
69
+ dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
78
70
  return {
79
71
  startRowIndex: startRowInfo.rowIndex,
80
72
  startRow: startRowInfo.row,
@@ -84,31 +76,26 @@ export function rowDrag(opt) {
84
76
  isFinished: isFinished
85
77
  };
86
78
  };
87
-
88
79
  var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
89
80
  if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
90
81
  var clientY = mouseMoveEvent.clientY;
91
82
  var tableBodyClientRect = tableBody.getBoundingClientRect();
92
83
  var top = tableBodyClientRect.top,
93
- height = tableBodyClientRect.height;
94
-
84
+ height = tableBodyClientRect.height;
95
85
  if (clientY + SCROLL_OFFSET >= top + height) {
96
86
  pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
97
87
  }
98
-
99
88
  if (clientY + SCROLL_OFFSET <= top) {
100
89
  pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
101
90
  }
102
91
  };
103
-
104
92
  var onMouseDown = function onMouseDown(mouseDownEvent) {
105
93
  var _a;
106
-
107
94
  var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
108
95
  var endRowInfo = startRowInfo;
109
96
  if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
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
-
97
+ 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;
98
+ // 默认拖拽插入的位置是向下
112
99
  var dragPosition = 'bottom';
113
100
  var isOutOfRange = false;
114
101
  var isValidDrag = false;
@@ -118,12 +105,12 @@ export function rowDrag(opt) {
118
105
  });
119
106
  handleDragStrat(dragStartEvent);
120
107
  var tableWidth = tableBody.clientWidth;
121
- var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
122
-
108
+ var startRowRects = startRowInfo.cell.getBoundingClientRect();
109
+ // 光标位置距离初始拖拽行的偏移量
123
110
  var mouseDownClientY = mouseDownEvent.clientY;
124
111
  var startOffset = mouseDownEvent.clientY - startRowRects.top;
125
- var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
126
-
112
+ var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
113
+ // 可拖拽的范围
127
114
  var dragRange = getDragRange(tableBody, {
128
115
  startOffset: startOffset,
129
116
  rowHeight: rowHeight
@@ -134,7 +121,6 @@ export function rowDrag(opt) {
134
121
  };
135
122
  var mousemove$ = fromEvent(window, 'mousemove');
136
123
  var mouseup$ = fromEvent(window, 'mouseup');
137
-
138
124
  var scrollCallback = function scrollCallback(event) {
139
125
  // 在当前表格内滚动不处理
140
126
  if (event.target === tableBody) return;
@@ -145,27 +131,23 @@ export function rowDrag(opt) {
145
131
  var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
146
132
  updateCurSorStyle(isOutOfRange);
147
133
  };
148
-
149
134
  document.addEventListener('scroll', scrollCallback, true);
150
135
  var rowDrag$ = mousemove$.pipe(filter(function (mouseMoveEvent) {
151
- var mouseMoveClientY = mouseMoveEvent.clientY; // 上下移动偏移量大于5才是有效的拖拽
152
-
136
+ var mouseMoveClientY = mouseMoveEvent.clientY;
137
+ // 上下移动偏移量大于5才是有效的拖拽
153
138
  if (Math.abs(mouseMoveClientY - mouseDownClientY) > 5) {
154
139
  isValidDrag = true;
155
140
  }
156
-
157
141
  return isValidDrag;
158
142
  }), map(function (mouseMoveEvent) {
159
143
  var clientX = mouseMoveEvent.clientX,
160
- clientY = mouseMoveEvent.clientY;
144
+ clientY = mouseMoveEvent.clientY;
161
145
  var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
162
-
163
146
  if (tagretRow) {
164
147
  endRowInfo = tagretRow;
165
148
  }
166
-
167
- var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
168
-
149
+ var targetRowRects = endRowInfo.cell.getBoundingClientRect();
150
+ // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
169
151
  var isMoveToTop = clientY - startOffset < targetRowRects.top;
170
152
  dragPosition = isMoveToTop ? 'top' : 'bottom';
171
153
  isOutOfRange = isOutOfDragRange({
@@ -177,7 +159,6 @@ export function rowDrag(opt) {
177
159
  y: clientY
178
160
  };
179
161
  updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
180
-
181
162
  updateDragElementPosition(dragElement, dragRange, {
182
163
  x: clientX,
183
164
  y: clientY,
@@ -193,8 +174,8 @@ export function rowDrag(opt) {
193
174
  rowDrag$.subscribe({
194
175
  next: function next(_ref2) {
195
176
  var startRowInfo = _ref2.startRowInfo,
196
- endRowInfo = _ref2.endRowInfo,
197
- dragPosition = _ref2.dragPosition;
177
+ endRowInfo = _ref2.endRowInfo,
178
+ dragPosition = _ref2.dragPosition;
198
179
  var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
199
180
  isFinished: false,
200
181
  dragPosition: dragPosition
@@ -214,28 +195,23 @@ export function rowDrag(opt) {
214
195
  }
215
196
  });
216
197
  };
217
-
218
198
  var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
219
199
  pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
220
-
221
200
  var nextColumns = _sliceInstanceProperty(_context = pipeline.getColumns()).call(_context);
222
-
223
201
  nextColumns.unshift(rowDragColumn);
224
202
  pipeline.columns(nextColumns);
225
203
  pipeline.addTableProps({
226
204
  onMouseDown: onMouseDown
227
205
  });
228
206
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
229
- var _cx;
230
-
231
207
  var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
232
208
  var startRowIndex = rowDragEvent.startRowIndex,
233
- endRowIndex = rowDragEvent.endRowIndex,
234
- isFinished = rowDragEvent.isFinished,
235
- dragPosition = rowDragEvent.dragPosition;
209
+ endRowIndex = rowDragEvent.endRowIndex,
210
+ isFinished = rowDragEvent.isFinished,
211
+ dragPosition = rowDragEvent.dragPosition;
236
212
  var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
237
213
  if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
238
- var className = cx((_cx = {}, _defineProperty(_cx, Classes.rowDragStart, rowIndex === startRowIndex), _defineProperty(_cx, Classes.rowDragEnd, rowIndex === endRowIndex), _defineProperty(_cx, Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _defineProperty(_cx, Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'), _cx));
214
+ var className = cx(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Classes.rowDragStart, rowIndex === startRowIndex), Classes.rowDragEnd, rowIndex === endRowIndex), Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
239
215
  return {
240
216
  className: className
241
217
  };
@@ -243,7 +219,6 @@ export function rowDrag(opt) {
243
219
  return pipeline;
244
220
  };
245
221
  }
246
-
247
222
  function getTargetRowInfo(target, tableBody, record) {
248
223
  while (target && tableBody.contains(target)) {
249
224
  if (target.getAttribute('data-role') === 'table-cell') {
@@ -259,41 +234,33 @@ function getTargetRowInfo(target, tableBody, record) {
259
234
  cell: target
260
235
  };
261
236
  }
262
-
263
237
  target = target.parentElement;
264
238
  }
265
-
266
239
  return null;
267
240
  }
268
-
269
241
  function isEleInFooter(target) {
270
242
  while (target && !target.classList.contains(Classes.artTable)) {
271
243
  if (target.classList.contains(Classes.tableFooter)) {
272
244
  return true;
273
245
  }
274
-
275
246
  target = target.parentElement;
276
247
  }
277
-
278
248
  return false;
279
249
  }
280
-
281
250
  function createDragElement(rects, tableWidth, rowHeight) {
282
251
  var _context2, _context3, _context4;
283
-
284
252
  var x = rects.x,
285
- y = rects.y;
253
+ y = rects.y;
286
254
  var dragMoveElement = document.createElement('div');
287
255
  dragMoveElement.className = cx(Classes.rowDragElement);
288
256
  dragMoveElement.style.cssText = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = _concatInstanceProperty(_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;");
289
257
  document.body.appendChild(dragMoveElement);
290
258
  return dragMoveElement;
291
259
  }
292
-
293
260
  function updateDragElementPosition(element, dragRange, _ref3) {
294
261
  var x = _ref3.x,
295
- y = _ref3.y,
296
- startOffset = _ref3.startOffset;
262
+ y = _ref3.y,
263
+ startOffset = _ref3.startOffset;
297
264
  var validPosition = getValidPosition({
298
265
  x: x,
299
266
  y: y
@@ -301,11 +268,9 @@ function updateDragElementPosition(element, dragRange, _ref3) {
301
268
  element.style.top = validPosition.y - startOffset + 'px';
302
269
  return element;
303
270
  }
304
-
305
271
  function removeDragElement(element) {
306
272
  document.body.removeChild(element);
307
273
  }
308
-
309
274
  function updateCurSorStyle(isOutOfRange) {
310
275
  if (isOutOfRange) {
311
276
  document.body.style.cursor = 'no-drop';
@@ -313,19 +278,17 @@ function updateCurSorStyle(isOutOfRange) {
313
278
  document.body.style.cursor = 'move';
314
279
  }
315
280
  }
316
-
317
281
  function removeCurSorStyle() {
318
282
  document.body.style.cursor = 'default';
319
283
  }
320
-
321
284
  function getDragRange(tableBody, _ref4) {
322
285
  var startOffset = _ref4.startOffset,
323
- rowHeight = _ref4.rowHeight;
286
+ rowHeight = _ref4.rowHeight;
324
287
  var tableBodyClientRect = tableBody.getBoundingClientRect();
325
288
  var height = tableBodyClientRect.height,
326
- width = tableBodyClientRect.width,
327
- top = tableBodyClientRect.top,
328
- left = tableBodyClientRect.left;
289
+ width = tableBodyClientRect.width,
290
+ top = tableBodyClientRect.top,
291
+ left = tableBodyClientRect.left;
329
292
  return {
330
293
  minX: left,
331
294
  maxX: left + width,
@@ -333,14 +296,13 @@ function getDragRange(tableBody, _ref4) {
333
296
  maxY: top + height + startOffset
334
297
  };
335
298
  }
336
-
337
299
  function getValidPosition(position, dragRange) {
338
300
  var x = position.x,
339
- y = position.y;
301
+ y = position.y;
340
302
  var minX = dragRange.minX,
341
- maxX = dragRange.maxX,
342
- minY = dragRange.minY,
343
- maxY = dragRange.maxY;
303
+ maxX = dragRange.maxX,
304
+ minY = dragRange.minY,
305
+ maxY = dragRange.maxY;
344
306
  var newX = x < minX ? minX : x > maxX ? maxX : x;
345
307
  var newY = y < minY ? minY : y > maxY ? maxY : y;
346
308
  return {
@@ -348,13 +310,12 @@ function getValidPosition(position, dragRange) {
348
310
  y: newY
349
311
  };
350
312
  }
351
-
352
313
  function isOutOfDragRange(position, dragRange) {
353
314
  var x = position.x,
354
- y = position.y;
315
+ y = position.y;
355
316
  var minX = dragRange.minX,
356
- maxX = dragRange.maxX,
357
- minY = dragRange.minY,
358
- maxY = dragRange.maxY;
317
+ maxX = dragRange.maxX,
318
+ minY = dragRange.minY,
319
+ maxY = dragRange.maxY;
359
320
  return x > maxX || x < minX || y > maxY || y < minY;
360
321
  }