vxe-table 3.12.10-beta.9 → 3.12.11

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 (178) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +2 -1
  4. package/es/locale/lang/de-DE.js +2 -1
  5. package/es/locale/lang/en-US.js +4 -3
  6. package/es/locale/lang/es-ES.js +2 -1
  7. package/es/locale/lang/fr-FR.js +2 -1
  8. package/es/locale/lang/hu-HU.js +2 -1
  9. package/es/locale/lang/hy-AM.js +2 -1
  10. package/es/locale/lang/it-IT.js +2 -1
  11. package/es/locale/lang/ja-JP.js +2 -1
  12. package/es/locale/lang/ko-KR.js +2 -1
  13. package/es/locale/lang/nb-NO.js +2 -1
  14. package/es/locale/lang/pt-BR.js +2 -1
  15. package/es/locale/lang/ru-RU.js +4 -3
  16. package/es/locale/lang/th-TH.js +2 -1
  17. package/es/locale/lang/ug-CN.js +2 -1
  18. package/es/locale/lang/uk-UA.js +518 -517
  19. package/es/locale/lang/vi-VN.js +2 -1
  20. package/es/locale/lang/zh-CHT.js +2 -1
  21. package/es/locale/lang/zh-CN.js +2 -1
  22. package/es/style.css +1 -1
  23. package/es/style.min.css +1 -1
  24. package/es/table/module/edit/mixin.js +7 -7
  25. package/es/table/module/export/mixin.js +105 -69
  26. package/es/table/module/keyboard/mixin.js +68 -25
  27. package/es/table/module/menu/mixin.js +3 -1
  28. package/es/table/src/body.js +114 -87
  29. package/es/table/src/cell.js +43 -57
  30. package/es/table/src/column.js +43 -8
  31. package/es/table/src/columnInfo.js +3 -0
  32. package/es/table/src/footer.js +47 -6
  33. package/es/table/src/header.js +67 -165
  34. package/es/table/src/methods.js +962 -480
  35. package/es/table/src/props.js +14 -4
  36. package/es/table/src/table.js +114 -33
  37. package/es/table/src/util.js +74 -58
  38. package/es/table/style.css +246 -191
  39. package/es/table/style.min.css +1 -1
  40. package/es/ui/index.js +20 -6
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-table/style.css +246 -191
  43. package/es/vxe-table/style.min.css +1 -1
  44. package/lib/index.css +1 -1
  45. package/lib/index.min.css +1 -1
  46. package/lib/index.umd.js +1725 -1022
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/locale/lang/ar-EG.js +2 -1
  49. package/lib/locale/lang/ar-EG.min.js +1 -1
  50. package/lib/locale/lang/de-DE.js +2 -1
  51. package/lib/locale/lang/de-DE.min.js +1 -1
  52. package/lib/locale/lang/en-US.js +4 -3
  53. package/lib/locale/lang/en-US.min.js +1 -1
  54. package/lib/locale/lang/en-US.umd.js +4 -3
  55. package/lib/locale/lang/es-ES.js +2 -1
  56. package/lib/locale/lang/es-ES.min.js +1 -1
  57. package/lib/locale/lang/es-ES.umd.js +2 -1
  58. package/lib/locale/lang/fr-FR.js +2 -1
  59. package/lib/locale/lang/fr-FR.min.js +1 -1
  60. package/lib/locale/lang/hu-HU.js +2 -1
  61. package/lib/locale/lang/hu-HU.min.js +1 -1
  62. package/lib/locale/lang/hu-HU.umd.js +2 -1
  63. package/lib/locale/lang/hy-AM.js +2 -1
  64. package/lib/locale/lang/hy-AM.min.js +1 -1
  65. package/lib/locale/lang/it-IT.js +2 -1
  66. package/lib/locale/lang/it-IT.min.js +1 -1
  67. package/lib/locale/lang/ja-JP.js +2 -1
  68. package/lib/locale/lang/ja-JP.min.js +1 -1
  69. package/lib/locale/lang/ja-JP.umd.js +2 -1
  70. package/lib/locale/lang/ko-KR.js +2 -1
  71. package/lib/locale/lang/ko-KR.min.js +1 -1
  72. package/lib/locale/lang/ko-KR.umd.js +2 -1
  73. package/lib/locale/lang/nb-NO.js +2 -1
  74. package/lib/locale/lang/nb-NO.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.js +2 -1
  76. package/lib/locale/lang/pt-BR.min.js +1 -1
  77. package/lib/locale/lang/pt-BR.umd.js +2 -1
  78. package/lib/locale/lang/ru-RU.js +4 -3
  79. package/lib/locale/lang/ru-RU.min.js +1 -1
  80. package/lib/locale/lang/ru-RU.umd.js +4 -3
  81. package/lib/locale/lang/th-TH.js +2 -1
  82. package/lib/locale/lang/th-TH.min.js +1 -1
  83. package/lib/locale/lang/ug-CN.js +2 -1
  84. package/lib/locale/lang/ug-CN.min.js +1 -1
  85. package/lib/locale/lang/uk-UA.js +518 -517
  86. package/lib/locale/lang/uk-UA.min.js +1 -1
  87. package/lib/locale/lang/uk-UA.umd.js +518 -517
  88. package/lib/locale/lang/vi-VN.js +2 -1
  89. package/lib/locale/lang/vi-VN.min.js +1 -1
  90. package/lib/locale/lang/zh-CHT.js +2 -1
  91. package/lib/locale/lang/zh-CHT.min.js +1 -1
  92. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  93. package/lib/locale/lang/zh-CN.js +2 -1
  94. package/lib/locale/lang/zh-CN.min.js +1 -1
  95. package/lib/locale/lang/zh-CN.umd.js +2 -1
  96. package/lib/style.css +1 -1
  97. package/lib/style.min.css +1 -1
  98. package/lib/table/module/edit/mixin.js +7 -2
  99. package/lib/table/module/edit/mixin.min.js +1 -1
  100. package/lib/table/module/export/mixin.js +105 -64
  101. package/lib/table/module/export/mixin.min.js +1 -1
  102. package/lib/table/module/keyboard/mixin.js +73 -27
  103. package/lib/table/module/keyboard/mixin.min.js +1 -1
  104. package/lib/table/module/menu/mixin.js +3 -1
  105. package/lib/table/src/body.js +114 -80
  106. package/lib/table/src/body.min.js +1 -1
  107. package/lib/table/src/cell.js +32 -42
  108. package/lib/table/src/cell.min.js +1 -1
  109. package/lib/table/src/column.js +12 -0
  110. package/lib/table/src/column.min.js +1 -1
  111. package/lib/table/src/columnInfo.js +3 -0
  112. package/lib/table/src/columnInfo.min.js +1 -1
  113. package/lib/table/src/footer.js +43 -4
  114. package/lib/table/src/footer.min.js +1 -1
  115. package/lib/table/src/header.js +49 -172
  116. package/lib/table/src/header.min.js +1 -1
  117. package/lib/table/src/methods.js +1072 -538
  118. package/lib/table/src/methods.min.js +1 -1
  119. package/lib/table/src/props.js +14 -4
  120. package/lib/table/src/props.min.js +1 -1
  121. package/lib/table/src/table.js +113 -36
  122. package/lib/table/src/table.min.js +1 -1
  123. package/lib/table/src/util.js +88 -71
  124. package/lib/table/src/util.min.js +1 -1
  125. package/lib/table/style/style.css +246 -191
  126. package/lib/table/style/style.min.css +1 -1
  127. package/lib/ui/index.js +20 -6
  128. package/lib/ui/index.min.js +1 -1
  129. package/lib/ui/src/log.js +1 -1
  130. package/lib/ui/src/log.min.js +1 -1
  131. package/lib/vxe-table/style/style.css +246 -191
  132. package/lib/vxe-table/style/style.min.css +1 -1
  133. package/package.json +2 -2
  134. package/packages/locale/lang/ar-EG.ts +2 -1
  135. package/packages/locale/lang/de-DE.ts +2 -1
  136. package/packages/locale/lang/en-US.ts +4 -3
  137. package/packages/locale/lang/es-ES.ts +2 -1
  138. package/packages/locale/lang/fr-FR.ts +2 -1
  139. package/packages/locale/lang/hu-HU.ts +2 -1
  140. package/packages/locale/lang/hy-AM.ts +2 -1
  141. package/packages/locale/lang/it-IT.ts +2 -1
  142. package/packages/locale/lang/ja-JP.ts +2 -1
  143. package/packages/locale/lang/ko-KR.ts +2 -1
  144. package/packages/locale/lang/nb-NO.ts +2 -1
  145. package/packages/locale/lang/pt-BR.ts +2 -1
  146. package/packages/locale/lang/ru-RU.ts +4 -3
  147. package/packages/locale/lang/th-TH.ts +2 -1
  148. package/packages/locale/lang/ug-CN.ts +2 -1
  149. package/packages/locale/lang/uk-UA.ts +518 -517
  150. package/packages/locale/lang/vi-VN.ts +2 -1
  151. package/packages/locale/lang/zh-CHT.ts +2 -1
  152. package/packages/locale/lang/zh-CN.ts +2 -1
  153. package/packages/table/module/edit/mixin.ts +7 -7
  154. package/packages/table/module/export/mixin.ts +138 -80
  155. package/packages/table/module/keyboard/mixin.ts +65 -24
  156. package/packages/table/module/menu/mixin.ts +4 -1
  157. package/packages/table/src/body.ts +126 -90
  158. package/packages/table/src/cell.ts +45 -67
  159. package/packages/table/src/column.ts +48 -10
  160. package/packages/table/src/columnInfo.ts +3 -0
  161. package/packages/table/src/footer.ts +50 -7
  162. package/packages/table/src/header.ts +67 -166
  163. package/packages/table/src/methods.ts +1007 -492
  164. package/packages/table/src/props.ts +16 -6
  165. package/packages/table/src/table.ts +124 -33
  166. package/packages/table/src/util.ts +83 -63
  167. package/packages/ui/index.ts +19 -5
  168. package/styles/components/table.scss +313 -274
  169. package/styles/theme/base.scss +4 -6
  170. package/styles/theme/dark.scss +1 -0
  171. package/styles/theme/light.scss +1 -0
  172. package/styles/variable.scss +1 -0
  173. /package/es/{iconfont.1736854649055.ttf → iconfont.1739008141486.ttf} +0 -0
  174. /package/es/{iconfont.1736854649055.woff → iconfont.1739008141486.woff} +0 -0
  175. /package/es/{iconfont.1736854649055.woff2 → iconfont.1739008141486.woff2} +0 -0
  176. /package/lib/{iconfont.1736854649055.ttf → iconfont.1739008141486.ttf} +0 -0
  177. /package/lib/{iconfont.1736854649055.woff → iconfont.1739008141486.woff} +0 -0
  178. /package/lib/{iconfont.1736854649055.woff2 → iconfont.1739008141486.woff2} +0 -0
