@kdcloudjs/table 1.2.0-canary.15 → 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 +2051 -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 +1 -10
  35. package/es/table/base/table.js +96 -179
  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 +65 -143
  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 +1 -22
  143. package/lib/table/base/table.js +96 -212
  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 +65 -160
  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
@@ -21,34 +21,26 @@ export function rangeSelection(opts) {
21
21
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
22
22
  var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
23
23
  var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
24
-
25
24
  if (!tableBody) {
26
25
  return pipeline;
27
26
  }
28
-
29
27
  var columns = pipeline.getColumns();
30
28
  var dataSource = pipeline.getDataSource();
31
-
32
29
  var rangeSelectedChange = function rangeSelectedChange(rangeSelection, isFinished) {
33
30
  var _a;
34
-
35
31
  if (isFinished) {
36
32
  pipeline.setFeatureOptions(startSelectedCellRangesKey, rangeSelection);
37
33
  }
38
-
39
34
  pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
40
35
  (_a = opts === null || opts === void 0 ? void 0 : opts.rangeSelectedChange) === null || _a === void 0 ? void 0 : _a.call(opts, rangeSelection, isFinished);
41
36
  };
42
-
43
37
  var setRangeSelection = function setRangeSelection(startDragCell, draggingCell, isFinished) {
44
38
  if (!startDragCell || !draggingCell) return;
45
39
  var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
46
-
47
40
  var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
48
- startRow = _getRangeSelectionRow.startRow,
49
- endRow = _getRangeSelectionRow.endRow,
50
- footerRowRange = _getRangeSelectionRow.footerRowRange;
51
-
41
+ startRow = _getRangeSelectionRow.startRow,
42
+ endRow = _getRangeSelectionRow.endRow,
43
+ footerRowRange = _getRangeSelectionRow.footerRowRange;
52
44
  var cellRange = {
53
45
  startRow: startRow,
54
46
  endRow: endRow,
@@ -57,32 +49,25 @@ export function rangeSelection(opts) {
57
49
  footerRowRange: footerRowRange
58
50
  };
59
51
  var cellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _toConsumableArray(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
60
-
61
52
  if (isCellRangeSingleCell([cellRange])) {
62
53
  var singleCellRangeId = getCellRangeId(cellRange);
63
54
  cellRanges = _filterInstanceProperty(cellRanges).call(cellRanges, function (item) {
64
55
  return getCellRangeId(item) !== singleCellRangeId;
65
56
  });
66
57
  }
67
-
68
58
  cellRanges.push(cellRange);
69
-
70
59
  if (isCellRangeSingleCell(cellRanges)) {
71
60
  artTable.classList.remove(cx(Classes.rangeSelection));
72
61
  } else {
73
62
  artTable.classList.add(cx(Classes.rangeSelection));
74
63
  }
75
-
76
64
  rangeSelectedChange(cellRanges, isFinished);
77
65
  };
78
-
79
66
  var shiftKeySelect = function shiftKeySelect(event) {
80
67
  var target = event.target;
81
68
  var clickCell = getTargetCell(target, columns);
82
-
83
69
  if (clickCell) {
84
70
  var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
85
-
86
71
  if (_lastClickCell) {
87
72
  setRangeSelection(_lastClickCell, clickCell, true);
88
73
  } else {
@@ -91,70 +76,58 @@ export function rangeSelection(opts) {
91
76
  }
92
77
  }
93
78
  };
94
-
95
79
  var updateScrollPosition = function updateScrollPosition(client) {
96
80
  var clientX = client.clientX,
97
- clientY = client.clientY;
81
+ clientY = client.clientY;
98
82
  var tableBodyClientRect = tableBody.getBoundingClientRect();
99
83
  var left = tableBodyClientRect.left,
100
- top = tableBodyClientRect.top,
101
- height = tableBodyClientRect.height,
102
- width = tableBodyClientRect.width;
103
-
84
+ top = tableBodyClientRect.top,
85
+ height = tableBodyClientRect.height,
86
+ width = tableBodyClientRect.width;
104
87
  if (clientX + SCROLL_OFFSET >= left + width) {
105
88
  pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_OFFSET;
106
89
  }
107
-
108
90
  if (clientX - SCROLL_OFFSET <= left) {
109
91
  pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_OFFSET;
110
92
  }
111
-
112
93
  if (clientY + SCROLL_OFFSET >= top + height) {
113
94
  pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
114
95
  }
115
-
116
96
  if (clientY + SCROLL_OFFSET <= top) {
117
97
  pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
118
98
  }
119
99
  };
120
-
121
100
  var setStartSelectedCellRanges = function setStartSelectedCellRanges(isCtrlKey, isShiftKey) {
122
101
  if (opts === null || opts === void 0 ? void 0 : opts.suppressMultiRangeSelection) {
123
102
  pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
124
103
  return;
125
- } // ctrl 和shift 同时按时,优先生效shift
104
+ }
105
+ // ctrl 和shift 同时按时,优先生效shift
126
106
  // 没有点击ctrl 或者shift时,每次点击开始时都清空选中范围
127
-
128
-
129
107
  if (!isCtrlKey && !isShiftKey) {
130
108
  pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
131
- } // shift 点击框选,要保留之前的选中结果。最新的框选范围覆盖最后一次的框选范围
132
-
133
-
109
+ }
110
+ // shift 点击框选,要保留之前的选中结果。最新的框选范围覆盖最后一次的框选范围
134
111
  if (isShiftKey) {
135
112
  var _startDragCellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _toConsumableArray(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
136
-
137
113
  _startDragCellRanges.pop();
138
-
139
114
  pipeline.setFeatureOptions(startSelectedCellRangesKey, _startDragCellRanges);
140
115
  }
141
116
  };
142
-
143
117
  var onMouseDown = function onMouseDown(mouseDownEvent) {
144
- if (mouseDownEvent.button !== 0 || !(isElementInEventPath(tableBody, mouseDownEvent.nativeEvent) || isElementInEventPath(tableFooter, mouseDownEvent.nativeEvent))) return; // mouseDownEvent.preventDefault()
145
-
118
+ if (mouseDownEvent.button !== 0 || !(isElementInEventPath(tableBody, mouseDownEvent.nativeEvent) || isElementInEventPath(tableFooter, mouseDownEvent.nativeEvent))) return;
119
+ // mouseDownEvent.preventDefault()
146
120
  var isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey;
147
121
  var isShiftKey = mouseDownEvent.shiftKey;
148
- var target = mouseDownEvent.target; // 每次点击时先确认初始生效的框选范围
149
-
122
+ var target = mouseDownEvent.target;
123
+ var startDragCell = getTargetCell(target, columns);
124
+ if (!startDragCell) return;
125
+ // 每次点击时先确认初始生效的框选范围
150
126
  setStartSelectedCellRanges(isCtrlKey, isShiftKey);
151
-
152
127
  if (isShiftKey) {
153
128
  shiftKeySelect(mouseDownEvent);
154
129
  return;
155
130
  }
156
-
157
- var startDragCell = getTargetCell(target, columns);
158
131
  pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
159
132
  var draggingCell = startDragCell;
160
133
  var mousemove$ = fromEvent(window, 'mousemove');
@@ -166,11 +139,9 @@ export function rangeSelection(opts) {
166
139
  clientX: mouseMoveEvent.clientX,
167
140
  clientY: mouseMoveEvent.clientY
168
141
  };
169
-
170
142
  if (!(draggingCell === null || draggingCell === void 0 ? void 0 : draggingCell.isFooterCell)) {
171
143
  updateScrollPosition(client);
172
144
  }
173
-
174
145
  return {
175
146
  startDragCell: startDragCell,
176
147
  draggingCell: draggingCell
@@ -179,7 +150,7 @@ export function rangeSelection(opts) {
179
150
  rangeSelected$.subscribe({
180
151
  next: function next(_ref) {
181
152
  var startDragCell = _ref.startDragCell,
182
- draggingCell = _ref.draggingCell;
153
+ draggingCell = _ref.draggingCell;
183
154
  setRangeSelection(startDragCell, draggingCell, false);
184
155
  },
185
156
  complete: function complete() {
@@ -187,14 +158,12 @@ export function rangeSelection(opts) {
187
158
  }
188
159
  });
189
160
  };
190
-
191
161
  var onKeyDown = function onKeyDown(e) {
192
162
  if (!(isElementInEventPath(tableBody, e.nativeEvent) || isElementInEventPath(tableFooter, e.nativeEvent))) return;
193
-
194
163
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
195
164
  var rowLen = pipeline.getDataSource().length;
196
- var footerDataSource = pipeline.getFooterDataSource() || []; // 焦点位于可编辑的单元格内不做全选
197
-
165
+ var footerDataSource = pipeline.getFooterDataSource() || [];
166
+ // 焦点位于可编辑的单元格内不做全选
198
167
  if (columns.length && rowLen && !getElementEditable(e.target)) {
199
168
  opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
200
169
  artTable.classList.add(cx(Classes.rangeSelection));
@@ -211,14 +180,12 @@ export function rangeSelection(opts) {
211
180
  }
212
181
  }
213
182
  };
214
-
215
183
  pipeline.addTableProps({
216
184
  onMouseDown: onMouseDown,
217
185
  onKeyDown: onKeyDown,
218
186
  tabIndex: -1,
219
187
  className: cx([Classes.rangeSelection])
220
188
  }); // todo: 后面可以把mousedown放到一个流里面
221
-
222
189
  return pipeline.mapColumns(makeRecursiveMapper(function (col) {
223
190
  var cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || [];
224
191
  var prevGetCellProps = col.getCellProps;
@@ -243,7 +210,6 @@ export function rangeSelection(opts) {
243
210
  }));
244
211
  };
245
212
  }
246
-
247
213
  function getTargetCell(target, columns) {
248
214
  while (target) {
249
215
  if (target.getAttribute('data-role') === 'table-cell') {
@@ -265,60 +231,46 @@ function getTargetCell(target, columns) {
265
231
  }
266
232
  };
267
233
  }();
268
-
269
234
  if (_typeof(_ret) === "object") return _ret.v;
270
235
  }
271
-
272
236
  target = target.parentElement;
273
237
  }
274
-
275
238
  return null;
276
239
  }
277
-
278
240
  function isSameCell(cell1, cell2) {
279
241
  return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isFooterCell === cell2.isFooterCell;
280
242
  }
281
-
282
243
  function isEleInFooter(target) {
283
244
  while (target && !target.classList.contains(Classes.artTable)) {
284
245
  if (target.classList.contains(Classes.tableFooter)) {
285
246
  return true;
286
247
  }
287
-
288
248
  target = target.parentElement;
289
249
  }
290
-
291
250
  return false;
292
251
  }
293
-
294
252
  function getRangeColumns(startCell, endCell, columns) {
295
253
  var flatColumns = collectNodes(columns, 'leaf-only');
296
-
297
254
  var startIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
298
255
  return col.code === startCell.code;
299
256
  });
300
-
301
257
  var endIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
302
258
  return col.code === endCell.code;
303
259
  });
