vxe-table 3.12.10-beta.9 → 3.12.10

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 +125 -86
  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 +73 -57
  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 +1734 -1020
  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 +124 -79
  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 +87 -70
  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 +136 -89
  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 +82 -62
  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.1738985837413.ttf} +0 -0
  174. /package/es/{iconfont.1736854649055.woff → iconfont.1738985837413.woff} +0 -0
  175. /package/es/{iconfont.1736854649055.woff2 → iconfont.1738985837413.woff2} +0 -0
  176. /package/lib/{iconfont.1736854649055.ttf → iconfont.1738985837413.ttf} +0 -0
  177. /package/lib/{iconfont.1736854649055.woff → iconfont.1738985837413.woff} +0 -0
  178. /package/lib/{iconfont.1736854649055.woff2 → iconfont.1738985837413.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,15 @@ 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;
139
+ const currCellHeight = customCellHeight || defaultRowHeight;
129
140
  const {
130
141
  disabledMethod: dragDisabledMethod,
131
142
  isCrossDrag,
@@ -145,17 +156,18 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
145
156
  showOverflow,
146
157
  className,
147
158
  treeNode,
159
+ rowResize,
160
+ padding,
161
+ verticalAlign,
148
162
  slots
149
163
  } = column;
150
164
  const {
151
- verticalAlign
165
+ verticalAlign: allVerticalAlign
152
166
  } = cellOpts;
153
167
  const {
154
168
  actived
155
169
  } = editStore;
156
- const {
157
- height: customRHeight
158
- } = rowOpts;
170
+ const rowRest = fullAllDataRowIdData[rowid];
159
171
  const colid = column.id;
160
172
  const renderOpts = editRender || cellRender;
161
173
  const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
@@ -165,23 +177,27 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
165
177
  const columnIndex = $xeTable.getColumnIndex(column);
166
178
  const _columnIndex = $xeTable.getVTColumnIndex(column);
167
179
  const isEdit = (0, _utils.isEnableConf)(editRender);
180
+ const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
168
181
  let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
169
- const cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
182
+ const isCellPadding = _xeUtils.default.eqNull(padding) ? allPadding === null ? cellOpts.padding : allPadding : padding;
183
+ const cellOverflow = _xeUtils.default.eqNull(showOverflow) ? isAllOverflow : showOverflow;
170
184
  const showEllipsis = cellOverflow === 'ellipsis';
171
185
  const showTitle = cellOverflow === 'title';
172
186
  const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
173
- // 如果表格加上 showOverflow 则不再支持列单独设置
174
- const hasEllipsis = allColumnOverflow || showTitle || showTooltip || showEllipsis;
187
+ const hasEllipsis = isAllOverflow || showTitle || showTooltip || showEllipsis;
188
+ const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
189
+ const isCsHeight = !!customCellHeight;
190
+ const isRsHeight = resizeHeight > 0;
175
191
  let isDirty;
176
192
  const tdOns = {};
177
- const rest = fullAllDataRowIdData[rowid];
178
193
  const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign;
194
+ const cellVerticalAlign = _xeUtils.default.eqNull(verticalAlign) ? allVerticalAlign : verticalAlign;
179
195
  const errorValidItem = validErrorMaps[`${rowid}:${colid}`];
180
196
  const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
181
- const attrs = {
197
+ const tdAttrs = {
182
198
  colid
183
199
  };
184
- const params = {
200
+ const cellParams = {
185
201
  $table: $xeTable,
186
202
  $grid: $xeTable.xegrid,
187
203
  isEdit: false,
@@ -209,7 +225,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
209
225
  isRowDragCell = rowDragOpts.trigger === 'row' || column.dragSort && rowDragOpts.trigger === 'cell';
210
226
  }
211
227
  if (isRowDragCell) {
212
- isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
228
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
213
229
  }
214
230
  // hover 进入事件
215
231
  if (showTitle || showTooltip || showAllTip || tooltipConfig) {
@@ -221,11 +237,11 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
221
237
  (0, _dom.updateCellTitle)(evnt.currentTarget, column);
222
238
  } else if (showTooltip || showAllTip) {
223
239
  // 如果配置了显示 tooltip
224
- $xeTable.triggerBodyTooltipEvent(evnt, params);
240
+ $xeTable.triggerBodyTooltipEvent(evnt, cellParams);
225
241
  }
226
242
  $xeTable.dispatchEvent('cell-mouseenter', Object.assign({
227
243
  cell: evnt.currentTarget
228
- }, params), evnt);
244
+ }, cellParams), evnt);
229
245
  };