@@ -26,11 +26,11 @@ const isVMScrollProcess = $xeTable => {
26
26
  } = tableProps;
27
27
  const {
28
28
  lastScrollTime,
29
- _isResize
29
+ isDragResize
30
30
  } = tableReactData;
31
- return !!(_isResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
31
+ return !!(isDragResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
32
32
  };
33
- function renderLine(h, _vm, params) {
33
+ function renderLine(h, _vm, params, cellHeight) {
34
34
  const $xeTable = _vm.$parent;
35
35
  const tableProps = $xeTable;
36
36
  const tableInternalData = $xeTable;
@@ -66,11 +66,13 @@ function renderLine(h, _vm, params) {
66
66
  const isFirstRow = $xeTable.eqRow(afterFullData[0], row);
67
67
  if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
68
68
  return [h('div', {
69
+ key: 'tl',
69
70
  class: 'vxe-tree--line-wrapper'
70
71
  }, [h('div', {
71
72
  class: 'vxe-tree--line',
72
73
  style: {
73
74
  height: `${isFirstRow ? 1 : (0, _util.calcTreeLine)(params, prevRow)}px`,
75
+ bottom: `-${Math.floor(cellHeight / 2)}px`,
74
76
  left: `${rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xeTable) : 0) + 16}px`
75
77
  }
76
78
  })])];
@@ -90,8 +92,9 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
90
92
  } = tableInternalData;
91
93
  const {
92
94
  columnKey,
95
+ resizable: allResizable,
96
+ border,
93
97
  height,
94
- showOverflow: allColumnOverflow,
95
98
  cellClassName: allCellClassName,
96
99
  cellStyle,
97
100
  align: allAlign,
@@ -99,7 +102,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
99
102
  mouseConfig,
100
103
  editConfig,
101
104
  editRules,
102
- tooltipConfig
105
+ tooltipConfig,
106
+ padding: allPadding
103
107
  } = tableProps;
104
108
  const {
105
109
  tableData,
@@ -107,7 +111,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
107
111
  currentColumn,
108
112
  scrollXLoad,
109
113
  scrollYLoad,
110
- isCalcCellHeight,
114
+ calcCellHeightFlag,
115
+ resizeHeightFlag,
111
116
  mergeList,
112
117
  editStore,
113
118
  isAllOverflow,
@@ -123,9 +128,14 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
123
128
  const checkboxOpts = $xeTable.computeCheckboxOpts;
124
129
  const editOpts = $xeTable.computeEditOpts;
125
130
  const tooltipOpts = $xeTable.computeTooltipOpts;
131
+ const {
132
+ isAllColumnDrag,
133
+ isAllRowDrag
134
+ } = $xeTable.resizableOpts;
126
135
  const rowOpts = $xeTable.computeRowOpts;
127
136
  const rowDragOpts = $xeTable.computeRowDragOpts;
128
137
  const defaultRowHeight = $xeTable.computeDefaultRowHeight;
138
+ const customCellHeight = cellOpts.height || rowOpts.height;
129
139
  const {
130
140
  disabledMethod: dragDisabledMethod,
131
141
  isCrossDrag,
@@ -145,17 +155,18 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
145
155
  showOverflow,
146
156
  className,
147
157
  treeNode,
158
+ rowResize,
159
+ padding,
160
+ verticalAlign,
148
161
  slots
149
162
  } = column;
150
163
  const {
151
- verticalAlign
164
+ verticalAlign: allVerticalAlign
152
165
  } = cellOpts;
153
166
  const {
154
167
  actived
155
168
  } = editStore;
156
- const {
157
- height: customRHeight
158
- } = rowOpts;
169
+ const rowRest = fullAllDataRowIdData[rowid];
159
170
  const colid = column.id;
160
171
  const renderOpts = editRender || cellRender;
161
172
  const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
@@ -165,23 +176,27 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
165
176
  const columnIndex = $xeTable.getColumnIndex(column);
166
177
  const _columnIndex = $xeTable.getVTColumnIndex(column);
167
178
  const isEdit = (0, _utils.isEnableConf)(editRender);
179
+ const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
168
180
  let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
169
- const cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
181
+ const isCellPadding = _xeUtils.default.eqNull(padding) ? allPadding === null ? cellOpts.padding : allPadding : padding;
182
+ const cellOverflow = _xeUtils.default.eqNull(showOverflow) ? isAllOverflow : showOverflow;
170
183
  const showEllipsis = cellOverflow === 'ellipsis';
171
184
  const showTitle = cellOverflow === 'title';
172
185
  const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
173
- // 如果表格加上 showOverflow 则不再支持列单独设置
174
- const hasEllipsis = allColumnOverflow || showTitle || showTooltip || showEllipsis;
186
+ const hasEllipsis = isAllOverflow || showTitle || showTooltip || showEllipsis;
187
+ const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
188
+ const isCsHeight = !!customCellHeight;
189
+ const isRsHeight = resizeHeight > 0;
175
190
  let isDirty;
176
191
  const tdOns = {};
177
- const rest = fullAllDataRowIdData[rowid];
178
192
  const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign;
193
+ const cellVerticalAlign = _xeUtils.default.eqNull(verticalAlign) ? allVerticalAlign : verticalAlign;
179
194
  const errorValidItem = validErrorMaps[`${rowid}:${colid}`];
180
195
  const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
181
- const attrs = {
196
+ const tdAttrs = {
182
197
  colid
183
198
  };
184
- const params = {
199
+ const cellParams = {
185
200
  $table: $xeTable,
186
201
  $grid: $xeTable.xegrid,
187
202
  isEdit: false,
@@ -209,7 +224,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
209
224
  isRowDragCell = rowDragOpts.trigger === 'row' || column.dragSort && rowDragOpts.trigger === 'cell';
210
225
  }
211
226
  if (isRowDragCell) {
212
- isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
227
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
213
228
  }
214
229
  // hover 进入事件
215
230
  if (showTitle || showTooltip || showAllTip || tooltipConfig) {
@@ -221,11 +236,11 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
221
236
  (0, _dom.updateCellTitle)(evnt.currentTarget, column);
222
237
  } else if (showTooltip || showAllTip) {
223
238
  // 如果配置了显示 tooltip
224
- $xeTable.triggerBodyTooltipEvent(evnt, params);
239
+ $xeTable.triggerBodyTooltipEvent(evnt, cellParams);
225
240
  }
226
241
  $xeTable.dispatchEvent('cell-mouseenter', Object.assign({
227
242
  cell: evnt.currentTarget
228
- }, params), evnt);
243
+ }, cellParams), evnt);
229
244
  };
230
245
  }
231
246
  // hover 退出事件
@@ -239,13 +254,13 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
239
254
  }
