vxe-table 3.12.10-beta.8 → 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 +135 -83
  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 +50 -9
  33. package/es/table/src/header.js +70 -168
  34. package/es/table/src/methods.js +985 -502
  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 +253 -189
  39. package/es/table/style.min.css +1 -1
  40. package/es/ui/index.js +26 -10
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-table/style.css +253 -189
  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 +1782 -1056
  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 +132 -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 +46 -7
  114. package/lib/table/src/footer.min.js +1 -1
  115. package/lib/table/src/header.js +52 -175
  116. package/lib/table/src/header.min.js +1 -1
  117. package/lib/table/src/methods.js +1096 -560
  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 +253 -189
  126. package/lib/table/style/style.min.css +1 -1
  127. package/lib/ui/index.js +26 -10
  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 +253 -189
  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 +148 -86
  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 +53 -10
  162. package/packages/table/src/header.ts +70 -169
  163. package/packages/table/src/methods.ts +1031 -515
  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 +25 -9
  168. package/styles/components/table.scss +319 -271
  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.1736840896964.ttf → iconfont.1738985837413.ttf} +0 -0
  174. /package/es/{iconfont.1736840896964.woff → iconfont.1738985837413.woff} +0 -0
  175. /package/es/{iconfont.1736840896964.woff2 → iconfont.1738985837413.woff2} +0 -0
  176. /package/lib/{iconfont.1736840896964.ttf → iconfont.1738985837413.ttf} +0 -0
  177. /package/lib/{iconfont.1736840896964.woff → iconfont.1738985837413.woff} +0 -0
  178. /package/lib/{iconfont.1736840896964.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
  }
@@ -304,40 +320,71 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
304
320
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
305
321
  isDirty = $xeTable.isUpdateByRow(row, column.field);
306
322
  }
323
+ const isVNAutoHeight = scrollYLoad && !hasEllipsis;
324
+ let cellHeight = currCellHeight;
325
+ const vnHeight = calcCellHeightFlag ? rowRest.height : 0;
326
+ if (resizeHeight) {
327
+ cellHeight = resizeHeight;
328
+ } else {
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;
342
+ }
343
+ const tcStyle = {};
344
+ if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
345
+ tcStyle.height = `${cellHeight}px`;
346
+ } else {
347
+ tcStyle.minHeight = `${cellHeight}px`;
348
+ }
307
349
  const tdVNs = [];
308
- if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
350
+ if (fixedHiddenColumn && isAllOverflow) {
309
351
  tdVNs.push(h('div', {
352
+ key: 'tc',
310
353
  class: ['vxe-cell', {
311
354
  'c--title': showTitle,
312
355
  'c--tooltip': showTooltip,
313
356
  'c--ellipsis': showEllipsis
314
357
  }],
315
- style: {
316
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
317
- }
358
+ style: tcStyle
318
359
  }));
319
360
  } else {
320
361
  // 渲染单元格
321
- tdVNs.push(...renderLine(h, _vm, params), h('div', {
362
+ tdVNs.push(...renderLine(h, _vm, cellParams, cellHeight), h('div', {
363
+ key: 'tc',
322
364
  class: ['vxe-cell', {
323
365
  'c--title': showTitle,
324
366
  'c--tooltip': showTooltip,
325
367
  'c--ellipsis': showEllipsis
326
368
  }],
327
- style: {
328
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
329
- },
369
+ style: tcStyle,
330
370
  attrs: {
331
371
  title: showTitle ? $xeTable.getCellLabel(row, column) : null
332
372
  }
333
- }, 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))]));
334
380
  if (showValidTip && errorValidItem) {
335
381
  const errRule = errorValidItem.rule;
336
382
  const validSlot = slots ? slots.valid : null;
337
- const validParams = Object.assign(Object.assign(Object.assign({}, params), errorValidItem), {
383
+ const validParams = Object.assign(Object.assign(Object.assign({}, cellParams), errorValidItem), {
338
384
  rule: errorValidItem
339
385
  });
340
386
  tdVNs.push(h('div', {
387
+ key: 'tcv',
341
388
  class: ['vxe-cell--valid-error-tip', (0, _utils.getClass)(validOpts.className, errorValidItem)],
342
389
  style: errRule && errRule.maxWidth ? {
343
390
  width: `${errRule.maxWidth}px`
@@ -349,57 +396,59 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
349
396
  }, errorValidItem.content)]])]));
350
397
  }
351
398
  }