230
246
  }
231
247
  // hover 退出事件
@@ -239,13 +255,13 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
239
255
  }
240
256
  $xeTable.dispatchEvent('cell-mouseleave', Object.assign({
241
257
  cell: evnt.currentTarget
242
- }, params), evnt);
258
+ }, cellParams), evnt);
243
259
  };
244
260
  }
245
261
  // 按下事件处理
246
262
  if (isRowDragCell || checkboxOpts.range || mouseConfig) {
247
263
  tdOns.mousedown = evnt => {
248
- $xeTable.triggerCellMousedownEvent(evnt, params);
264
+ $xeTable.triggerCellMousedownEvent(evnt, cellParams);
249
265
  };
250
266
  }
251
267
  // 拖拽列事件
@@ -254,11 +270,11 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
254
270
  }
255
271
  // 点击事件处理
256
272
  tdOns.click = evnt => {
257
- $xeTable.triggerCellClickEvent(evnt, params);
273
+ $xeTable.triggerCellClickEvent(evnt, cellParams);
258
274
  };
259
275
  // 双击事件处理
260
276
  tdOns.dblclick = evnt => {
261
- $xeTable.triggerCellDblclickEvent(evnt, params);
277
+ $xeTable.triggerCellDblclickEvent(evnt, cellParams);
262
278
  };
263
279
  // 合并行或列
264
280
  if (mergeList.length) {
@@ -272,10 +288,10 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
272
288
  return null;
273
289
  }
274
290
  if (rowspan > 1) {
275
- attrs.rowspan = rowspan;
291
+ tdAttrs.rowspan = rowspan;
276
292
  }
277
293
  if (colspan > 1) {
278
- attrs.colspan = colspan;
294
+ tdAttrs.colspan = colspan;
279
295
  }
280
296
  }
281
297
  } else if (spanMethod) {
@@ -283,20 +299,20 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
283
299
  const {
284
300
  rowspan = 1,
285
301
  colspan = 1
286
- } = spanMethod(params) || {};
302
+ } = spanMethod(cellParams) || {};
287
303
  if (!rowspan || !colspan) {
288
304
  return null;
289
305
  }
290
306
  if (rowspan > 1) {
291
- attrs.rowspan = rowspan;
307
+ tdAttrs.rowspan = rowspan;
292
308
  }
293
309
  if (colspan > 1) {
294
- attrs.colspan = colspan;
310
+ tdAttrs.colspan = colspan;
295
311
  }
296
312
  }
297
313
  // 如果被合并不可隐藏
298
314
  if (fixedHiddenColumn && mergeList) {
299
- if (attrs.colspan > 1 || attrs.rowspan > 1) {
315
+ if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
300
316
  fixedHiddenColumn = false;
301
317
  }
302
318
  }
@@ -305,28 +321,35 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
305
321
  isDirty = $xeTable.isUpdateByRow(row, column.field);
306
322
  }
307
323
  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
- }
324
+ let cellHeight = currCellHeight;
325
+ const vnHeight = calcCellHeightFlag ? rowRest.height : 0;
326
+ if (resizeHeight) {
327
+ cellHeight = resizeHeight;
316
328
  } else {
317
- cellHeight = vnHeight || defaultRowHeight || 18;
329
+ if (scrollYLoad) {
330
+ if (!hasEllipsis) {
331
+ cellHeight = vnHeight || currCellHeight;
332
+ }
333
+ }
334
+ }
335
+ const isLastColumn = $columnIndex === columns.length - 1;
336
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
337
+ let isVNPreEmptyStatus = false;
338
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
339
+ isVNPreEmptyStatus = true;
340
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
341
+ isVNPreEmptyStatus = true;
318
342
  }
319
343
  const tcStyle = {};