240
255
  $xeTable.dispatchEvent('cell-mouseleave', Object.assign({
241
256
  cell: evnt.currentTarget
242
- }, params), evnt);
257
+ }, cellParams), evnt);
243
258
  };
244
259
  }
245
260
  // 按下事件处理
246
261
  if (isRowDragCell || checkboxOpts.range || mouseConfig) {
247
262
  tdOns.mousedown = evnt => {
248
- $xeTable.triggerCellMousedownEvent(evnt, params);
263
+ $xeTable.triggerCellMousedownEvent(evnt, cellParams);
249
264
  };
250
265
  }
251
266
  // 拖拽列事件
@@ -254,11 +269,11 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
254
269
  }
255
270
  // 点击事件处理
256
271
  tdOns.click = evnt => {
257
- $xeTable.triggerCellClickEvent(evnt, params);
272
+ $xeTable.triggerCellClickEvent(evnt, cellParams);
258
273
  };
259
274
  // 双击事件处理
260
275
  tdOns.dblclick = evnt => {
261
- $xeTable.triggerCellDblclickEvent(evnt, params);
276
+ $xeTable.triggerCellDblclickEvent(evnt, cellParams);
262
277
  };
263
278
  // 合并行或列
264
279
  if (mergeList.length) {
@@ -272,10 +287,10 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
272
287
  return null;
273
288
  }
274
289
  if (rowspan > 1) {
275
- attrs.rowspan = rowspan;
290
+ tdAttrs.rowspan = rowspan;
276
291
  }
277
292
  if (colspan > 1) {
278
- attrs.colspan = colspan;
293
+ tdAttrs.colspan = colspan;
279
294
  }
280
295
  }
281
296
  } else if (spanMethod) {
@@ -283,20 +298,20 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
283
298
  const {
284
299
  rowspan = 1,
285
300
  colspan = 1
286
- } = spanMethod(params) || {};
301
+ } = spanMethod(cellParams) || {};
287
302
  if (!rowspan || !colspan) {
288
303
  return null;
289
304
  }
