@kdcloudjs/table 1.2.0-canary.16 → 1.2.0-canary.16-hotfix

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 (233) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +2047 -3489
  3. package/dist/@kdcloudjs/table.js.map +1 -1
  4. package/dist/@kdcloudjs/table.min.css +1 -1
  5. package/dist/@kdcloudjs/table.min.js +16 -16
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/_utils/arrayUtil.js +0 -3
  8. package/es/_utils/devwarning.js +0 -1
  9. package/es/_utils/formatUtil.js +35 -96
  10. package/es/_utils/hooks.js +18 -42
  11. package/es/_utils/index.js +0 -2
  12. package/es/_utils/numberUtil.js +32 -55
  13. package/es/_utils/omit.js +0 -2
  14. package/es/_utils/type.js +0 -2
  15. package/es/_utils/usePopper.js +74 -137
  16. package/es/config-provider/compDefaultProps.js +0 -1
  17. package/es/config-provider/configProvider.js +2 -7
  18. package/es/config-provider/defaultConfig.js +0 -1
  19. package/es/index.js +0 -2
  20. package/es/locale/locale.js +5 -43
  21. package/es/table/base/calculations.js +22 -72
  22. package/es/table/base/colgroup.js +0 -1
  23. package/es/table/base/empty.js +4 -4
  24. package/es/table/base/header.js +14 -67
  25. package/es/table/base/helpers/SpanManager.js +3 -9
  26. package/es/table/base/helpers/TableDOMUtils.js +4 -27
  27. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  28. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  29. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  30. package/es/table/base/helpers/rowHeightManager.js +0 -28
  31. package/es/table/base/html-table.js +14 -35
  32. package/es/table/base/loading.js +6 -8
  33. package/es/table/base/renderTemplates.js +26 -44
  34. package/es/table/base/styles.js +0 -9
  35. package/es/table/base/table.js +95 -181
  36. package/es/table/base/utils.js +14 -54
  37. package/es/table/common-views.js +0 -7
  38. package/es/table/internals.js +0 -13
  39. package/es/table/pipeline/features/autoFill.js +11 -40
  40. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  41. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  42. package/es/table/pipeline/features/columnDrag.d.ts +1 -0
  43. package/es/table/pipeline/features/columnDrag.js +236 -303
  44. package/es/table/pipeline/features/columnFilter.js +11 -48
  45. package/es/table/pipeline/features/columnHover.js +1 -7
  46. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  47. package/es/table/pipeline/features/columnResizeWidth.js +51 -42
  48. package/es/table/pipeline/features/contextMenu.js +18 -89
  49. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  50. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  51. package/es/table/pipeline/features/filter/Filter.js +25 -48
  52. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  53. package/es/table/pipeline/features/filter/util.js +0 -4
  54. package/es/table/pipeline/features/footerDataSource.js +0 -3
  55. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  56. package/es/table/pipeline/features/multiSelect.js +15 -57
  57. package/es/table/pipeline/features/rangeSelection.js +63 -142
  58. package/es/table/pipeline/features/rowDetail.js +2 -41
  59. package/es/table/pipeline/features/rowDrag.js +36 -71
  60. package/es/table/pipeline/features/rowGrouping.js +2 -35
  61. package/es/table/pipeline/features/singleSelect.js +0 -24
  62. package/es/table/pipeline/features/sort.js +31 -83
  63. package/es/table/pipeline/features/tips.js +0 -6
  64. package/es/table/pipeline/features/treeMode.js +9 -44
  65. package/es/table/pipeline/features/treeSelect.js +0 -26
  66. package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  67. package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
  68. package/es/table/pipeline/pipeline.js +11 -51
  69. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  70. package/es/table/pivot/cross-table/cross-table.js +22 -28
  71. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  72. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  73. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  74. package/es/table/pivot/pivot-utils/builders.js +31 -71
  75. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  76. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  77. package/es/table/transforms/autoRowSpan.js +1 -15
  78. package/es/table/transforms/autoWidth.js +10 -32
  79. package/es/table/transforms/buildTree.js +1 -2
  80. package/es/table/transforms/columnHover.js +9 -15
  81. package/es/table/transforms/columnRangeHover.js +12 -19
  82. package/es/table/transforms/columnResize.js +15 -37
  83. package/es/table/transforms/flatten.js +0 -3
  84. package/es/table/transforms/orderField.js +0 -3
  85. package/es/table/transforms/sort.js +36 -88
  86. package/es/table/transforms/tips.js +1 -6
  87. package/es/table/transforms/treeMode.js +30 -69
  88. package/es/table/transforms/visible.js +0 -2
  89. package/es/table/use/useResizeObserver.js +1 -4
  90. package/es/table/utils/applyTransforms.js +0 -1
  91. package/es/table/utils/buildTree.js +4 -19
  92. package/es/table/utils/collectNodes.js +1 -10
  93. package/es/table/utils/console.js +0 -14
  94. package/es/table/utils/copyToClipboard.js +0 -4
  95. package/es/table/utils/element.js +14 -41
  96. package/es/table/utils/exportTableAsExcel.js +4 -40
  97. package/es/table/utils/getTreeDepth.js +1 -9
  98. package/es/table/utils/groupBy.js +1 -10
  99. package/es/table/utils/layeredFilter.js +0 -4
  100. package/es/table/utils/layeredSort.js +0 -5
  101. package/es/table/utils/makeRecursiveMapper.js +1 -12
  102. package/es/table/utils/mergeCellProps.js +6 -13
  103. package/es/table/utils/others.js +3 -16
  104. package/es/table/utils/proto.js +2 -30
  105. package/es/table/utils/smartCompare.js +4 -12
  106. package/es/table/utils/traverseColumn.js +2 -15
  107. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  108. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  109. package/lib/_utils/arrayUtil.js +0 -5
  110. package/lib/_utils/devwarning.js +0 -5
  111. package/lib/_utils/formatUtil.js +35 -100
  112. package/lib/_utils/hooks.js +18 -53
  113. package/lib/_utils/index.js +0 -6
  114. package/lib/_utils/numberUtil.js +32 -63
  115. package/lib/_utils/omit.js +0 -5
  116. package/lib/_utils/react-children.js +0 -5
  117. package/lib/_utils/type.js +0 -6
  118. package/lib/_utils/usePopper.js +74 -158
  119. package/lib/config-provider/ConfigContext.js +1 -4
  120. package/lib/config-provider/compDefaultProps.js +0 -1
  121. package/lib/config-provider/configProvider.js +3 -18
  122. package/lib/config-provider/defaultConfig.js +0 -5
  123. package/lib/config-provider/index.js +0 -6
  124. package/lib/index.js +2 -8
  125. package/lib/locale/index.js +0 -7
  126. package/lib/locale/locale.js +5 -57
  127. package/lib/table/base/calculations.js +22 -83
  128. package/lib/table/base/colgroup.js +0 -5
  129. package/lib/table/base/empty.js +4 -16
  130. package/lib/table/base/header.js +14 -77
  131. package/lib/table/base/helpers/SpanManager.js +3 -11
  132. package/lib/table/base/helpers/TableDOMUtils.js +2 -27
  133. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  134. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  135. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  136. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  137. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  138. package/lib/table/base/html-table.js +14 -45
  139. package/lib/table/base/index.js +0 -2
  140. package/lib/table/base/loading.js +6 -12
  141. package/lib/table/base/renderTemplates.js +27 -58
  142. package/lib/table/base/styles.js +0 -21
  143. package/lib/table/base/table.js +95 -214
  144. package/lib/table/base/utils.js +14 -89
  145. package/lib/table/common-views.js +0 -16
  146. package/lib/table/index.js +0 -13
  147. package/lib/table/internals.js +0 -14
  148. package/lib/table/pipeline/features/autoFill.js +11 -47
  149. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  150. package/lib/table/pipeline/features/buildTree.js +0 -2
  151. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  152. package/lib/table/pipeline/features/columnDrag.d.ts +1 -0
  153. package/lib/table/pipeline/features/columnDrag.js +236 -309
  154. package/lib/table/pipeline/features/columnFilter.js +11 -62
  155. package/lib/table/pipeline/features/columnHover.js +1 -11
  156. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  157. package/lib/table/pipeline/features/columnResizeWidth.js +51 -58
  158. package/lib/table/pipeline/features/contextMenu.js +18 -113
  159. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  160. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  161. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  162. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  163. package/lib/table/pipeline/features/filter/index.js +0 -5
  164. package/lib/table/pipeline/features/filter/util.js +0 -7
  165. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  166. package/lib/table/pipeline/features/index.js +0 -23
  167. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  168. package/lib/table/pipeline/features/multiSelect.js +15 -71
  169. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  170. package/lib/table/pipeline/features/rowDetail.js +2 -65
  171. package/lib/table/pipeline/features/rowDrag.js +36 -81
  172. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  173. package/lib/table/pipeline/features/singleSelect.js +0 -34
  174. package/lib/table/pipeline/features/sort.js +31 -103
  175. package/lib/table/pipeline/features/tips.js +0 -15
  176. package/lib/table/pipeline/features/treeMode.js +9 -65
  177. package/lib/table/pipeline/features/treeSelect.js +0 -34
  178. package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  179. package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
  180. package/lib/table/pipeline/index.js +0 -8
  181. package/lib/table/pipeline/pipeline.js +11 -60
  182. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  183. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  184. package/lib/table/pivot/cross-table/index.js +0 -4
  185. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  186. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  187. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  188. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  189. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  190. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  191. package/lib/table/pivot/pivot-utils/index.js +0 -7
  192. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  193. package/lib/table/style/css.js +0 -1
  194. package/lib/table/style/index.js +0 -1
  195. package/lib/table/transforms/autoRowSpan.js +1 -21
  196. package/lib/table/transforms/autoWidth.js +10 -53
  197. package/lib/table/transforms/buildTree.js +1 -4
  198. package/lib/table/transforms/columnHover.js +9 -22
  199. package/lib/table/transforms/columnRangeHover.js +12 -27
  200. package/lib/table/transforms/columnResize.js +15 -56
  201. package/lib/table/transforms/flatten.js +0 -5
  202. package/lib/table/transforms/index.js +0 -12
  203. package/lib/table/transforms/orderField.js +0 -7
  204. package/lib/table/transforms/sort.js +36 -112
  205. package/lib/table/transforms/tips.js +1 -16
  206. package/lib/table/transforms/treeMode.js +30 -96
  207. package/lib/table/transforms/visible.js +0 -7
  208. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  209. package/lib/table/use/useResizeObserver.js +1 -8
  210. package/lib/table/utils/applyTransforms.js +0 -2
  211. package/lib/table/utils/buildTree.js +4 -30
  212. package/lib/table/utils/collectNodes.js +1 -15
  213. package/lib/table/utils/console.js +0 -16
  214. package/lib/table/utils/copyToClipboard.js +0 -6
  215. package/lib/table/utils/element.js +14 -46
  216. package/lib/table/utils/exportTableAsExcel.js +4 -49
  217. package/lib/table/utils/getTreeDepth.js +1 -14
  218. package/lib/table/utils/groupBy.js +1 -14
  219. package/lib/table/utils/index.js +0 -21
  220. package/lib/table/utils/isGroupColumn.js +0 -3
  221. package/lib/table/utils/isLeafNode.js +0 -1
  222. package/lib/table/utils/layeredFilter.js +0 -10
  223. package/lib/table/utils/layeredSort.js +0 -10
  224. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  225. package/lib/table/utils/mergeCellProps.js +6 -17
  226. package/lib/table/utils/others.js +3 -31
  227. package/lib/table/utils/proto.js +2 -33
  228. package/lib/table/utils/selectColumn.js +0 -1
  229. package/lib/table/utils/smartCompare.js +4 -13
  230. package/lib/table/utils/traverseColumn.js +2 -22
  231. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  232. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  233. package/package.json +2 -1