320
- if (cellHeight) {
321
- if (hasEllipsis) {
322
- tcStyle.maxHeight = `${cellHeight}px`;
323
- } else if (isVNAutoHeight) {
324
- tcStyle.height = `${cellHeight}px`;
325
- }
344
+ if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
345
+ tcStyle.height = `${cellHeight}px`;
346
+ } else {
347
+ tcStyle.minHeight = `${cellHeight}px`;
326
348
  }
327
349
  const tdVNs = [];
328
- if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
350
+ if (fixedHiddenColumn && isAllOverflow) {
329
351
  tdVNs.push(h('div', {
352
+ key: 'tc',
330
353
  class: ['vxe-cell', {
331
354
  'c--title': showTitle,
332
355
  'c--tooltip': showTooltip,
@@ -336,7 +359,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
336
359
  }));
337
360
  } else {
338
361
  // 渲染单元格
339
- tdVNs.push(...renderLine(h, _vm, params), h('div', {
362
+ tdVNs.push(...renderLine(h, _vm, cellParams, cellHeight), h('div', {
363
+ key: 'tc',
340
364
  class: ['vxe-cell', {
341
365
  'c--title': showTitle,
342
366
  'c--tooltip': showTooltip,
@@ -346,16 +370,21 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
346
370
  attrs: {
347
371
  title: showTitle ? $xeTable.getCellLabel(row, column) : null
348
372
  }
349
- }, isVNAutoHeight ? [h('div', {
350
- class: 'vxe-cell--auto-wrapper'
351
- }, column.renderCell(h, params))] : column.renderCell(h, params)));
373
+ }, isVNPreEmptyStatus ? [] : [h('div', {
374
+ attrs: {
375
+ colid,
376
+ rowid
377
+ },
378
+ class: 'vxe-cell--wrapper'
379
+ }, column.renderCell(h, cellParams))]));
352
380
  if (showValidTip && errorValidItem) {
353
381
  const errRule = errorValidItem.rule;
354
382
  const validSlot = slots ? slots.valid : null;
355
- const validParams = Object.assign(Object.assign(Object.assign({}, params), errorValidItem), {
383
+ const validParams = Object.assign(Object.assign(Object.assign({}, cellParams), errorValidItem), {
356
384
  rule: errorValidItem
357
385
  });
358
386
  tdVNs.push(h('div', {
387
+ key: 'tcv',
359
388
  class: ['vxe-cell--valid-error-tip', (0, _utils.getClass)(validOpts.className, errorValidItem)],
360
389
  style: errRule && errRule.maxWidth ? {
361
390
  width: `${errRule.maxWidth}px`
@@ -367,47 +396,59 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
367
396
  }, errorValidItem.content)]])]));
368
397
  }
369
398
  }
399
+ let showAreaRowStatus = false;
370
400
  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
- }));
401
+ if (!_columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
402
+ showAreaRowStatus = true;
375
403
  }
376
404
  }
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;
405
+ if (!fixedHiddenColumn && showResizable && isAllColumnDrag) {
406
+ tdVNs.push(h('div', {
407
+ key: 'tcc',
408
+ class: ['vxe-cell--col-resizable', {
409
+ 'is--line': !border || border === 'none'
410
+ }],
411
+ on: {
412
+ mousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
413
+ dblclick: evnt => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
414
+ }
415
+ }));
416
+ }
417
+ if ((rowResize || isAllRowDrag) && rowOpts.resizable) {
418
+ tdVNs.push(h('div', {
419
+ key: 'tcr',
420
+ class: 'vxe-cell--row-resizable',
421
+ on: {
422
+ mousedown: evnt => $xeTable.handleRowResizeMousedownEvent(evnt, cellParams),
423
+ dblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
424
+ }
425
+ }));
384
426
  }