290
305
  if (rowspan > 1) {
291
- attrs.rowspan = rowspan;
306
+ tdAttrs.rowspan = rowspan;
292
307
  }
293
308
  if (colspan > 1) {
294
- attrs.colspan = colspan;
309
+ tdAttrs.colspan = colspan;
295
310
  }
296
311
  }
297
312
  // 如果被合并不可隐藏
298
313
  if (fixedHiddenColumn && mergeList) {
299
- if (attrs.colspan > 1 || attrs.rowspan > 1) {
314
+ if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
300
315
  fixedHiddenColumn = false;
301
316
  }
302
317
  }
@@ -305,28 +320,25 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
305
320
  isDirty = $xeTable.isUpdateByRow(row, column.field);
306
321
  }
307
322
  const isVNAutoHeight = scrollYLoad && !hasEllipsis;
308
- let cellHeight = 0;
309
- const vnHeight = isCalcCellHeight ? rest.height : 0;
310
- if (hasEllipsis) {
311
- if (customRHeight) {
312
- cellHeight = customRHeight;
313
- } else if (!isAllOverflow) {
314
- cellHeight = vnHeight || defaultRowHeight || 18;
315
- }
316
- } else {
317
- cellHeight = vnHeight || defaultRowHeight || 18;
323
+ const cellHeight = calcCellHeightFlag ? rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight : defaultRowHeight;
324
+ const isLastColumn = $columnIndex === columns.length - 1;
325
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
326
+ let isVNPreEmptyStatus = false;
327
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
328
+ isVNPreEmptyStatus = true;
329
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
330
+ isVNPreEmptyStatus = true;
318
331
  }
319
332
  const tcStyle = {};
320
- if (cellHeight) {
321
- if (hasEllipsis) {
322
- tcStyle.maxHeight = `${cellHeight}px`;
323
- } else if (isVNAutoHeight) {
324
- tcStyle.height = `${cellHeight}px`;
325
- }
333
+ if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
334
+ tcStyle.height = `${cellHeight}px`;
335
+ } else {
336
+ tcStyle.minHeight = `${cellHeight}px`;
326
337
  }
327
338
  const tdVNs = [];
328
- if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
339
+ if (fixedHiddenColumn && isAllOverflow) {
329
340
  tdVNs.push(h('div', {
341
+ key: 'tc',
330
342
  class: ['vxe-cell', {
331
343
  'c--title': showTitle,
332
344
  'c--tooltip': showTooltip,
@@ -336,7 +348,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
336
348
  }));
337
349
  } else {
338
350
  // 渲染单元格
339
- tdVNs.push(...renderLine(h, _vm, params), h('div', {
351
+ tdVNs.push(...renderLine(h, _vm, cellParams, cellHeight), h('div', {
352
+ key: 'tc',
340
353
  class: ['vxe-cell', {
341
354
  'c--title': showTitle,
342
355
  'c--tooltip': showTooltip,
@@ -346,16 +359,21 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
346
359
  attrs: {
347
360
  title: showTitle ? $xeTable.getCellLabel(row, column) : null
348
361
  }
349
- }, isVNAutoHeight ? [h('div', {
350
- class: 'vxe-cell--auto-wrapper'
351
- }, column.renderCell(h, params))] : column.renderCell(h, params)));
362
+ }, isVNPreEmptyStatus ? [] : [h('div', {
363
+ attrs: {
364
+ colid,
365
+ rowid
366
+ },
367
+ class: 'vxe-cell--wrapper'
368
+ }, column.renderCell(h, cellParams))]));
352
369
  if (showValidTip && errorValidItem) {
353
370
  const errRule = errorValidItem.rule;
354
371
  const validSlot = slots ? slots.valid : null;
355
- const validParams = Object.assign(Object.assign(Object.assign({}, params), errorValidItem), {
372
+ const validParams = Object.assign(Object.assign(Object.assign({}, cellParams), errorValidItem), {
356
373
  rule: errorValidItem
357
374
  });
358
375
  tdVNs.push(h('div', {
376
+ key: 'tcv',
359
377
  class: ['vxe-cell--valid-error-tip', (0, _utils.getClass)(validOpts.className, errorValidItem)],
360
378
  style: errRule && errRule.maxWidth ? {
361
379
  width: `${errRule.maxWidth}px`
@@ -367,47 +385,59 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
367
385
  }, errorValidItem.content)]])]));
368
386
  }
369
387
  }
388
+ let showAreaRowStatus = false;
370
389
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
371
- if (!$columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
372
- tdVNs.push(h('div', {
373
- class: 'vxe-cell--area-status'
374
- }));
390
+ if (!_columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
391
+ showAreaRowStatus = true;
375
392
  }
376
393
  }
377
- const isLastColumn = $columnIndex === columns.length - 1;
378
- const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
379
- let isVNPreEmptyStatus = false;
380
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
381
- isVNPreEmptyStatus = true;
382
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
383
- isVNPreEmptyStatus = true;
394
+ if (!fixedHiddenColumn && showResizable && isAllColumnDrag) {
395
+ tdVNs.push(h('div', {
396
+ key: 'tcc',
397
+ class: ['vxe-cell--col-resizable', {
398
+ 'is--line': !border || border === 'none'
399
+ }],
400
+ on: {
401
+ mousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
402
+ dblclick: evnt => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
403
+ }
404
+ }));
405
+ }
406
+ if ((rowResize || isAllRowDrag) && rowOpts.resizable) {
407
+ tdVNs.push(h('div', {
408
+ key: 'tcr',
409
+ class: 'vxe-cell--row-resizable',
410
+ on: {
411
+ mousedown: evnt => $xeTable.handleRowResizeMousedownEvent(evnt, cellParams),
412
+ dblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
413
+ }
414
+ }));
384
415
  }
385
416
  return h('td', {
386
- class: ['vxe-body--column', column.id, {
387
- [`col--${cellAlign}`]: cellAlign,
388
- [`col--vertical-${verticalAlign}`]: verticalAlign,
389
- [`col--${type}`]: type,
417
+ class: ['vxe-body--column', colid, cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '', cellAlign ? `col--${cellAlign}` : '', type ? `col--${type}` : '', {
390
418
  'col--last': isLastColumn,
391
419
  'col--tree-node': treeNode,
392
420
  'col--edit': isEdit,
393
421
  'col--ellipsis': hasEllipsis,
422
+ 'col--cs-height': isCsHeight,
423
+ 'col--rs-height': isRsHeight,
424
+ 'col--to-row': showAreaRowStatus,
394
425
  'col--auto-height': isVNAutoHeight,
395
426
  'fixed--width': !isAutoCellWidth,
396
427
  'fixed--hidden': fixedHiddenColumn,
428
+ 'is--padding': isCellPadding,
397
429
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
398
430
  'is--drag-disabled': isDisabledDrag,
399
431
  'col--dirty': isDirty,
400
432
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
401
433
  'col--valid-error': !!errorValidItem,
402
434
  'col--current': currentColumn === column
403
- }, (0, _utils.getClass)(compCellClassName, params), (0, _utils.getClass)(className, params), (0, _utils.getClass)(allCellClassName, params)],
435
+ }, (0, _utils.getClass)(compCellClassName, cellParams), (0, _utils.getClass)(className, cellParams), (0, _utils.getClass)(allCellClassName, cellParams)],
404
436
  key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? column.id : $columnIndex,
405
- attrs,
406
- style: Object.assign({
407
- height: cellHeight ? `${cellHeight}px` : ''
408
- }, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(params) : cellStyle),
437
+ attrs: tdAttrs,
438
+ style: Object.assign({}, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(cellParams) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(cellParams) : cellStyle),
409
439
  on: tdOns
410
- }, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
440
+ }, isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
411
441
  }
412
442
  function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
413
443
  const $xeTable = _vm.$parent;
@@ -420,15 +450,16 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
420
450
  highlightHoverRow,
421
451
  rowClassName,
422
452
  rowStyle,
423
- showOverflow: allColumnOverflow,
424
453
  editConfig,
425
454
  treeConfig
426
455
  } = tableProps;