@@ -10,7 +10,6 @@ exports.getTargetEleInEventPath = getTargetEleInEventPath;
10
10
  exports.hasScroll = hasScroll;
11
11
  exports.isElementInEventPath = isElementInEventPath;
12
12
  exports.keepWithinBounds = keepWithinBounds;
13
-
14
13
  /** elementUtil html元素用的工具函数 */
15
14
  // 获取面板相对屏幕的位置 panel - 面板 trigger - 触发器
16
15
  // export function getPanelScreenByTrigger ({ panel, trigger, defaultAlign }) {
@@ -70,34 +69,27 @@ function getEventPath(event) {
70
69
  // Firefox supports composePath
71
70
  return event.composedPath();
72
71
  }
73
-
74
72
  return createEventPath(event);
75
73
  }
76
-
77
74
  function createEventPath(event) {
78
75
  var res = [];
79
76
  var pointer = event.target;
80
-
81
77
  while (pointer) {
82
78
  res.push(pointer);
83
79
  pointer = pointer.parentElement;
84
80
  }
85
-
86
81
  return res;
87
82
  }
88
-
89
83
  ;
90
84
  /**
91
85
  * 获取点击事件是否发生在元素内部
92
86
  * @param ele
93
87
  * @param event
94
88
  */
95
-
96
89
  function isElementInEventPath(ele, event) {
97
90
  if (!ele || !event) {
98
91
  return false;
99
92
  }
100
-
101
93
  var path = getEventPath(event);
102
94
  return path.indexOf(ele) >= 0;
103
95
  }