385
427
  return h('td', {
386
- class: ['vxe-body--column', column.id, {
387
- [`col--${cellAlign}`]: cellAlign,
388
- [`col--vertical-${verticalAlign}`]: verticalAlign,
389
- [`col--${type}`]: type,
428
+ class: ['vxe-body--column', colid, cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '', cellAlign ? `col--${cellAlign}` : '', type ? `col--${type}` : '', {
390
429
  'col--last': isLastColumn,
391
430
  'col--tree-node': treeNode,
392
431
  'col--edit': isEdit,
393
432
  'col--ellipsis': hasEllipsis,
433
+ 'col--cs-height': isCsHeight,
434
+ 'col--rs-height': isRsHeight,
435
+ 'col--to-row': showAreaRowStatus,
394
436
  'col--auto-height': isVNAutoHeight,
395
437
  'fixed--width': !isAutoCellWidth,
396
438
  'fixed--hidden': fixedHiddenColumn,
439
+ 'is--padding': isCellPadding,
397
440
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
398
441
  'is--drag-disabled': isDisabledDrag,
399
442
  'col--dirty': isDirty,
400
443
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
401
444
  'col--valid-error': !!errorValidItem,
402
445
  'col--current': currentColumn === column
403
- }, (0, _utils.getClass)(compCellClassName, params), (0, _utils.getClass)(className, params), (0, _utils.getClass)(allCellClassName, params)],
446
+ }, (0, _utils.getClass)(compCellClassName, cellParams), (0, _utils.getClass)(className, cellParams), (0, _utils.getClass)(allCellClassName, cellParams)],
404
447
  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),
448
+ attrs: tdAttrs,
449
+ style: Object.assign({}, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(cellParams) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(cellParams) : cellStyle),
409
450
  on: tdOns
410
- }, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
451
+ }, isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
411
452
  }
412
453
  function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
413
454
  const $xeTable = _vm.$parent;
@@ -420,15 +461,16 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
420
461
  highlightHoverRow,
421
462
  rowClassName,
422
463
  rowStyle,
423
- showOverflow: allColumnOverflow,
424
464
  editConfig,
425
465
  treeConfig
426
466
  } = tableProps;