352
- let cellHeight = '';
353
- const vnHeight = isCalcCellHeight ? rest.height : 0;
354
- if (hasEllipsis) {
355
- if (customRHeight) {
356
- cellHeight = `${customRHeight}px`;
357
- } else if (!isAllOverflow) {
358
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
359
- }
360
- } else {
361
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
362
- }
399
+ let showAreaRowStatus = false;
363
400
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
364
- if (!$columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
365
- tdVNs.push(h('div', {
366
- class: 'vxe-cell--area-status'
367
- }));
401
+ if (!_columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
402
+ showAreaRowStatus = true;
368
403
  }
369
404
  }
370
- const isLastColumn = $columnIndex === columns.length - 1;
371
- const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
372
- let isPreLoadStatus = false;
373
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex || _rowIndex > scrollYStore.visibleEndIndex)) {
374
- isPreLoadStatus = true;
375
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
376
- isPreLoadStatus = 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
+ }));
377
426
  }
378
427
  return h('td', {
379
- class: ['vxe-body--column', column.id, {
380
- [`col--${cellAlign}`]: cellAlign,
381
- [`col--vertical-${verticalAlign}`]: verticalAlign,
382
- [`col--${type}`]: type,
428
+ class: ['vxe-body--column', colid, cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '', cellAlign ? `col--${cellAlign}` : '', type ? `col--${type}` : '', {
383
429
  'col--last': isLastColumn,
384
430
  'col--tree-node': treeNode,
385
431
  'col--edit': isEdit,
386
432
  'col--ellipsis': hasEllipsis,
433
+ 'col--cs-height': isCsHeight,
434
+ 'col--rs-height': isRsHeight,
435
+ 'col--to-row': showAreaRowStatus,
436
+ 'col--auto-height': isVNAutoHeight,
387
437
  'fixed--width': !isAutoCellWidth,
388
438
  'fixed--hidden': fixedHiddenColumn,
439
+ 'is--padding': isCellPadding,
389
440
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
390
441
  'is--drag-disabled': isDisabledDrag,
391
442
  'col--dirty': isDirty,
392
443
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
393
444
  'col--valid-error': !!errorValidItem,
394
445
  'col--current': currentColumn === column
395
- }, (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)],
396
447
  key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? column.id : $columnIndex,
397
- attrs,
398
- style: Object.assign({
399
- height: cellHeight
400
- }, _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),
401
450
  on: tdOns
402
- }, isPreLoadStatus || isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
451
+ }, isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
403
452
  }
404
453
  function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
405
454
  const $xeTable = _vm.$parent;
@@ -412,15 +461,16 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
412
461
  highlightHoverRow,
413
462
  rowClassName,
414
463
  rowStyle,
415
- showOverflow: allColumnOverflow,
416
464
  editConfig,
417
465
  treeConfig
418
466
  } = tableProps;