@@ -106,22 +98,16 @@ function isElementInEventPath(ele, event) {
106
98
  * @param path
107
99
  * @param isTargetCb
108
100
  */
109
-
110
-
111
101
  function getTargetEleInEventPath(path, isTargetCb) {
112
102
  var target;
113
103
  var l = 0;
114
-
115
104
  while (!target && l < path.length) {
116
105
  var ele = path[l];
117
-
118
106
  if (isTargetCb(ele)) {
119
107
  target = ele;
120
108
  }
121
-
122
109
  l++;
123
110
  }
124
-
125
111
  return target;
126
112
  }
127
113
  /**
@@ -129,8 +115,6 @@ function getTargetEleInEventPath(path, isTargetCb) {
129
115
  * @param event
130
116
  * @param popupParent
131
117
  */
132
-
133
-
134
118
  function calculatePointerRelative(event, popupParent) {
135
119
  var parentRect = popupParent.getBoundingClientRect();
136
120
  var documentRect = document.documentElement.getBoundingClientRect();
@@ -144,8 +128,6 @@ function calculatePointerRelative(event, popupParent) {
144
128
  * @param event
145
129
  * @param popupParent
146
130
  */
147
-
148
-
149
131
  function calculatePopupRelative(trigger, popupParent, offset) {
150
132
  var triggerRect = trigger.getBoundingClientRect();
151
133
  var parent = popupParent === document.body ? document.documentElement : popupParent;
@@ -155,48 +137,39 @@ function calculatePopupRelative(trigger, popupParent, offset) {
155
137
  y: triggerRect.top - parentRect.top - (offset ? offset.y : 0)
156
138
  };
157
139
  }
158
-
159
140
  function getPerfectX(_ref) {
160
141
  var x = _ref.x,
161
- maxX = _ref.maxX,
162
- width = _ref.width,
163
- isPerfectX = _ref.isPerfectX;
164
-
142
+ maxX = _ref.maxX,
143
+ width = _ref.width,
144
+ isPerfectX = _ref.isPerfectX;
165
145
  if (isPerfectX && Math.max(x, 0) > Math.abs(maxX)) {
166
146
  //看左侧空间是否足够
167
147
  var parentAvailableWidth = x;
168
-
169
148
  if (width <= parentAvailableWidth) {
170
149
  return x - width; //空间足够,往左侧偏移
171
150
  }
172
- } //目前位置,最大支持的位置
173
-
174
-
151
+ }
152
+ //目前位置,最大支持的位置
175
153
  return Math.min(Math.max(x, 0), Math.abs(maxX));
176
154
  }
177
-
178
155
  function getPerfectY(_ref2) {
179
156
  var y = _ref2.y,
180
- maxY = _ref2.maxY,
181
- height = _ref2.height,
182
- scrollTop = _ref2.scrollTop,
183
- isBody = _ref2.isBody,
184
- isPerfectY = _ref2.isPerfectY;
185
-
157
+ maxY = _ref2.maxY,
158
+ height = _ref2.height,
159
+ scrollTop = _ref2.scrollTop,
160
+ isBody = _ref2.isBody,
161
+ isPerfectY = _ref2.isPerfectY;
186
162
  if (isPerfectY && Math.max(y, 0) > Math.abs(maxY)) {
187
163
  //看下上方空间是否足够
188
164
  var parentAvailableHeight = isBody ? y - scrollTop : y;
189
-
190
165
  if (height <= parentAvailableHeight) {
191
166
  //上方空间足够,向上展示
192
167
  return y - height;
193
168
  }
194
- } //目前位置,最大支持的位置
195
-
196
-
169
+ }
170
+ //目前位置,最大支持的位置
197
171
  return Math.min(Math.max(y, 0), Math.abs(maxY));
198
172
  }
199
-
200
173
  function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
201
174
  var parentRect = popupParent.getBoundingClientRect();
202
175
  var docElement = document.documentElement;
@@ -205,14 +178,12 @@ function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
205
178
  var parentAvailableWidth = parentRect.width;
206
179
  var parentAvailableHeight = parentRect.height;
207
180
  var isBody = popupParent === document.body;
208
-
209
181
  if (isBody) {
210
182
  //ducument的宽度减去 父元素到document边界的的宽度,就是剩余可显示的宽度
211
- parentAvailableWidth = docRect.width - Math.abs(docRect.left - parentRect.left); //ducument的高度加上滚动条的高度减去 父元素到document边界的的宽度,就是剩余可显示的高度
212
-
183
+ parentAvailableWidth = docRect.width - Math.abs(docRect.left - parentRect.left);
184
+ //ducument的高度加上滚动条的高度减去 父元素到document边界的的宽度,就是剩余可显示的高度
213
185
  parentAvailableHeight = docRect.height + docElement.scrollTop - Math.abs(docRect.top - parentRect.top);
214
186
  }
215
-
216
187
  if (x) {
217
188
  var width = popupRect.width;
218
189
  var maxX = parentAvailableWidth - width;
@@ -223,7 +194,6 @@ function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
223
194
  isPerfectX: isPerfect
224
195
  });