427
456
  const {
428
457
  hasFixedColumn,
429
458
  treeExpandedMaps,
459
+ isColLoading,
430
460
  scrollXLoad,
431
461
  scrollYLoad,
462
+ isAllOverflow,
432
463
  rowExpandedMaps,
433
464
  expandColumn,
434
465
  selectRadioRow,
@@ -533,7 +564,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
533
564
  const tdVNs = tableColumn.map((column, $columnIndex) => {
534
565
  return renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
535
566
  });
536
- rows.push(columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
567
+ rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
537
568
  props: {
538
569
  tag: 'tr',
539
570
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`
@@ -571,7 +602,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
571
602
  const {
572
603
  showOverflow
573
604
  } = expandColumn;
574
- const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
605
+ const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
575
606
  const expandParams = {
576
607
  $table: $xeTable,
577
608
  seq,
@@ -683,7 +714,6 @@ var _default = exports.default = {
683
714
  tableColumn
684
715
  } = props;
685
716
  const {
686
- showOverflow: allColumnOverflow,
687
717
  spanMethod,
688
718
  footerSpanMethod,
689
719
  mouseConfig
@@ -691,6 +721,8 @@ var _default = exports.default = {
691
721
  const {
692
722
  isGroup,
693
723
  tableData,
724
+ isRowLoading,
725
+ isColLoading,
694
726
  scrollXLoad,
695
727
  scrollYLoad,
696
728
  isAllOverflow,
@@ -714,7 +746,7 @@ var _default = exports.default = {
714
746
  let renderColumnList = tableColumn;
715
747
  let isOptimizeMode = false;
716
748
  // 如果是使用优化模式
717
- if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
749
+ if (scrollXLoad || scrollYLoad || isAllOverflow) {
718
750
  if (expandColumn || spanMethod || footerSpanMethod) {
719
751
  // 如果不支持优化模式
720
752
  } else {
@@ -838,9 +870,9 @@ var _default = exports.default = {
838
870
  });
839
871
  })),
840
872
  /**
841
- * 内容
842
- */
843
- rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
873
+ * 内容
874
+ */
875
+ !(isRowLoading || isColLoading) && rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
844
876
  ref: 'refBodyTBody',
845
877
  props: {
846
878
  tag: 'tbody',
@@ -875,6 +907,8 @@ var _default = exports.default = {
875
907
  class: 'vxe-table--cell-multi-area'
876
908
  }), h('span', {
877
909
  class: 'vxe-table--cell-active-area'
910
+ }), h('span', {
911
+ class: 'vxe-table--cell-row-status-area'
878
912
  })]) : renderEmptyElement($xeTable), !fixedType ? h('div', {
879
913
  class: 'vxe-table--empty-block',
880
914
  ref: 'emptyBlock'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,_isResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t){var l=l.$parent,{row:r,column:o}=t,a=l.afterFullData,s=l.treeConfig,i=l.computeTreeOpts,{slots:o,treeNode:d}=o,n=l.fullAllDataRowIdData;if(o&&o.line)return l.callSlot(o.line,t,e);o=n[(0,_util.getRowid)(l,r)];let c=0,p=null;o&&(c=o.level,p=o.items[o.treeIndex-1]);n=l.eqRow(a[0],r);return s&&d&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(t,p)}px`,left:c*i.indent+(c?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,L,q,o,a,s,i,d,n,F,c){let p=A.$parent;var N=p,u=p,V=p.fullAllDataRowIdData,{columnKey:N,height:g,showOverflow:H,cellClassName:j,cellStyle:z,align:P,spanMethod:W,mouseConfig:X,editConfig:K,editRules:v,tooltipConfig:Y}=N,{tableData:u,overflowX:x,currentColumn:G,scrollXLoad:J,scrollYLoad:Q,isCalcCellHeight:Z,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:m}=u,{afterFullData:w,scrollXStore:f,scrollYStore:y}=p,re=p.computeCellOpts,h=p.computeValidOpts,oe=p.computeCheckboxOpts,ae=p.computeEditOpts,b=p.computeTooltipOpts,se=p.computeRowOpts,C=p.computeRowDragOpts,ie=p.computeDefaultRowHeight,{disabledMethod:_,isCrossDrag:de,isPeerDrag:ne}=C,ce=p.computeColumnOpts,pe=p.computeMouseOpts,ue=p.computeAreaOpts.selectCellToRow,{type:ge,cellRender:ve,editRender:xe,align:me,showOverflow:E,className:we,treeNode:fe,slots:ye}=d,re=re.verticalAlign,le=le.actived,he=se.height,S=d.id,R=xe||ve,R=R?renderer.get(R.name):null,be=R?R.tableCellClassName||R.cellClassName:null,Ce=R?R.tableCellStyle||R.cellStyle:"";let O=b.showAll;var b=p.getColumnIndex(d),D=p.getVTColumnIndex(d),_e=(0,_utils.isEnableConf)(xe);let T=r?d.fixed!==r:d.fixed&&x;x=_xeUtils.default.isUndefined(E)||_xeUtils.default.isNull(E)?H:E,E="ellipsis"===x;let I="title"===x,$=!0===x||"tooltip"===x;x=H||I||$||E;let Ee;var B={},V=V[t],me=me||(R?R.tableCellAlign:"")||P,R=m[t+":"+S],P=v&&h.showMessage&&("default"===h.message?g||1<u.length:"inline"===h.message),m={colid:S};let M={$table:p,$grid:p.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:a,$rowIndex:s,_rowIndex:i,column:d,columnIndex:b,$columnIndex:n,_columnIndex:D,fixed:r,type:renderType,isHidden:!!T,level:q,visibleData:w,data:u,items:c},k=!1,Se=!1;if((k=se.drag?"row"===C.trigger||d.dragSort&&"cell"===C.trigger:k)&&(Se=!(!_||!_(M))),(I||$||O||Y)&&(B.mouseenter=e=>{isVMScrollProcess(p)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):($||O)&&p.triggerBodyTooltipEvent(e,M),p.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),($||O||Y)&&(B.mouseleave=e=>{isVMScrollProcess(p)||(($||O)&&p.handleTargetLeaveEvent(e),p.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(k||oe.range||X)&&(B.mousedown=e=>{p.triggerCellMousedownEvent(e,M)}),k&&(B.mouseup=p.triggerCellMouseupEvent),B.click=e=>{p.triggerCellClickEvent(e,M)},B.dblclick=e=>{p.triggerCellDblclickEvent(e,M)},ee.length){v=(0,_util.mergeBodyMethod)(ee,i,D);if(v){var{rowspan:g,colspan:S}=v;if(!g||!S)return null;1<g&&(m.rowspan=g),1<S&&(m.colspan=S)}}else if(W){var{rowspan:l=1,colspan:t=1}=W(M)||{};if(!l||!t)return null;1<l&&(m.rowspan=l),1<t&&(m.colspan=t)}!(T=T&&ee&&(1<m.colspan||1<m.rowspan)?!1:T)&&K&&(xe||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(Ee=p.isUpdateByRow(o,d.field));a=Q&&!x;let U=0;s=Z?V.height:0,x?he?U=he:te||(U=s||ie||18):U=s||ie||18,b={},U&&(x?b.maxHeight=U+"px":a&&(b.height=U+"px")),r=[],T&&H&&te?r.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":$,"c--ellipsis":E}],style:b})):(r.push(...renderLine(e,A,M),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":$,"c--ellipsis":E}],style:b,attrs:{title:I?p.getCellLabel(o,d):null}},a?[e("div",{class:"vxe-cell--auto-wrapper"},d.renderCell(e,M))]:d.renderCell(e,M))),P&&R&&(w=R.rule,u=ye?ye.valid:null,c=Object.assign(Object.assign(Object.assign({},M),R),{rule:R}),r.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,R)],style:w&&w.maxWidth?{width:w.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[u?p.callSlot(u,c,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])])))),X&&pe.area&&ue&&((n||!0!==ue)&&ue!==d.field||r.push(e("div",{class:"vxe-cell--area-status"}))),C=n===F.length-1,_=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);let Re=!1;return(Q&&(i<y.visibleStartIndex-y.preloadSize||i>y.visibleEndIndex+y.preloadSize)||J&&!d.fixed&&(D<f.visibleStartIndex-f.preloadSize||D>f.visibleEndIndex+f.preloadSize))&&(Re=!0),e("td",{class:["vxe-body--column",d.id,{["col--"+me]:me,["col--vertical-"+re]:re,["col--"+ge]:ge,"col--last":C,"col--tree-node":fe,"col--edit":_e,"col--ellipsis":x,"col--auto-height":a,"fixed--width":!_,"fixed--hidden":T,"is--drag-cell":k&&(de||ne||!q),"is--drag-disabled":Se,"col--dirty":Ee,"col--active":K&&_e&&le.row===o&&(le.column===d||"row"===ae.mode),"col--valid-error":!!R,"col--current":G===d},(0,_utils.getClass)(be,M),(0,_utils.getClass)(we,M),(0,_utils.getClass)(j,M)],key:N||J||Q||ce.useKey||se.useKey||ce.drag?d.id:n,attrs:m,style:Object.assign({height:U?U+"px":""},_xeUtils.default.isFunction(Ce)?Ce(M):Ce,_xeUtils.default.isFunction(z)?z(M):z),on:B},Re||L&&T?[]:r)}function renderRows(m,w,f,y,h,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:E,highlightHoverRow:S,rowClassName:R,rowStyle:O,showOverflow:D,editConfig:T,treeConfig:I}=e,{hasFixedColumn:$,treeExpandedMaps:B,scrollXLoad:M,scrollYLoad:k,rowExpandedMaps:U,expandColumn:A,selectRadioRow:L,pendingRowMaps:q,isDragColMove:F}=l,N=t.fullAllDataRowIdData,V=C.computeCheckboxOpts,H=C.computeRadioOpts,j=C.computeTreeOpts,z=C.computeEditOpts,P=C.computeRowOpts,W=C.computeColumnOpts,Y=C.computeColumnDragOpts,{transform:X,seqMode:G}=j,J=j.children||j.childrenField,K=[];return h.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(P.isHover||S)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),(0,_util.getRowid)(C,t));var l=N[a];let s=0,i=-1,d=0;l&&(s=l.level,i=I&&X&&"increasing"===G?l._index+1:l.seq,d=l._index);var l={$table:C,seq:i,rowid:a,fixed:f,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},n=A&&!!U[a];let c=!1,p=[],u=!1;T&&(u=C.isInsertByRow(t)),!I||k||X||(p=t[J],c=p&&p.length&&!!B[a]),!P.drag||I&&!X||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var g,v=["vxe-body--row",I?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":u,"is--expand-row":n,"is--expand-tree":c,"row--new":u&&(z.showStatus||z.showInsertStatus),"row--radio":H.highlight&&L===t,"row--checked":V.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!q[a]},R?_xeUtils.default.isFunction(R)?R(l):R:""],x=b.map((e,l)=>renderTdColumn(m,w,i,a,f,y,s,t,o,r,d,e,l,b,h));K.push(W.drag&&Y.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(F?"":"-disabled")},class:v,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||P.useKey||P.drag||W.drag||I?a:r,nativeOn:e},x):m("tr",{class:v,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||P.useKey||P.drag||W.drag||I?a:r,on:e},x)),n&&({height:v,padding:l}=C.computeExpandOpts,x={},n=(v&&(x.height=v+"px"),I&&(x.paddingLeft=s*j.indent+30+"px"),A).showOverflow,n=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?D:n,g={$table:C,seq:i,column:A,fixed:f,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":f&&!$,"col--ellipsis":n},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":v},style:x},[A.renderData(m,g)])])]))),c&&K.push(...renderRows(m,w,f,y,p,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{xID:a,$scopedSlots:s}=l;let{fixedColumn:i,fixedType:d,tableColumn:n}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:v,scrollXLoad:x,scrollYLoad:m,isAllOverflow:w,isDragRowMove:f,expandColumn:y,dragRow:h,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:C,fullColumnIdData:_}=o,E=l.computeRowOpts,S=l.computeEmptyOpts,R=l.computeMouseOpts,O=l.computeRowDragOpts,D=l.computeLeftFixedWidth,T=l.computeRightFixedWidth;let I=v,$=n,B=!(x||m||c&&w)||y||p||u?!1:!0;d&&($=o,B)&&($=i||[]),m&&h&&2<I.length&&(v=C[(0,_util.getRowid)(l,h)])&&(c=v._index,w=I[0],y=I[I.length-1],p=C[(0,_util.getRowid)(l,w)],u=C[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?I=[h].concat(I):v<c&&(I=I.concat([h]))),d||r||x&&b&&2<$.length&&(w=_[b.id])&&(C=w._index,y=$[0],p=$[$.length-1],u=_[y.id],o=_[p.id],u)&&o&&(v=u._index,c=o._index,C<v?$=[b].concat($):c<C&&($=$.concat([b])));let M;M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(r=(h=S.name?renderer.get(S.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(r.call(this,t,S,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");x={scroll(e){l.triggerBodyScrollEvent(e,d)}};return(m||D||T)&&(x.wheel=l.triggerBodyWheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:a}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:x},[d?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},$.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),E.drag&&O.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,I,$)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,I,$))]),t("div",{class:"vxe-table--checkbox-range"}),g&&R.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},R.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:d,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r){var l=l.$parent,{row:o,column:a}=t,i=l.afterFullData,s=l.treeConfig,d=l.computeTreeOpts,{slots:a,treeNode:n}=a,c=l.fullAllDataRowIdData;if(a&&a.line)return l.callSlot(a.line,t,e);a=c[(0,_util.getRowid)(l,o)];let p=0,u=null;a&&(p=a.level,u=a.items[a.treeIndex-1]);c=l.eqRow(i[0],o);return s&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(t,u)}px`,bottom:`-${Math.floor(r/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,L,q,o,a,U,i,s,F,N,d){let n=A.$parent;var H=n,c=n,p=n.fullAllDataRowIdData,{columnKey:H,resizable:u,border:V,height:g,cellClassName:j,cellStyle:P,align:v,spanMethod:W,mouseConfig:X,editConfig:K,editRules:x,tooltipConfig:m,padding:w}=H,{tableData:c,overflowX:Y,currentColumn:G,scrollXLoad:J,scrollYLoad:h,calcCellHeightFlag:Q,resizeHeightFlag:y,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:f}=c,{afterFullData:te,scrollXStore:re,scrollYStore:oe}=n,ae=n.computeCellOpts,b=n.computeValidOpts,ie=n.computeCheckboxOpts,se=n.computeEditOpts,C=n.computeTooltipOpts,{isAllColumnDrag:de,isAllRowDrag:ne}=n.resizableOpts,_=n.computeRowOpts,R=n.computeRowDragOpts,ce=n.computeDefaultRowHeight,pe=ae.height||_.height,{disabledMethod:E,isCrossDrag:ue,isPeerDrag:ge}=R,ve=n.computeColumnOpts,xe=n.computeMouseOpts,me=n.computeAreaOpts.selectCellToRow,{type:we,cellRender:he,editRender:ye,align:fe,showOverflow:S,className:be,treeNode:Ce,rowResize:_e,padding:D,verticalAlign:O,slots:Re}=s,Ee=ae.verticalAlign,ee=ee.actived,p=p[t],Se=s.id,T=ye||he,T=T?renderer.get(T.name):null,De=T?T.tableCellClassName||T.cellClassName:null,Oe=T?T.tableCellStyle||T.cellStyle:"";let Te=C.showAll;var C=n.getColumnIndex(s),I=n.getVTColumnIndex(s),Ie=(0,_utils.isEnableConf)(ye),y=y?p.resizeHeight:0;let $=r?s.fixed!==r:s.fixed&&Y;Y=_xeUtils.default.eqNull(D)?null===w?ae.padding:w:D,w=_xeUtils.default.eqNull(S)?le:S,D="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;S=le||k||B||D,w=_xeUtils.default.isBoolean(s.resizable)?s.resizable:ve.resizable||u,u=!!pe,pe=0<y;let $e;y={},fe=fe||(T?T.tableCellAlign:"")||v,T=_xeUtils.default.eqNull(O)?Ee:O,v=f[t+":"+Se],Ee=x&&b.showMessage&&("default"===b.message?g||1<c.length:"inline"===b.message),O={colid:Se};let M={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:a,$rowIndex:U,_rowIndex:i,column:s,columnIndex:C,$columnIndex:F,_columnIndex:I,fixed:r,type:renderType,isHidden:!!$,level:q,visibleData:te,data:c,items:d},z=!1,ke=!1;if((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(ke=!(!E||!E(M))),(k||B||Te||m)&&(y.mouseenter=e=>{isVMScrollProcess(n)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Te)&&n.triggerBodyTooltipEvent(e,M),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Te||m)&&(y.mouseleave=e=>{isVMScrollProcess(n)||((B||Te)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ie.range||X)&&(y.mousedown=e=>{n.triggerCellMousedownEvent(e,M)}),z&&(y.mouseup=n.triggerCellMouseupEvent),y.click=e=>{n.triggerCellClickEvent(e,M)},y.dblclick=e=>{n.triggerCellDblclickEvent(e,M)},Z.length){f=(0,_util.mergeBodyMethod)(Z,i,I);if(f){var{rowspan:x,colspan:g}=f;if(!x||!g)return null;1<x&&(O.rowspan=x),1<g&&(O.colspan=g)}}else if(W){var{rowspan:l=1,colspan:a=1}=W(M)||{};if(!l||!a)return null;1<l&&(O.rowspan=l),1<a&&(O.colspan=a)}!($=$&&Z&&(1<O.colspan||1<O.rowspan)?!1:$)&&K&&(ye||he)&&(se.showStatus||se.showUpdateStatus)&&($e=n.isUpdateByRow(o,s.field));U=h&&!S,C=Q&&(p.resizeHeight||ae.height||_.height||p.height)||ce,te=F===N.length-1,c=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Be=!1;(h&&(i<oe.visibleStartIndex-oe.preloadSize||i>oe.visibleEndIndex+oe.preloadSize)||J&&!s.fixed&&(I<re.visibleStartIndex-re.preloadSize||I>re.visibleEndIndex+re.preloadSize))&&(Be=!0);d={},h||S||u||pe?d.height=C+"px":d.minHeight=C+"px",R=[];$&&le?R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":D}],style:d})):(R.push(...renderLine(e,A,M,C),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":D}],style:d,attrs:{title:k?n.getCellLabel(o,s):null}},Be?[]:[e("div",{attrs:{colid:Se,rowid:t},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),Ee&&v&&(E=v.rule,m=Re?Re.valid:null,ie=Object.assign(Object.assign(Object.assign({},M),v),{rule:v}),R.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,v)],style:E&&E.maxWidth?{width:E.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[m?n.callSlot(m,ie,e):[e("span",{class:"vxe-cell--valid-error-msg"},v.content)]])]))));let Me=!1;return X&&xe.area&&me&&((I||!0!==me)&&me!==s.field||(Me=!0)),!$&&w&&de&&R.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,M),dblclick:e=>n.handleColResizeDblclickEvent(e,M)}})),(_e||ne)&&_.resizable&&R.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,M),dblclick:e=>n.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",Se,T?"col--vertical-"+T:"",fe?"col--"+fe:"",we?"col--"+we:"",{"col--last":te,"col--tree-node":Ce,"col--edit":Ie,"col--ellipsis":S,"col--cs-height":u,"col--rs-height":pe,"col--to-row":Me,"col--auto-height":U,"fixed--width":!c,"fixed--hidden":$,"is--padding":Y,"is--drag-cell":z&&(ue||ge||!q),"is--drag-disabled":ke,"col--dirty":$e,"col--active":K&&Ie&&ee.row===o&&(ee.column===s||"row"===se.mode),"col--valid-error":!!v,"col--current":G===s},(0,_utils.getClass)(De,M),(0,_utils.getClass)(be,M),(0,_utils.getClass)(j,M)],key:H||J||h||ve.useKey||_.useKey||ve.drag?s.id:F,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Oe)?Oe(M):Oe,_xeUtils.default.isFunction(P)?P(M):P),on:y},L&&$?[]:R)}function renderRows(m,w,h,y,f,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:T}=e,{hasFixedColumn:I,treeExpandedMaps:$,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedMaps:A,expandColumn:L,selectRadioRow:q,pendingRowMaps:U,isDragColMove:F}=l,N=t.fullAllDataRowIdData,H=C.computeCheckboxOpts,Y=C.computeRadioOpts,V=C.computeTreeOpts,j=C.computeEditOpts,P=C.computeRowOpts,W=C.computeColumnOpts,G=C.computeColumnDragOpts,{transform:X,seqMode:J}=V,Q=V.children||V.childrenField,K=[];return f.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(P.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),(0,_util.getRowid)(C,t));var l=N[a];let i=0,s=-1,d=0;l&&(i=l.level,s=T&&X&&"increasing"===J?l._index+1:l.seq,d=l._index);var l={$table:C,seq:s,rowid:a,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},n=L&&!!A[a];let c=!1,p=[],u=!1;O&&(u=C.isInsertByRow(t)),!T||M||X||(p=t[Q],c=p&&p.length&&!!$[a]),!P.drag||T&&!X||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var g,v=["vxe-body--row",T?"row--level-"+i:"",{"row--stripe":_&&(d+1)%2==0,"is--new":u,"is--expand-row":n,"is--expand-tree":c,"row--new":u&&(j.showStatus||j.showInsertStatus),"row--radio":Y.highlight&&q===t,"row--checked":H.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!U[a]},S?_xeUtils.default.isFunction(S)?S(l):S:""],x=b.map((e,l)=>renderTdColumn(m,w,s,a,h,y,i,t,o,r,d,e,l,b,f));K.push(!k&&W.drag&&G.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(F?"":"-disabled")},class:v,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(l):D:void 0,key:R||B||M||P.useKey||P.drag||W.drag||T?a:r,nativeOn:e},x):m("tr",{class:v,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(l):D:void 0,key:R||B||M||P.useKey||P.drag||W.drag||T?a:r,on:e},x)),n&&({height:v,padding:l}=C.computeExpandOpts,x={},n=(v&&(x.height=v+"px"),T&&(x.paddingLeft=i*V.indent+30+"px"),L).showOverflow,n=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?z:n,g={$table:C,seq:s,column:L,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:D?_xeUtils.default.isFunction(D)?D(g):D:void 0,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":h&&!I,"col--ellipsis":n},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":v},style:x},[L.renderData(m,g)])])]))),c&&K.push(...renderRows(m,w,h,y,p,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{xID:a,$scopedSlots:i}=l;let{fixedColumn:s,fixedType:d,tableColumn:n}=this;var{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:v,isColLoading:x,scrollXLoad:m,scrollYLoad:w,isAllOverflow:h,isDragRowMove:y,expandColumn:f,dragRow:b,dragCol:C}=r,{visibleColumn:o,fullAllDataRowIdData:_,fullColumnIdData:R}=o,E=l.computeRowOpts,S=l.computeEmptyOpts,D=l.computeMouseOpts,O=l.computeRowDragOpts,T=l.computeLeftFixedWidth,I=l.computeRightFixedWidth;let $=g,k=n,B=!(m||w||h)||f||c||p?!1:!0;d&&(k=o,B)&&(k=s||[]),w&&b&&2<$.length&&(g=_[(0,_util.getRowid)(l,b)])&&(h=g._index,f=$[0],c=$[$.length-1],p=_[(0,_util.getRowid)(l,f)],o=_[(0,_util.getRowid)(l,c)],p)&&o&&(g=p._index,f=o._index,h<g?$=[b].concat($):f<h&&($=$.concat([b]))),d||r||m&&C&&2<k.length&&(_=R[C.id])&&(c=_._index,p=k[0],o=k[k.length-1],g=R[p.id],f=R[o.id],g)&&f&&(h=g._index,b=f._index,c<h?k=[C].concat(k):b<c&&(k=k.concat([C])));let M;M=i.empty?i.empty.call(this,{$table:l,$grid:l.xegrid}):(m=(r=S.name?renderer.get(S.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(m.call(this,t,S,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");_={scroll(e){l.triggerBodyScrollEvent(e,d)}};return(w||T||I)&&(_.wheel=l.triggerBodyWheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:a}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:_},[d?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},k.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),!v&&!x&&E.drag&&O.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(y?"":"-disabled")}},renderRows(t,this,d,B,$,k)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,$,k))]),t("div",{class:"vxe-table--checkbox-range"}),u&&D.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},D.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:d,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};