419
467
  const {
420
468
  hasFixedColumn,
421
469
  treeExpandedMaps,
470
+ isColLoading,
422
471
  scrollXLoad,
423
472
  scrollYLoad,
473
+ isAllOverflow,
424
474
  rowExpandedMaps,
425
475
  expandColumn,
426
476
  selectRadioRow,
@@ -525,7 +575,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
525
575
  const tdVNs = tableColumn.map((column, $columnIndex) => {
526
576
  return renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
527
577
  });
528
- rows.push(columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
578
+ rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
529
579
  props: {
530
580
  tag: 'tr',
531
581
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`
@@ -563,7 +613,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
563
613
  const {
564
614
  showOverflow
565
615
  } = expandColumn;
566
- 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;
567
617
  const expandParams = {
568
618
  $table: $xeTable,
569
619
  seq,
@@ -675,7 +725,6 @@ var _default = exports.default = {
675
725
  tableColumn
676
726
  } = props;
677
727
  const {
678
- showOverflow: allColumnOverflow,
679
728
  spanMethod,
680
729
  footerSpanMethod,
681
730
  mouseConfig
@@ -683,6 +732,8 @@ var _default = exports.default = {
683
732
  const {
684
733
  isGroup,
685
734
  tableData,
735
+ isRowLoading,
736
+ isColLoading,
686
737
  scrollXLoad,
687
738
  scrollYLoad,
688
739
  isAllOverflow,
@@ -706,7 +757,7 @@ var _default = exports.default = {
706
757
  let renderColumnList = tableColumn;
707
758
  let isOptimizeMode = false;
708
759
  // 如果是使用优化模式
709
- if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
760
+ if (scrollXLoad || scrollYLoad || isAllOverflow) {
710
761
  if (expandColumn || spanMethod || footerSpanMethod) {
711
762
  // 如果不支持优化模式
712
763
  } else {
@@ -830,9 +881,9 @@ var _default = exports.default = {
830
881
  });
831
882
  })),
832
883
  /**
833
- * 内容
834
- */
835
- rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
884
+ * 内容
885
+ */
886
+ !(isRowLoading || isColLoading) && rowOpts.drag && rowDragOpts.animation ? h('transition-group', {
836
887
  ref: 'refBodyTBody',
837
888
  props: {
838
889
  tag: 'tbody',
@@ -867,6 +918,8 @@ var _default = exports.default = {
867
918
  class: 'vxe-table--cell-multi-area'
868
919
  }), h('span', {
869
920
  class: 'vxe-table--cell-active-area'
921
+ }), h('span', {
922
+ class: 'vxe-table--cell-row-status-area'
870
923
  })]) : renderEmptyElement($xeTable), !fixedType ? h('div', {
871
924
  class: 'vxe-table--empty-block',
872
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:x,cellClassName:H,cellStyle:v,align:j,spanMethod:P,mouseConfig:W,editConfig:X,editRules:m,tooltipConfig:K}=N,{tableData:u,overflowX:w,currentColumn:Y,scrollXLoad:z,scrollYLoad:G,isCalcCellHeight:J,mergeList:Q,editStore:Z,isAllOverflow:ee,validErrorMaps:f}=u,{afterFullData:y,scrollXStore:le,scrollYStore:te}=p,re=p.computeCellOpts,h=p.computeValidOpts,oe=p.computeCheckboxOpts,ae=p.computeEditOpts,b=p.computeTooltipOpts,se=p.computeRowOpts,ie=p.computeRowDragOpts,C=p.computeDefaultRowHeight,{disabledMethod:de,isCrossDrag:ne,isPeerDrag:ce}=ie,pe=p.computeColumnOpts,ue=p.computeMouseOpts,ge=p.computeAreaOpts.selectCellToRow,{type:xe,cellRender:ve,editRender:me,align:we,showOverflow:_,className:fe,treeNode:ye,slots:he}=d,re=re.verticalAlign,Z=Z.actived,E=se.height,R=d.id,S=me||ve,S=S?renderer.get(S.name):null,be=S?S.tableCellClassName||S.cellClassName:null,Ce=S?S.tableCellStyle||S.cellStyle:"";let O=b.showAll;var b=p.getColumnIndex(d),D=p.getVTColumnIndex(d),_e=(0,_utils.isEnableConf)(me);let $=r?d.fixed!==r:d.fixed&&w;w=_xeUtils.default.isUndefined(_)||_xeUtils.default.isNull(_)?x:_,_="ellipsis"===w;let T="title"===w,I=!0===w||"tooltip"===w;w=x||T||I||_;let Ee;var B={},V=V[t],we=we||(S?S.tableCellAlign:"")||j,S=f[t+":"+R],j=m&&h.showMessage&&("default"===h.message?g||1<u.length:"inline"===h.message),f={colid:R};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:!!$,level:q,visibleData:y,data:u,items:c},k=!1,Re=!1;if((k=se.drag?"row"===ie.trigger||d.dragSort&&"cell"===ie.trigger:k)&&(Re=!(!de||!de(M))),(T||I||O||K)&&(B.mouseenter=e=>{isVMScrollProcess(p)||(T?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||O)&&p.triggerBodyTooltipEvent(e,M),p.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(I||O||K)&&(B.mouseleave=e=>{isVMScrollProcess(p)||((I||O)&&p.handleTargetLeaveEvent(e),p.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(k||oe.range||W)&&(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)},Q.length){m=(0,_util.mergeBodyMethod)(Q,i,D);if(m){var{rowspan:g,colspan:R}=m;if(!g||!R)return null;1<g&&(f.rowspan=g),1<R&&(f.colspan=R)}}else if(P){var{rowspan:l=1,colspan:t=1}=P(M)||{};if(!l||!t)return null;1<l&&(f.rowspan=l),1<t&&(f.colspan=t)}!($=$&&Q&&(1<f.colspan||1<f.rowspan)?!1:$)&&X&&(me||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(Ee=p.isUpdateByRow(o,d.field));a=[];$&&x&&ee?a.push(e("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":I,"c--ellipsis":_}],style:{maxHeight:w&&(E||C)?`${E||C}px`:""}})):(a.push(...renderLine(e,A,M),e("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":I,"c--ellipsis":_}],style:{maxHeight:w&&(E||C)?`${E||C}px`:""},attrs:{title:T?p.getCellLabel(o,d):null}},d.renderCell(e,M))),j&&S&&(s=S.rule,b=he?he.valid:null,r=Object.assign(Object.assign(Object.assign({},M),S),{rule:S}),a.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,S)],style:s&&s.maxWidth?{width:s.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[b?p.callSlot(b,r,e):[e("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let U="";y=J?V.height:0,w?E?U=E+"px":ee||(U=`${y||C||18}px`):U=`${y||C||18}px`,W&&ue.area&&ge&&((n||!0!==ge)&&ge!==d.field||a.push(e("div",{class:"vxe-cell--area-status"}))),u=n===F.length-1,c=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);let Se=!1;return(G&&(i<te.visibleStartIndex||i>te.visibleEndIndex)||z&&!d.fixed&&(D<le.visibleStartIndex||D>le.visibleEndIndex))&&(Se=!0),e("td",{class:["vxe-body--column",d.id,{["col--"+we]:we,["col--vertical-"+re]:re,["col--"+xe]:xe,"col--last":u,"col--tree-node":ye,"col--edit":_e,"col--ellipsis":w,"fixed--width":!c,"fixed--hidden":$,"is--drag-cell":k&&(ne||ce||!q),"is--drag-disabled":Re,"col--dirty":Ee,"col--active":X&&_e&&Z.row===o&&(Z.column===d||"row"===ae.mode),"col--valid-error":!!S,"col--current":Y===d},(0,_utils.getClass)(be,M),(0,_utils.getClass)(fe,M),(0,_utils.getClass)(H,M)],key:N||z||G||pe.useKey||se.useKey||pe.drag?d.id:n,attrs:f,style:Object.assign({height:U},_xeUtils.default.isFunction(Ce)?Ce(M):Ce,_xeUtils.default.isFunction(v)?v(M):v),on:B},Se||L&&$?[]:a)}function renderRows(m,w,f,y,h,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:E,highlightHoverRow:R,rowClassName:S,rowStyle:O,showOverflow:D,editConfig:$,treeConfig:T}=e,{hasFixedColumn:I,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,P=C.computeEditOpts,W=C.computeRowOpts,X=C.computeColumnOpts,z=C.computeColumnDragOpts,{transform:K,seqMode:G}=j,J=j.children||j.childrenField,Y=[];return h.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(W.isHover||R)&&(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&&K&&"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;$&&(u=C.isInsertByRow(t)),!T||k||K||(p=t[J],c=p&&p.length&&!!B[a]),!W.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var g,x=["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&&(P.showStatus||P.showInsertStatus),"row--radio":H.highlight&&L===t,"row--checked":V.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!q[a]},S?_xeUtils.default.isFunction(S)?S(l):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,f,y,s,t,o,r,d,e,l,b,h));Y.push(X.drag&&z.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(F?"":"-disabled")},class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||W.useKey||W.drag||X.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||W.useKey||W.drag||X.drag||T?a:r,on:e},v)),n&&({height:x,padding:l}=C.computeExpandOpts,v={},n=(x&&(v.height=x+"px"),T&&(v.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},Y.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&&!I,"col--ellipsis":n},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:v},[A.renderData(m,g)])])]))),c&&Y.push(...renderRows(m,w,f,y,p,b))}),Y}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:x,scrollXLoad:v,scrollYLoad:m,isAllOverflow:w,isDragRowMove:f,expandColumn:y,dragRow:h,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:C,fullColumnIdData:_}=o,E=l.computeRowOpts,R=l.computeEmptyOpts,S=l.computeMouseOpts,O=l.computeRowDragOpts,D=l.computeLeftFixedWidth,$=l.computeRightFixedWidth;let T=x,I=n,B=!(v||m||c&&w)||y||p||u?!1:!0;d&&(I=o,B)&&(I=i||[]),m&&h&&2<T.length&&(x=C[(0,_util.getRowid)(l,h)])&&(c=x._index,w=T[0],y=T[T.length-1],p=C[(0,_util.getRowid)(l,w)],u=C[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,x=u._index,c<o?T=[h].concat(T):x<c&&(T=T.concat([h]))),d||r||v&&b&&2<I.length&&(w=_[b.id])&&(C=w._index,y=I[0],p=I[I.length-1],u=_[y.id],o=_[p.id],u)&&o&&(x=u._index,c=o._index,C<x?I=[b].concat(I):c<C&&(I=I.concat([b])));let M;M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(r=(h=R.name?renderer.get(R.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(r.call(this,t,R,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");v={scroll(e){l.triggerBodyScrollEvent(e,d)}};return(m||D||$)&&(v.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:v},[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"},I.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,T,I)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,T,I))]),t("div",{class:"vxe-table--checkbox-range"}),g&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.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)])])])}};