225
196
  }
226
-
227
197
  if (y) {
228
198
  var height = popupRect.height;
229
199
  var maxY = parentAvailableHeight - height;
@@ -236,13 +206,11 @@ function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
236
206
  isPerfectY: isPerfect
237
207
  });
238
208
  }
239
-
240
209
  return {
241
210
  x: x,
242
211
  y: y
243
212
  };
244
213
  }
245
-
246
214
  function hasScroll(ele) {
247
215
  var isHorizontal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
248
216
  return isHorizontal ? ele.scrollWidth > ele.clientWidth : ele.scrollHeight > ele.clientHeight;
@@ -1,63 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.default = exportTableAsExcel;
17
-
18
12
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
19
-
20
13
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
21
-
22
14
  var _SpanManager = _interopRequireDefault(require("../base/helpers/SpanManager"));
23
-
24
15
  var _internals = require("../internals");
25
-
26
16
  var _collectNodes = _interopRequireDefault(require("./collectNodes"));
27
-
28
17
  var _getTreeDepth = _interopRequireDefault(require("./getTreeDepth"));
29
-
30
18
  var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
31
-
32
19
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
33
-
34
20
  function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context2 = Object.prototype.toString.call(o)).call(_context2, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
-
36
21
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
-
38
22
  function safeGetSpanRect(column, record, rowIndex, colIndex) {
39
23
  var colSpan = 1;
40
24
  var rowSpan = 1;
41
-
42
25
  if (column.getSpanRect) {
43
26
  var value = _internals.internals.safeGetValue(column, record, rowIndex);
44
-
45
27
  var spanRect = column.getSpanRect(value, record, rowIndex);
46
28
  colSpan = spanRect == null ? 1 : spanRect.right - colIndex;
47
29
  rowSpan = spanRect == null ? 1 : spanRect.bottom - rowIndex;
48
30
  } else {
49
31
  var cellProps = _internals.internals.safeGetCellProps(column, record, rowIndex);
50
-
51
32
  if (cellProps.colSpan != null) {
52
33
  colSpan = cellProps.colSpan;
53
34
  }
54
-
55
35
  if (cellProps.rowSpan != null) {
56
36
  rowSpan = cellProps.rowSpan;
57
37
  }
58
- } // 注意这里没有考虑「rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格」
59
-
60
-
38
+ }
39
+ // 注意这里没有考虑「rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格」
61
40
  return {
62
41
  top: rowIndex,
63
42
  bottom: rowIndex + rowSpan,
@@ -65,16 +44,14 @@ function safeGetSpanRect(column, record, rowIndex, colIndex) {
65
44
  right: colIndex + colSpan
66
45
  };
67
46
  }
68
-
69
47
  function move(_ref, dx, dy) {
70
48
  var c = _ref.c,
71
- r = _ref.r;
49
+ r = _ref.r;
72
50
  return {
73
51
  c: c + dx,
74
52
  r: r + dy
75
53
  };
76
54
  }
77
-
78
55
  function sanitizeCellDatum(value) {
79
56
  if (value === Infinity || value === -Infinity || typeof value === 'number' && isNaN(value)) {
80
57
  return null;
@@ -83,8 +60,6 @@ function sanitizeCellDatum(value) {
83
60
  }
84
61
  }
85
62
  /** 根据 BaseTable 的 dataSource 和 column,将表格数据导出为 Excel 文件 */
86
-
87
-
88
63
  function exportTableAsExcel(xlsxPackage, dataSource, columns, filename) {
89
64
  var sheet = xlsxPackage.utils.aoa_to_sheet([]);
90
65
  var topHeaderHeight = (0, _getTreeDepth.default)(columns) + 1;
@@ -100,30 +75,22 @@ function exportTableAsExcel(xlsxPackage, dataSource, columns, filename) {
100
75
  Sheet1: sheet
101
76
  }
102
77
  }, filename);
103
-
104
78
  function addTopHeaders(origin) {
105
79
  dfs(columns, 0, 0);
106
-
107
80
  function dfs(cols, startDx, startDy) {
108
81
  var _a;
109
-
110
82
  var start = move(origin, startDx, startDy);
111
83
  var offsetX = 0;
112
-
113
84
  var _iterator = _createForOfIteratorHelper(cols),
114
- _step;
115
-
85
+ _step;
116
86
  try {
117
87
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
118
88
  var col = _step.value;
119
-
120
89
  if ((_a = col.features) === null || _a === void 0 ? void 0 : _a.noExport) {
121
90
  continue;
122
91
  }
123
-
124
92
  var current = move(start, offsetX, 0);
125
93
  addOne(col.name, current);
126
-
127
94
  if ((0, _isLeafNode.default)(col)) {
128
95
  offsetX += 1;
129
96
  mergeCells(current, 1, topHeaderHeight - startDy);
@@ -138,17 +105,13 @@ function exportTableAsExcel(xlsxPackage, dataSource, columns, filename) {
138
105
  } finally {
139
106
  _iterator.f();
140
107
  }
141
-
142
108
  return offsetX;
143
109
  }
144
110
  }
145
-
146
111
  function addDataPart(origin) {
147
112
  var _context;
148
-
149
113
  var leafColumns = (0, _filter.default)(_context = (0, _collectNodes.default)(columns, 'leaf-only')).call(_context, function (col) {
150
114
  var _a;
151
-
152
115
  return !((_a = col.features) === null || _a === void 0 ? void 0 : _a.noExport);
153
116
  });
154
117
  var spanManager = new _SpanManager.default();
@@ -158,43 +121,35 @@ function exportTableAsExcel(xlsxPackage, dataSource, columns, filename) {
158
121
  if (spanManager.testSkip(rowIndex, colIndex)) {
159
122
  return null;
160
123
  }
161
-
162
124
  var spanRect = safeGetSpanRect(col, record, rowIndex, colIndex);
163
125
  var rowSpan = spanRect.bottom - spanRect.top;
164
126
  var colSpan = spanRect.right - spanRect.left;
165
-
166
127
  if (rowSpan > 1 || colSpan > 1) {
167
128
  spanManager.add(spanRect.top, spanRect.left, colSpan, rowSpan);
168
129
  mergeCells(move(origin, spanRect.left, spanRect.top), colSpan, rowSpan);
169
130
  }
170
-
171
131
  return sanitizeCellDatum(_internals.internals.safeGetValue(col, record, rowIndex));
172
132
  });
173
133
  });
174
134
  add(dataPart, origin);
175
135
  }