427
467
  const {
428
468
  hasFixedColumn,
429
469
  treeExpandedMaps,
470
+ isColLoading,
430
471
  scrollXLoad,
431
472
  scrollYLoad,
473
+ isAllOverflow,
432
474
  rowExpandedMaps,
433
475
  expandColumn,
434
476
  selectRadioRow,
@@ -533,7 +575,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
533
575
  const tdVNs = tableColumn.map((column, $columnIndex) => {
534
576
  return renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
535
577
  });
536
- rows.push(columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
578
+ rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
537
579
  props: {
538
580
  tag: 'tr',
539
581
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`
@@ -571,7 +613,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
571
613
  const {
572
614
  showOverflow
573
615
  } = expandColumn;
574
- const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
616
+ const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
575
617
  const expandParams = {
576
618
  $table: $xeTable,
577
619
  seq,
@@ -683,7 +725,6 @@ var _default = exports.default = {
683
725
  tableColumn
684
726
  } = props;
685
727
  const {
686
- showOverflow: allColumnOverflow,
687
728
  spanMethod,
688
729
  footerSpanMethod,
689
730
  mouseConfig
@@ -691,6 +732,8 @@ var _default = exports.default = {
691
732
  const {
692
733
  isGroup,
693
734
  tableData,
735
+ isRowLoading,
736
+ isColLoading,
694
737
  scrollXLoad,
695
738
  scrollYLoad,
696
739
  isAllOverflow,
@@ -714,7 +757,7 @@ var _default = exports.default = {
714
757
  let renderColumnList = tableColumn;
715
758
  let isOptimizeMode = false;
716
759
  // 如果是使用优化模式
717
- if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
760
+ if (scrollXLoad || scrollYLoad || isAllOverflow) {
718
761
  if (expandColumn || spanMethod || footerSpanMethod) {
719
762
  // 如果不支持优化模式
720
763
  } else {
@@ -838,9 +881,9 @@ var _default = exports.default = {
838
881
  });
839
882
  })),
840
883
  /**
841
- * 内容
842
- */
843
- rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
884
+ * 内容
885
+ */
886
+ !(isRowLoading || isColLoading) && rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
844
887
  ref: 'refBodyTBody',
845
888
  props: {
846
889
  tag: 'tbody',
@@ -875,6 +918,8 @@ var _default = exports.default = {
875
918
  class: 'vxe-table--cell-multi-area'
876
919
  }), h('span', {
877
920
  class: 'vxe-table--cell-active-area'
921
+ }), h('span', {
922
+ class: 'vxe-table--cell-row-status-area'
878
923
  })]) : renderEmptyElement($xeTable), !fixedType ? h('div', {
879
924
  class: 'vxe-table--empty-block',
880
925
  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,s=l.afterFullData,i=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(s[0],o);return i&&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,s,i,F,N,d){let n=A.$parent;var H=n,c=n,V=n.fullAllDataRowIdData,{columnKey:H,resizable:p,border:j,height:u,cellClassName:P,cellStyle:W,align:g,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:v,tooltipConfig:x,padding:m}=H,{tableData:c,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:w,calcCellHeightFlag:Z,resizeHeightFlag:y,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:f}=c,{afterFullData:re,scrollXStore:h,scrollYStore:oe}=n,b=n.computeCellOpts,C=n.computeValidOpts,ae=n.computeCheckboxOpts,se=n.computeEditOpts,ie=n.computeTooltipOpts,{isAllColumnDrag:de,isAllRowDrag:ne}=n.resizableOpts,ce=n.computeRowOpts,_=n.computeRowDragOpts,pe=n.computeDefaultRowHeight,R=b.height||ce.height,pe=R||pe,{disabledMethod:E,isCrossDrag:ue,isPeerDrag:ge}=_,ve=n.computeColumnOpts,xe=n.computeMouseOpts,me=n.computeAreaOpts.selectCellToRow,{type:we,cellRender:ye,editRender:fe,align:he,showOverflow:be,className:Ce,treeNode:_e,rowResize:Re,padding:S,verticalAlign:D,slots:Ee}=i,Se=b.verticalAlign,le=le.actived,V=V[t],De=i.id,O=fe||ye,O=O?renderer.get(O.name):null,Oe=O?O.tableCellClassName||O.cellClassName:null,Te=O?O.tableCellStyle||O.cellStyle:"";let Ie=ie.showAll;var ie=n.getColumnIndex(i),T=n.getVTColumnIndex(i),$e=(0,_utils.isEnableConf)(fe),y=y?V.resizeHeight:0;let I=r?i.fixed!==r:i.fixed&&G;G=_xeUtils.default.eqNull(S)?null===m?b.padding:m:S,b=_xeUtils.default.eqNull(be)?te:be,m="ellipsis"===b;let $="title"===b,k=!0===b||"tooltip"===b;S=te||$||k||m,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||p,b=!!R,p=0<y;let ke;R={},he=he||(O?O.tableCellAlign:"")||g,O=_xeUtils.default.eqNull(D)?Se:D,g=f[t+":"+De],Se=v&&C.showMessage&&("default"===C.message?u||1<c.length:"inline"===C.message),D={colid:De};let B={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:a,$rowIndex:U,_rowIndex:s,column:i,columnIndex:ie,$columnIndex:F,_columnIndex:T,fixed:r,type:renderType,isHidden:!!I,level:q,visibleData:re,data:c,items:d},M=!1,Be=!1;if((M=ce.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Be=!(!E||!E(B))),($||k||Ie||x)&&(R.mouseenter=e=>{isVMScrollProcess(n)||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Ie)&&n.triggerBodyTooltipEvent(e,B),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e))}),(k||Ie||x)&&(R.mouseleave=e=>{isVMScrollProcess(n)||((k||Ie)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e))}),(M||ae.range||K)&&(R.mousedown=e=>{n.triggerCellMousedownEvent(e,B)}),M&&(R.mouseup=n.triggerCellMouseupEvent),R.click=e=>{n.triggerCellClickEvent(e,B)},R.dblclick=e=>{n.triggerCellDblclickEvent(e,B)},ee.length){f=(0,_util.mergeBodyMethod)(ee,s,T);if(f){var{rowspan:v,colspan:u}=f;if(!v||!u)return null;1<v&&(D.rowspan=v),1<u&&(D.colspan=u)}}else if(X){var{rowspan:l=1,colspan:a=1}=X(B)||{};if(!l||!a)return null;1<l&&(D.rowspan=l),1<a&&(D.colspan=a)}!(I=I&&ee&&(1<D.colspan||1<D.rowspan)?!1:I)&&Y&&(fe||ye)&&(se.showStatus||se.showUpdateStatus)&&(ke=n.isUpdateByRow(o,i.field));U=w&&!S;let z=pe;ie=Z?V.height:0,y?z=y:w&&!S&&(z=ie||pe),re=F===N.length-1,c=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Me=!1;(w&&(s<oe.visibleStartIndex-oe.preloadSize||s>oe.visibleEndIndex+oe.preloadSize)||Q&&!i.fixed&&(T<h.visibleStartIndex-h.preloadSize||T>h.visibleEndIndex+h.preloadSize))&&(Me=!0);d={},w||S||b||p?d.height=z+"px":d.minHeight=z+"px",_=[];I&&te?_.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":$,"c--tooltip":k,"c--ellipsis":m}],style:d})):(_.push(...renderLine(e,A,B,z),e("div",{key:"tc",class:["vxe-cell",{"c--title":$,"c--tooltip":k,"c--ellipsis":m}],style:d,attrs:{title:$?n.getCellLabel(o,i):null}},Me?[]:[e("div",{attrs:{colid:De,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,B))])),Se&&g&&(E=g.rule,x=Ee?Ee.valid:null,ae=Object.assign(Object.assign(Object.assign({},B),g),{rule:g}),_.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(C.className,g)],style:E&&E.maxWidth?{width:E.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(C.theme||"normal")},[x?n.callSlot(x,ae,e):[e("span",{class:"vxe-cell--valid-error-msg"},g.content)]])]))));let ze=!1;return K&&xe.area&&me&&((T||!0!==me)&&me!==i.field||(ze=!0)),!I&&be&&de&&_.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!j||"none"===j}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,B),dblclick:e=>n.handleColResizeDblclickEvent(e,B)}})),(Re||ne)&&ce.resizable&&_.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,B),dblclick:e=>n.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-body--column",De,O?"col--vertical-"+O:"",he?"col--"+he:"",we?"col--"+we:"",{"col--last":re,"col--tree-node":_e,"col--edit":$e,"col--ellipsis":S,"col--cs-height":b,"col--rs-height":p,"col--to-row":ze,"col--auto-height":U,"fixed--width":!c,"fixed--hidden":I,"is--padding":G,"is--drag-cell":M&&(ue||ge||!q),"is--drag-disabled":Be,"col--dirty":ke,"col--active":Y&&$e&&le.row===o&&(le.column===i||"row"===se.mode),"col--valid-error":!!g,"col--current":J===i},(0,_utils.getClass)(Oe,B),(0,_utils.getClass)(Ce,B),(0,_utils.getClass)(P,B)],key:H||Q||w||ve.useKey||ce.useKey||ve.drag?i.id:F,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(B):Te,_xeUtils.default.isFunction(W)?W(B):W),on:R},L&&I?[]:_)}function renderRows(m,w,y,f,h,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 h.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 s=0,i=-1,d=0;l&&(s=l.level,i=T&&X&&"increasing"===J?l._index+1:l.seq,d=l._index);var l={$table:C,seq:i,rowid:a,fixed:y,type:renderType,level:s,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-"+s:"",{"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,i,a,y,f,s,t,o,r,d,e,l,b,h));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=s*V.indent+30+"px"),L).showOverflow,n=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?z:n,g={$table:C,seq:i,column:L,fixed:y,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:D?_xeUtils.default.isFunction(D)?D(g):D:void 0,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!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,y,f,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{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:v,isColLoading:x,scrollXLoad:m,scrollYLoad:w,isAllOverflow:y,isDragRowMove:f,expandColumn:h,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||y)||h||c||p?!1:!0;d&&(k=o,B)&&(k=i||[]),w&&b&&2<$.length&&(g=_[(0,_util.getRowid)(l,b)])&&(y=g._index,h=$[0],c=$[$.length-1],p=_[(0,_util.getRowid)(l,h)],o=_[(0,_util.getRowid)(l,c)],p)&&o&&(g=p._index,h=o._index,y<g?$=[b].concat($):h<y&&($=$.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],h=R[o.id],g)&&h&&(y=g._index,b=h._index,c<y?k=[C].concat(k):b<c&&(k=k.concat([C])));let M;M=s.empty?s.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"+(f?"":"-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)])])])}};