304
-
305
260
  if (startIndex < endIndex) {
306
261
  return _sliceInstanceProperty(flatColumns).call(flatColumns, startIndex, endIndex + 1);
307
262
  } else {
308
263
  return _sliceInstanceProperty(flatColumns).call(flatColumns, endIndex, startIndex + 1);
309
264
  }
310
265
  }
311
-
312
266
  function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
313
267
  var footerRowRange = null;
314
268
  var startRow = -1;
315
269
  var endRow = -1;
316
-
317
270
  var _getCellRangeRow = getCellRangeRow(startCell, endCell),
318
- _startRow = _getCellRangeRow.startRow,
319
- _endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
320
-
321
-
271
+ _startRow = _getCellRangeRow.startRow,
272
+ _endRow = _getCellRangeRow.endRow;
273
+ // 两个单元格都在表体
322
274
  if (!startCell.isFooterCell && !endCell.isFooterCell) {
323
275
  startRow = _startRow;
324
276
  endRow = _endRow;
@@ -346,7 +298,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
346
298
  };
347
299
  }
348
300
  }
349
-
350
301
  return {
351
302
  startRow: startRow,
352
303
  endRow: endRow,
@@ -359,8 +310,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
359
310
  * @param endCell 结束单元格
360
311
  * @returns
361
312
  */
362
-
363
-
364
313
  function getCellRangeRow(startCell, endCell) {
365
314
  if (isSameCell(startCell, endCell)) {
366
315
  return {
@@ -368,7 +317,6 @@ function getCellRangeRow(startCell, endCell) {
368
317
  endRow: startCell.rowIndex
369
318
  };
370
319
  }
371
-
372
320
  var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
373
321
  var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
374
322
  var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
@@ -382,20 +330,17 @@ function getCellRangeRow(startCell, endCell) {
382
330
  * @param cellRanges
383
331
  * @returns
384
332
  */
385
-
386
-
387
333
  function isCellRangeSingleCell(cellRanges) {
388
334
  if (cellRanges.length !== 1) return false;
389
335
  var _cellRanges$ = cellRanges[0],
390
- startRow = _cellRanges$.startRow,
391
- endRow = _cellRanges$.endRow,
392
- columns = _cellRanges$.columns,
393
- footerRowRange = _cellRanges$.footerRowRange;
336
+ startRow = _cellRanges$.startRow,
337
+ endRow = _cellRanges$.endRow,
338
+ columns = _cellRanges$.columns,
339
+ footerRowRange = _cellRanges$.footerRowRange;
394
340
  var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
395
341
  var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
396
342
  return isBodySingleCell || isFooterSingleCell;
397
343
  }
398
-
399
344
  function getRowIndex(startRow, endRow) {
400
345
  var isReverse = startRow > endRow;
401
346
  var startRowIndex = isReverse ? endRow : startRow;
@@ -405,23 +350,18 @@ function getRowIndex(startRow, endRow) {
405
350
  endRowIndex: endRowIndex
406
351
  };
407
352
  }
408
-
409
353
  function getFooterRowIndex(footerRowRange) {
410
354
  if (footerRowRange) {
411
355
  return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
412
356
  }
413
-
414
357
  return {
415
358
  startRowIndex: -1,
416
359
  endRowIndex: -1
417
360
  };
418
361
  }
419
-
420
362
  function getElementEditable(target) {
421
363
  var _context;
422
-
423
364
  if (!target) return;
424
-
425
365
  if (_includesInstanceProperty(_context = ['input', 'textarea']).call(_context, target.tagName.toLowerCase())) {
426
366
  if (target.type === 'checkbox') return;
427
367
  return !target.disabled && !target.readOnly;
@@ -435,26 +375,21 @@ function getElementEditable(target) {
435
375
  * @param isFooterCell
436
376
  * @returns
437
377
  */
438
-
439
-
440
378
  function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
441
379
  var startRow = cellRange.startRow,
442
- endRow = cellRange.endRow,
443
- columns = cellRange.columns,
444
- footerRowRange = cellRange.footerRowRange;
380
+ endRow = cellRange.endRow,
381
+ columns = cellRange.columns,
382
+ footerRowRange = cellRange.footerRowRange;
445
383
  var isColInRanges = _findIndexInstanceProperty(columns).call(columns, function (item) {
446
384
  return item.code === col.code;
447
385
  }) !== -1;
448
386
  if (!isColInRanges) return false;
449
-
450
387
  var _getRowIndex = getRowIndex(startRow, endRow),
451
- startRowIndex = _getRowIndex.startRowIndex,
452
- endRowIndex = _getRowIndex.endRowIndex;
453
-
388
+ startRowIndex = _getRowIndex.startRowIndex,
389
+ endRowIndex = _getRowIndex.endRowIndex;
454
390
  var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
455
- footerStartRowIndex = _getFooterRowIndex.startRowIndex,
456
- footerEndRowIndex = _getFooterRowIndex.endRowIndex;
457
-
391
+ footerStartRowIndex = _getFooterRowIndex.startRowIndex,
392
+ footerEndRowIndex = _getFooterRowIndex.endRowIndex;
458
393
  var bodyMatch = !isFooterCell && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
459
394
  var footerMatch = isFooterCell && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
460
395
  var isRowInRange = footerMatch || bodyMatch;
@@ -465,22 +400,17 @@ function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
465
400
  * @param {*} cellRange
466
401
  * @returns
467
402
  */
468
-
469
-
470
403
  export function getCellRangeId(cellRange) {
471
404
  var startRow = cellRange.startRow,
472
- endRow = cellRange.endRow,
473
- footerRowRange = cellRange.footerRowRange,
474
- columns = cellRange.columns;
475
-
405
+ endRow = cellRange.endRow,
406
+ footerRowRange = cellRange.footerRowRange,
407
+ columns = cellRange.columns;
476
408
  var _getRowIndex2 = getRowIndex(startRow, endRow),
477
- startRowIndex = _getRowIndex2.startRowIndex,
478
- endRowIndex = _getRowIndex2.endRowIndex;
479
-
409
+ startRowIndex = _getRowIndex2.startRowIndex,
410
+ endRowIndex = _getRowIndex2.endRowIndex;
480
411
  var _getFooterRowIndex2 = getFooterRowIndex(footerRowRange),
481
- footerStartRowIndex = _getFooterRowIndex2.startRowIndex,
482
- footerEndRowIndex = _getFooterRowIndex2.endRowIndex;
483
-
412
+ footerStartRowIndex = _getFooterRowIndex2.startRowIndex,
413
+ footerEndRowIndex = _getFooterRowIndex2.endRowIndex;
484
414
  var firstColId = columns[0].code;
485
415
  var endColId = columns[columns.length - 1].code;
486
416
  return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId;
@@ -491,58 +421,50 @@ export function getCellRangeId(cellRange) {
491
421
  * @param param1
492
422
  * @returns
493
423
  */
494
-
495
424
  function getCellRangesClassName(cellRanges, _ref2) {
496
425
  var _cx;
497
-
498
426
  var isFooterCell = _ref2.isFooterCell,
499
- rowIndex = _ref2.rowIndex,
500
- col = _ref2.col,
501
- record = _ref2.record;
502
-
427
+ rowIndex = _ref2.rowIndex,
428
+ col = _ref2.col,
429
+ record = _ref2.record;
503
430
  var _getMatchBorderStyle = getMatchBorderStyle(cellRanges, {
504
- isFooterCell: isFooterCell,
505
- rowIndex: rowIndex,
506
- col: col,
507
- record: record
508
- }),
509
- matchCellRangeTop = _getMatchBorderStyle.matchCellRangeTop,
510
- matchCellRangeLeft = _getMatchBorderStyle.matchCellRangeLeft,
511
- matchCellRangeBottom = _getMatchBorderStyle.matchCellRangeBottom,
512
- matchCellRangeRight = _getMatchBorderStyle.matchCellRangeRight;
513
-
431
+ isFooterCell: isFooterCell,
432
+ rowIndex: rowIndex,
433
+ col: col,
434
+ record: record
435
+ }),
436
+ matchCellRangeTop = _getMatchBorderStyle.matchCellRangeTop,
437
+ matchCellRangeLeft = _getMatchBorderStyle.matchCellRangeLeft,
438
+ matchCellRangeBottom = _getMatchBorderStyle.matchCellRangeBottom,
439
+ matchCellRangeRight = _getMatchBorderStyle.matchCellRangeRight;
514
440
  var isSingleCell = isCellRangeSingleCell(cellRanges);
515
441
  var className = cx((_cx = {}, _defineProperty(_cx, Classes.tableCellRangeSingleCell, isSingleCell), _defineProperty(_cx, Classes.tableCellRangeSelected, !isSingleCell), _defineProperty(_cx, Classes.tableCellRangeTop, !isSingleCell && matchCellRangeTop), _defineProperty(_cx, Classes.tableCellRangeLeft, !isSingleCell && matchCellRangeLeft), _defineProperty(_cx, Classes.tableCellRangeBottom, !isSingleCell && matchCellRangeBottom), _defineProperty(_cx, Classes.tableCellRangeRight, !isSingleCell && matchCellRangeRight), _cx));
516
442
  return className;
517
443
  }
518
-
519
444
  function getMatchBorderStyle(cellRanges, _ref3) {
520
445
  var isFooterCell = _ref3.isFooterCell,
521
- rowIndex = _ref3.rowIndex,
522
- col = _ref3.col,
523
- record = _ref3.record;
446
+ rowIndex = _ref3.rowIndex,
447
+ col = _ref3.col,
448
+ record = _ref3.record;
524
449
  return cellRanges.reduce(function (obj, cellRange) {
525
450
  if (!isCellInRange(cellRange, rowIndex, col, isFooterCell)) return obj;
526
451
  var startRow = cellRange.startRow,
527
- endRow = cellRange.endRow,
528
- columns = cellRange.columns,
529
- footerRowRange = cellRange.footerRowRange;
530
-
452
+ endRow = cellRange.endRow,
453
+ columns = cellRange.columns,
454
+ footerRowRange = cellRange.footerRowRange;
531
455
  var _getRowIndex3 = getRowIndex(startRow, endRow),
532
- startRowIndex = _getRowIndex3.startRowIndex,
533
- endRowIndex = _getRowIndex3.endRowIndex;
534
-
456
+ startRowIndex = _getRowIndex3.startRowIndex,
457
+ endRowIndex = _getRowIndex3.endRowIndex;
535
458
  var _getFooterRowIndex3 = getFooterRowIndex(footerRowRange),
536
- footerStartRowIndex = _getFooterRowIndex3.startRowIndex,
537
- footerEndRowIndex = _getFooterRowIndex3.endRowIndex;
538
-
459
+ footerStartRowIndex = _getFooterRowIndex3.startRowIndex,
460
+ footerEndRowIndex = _getFooterRowIndex3.endRowIndex;
539
461
  var startCol = columns[0];
540
462
  var endCol = columns[columns.length - 1];
541
463
  var matchCellRangeTop = isFooterCell ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex;
542
464
  var matchCellRangeLeft = col.code === startCol.code;
543
465
  var matchCellRangeBottom = isFooterCell ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex;
544
- var matchCellRangeRight = col.code === endCol.code; // 如果样式已经匹配上了,就不需要再取计算的样式
545
-
466
+ var matchCellRangeRight = col.code === endCol.code;
467
+ // 如果样式已经匹配上了,就不需要再取计算的样式
546
468
  obj.matchCellRangeTop = obj.matchCellRangeTop || matchCellRangeTop;
547
469
  obj.matchCellRangeLeft = obj.matchCellRangeLeft || matchCellRangeLeft;
548
470
  obj.matchCellRangeBottom = obj.matchCellRangeBottom || matchCellRangeBottom;
@@ -18,9 +18,7 @@ import { always, flatMap } from '../../utils/others';
18
18
  import console from '../../utils/console';
19
19
  import getTableRenderTemplate from '../../base/renderTemplates';
20
20
  import { Classes } from '../../base';
21
-
22
21
  var rowDetailSymbol = _Symbol('row-detail');
23
-
24
22
  var fallbackRenderDetail = function fallbackRenderDetail() {
25
23
  return /*#__PURE__*/React.createElement("div", {
26
24
  style: {
@@ -32,14 +30,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
32
30
  }
33
31
  }, "\u8BBE\u7F6E ", /*#__PURE__*/React.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
34
32
  };
35
-
36
33
  export function rowDetail() {
37
34
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
38
35
  return function rowDetailStep(pipeline) {
39
36
  var _context, _context2;
40
-
41
37
  var _a, _b, _c, _d, _e, _f, _g, _h;
42
-
43
38
  var stateKey = 'rowDetail';
44
39
  var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
45
40
  var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
@@ -54,33 +49,26 @@ export function rowDetail() {
54
49
  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
50
  return internals.safeGetRowKey(primaryKey, row, rowIndex);
56
51
  }) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
57
-
58
52
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
59
53
  var _a;
60
-
61
54
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
62
55
  pipeline.setStateAtKey(stateKey, nextKeys, {
63
56
  key: key,
64
57
  action: action
65
58
  });
66
59
  };
67
-
68
60
  var openKeySet = new _Set(openKeys);
69
-
70
61
  var toggle = function toggle(rowKey) {
71
62
  var expanded = openKeySet.has(rowKey);
72
-
73
63
  if (expanded) {
74
64
  onChangeOpenKeys(_filterInstanceProperty(openKeys).call(openKeys, function (key) {
75
65
  return key !== rowKey;
76
66
  }), rowKey, 'collapse');
77
67
  } else {
78
68
  var _context3;
79
-
80
69
  onChangeOpenKeys(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(openKeys), [rowKey]), rowKey, 'expand');
81
70
  }
82
71
  };
83
-
84
72
  var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
85
73
  return pipeline.dataSource(flatMap(pipeline.getDataSource(), function (row, rowIndex) {
86
74
  if (openKeySet.has(internals.safeGetRowKey(primaryKey, row, rowIndex))) {
@@ -96,35 +84,27 @@ export function rowDetail() {
96
84
  };
97
85
  }
98
86
  });
99
-
100
87
  function processColumns(columns) {
101
88
  if (columns.length === 0) {
102
89
  return columns;
103
90
  }
104
-
105
91
  var expandColumnIndex = 0;
106
-
107
92
  if (opts.expandColumnCode) {
108
93
  expandColumnIndex = _findIndexInstanceProperty(columns).call(columns, function (col) {
109
94
  return col.code === opts.expandColumnCode;
110
95
  });
111
-
112
96
  if (expandColumnIndex < 0) {
113
97
  console.warn('没找到可展开的列,请检查设置的展开列code');
114
98
  return columns;
115
99
  }
116
100
  }
117
-
118
101
  var expandCol = columns[expandColumnIndex];
119
-
120
102
  var tableColumns = _toConsumableArray(columns);
121
-
122
103
  var render = function render(value, row, rowIndex) {
123
104
  if (row[rowDetailMetaKey]) {
124
105
  // 第一列内容已经渲染
125
106
  if (expandColumnIndex !== 0) return;
126
107
  var renderRowDetail = getTableRenderTemplate('rowDetail');
127
-
128
108
  if (typeof renderRowDetail === 'function') {
129
109
  return renderRowDetail({
130
110
  row: row,
@@ -133,12 +113,9 @@ export function rowDetail() {
133
113
  renderDetail: renderDetail
134
114
  });
135
115
  }
136
-
137
116
  return renderDetail(row, rowIndex);
138
117
  }
139
-
140
118
  var content = internals.safeRender(expandCol, row, rowIndex);
141
-
142
119
  if (!hasDetail(row, rowIndex)) {
143
120
  return /*#__PURE__*/React.createElement(InlineFlexCell, {
144
121
  style: {
@@ -146,18 +123,14 @@ export function rowDetail() {
146
123
  }
147
124
  }, content);
148
125
  }
149
-
150
126
  var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
151
127
  var expanded = openKeySet.has(rowKey);
152
-
153
128
  var onClick = function onClick(e) {
154
129
  if (opts.stopClickEventPropagation) {
155
130
  e.stopPropagation();
156
131
  }
157
-
158
132
  toggle(rowKey);
159
133
  };
160
-
161
134
  var expandCls = expanded ? Classes.expanded : Classes.collapsed;
162
135
  var ExpandIcon = opts.expandIcon;
163
136
  return /*#__PURE__*/React.createElement(ExpansionCell, {
@@ -179,10 +152,8 @@ export function rowDetail() {
179
152
  onClick: clickArea === 'icon' ? onClick : undefined
180
153
  }), content);
181
154
  };
182
-
183
155
  var getCellProps = function getCellProps(value, row, rowIndex) {
184
156
  var _a;
185
-
186
157
  if (row[rowDetailMetaKey]) {
187
158
  return {
188
159
  style: _extends({
@@ -191,19 +162,15 @@ export function rowDetail() {
191
162
  }, opts.detailCellStyle)
192
163
  };
193
164
  }
194
-
195
165
  var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
196
-
197
166
  if (!hasDetail(row, rowIndex)) {
198
167
  return prevProps;
199
168
  }
200
-
201
169
  return mergeCellProps(prevProps, {
202
170
  onClick: function onClick(e) {
203
171
  if (opts.stopClickEventPropagation) {
204
172
  e.stopPropagation();
205
173
  }
206
-
207
174
  toggle(internals.safeGetRowKey(primaryKey, row, rowIndex));
208
175
  },
209
176
  style: {
@@ -211,15 +178,12 @@ export function rowDetail() {
211
178
  }
212
179
  });
213
180
  };
214
-
215
181
  var _tableColumns = _toArray(tableColumns),
216
- firstCol = _tableColumns[0],
217
- others = _sliceInstanceProperty(_tableColumns).call(_tableColumns, 1);
218
-
182
+ firstCol = _tableColumns[0],
183
+ others = _sliceInstanceProperty(_tableColumns).call(_tableColumns, 1);
219
184
  var firstColRender = function firstColRender(value, row, rowIndex) {
220
185
  if (row[rowDetailMetaKey]) {
221
186
  var renderRowDetail = getTableRenderTemplate('rowDetail');
222
-
223
187
  if (typeof renderRowDetail === 'function') {
224
188
  return renderRowDetail({
225
189
  row: row,
@@ -228,14 +192,11 @@ export function rowDetail() {
228
192
  renderDetail: renderDetail
229
193
  });
230
194
  }
231
-
232
195
  return renderDetail(row, rowIndex);
233
196
  }
234
-
235
197
  var content = internals.safeRender(firstCol, row, rowIndex);
236
198
  return content;
237
199
  };
238
-
239
200
  tableColumns[0] = _extends(_extends({}, firstCol), {
240
201
  render: firstColRender,
241
202
  getSpanRect: function getSpanRect(value, row, rowIndex) {