176
-
177
136
  function add(data, origin) {
178
137
  xlsxPackage.utils.sheet_add_aoa(sheet, data, {
179
138
  origin: origin
180
139
  });
181
140
  }
182
-
183
141
  function addOne(datum, origin) {
184
142
  xlsxPackage.utils.sheet_add_aoa(sheet, [[datum]], {
185
143
  origin: origin
186
144
  });
187
145
  }
188
-
189
146
  function mergeCells(addr, width, height) {
190
147
  if (width === 1 && height === 1) {
191
148
  return;
192
149
  }
193
-
194
150
  if (sheet['!merges'] == null) {
195
151
  sheet['!merges'] = [];
196
152
  }
197
-
198
153
  sheet['!merges'].push({
199
154
  s: addr,
200
155
  e: move(addr, width - 1, height - 1)
@@ -1,42 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.default = getTreeDepth;
17
-
18
12
  var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
19
-
20
13
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
-
22
14
  function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
-
24
15
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
-
26
16
  /** 获取一棵树的高度/深度 (0-based) */
27
17
  function getTreeDepth(nodes) {
28
18
  var maxDepth = -1;
29
19
  dfs(nodes, 0);
30
20
  return maxDepth;
31
-
32
21
  function dfs(columns, depth) {
33
22
  var _iterator = _createForOfIteratorHelper(columns),
34
- _step;
35
-
23
+ _step;
36
24
  try {
37
25
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
38
26
  var column = _step.value;
39
-
40
27
  if ((0, _isLeafNode.default)(column)) {
41
28
  maxDepth = Math.max(maxDepth, depth);
42
29
  } else {
@@ -1,39 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.default = groupBy;
15
-
16
11
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
17
-
18
12
  function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
-
20
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
-
22
14
  function groupBy(list, iteratee) {
23
15
  var groups = {};
24
-
25
16
  var _iterator = _createForOfIteratorHelper(list),
26
- _step;
27
-
17
+ _step;
28
18
  try {
29
19
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
20
  var item = _step.value;
31
21
  var key = iteratee(item);
32
-
33
22
  if (groups[key] == null) {
34
23
  groups[key] = [];
35
24
  }
36
-
37
25
  groups[key].push(item);
38
26
  }
39
27
  } catch (err) {
@@ -41,6 +29,5 @@ function groupBy(list, iteratee) {
41
29
  } finally {
42
30
  _iterator.f();
43
31
  }
44
-
45
32
  return groups;
46
33
  }
@@ -1,7 +1,6 @@
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
  });
@@ -173,43 +172,23 @@ Object.defineProperty(exports, "traverseColumn", {
173
172
  return _traverseColumn.default;
174
173
  }
175
174
  });
176
-
177
175
  var _collectNodes = _interopRequireDefault(require("./collectNodes"));
178
-
179
176
  var _getTreeDepth = _interopRequireDefault(require("./getTreeDepth"));
180
-
181
177
  var _groupBy = _interopRequireDefault(require("./groupBy"));
182
-
183
178
  var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
184
-
185
179
  var _isGroupColumn = _interopRequireDefault(require("./isGroupColumn"));
186
-
187
180
  var _applyTransforms = _interopRequireDefault(require("./applyTransforms"));
188
-
189
181
  var _buildTree = _interopRequireDefault(require("./buildTree"));
190
-
191
182
  var _exportTableAsExcel = _interopRequireDefault(require("./exportTableAsExcel"));
192
-
193
183
  var _layeredSort = _interopRequireDefault(require("./layeredSort"));
194
-
195
184
  var _mergeCellProps = _interopRequireDefault(require("./mergeCellProps"));
196
-
197
185
  var _proto = _interopRequireDefault(require("./proto"));
198
-
199
186
  var _makeRecursiveMapper = _interopRequireDefault(require("./makeRecursiveMapper"));
200
-
201
187
  var _smartCompare = _interopRequireDefault(require("./smartCompare"));
202
-
203
188
  var _traverseColumn = _interopRequireDefault(require("./traverseColumn"));
204
-
205
189
  var _copyToClipboard = require("./copyToClipboard");
206
-
207
190
  var _layeredFilter = _interopRequireDefault(require("./layeredFilter"));
208
-
209
191
  var _element = require("./element");
210
-
211
192
  var _console = _interopRequireDefault(require("./console"));
212
-
213
193
  var _browserType = require("./browserType");
214
-
215
194
  var _selectColumn = require("./selectColumn");
@@ -1,14 +1,11 @@
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.default = isGroupColumn;
9
-
10
8
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
11
-
12
9
  // 是否是叶子节点
13
10
  function isGroupColumn(columns) {
14
11
  return (0, _findIndex.default)(columns).call(columns, function (col) {
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = isLeafNode;
7
-
8
7
  // 是否是叶子节点
9
8
  function isLeafNode(node) {
10
9
  return node.children == null || node.children.length === 0;
@@ -1,35 +1,25 @@
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.default = layeredFilter;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
13
-
14
10
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
15
-
16
11
  var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
17
-
18
12
  function layeredFilter(array, filter) {
19
13
  return dfs(array);
20
-
21
14
  function dfs(rows) {
22
15
  var _context;
23
-
24
16
  if (!Array.isArray(array)) {
25
17
  return array;
26
18
  }
27
-
28
19
  return (0, _filter.default)(_context = (0, _map.default)(rows).call(rows, function (row) {
29
20
  if ((0, _isLeafNode.default)(row)) {
30
21
  return row;
31
22
  }
32
-
33
23
  return (0, _extends2.default)((0, _extends2.default)({}, row), {
34
24
  children: dfs(row.children)
35
25
  });
@@ -1,38 +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.default = layeredSort;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
13
-
14
10
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
15
-
16
11
  var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
17
-
18
12
  /** 对树状结构的数据进行排序.
19
13
  * layeredSort 是一个递归的过程,针对树上的每一个父节点,该函数都会重新对其子节点数组(children) 进行排序.
20
14
  * */
21
15
  function layeredSort(array, compare) {
22
16
  return dfs(array);
23
-
24
17
  function dfs(rows) {
25
18
  var _context;
26
-
27
19
  if (!Array.isArray(array)) {
28
20
  return array;
29
21
  }
30
-
31
22
  return (0, _sort.default)(_context = (0, _map.default)(rows).call(rows, function (row) {
32
23
  if ((0, _isLeafNode.default)(row)) {
33
24
  return row;
34
25
  }
35
-
36
26
  return (0, _extends2.default)((0, _extends2.default)({}, row), {
37
27
  children: dfs(row.children)
38
28
  });