vxe-table 4.12.0-beta.2 → 4.12.0-beta.20

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 (152) hide show
  1. package/es/grid/src/grid.js +61 -44
  2. package/es/locale/lang/ar-EG.js +7 -1
  3. package/es/locale/lang/de-DE.js +7 -1
  4. package/es/locale/lang/en-US.js +7 -1
  5. package/es/locale/lang/es-ES.js +7 -1
  6. package/es/locale/lang/fr-FR.js +7 -1
  7. package/es/locale/lang/hu-HU.js +7 -1
  8. package/es/locale/lang/hy-AM.js +7 -1
  9. package/es/locale/lang/id-ID.js +7 -1
  10. package/es/locale/lang/it-IT.js +7 -1
  11. package/es/locale/lang/ja-JP.js +7 -1
  12. package/es/locale/lang/ko-KR.js +7 -1
  13. package/es/locale/lang/nb-NO.js +7 -1
  14. package/es/locale/lang/pt-BR.js +7 -1
  15. package/es/locale/lang/ru-RU.js +7 -1
  16. package/es/locale/lang/th-TH.js +7 -1
  17. package/es/locale/lang/ug-CN.js +7 -1
  18. package/es/locale/lang/uk-UA.js +7 -1
  19. package/es/locale/lang/vi-VN.js +7 -1
  20. package/es/locale/lang/zh-CHT.js +7 -1
  21. package/es/locale/lang/zh-CN.js +7 -1
  22. package/es/style.css +1 -1
  23. package/es/table/module/filter/panel.js +12 -2
  24. package/es/table/module/keyboard/hook.js +47 -4
  25. package/es/table/render/index.js +91 -60
  26. package/es/table/src/body.js +12 -7
  27. package/es/table/src/cell.js +10 -9
  28. package/es/table/src/footer.js +9 -4
  29. package/es/table/src/header.js +2 -2
  30. package/es/table/src/props.js +4 -0
  31. package/es/table/src/table.js +366 -182
  32. package/es/table/src/util.js +58 -3
  33. package/es/ui/index.js +1 -1
  34. package/es/ui/src/log.js +1 -1
  35. package/helper/vetur/attributes.json +1 -1
  36. package/helper/vetur/tags.json +1 -1
  37. package/lib/grid/src/grid.js +58 -48
  38. package/lib/grid/src/grid.min.js +1 -1
  39. package/lib/index.umd.js +1245 -12123
  40. package/lib/index.umd.min.js +1 -1
  41. package/lib/locale/lang/ar-EG.js +7 -1
  42. package/lib/locale/lang/ar-EG.min.js +1 -1
  43. package/lib/locale/lang/de-DE.js +7 -1
  44. package/lib/locale/lang/de-DE.min.js +1 -1
  45. package/lib/locale/lang/en-US.js +7 -1
  46. package/lib/locale/lang/en-US.min.js +1 -1
  47. package/lib/locale/lang/en-US.umd.js +7 -1
  48. package/lib/locale/lang/es-ES.js +7 -1
  49. package/lib/locale/lang/es-ES.min.js +1 -1
  50. package/lib/locale/lang/es-ES.umd.js +7 -1
  51. package/lib/locale/lang/fr-FR.js +7 -1
  52. package/lib/locale/lang/fr-FR.min.js +1 -1
  53. package/lib/locale/lang/hu-HU.js +7 -1
  54. package/lib/locale/lang/hu-HU.min.js +1 -1
  55. package/lib/locale/lang/hu-HU.umd.js +7 -1
  56. package/lib/locale/lang/hy-AM.js +7 -1
  57. package/lib/locale/lang/hy-AM.min.js +1 -1
  58. package/lib/locale/lang/id-ID.js +7 -1
  59. package/lib/locale/lang/id-ID.min.js +1 -1
  60. package/lib/locale/lang/it-IT.js +7 -1
  61. package/lib/locale/lang/it-IT.min.js +1 -1
  62. package/lib/locale/lang/ja-JP.js +7 -1
  63. package/lib/locale/lang/ja-JP.min.js +1 -1
  64. package/lib/locale/lang/ja-JP.umd.js +7 -1
  65. package/lib/locale/lang/ko-KR.js +7 -1
  66. package/lib/locale/lang/ko-KR.min.js +1 -1
  67. package/lib/locale/lang/ko-KR.umd.js +7 -1
  68. package/lib/locale/lang/nb-NO.js +7 -1
  69. package/lib/locale/lang/nb-NO.min.js +1 -1
  70. package/lib/locale/lang/pt-BR.js +7 -1
  71. package/lib/locale/lang/pt-BR.min.js +1 -1
  72. package/lib/locale/lang/pt-BR.umd.js +7 -1
  73. package/lib/locale/lang/ru-RU.js +7 -1
  74. package/lib/locale/lang/ru-RU.min.js +1 -1
  75. package/lib/locale/lang/ru-RU.umd.js +7 -1
  76. package/lib/locale/lang/th-TH.js +7 -1
  77. package/lib/locale/lang/th-TH.min.js +1 -1
  78. package/lib/locale/lang/ug-CN.js +7 -1
  79. package/lib/locale/lang/ug-CN.min.js +1 -1
  80. package/lib/locale/lang/uk-UA.js +7 -1
  81. package/lib/locale/lang/uk-UA.min.js +1 -1
  82. package/lib/locale/lang/uk-UA.umd.js +7 -1
  83. package/lib/locale/lang/vi-VN.js +7 -1
  84. package/lib/locale/lang/vi-VN.min.js +1 -1
  85. package/lib/locale/lang/zh-CHT.js +7 -1
  86. package/lib/locale/lang/zh-CHT.min.js +1 -1
  87. package/lib/locale/lang/zh-CN.js +7 -1
  88. package/lib/locale/lang/zh-CN.min.js +1 -1
  89. package/lib/locale/lang/zh-CN.umd.js +7 -1
  90. package/lib/style.css +1 -1
  91. package/lib/table/module/filter/panel.js +8 -2
  92. package/lib/table/module/filter/panel.min.js +1 -1
  93. package/lib/table/module/keyboard/hook.js +51 -4
  94. package/lib/table/module/keyboard/hook.min.js +1 -1
  95. package/lib/table/render/index.js +100 -65
  96. package/lib/table/render/index.min.js +1 -1
  97. package/lib/table/src/body.js +11 -6
  98. package/lib/table/src/body.min.js +1 -1
  99. package/lib/table/src/cell.js +15 -8
  100. package/lib/table/src/cell.min.js +1 -1
  101. package/lib/table/src/footer.js +9 -3
  102. package/lib/table/src/footer.min.js +1 -1
  103. package/lib/table/src/header.js +2 -1
  104. package/lib/table/src/header.min.js +1 -1
  105. package/lib/table/src/props.js +4 -0
  106. package/lib/table/src/props.min.js +1 -1
  107. package/lib/table/src/table.js +402 -188
  108. package/lib/table/src/table.min.js +1 -1
  109. package/lib/table/src/util.js +65 -6
  110. package/lib/table/src/util.min.js +1 -1
  111. package/lib/ui/index.js +1 -1
  112. package/lib/ui/index.min.js +1 -1
  113. package/lib/ui/src/log.js +1 -1
  114. package/lib/ui/src/log.min.js +1 -1
  115. package/package.json +2 -2
  116. package/packages/grid/src/grid.ts +65 -50
  117. package/packages/locale/lang/ar-EG.ts +7 -1
  118. package/packages/locale/lang/de-DE.ts +7 -1
  119. package/packages/locale/lang/en-US.ts +7 -1
  120. package/packages/locale/lang/es-ES.ts +7 -1
  121. package/packages/locale/lang/fr-FR.ts +7 -1
  122. package/packages/locale/lang/hu-HU.ts +7 -1
  123. package/packages/locale/lang/hy-AM.ts +7 -1
  124. package/packages/locale/lang/id-ID.ts +7 -1
  125. package/packages/locale/lang/it-IT.ts +7 -1
  126. package/packages/locale/lang/ja-JP.ts +7 -1
  127. package/packages/locale/lang/ko-KR.ts +7 -1
  128. package/packages/locale/lang/nb-NO.ts +7 -1
  129. package/packages/locale/lang/pt-BR.ts +7 -1
  130. package/packages/locale/lang/ru-RU.ts +7 -1
  131. package/packages/locale/lang/th-TH.ts +7 -1
  132. package/packages/locale/lang/ug-CN.ts +7 -1
  133. package/packages/locale/lang/uk-UA.ts +7 -1
  134. package/packages/locale/lang/vi-VN.ts +7 -1
  135. package/packages/locale/lang/zh-CHT.ts +7 -1
  136. package/packages/locale/lang/zh-CN.ts +7 -1
  137. package/packages/table/module/filter/panel.ts +12 -2
  138. package/packages/table/module/keyboard/hook.ts +47 -6
  139. package/packages/table/render/index.ts +90 -59
  140. package/packages/table/src/body.ts +11 -6
  141. package/packages/table/src/cell.ts +10 -9
  142. package/packages/table/src/footer.ts +9 -4
  143. package/packages/table/src/header.ts +2 -2
  144. package/packages/table/src/props.ts +4 -0
  145. package/packages/table/src/table.ts +373 -183
  146. package/packages/table/src/util.ts +66 -3
  147. /package/es/{iconfont.1741080000843.ttf → iconfont.1742353689933.ttf} +0 -0
  148. /package/es/{iconfont.1741080000843.woff → iconfont.1742353689933.woff} +0 -0
  149. /package/es/{iconfont.1741080000843.woff2 → iconfont.1742353689933.woff2} +0 -0
  150. /package/lib/{iconfont.1741080000843.ttf → iconfont.1742353689933.ttf} +0 -0
  151. /package/lib/{iconfont.1741080000843.woff → iconfont.1742353689933.woff} +0 -0
  152. /package/lib/{iconfont.1741080000843.woff2 → iconfont.1742353689933.woff2} +0 -0
@@ -48,8 +48,11 @@ hooks.add('tableKeyboardModule', {
48
48
  computeMouseOpts,
49
49
  computeTreeOpts,
50
50
  computeRowOpts,
51
+ computeColumnOpts,
51
52
  computeCellOpts,
52
- computeDefaultRowHeight
53
+ computeDefaultRowHeight,
54
+ computeCurrentRowOpts,
55
+ computeCurrentColumnOpts
53
56
  } = $xeTable.getComputeMaps();
54
57
  function getCheckboxRangeRows(evnt, params, targetTrElem, trRect, offsetClientTop, moveRange) {
55
58
  const {
@@ -334,6 +337,10 @@ hooks.add('tableKeyboardModule', {
334
337
  visibleColumn
335
338
  } = internalData;
336
339
  const editOpts = computeEditOpts.value;
340
+ const rowOpts = computeRowOpts.value;
341
+ const currentRowOpts = computeCurrentRowOpts.value;
342
+ const columnOpts = computeColumnOpts.value;
343
+ const currentColumnOpts = computeCurrentColumnOpts.value;
337
344
  let targetRow;
338
345
  let targetRowIndex;
339
346
  let targetColumnIndex;
@@ -376,16 +383,26 @@ hooks.add('tableKeyboardModule', {
376
383
  params.columnIndex = targetColumnIndex;
377
384
  params.column = targetColumn;
378
385
  params.cell = $xeTable.getCellElement(params.row, params.column);
386
+ if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
387
+ $xeTable.triggerCurrentRowEvent(evnt, params);
388
+ }
389
+ if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
390
+ $xeTable.triggerCurrentColumnEvent(evnt, params);
391
+ }
379
392
  if (editConfig) {
380
393
  if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
381
394
  if (editOpts.mode === 'row') {
382
395
  $xeTable.handleEdit(params, evnt);
383
396
  } else {
384
- $xeTable.scrollToRow(params.row, params.column).then(() => $xeTable.handleSelected(params, evnt));
397
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
398
+ $xeTable.handleSelected(params, evnt);
399
+ });
385
400
  }
386
401
  }
387
402
  } else {
388
- $xeTable.scrollToRow(params.row, params.column).then(() => $xeTable.handleSelected(params, evnt));
403
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
404
+ $xeTable.handleSelected(params, evnt);
405
+ });
389
406
  }
390
407
  }
391
408
  },
@@ -403,7 +420,6 @@ hooks.add('tableKeyboardModule', {
403
420
  const treeOpts = computeTreeOpts.value;
404
421
  const childrenField = treeOpts.children || treeOpts.childrenField;
405
422
  let targetRow;
406
- evnt.preventDefault();
407
423
  if (currentRow) {
408
424
  if (treeConfig) {
409
425
  const {
@@ -429,6 +445,7 @@ hooks.add('tableKeyboardModule', {
429
445
  targetRow = afterFullData[0];
430
446
  }
431
447
  if (targetRow) {
448
+ evnt.preventDefault();
432
449
  const params = {
433
450
  $table: $xeTable,
434
451
  row: targetRow,
@@ -438,6 +455,36 @@ hooks.add('tableKeyboardModule', {
438
455
  $xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
439
456
  }
440
457
  },
458
+ // 处理当前列方向键移动
459
+ moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
460
+ const {
461
+ currentColumn
462
+ } = reactData;
463
+ const {
464
+ visibleColumn
465
+ } = internalData;
466
+ let targetCol = null;
467
+ if (currentColumn) {
468
+ const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
469
+ if (isLeftArrow && _columnIndex > 0) {
470
+ targetCol = visibleColumn[_columnIndex - 1];
471
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
472
+ targetCol = visibleColumn[_columnIndex + 1];
473
+ }
474
+ } else {
475
+ targetCol = visibleColumn[0];
476
+ }
477
+ if (targetCol) {
478
+ evnt.preventDefault();
479
+ const params = {
480
+ $table: $xeTable,
481
+ column: targetCol,
482
+ columnIndex: $xeTable.getColumnIndex(targetCol),
483
+ $columnIndex: $xeTable.getVMColumnIndex(targetCol)
484
+ };
485
+ $xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
486
+ }
487
+ },
441
488
  // 处理可编辑方向键移动
442
489
  moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
443
490
  const {
@@ -1 +1 @@
1
- var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(M){let{props:E,reactData:D,internalData:O}=M,S=M.getRefMaps().refElem,{computeEditOpts:h,computeCheckboxOpts:u,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeCellOpts:V,computeDefaultRowHeight:q}=M.getComputeMaps();let d=(e,y)=>{var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=y;if("checkbox"===r.type){let k=l;if(o&&"left"===r.fixed?k=o:t&&"right"===r.fixed&&(k=t),k){let t=S.value,i=e.clientX,u=e.clientY,s=k.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,k);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,p=k.scrollTop,a=c.offsetHeight,v=c.getBoundingClientRect(),x=u-v.y,w=null,b=!1,R=1,C=(e,t)=>{M.dispatchEvent("checkbox-range-"+e,{records:M.getCheckboxRecords(),reserves:M.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-u+(k.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=f,a=m;l<g?(n+=l)<g&&(n=g,o=f):o=Math.min(o,k.scrollHeight-f-g),t<g?(a+=t,r>m&&(a=g,r=m)):r=Math.min(r,k.clientWidth-m-g),s.style.height=o+"px",s.style.width=r+"px",s.style.left=a+"px",s.style.top=n+"px",s.style.display="block";t=((e,t,l,o,r)=>{var n=E.showOverflow,{fullAllDataRowIdData:a,isResizeCellHeight:i}=O,u=H.value,s=V.value,c=q.value,e=e.row;let d=0,h=[],g=0;var f=0<r,m=D.scrollYLoad,p=O.afterFullData;if(g=f?o+r:l.height-o+Math.abs(r),m){l=M.getVTRowIndex(e);if(!(i||s.height||u.height)&&n)h=f?p.slice(l,l+Math.ceil(g/c)):p.slice(l-Math.floor(g/c),l+1);else if(f)for(let e=l;e<p.length;e++){var v=p[e],x=a[M.getRowid(v)]||{};if(d+=x.resizeHeight||s.height||u.height||x.height||c,h.push(v),d>g)return h}else for(let e=l;0<=e;e--){var w=p[e],b=a[M.getRowid(w)]||{};if(d+=b.resizeHeight||s.height||u.height||b.height||c,h.push(w),d>g)return h}}else for(var R=f?"next":"previous";t&&d<g;){var C=M.getRowNode(t);C&&(h.push(C.item),d+=t.offsetHeight,t=t[R+"ElementSibling"])}return h})(y,c,v,x,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),C("change",e))},I=()=>{clearTimeout(w),w=null},_=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=k,r=Math.ceil(50*R/a),b?t+l<o?(M.scrollTo(e,t+r),_(n),T(n)):I():t?(M.scrollTo(e,t-r),_(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(k).boundingTop;t<l?(b=!1,R=l-t,w||_(e)):t>l+k.clientHeight?(b=!0,R=t-l-k.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,C("end",e)},C("start",e)}}};return{moveTabSelected(e,t,l){var o=E.editConfig,{afterFullData:r,visibleColumn:n}=O,a=h.value;let i,u,s,c=Object.assign({},e);var e=M.getVTRowIndex(c.row),d=M.getVTColumnIndex(c.column),t=(l.preventDefault(),t?d<=0?0<e&&(u=e-1,i=r[u],s=n.length-1):s=d-1:d>=n.length-1?e<r.length-1&&(u=e+1,i=r[u],s=0):s=d+1,n[s]);t&&(i?(c.rowIndex=u,c.row=i):c.rowIndex=e,c.columnIndex=s,c.column=t,c.cell=M.getCellElement(c.row,c.column),o?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?M.handleEdit(c,l):M.scrollToRow(c.row,c.column).then(()=>M.handleSelected(c,l))):M.scrollToRow(c.row,c.column).then(()=>M.handleSelected(c,l)))},moveCurrentRow(e,t,l){var o=E.treeConfig;let r=D.currentRow;var n=O.afterFullData,a=c.value,a=a.children||a.childrenField;let i;if(l.preventDefault(),r?o?({index:o,items:a}=_xeUtils.default.findTree(n,e=>e===r,{children:a}),e&&0<o?i=a[o-1]:t&&o<a.length-1&&(i=a[o+1])):(a=M.getVTRowIndex(r),e&&0<a?i=n[a-1]:t&&a<n.length-1&&(i=n[a+1])):i=n[0],i){let e={$table:M,row:i,rowIndex:M.getRowIndex(i),$rowIndex:M.getVMRowIndex(i)};M.scrollToRow(i).then(()=>M.triggerCurrentRowEvent(l,e))}},moveSelected(e,t,l,o,r,n){var{afterFullData:a,visibleColumn:i}=O;let u=Object.assign({},e);var e=M.getVTRowIndex(u.row),s=M.getVTColumnIndex(u.column);n.preventDefault(),l&&0<e?(u.rowIndex=e-1,u.row=a[u.rowIndex]):r&&e<a.length-1?(u.rowIndex=e+1,u.row=a[u.rowIndex]):t&&s?(u.columnIndex=s-1,u.column=i[u.columnIndex]):o&&s<i.length-1&&(u.columnIndex=s+1,u.column=i[u.columnIndex]),M.scrollToRow(u.row,u.column).then(()=>{u.cell=M.getCellElement(u.row,u.column),M.handleSelected(u,n)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=E,n=u.value,a=s.value,i=h.value;if(r&&a.area&&M.handleCellAreaMousedownEvent)return M.handleCellAreaMousedownEvent(e,t);o&&n.range&&d(e,t),r&&a.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
1
+ var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var r,n,u=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(u&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,u&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(M){let{props:y,reactData:D,internalData:O}=M,S=M.getRefMaps().refElem,{computeEditOpts:p,computeCheckboxOpts:a,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeColumnOpts:v,computeCellOpts:V,computeDefaultRowHeight:q,computeCurrentRowOpts:x,computeCurrentColumnOpts:w}=M.getComputeMaps();let d=(e,k)=>{var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=k;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=S.value,i=e.clientX,a=e.clientY,s=E.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,p=E.scrollTop,u=c.offsetHeight,v=c.getBoundingClientRect(),x=a-v.y,w=null,C=!1,b=1,R=(e,t)=>{M.dispatchEvent("checkbox-range-"+e,{records:M.getCheckboxRecords(),reserves:M.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-a+(E.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,u=f;l<h?(n+=l)<h&&(n=h,o=m):o=Math.min(o,E.scrollHeight-m-h),t<h?(u+=t,r>f&&(u=h,r=f)):r=Math.min(r,E.clientWidth-f-h),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=((e,t,l,o,r)=>{var n=y.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=O,a=H.value,s=V.value,c=q.value,e=e.row;let d=0,g=[],h=0;var m=0<r,f=D.scrollYLoad,p=O.afterFullData;if(h=m?o+r:l.height-o+Math.abs(r),f){l=M.getVTRowIndex(e);if(!(i||s.height||a.height)&&n)g=m?p.slice(l,l+Math.ceil(h/c)):p.slice(l-Math.floor(h/c),l+1);else if(m)for(let e=l;e<p.length;e++){var v=p[e],x=u[M.getRowid(v)]||{};if(d+=x.resizeHeight||s.height||a.height||x.height||c,g.push(v),d>h)return g}else for(let e=l;0<=e;e--){var w=p[e],C=u[M.getRowid(w)]||{};if(d+=C.resizeHeight||s.height||a.height||C.height||c,g.push(w),d>h)return g}}else for(var b=m?"next":"previous";t&&d<h;){var R=M.getRowNode(t);R&&(g.push(R.item),d+=t.offsetHeight,t=t[b+"ElementSibling"])}return g})(k,c,v,x,l<h?-o:o);10<o&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},_=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*b/u),C?t+l<o?(M.scrollTo(e,t+r),_(n),T(n)):I():t?(M.scrollTo(e,t-r),_(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(C=!1,b=l-t,w||_(e)):t>l+E.clientHeight?(C=!0,b=t-l-E.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,l){var o=y.editConfig,{afterFullData:r,visibleColumn:n}=O,u=p.value,i=H.value,a=x.value,s=v.value,c=w.value;let d,g,h,m=Object.assign({},e);var e=M.getVTRowIndex(m.row),f=M.getVTColumnIndex(m.column),t=(l.preventDefault(),t?f<=0?0<e&&(g=e-1,d=r[g],h=n.length-1):h=f-1:f>=n.length-1?e<r.length-1&&(g=e+1,d=r[g],h=0):h=f+1,n[h]);t&&(d?(m.rowIndex=g,m.row=d):m.rowIndex=e,m.columnIndex=h,m.column=t,m.cell=M.getCellElement(m.row,m.column),i.isCurrent&&a.isFollowSelected&&M.triggerCurrentRowEvent(l,m),s.isCurrent&&c.isFollowSelected&&M.triggerCurrentColumnEvent(l,m),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?M.handleEdit(m,l):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)})):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)}))},moveCurrentRow(e,t,l){var o=y.treeConfig;let r=D.currentRow;var n=O.afterFullData,u=c.value,u=u.children||u.childrenField;let i;if(r?o?({index:o,items:u}=_xeUtils.default.findTree(n,e=>e===r,{children:u}),e&&0<o?i=u[o-1]:t&&o<u.length-1&&(i=u[o+1])):(u=M.getVTRowIndex(r),e&&0<u?i=n[u-1]:t&&u<n.length-1&&(i=n[u+1])):i=n[0],i){l.preventDefault();let e={$table:M,row:i,rowIndex:M.getRowIndex(i),$rowIndex:M.getVMRowIndex(i)};M.scrollToRow(i).then(()=>M.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=D.currentColumn,r=O.visibleColumn;let n=null;if(o?(o=M.getVTColumnIndex(o),e&&0<o?n=r[o-1]:t&&o<r.length-1&&(n=r[o+1])):n=r[0],n){l.preventDefault();let e={$table:M,column:n,columnIndex:M.getColumnIndex(n),$columnIndex:M.getVMColumnIndex(n)};M.scrollToColumn(n).then(()=>M.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,r,n){var{afterFullData:u,visibleColumn:i}=O;let a=Object.assign({},e);var e=M.getVTRowIndex(a.row),s=M.getVTColumnIndex(a.column);n.preventDefault(),l&&0<e?(a.rowIndex=e-1,a.row=u[a.rowIndex]):r&&e<u.length-1?(a.rowIndex=e+1,a.row=u[a.rowIndex]):t&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):o&&s<i.length-1&&(a.columnIndex=s+1,a.column=i[a.columnIndex]),M.scrollToRow(a.row,a.column).then(()=>{a.cell=M.getCellElement(a.row,a.column),M.handleSelected(a,n)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=y,n=a.value,u=s.value,i=p.value;if(r&&u.area&&M.handleCellAreaMousedownEvent)return M.handleCellAreaMousedownEvent(e,t);o&&n.range&&d(e,t),r&&u.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
@@ -11,7 +11,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
11
11
  const {
12
12
  getConfig,
13
13
  renderer,
14
- getI18n
14
+ getI18n,
15
+ getComponent
15
16
  } = _ui.VxeUI;
16
17
  const componentDefaultModelProp = 'modelValue';
17
18
  const defaultCompProps = {};
@@ -40,7 +41,7 @@ function getOldComponentName(name) {
40
41
  function getDefaultComponent({
41
42
  name
42
43
  }) {
43
- return (0, _vue.resolveComponent)(name);
44
+ return getComponent(name);
44
45
  }
45
46
  /**
46
47
  * 已废弃
@@ -397,7 +398,7 @@ function oldEditRender(renderOpts, params) {
397
398
  * @deprecated
398
399
  */
399
400
  function oldButtonEditRender(renderOpts, params) {
400
- return [(0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), Object.assign(Object.assign({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))];
401
+ return [(0, _vue.h)(getComponent('vxe-button'), Object.assign(Object.assign({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))];
401
402
  }
402
403
  /**
403
404
  * 已废弃
@@ -649,6 +650,69 @@ function handleExportTreeSelectMethod(params) {
649
650
  } = params;
650
651
  return options.original ? (0, _util.getCellValue)(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
651
652
  }
653
+ function handleNumberCell(renderOpts, params) {
654
+ const {
655
+ props = {},
656
+ showNegativeStatus
657
+ } = renderOpts;
658
+ const {
659
+ row,
660
+ column
661
+ } = params;
662
+ const {
663
+ type
664
+ } = props;
665
+ let cellValue = _xeUtils.default.get(row, column.field);
666
+ let isNegative = false;
667
+ if (!(0, _utils.isEmptyValue)(cellValue)) {
668
+ const numberInputConfig = getConfig().numberInput || {};
669
+ if (type === 'float') {
670
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
671
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
672
+ cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
673
+ if (!autoFill) {
674
+ cellValue = _xeUtils.default.toNumber(cellValue);
675
+ }
676
+ if (showNegativeStatus) {
677
+ if (cellValue < 0) {
678
+ isNegative = true;
679
+ }
680
+ }
681
+ } else if (type === 'amount') {
682
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
683
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
684
+ const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
685
+ cellValue = _xeUtils.default.toNumber(cellValue);
686
+ if (showNegativeStatus) {
687
+ if (cellValue < 0) {
688
+ isNegative = true;
689
+ }
690
+ }
691
+ cellValue = _xeUtils.default.commafy(cellValue, {
692
+ digits
693
+ });
694
+ if (!autoFill) {
695
+ const [iStr, dStr] = cellValue.split('.');
696
+ if (dStr) {
697
+ const dRest = dStr.replace(/0+$/, '');
698
+ cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
699
+ }
700
+ }
701
+ if (showCurrency) {
702
+ cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
703
+ }
704
+ } else {
705
+ if (showNegativeStatus) {
706
+ if (_xeUtils.default.toNumber(cellValue) < 0) {
707
+ isNegative = true;
708
+ }
709
+ }
710
+ }
711
+ }
712
+ return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
713
+ class: 'is--negative'
714
+ } : {});
715
+ }
652
716
  /**
653
717
  * 表格 - 渲染器
654
718
  */
@@ -718,72 +782,22 @@ renderer.mixin({
718
782
  renderTableFilter: defaultFilterRender,
719
783
  tableFilterDefaultMethod: handleInputFilterMethod
720
784
  },
721
- VxeNumberInput: {
722
- tableAutoFocus: 'input',
723
- renderTableEdit: defaultEditRender,
724
- renderTableCell(renderOpts, params) {
725
- const {
726
- props = {},
727
- showNegativeStatus
728
- } = renderOpts;
785
+ FormatNumberInput: {
786
+ renderTableDefault: handleNumberCell,
787
+ tableFilterDefaultMethod: handleInputFilterMethod,
788
+ tableExportMethod(params) {
729
789
  const {
730
790
  row,
731
791
  column
732
792
  } = params;
733
- const {
734
- type
735
- } = props;
736
- let cellValue = _xeUtils.default.get(row, column.field);
737
- let isNegative = false;
738
- if (!(0, _utils.isEmptyValue)(cellValue)) {
739
- const numberInputConfig = getConfig().numberInput || {};
740
- if (type === 'float') {
741
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
742
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
743
- cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
744
- if (!autoFill) {
745
- cellValue = _xeUtils.default.toNumber(cellValue);
746
- }
747
- if (showNegativeStatus) {
748
- if (cellValue < 0) {
749
- isNegative = true;
750
- }
751
- }
752
- } else if (type === 'amount') {
753
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
754
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
755
- const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
756
- cellValue = _xeUtils.default.toNumber(cellValue);
757
- if (showNegativeStatus) {
758
- if (cellValue < 0) {
759
- isNegative = true;
760
- }
761
- }
762
- cellValue = _xeUtils.default.commafy(cellValue, {
763
- digits
764
- });
765
- if (!autoFill) {
766
- const [iStr, dStr] = cellValue.split('.');
767
- if (dStr) {
768
- const dRest = dStr.replace(/0+$/, '');
769
- cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
770
- }
771
- }
772
- if (showCurrency) {
773
- cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
774
- }
775
- } else {
776
- if (showNegativeStatus) {
777
- if (_xeUtils.default.toNumber(cellValue) < 0) {
778
- isNegative = true;
779
- }
780
- }
781
- }
782
- }
783
- return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
784
- class: 'is--negative'
785
- } : {});
786
- },
793
+ const cellValue = _xeUtils.default.get(row, column.field);
794
+ return cellValue;
795
+ }
796
+ },
797
+ VxeNumberInput: {
798
+ tableAutoFocus: 'input',
799
+ renderTableEdit: defaultEditRender,
800
+ renderTableCell: handleNumberCell,
787
801
  renderTableFooter(renderOpts, params) {
788
802
  const {
789
803
  props = {}
@@ -922,11 +936,22 @@ renderer.mixin({
922
936
  tableFilterDefaultMethod: handleFilterMethod,
923
937
  tableExportMethod: handleExportSelectMethod
924
938
  },
939
+ /**
940
+ * 已废弃,被 FormatSelect 替换
941
+ * @deprecated
942
+ */
925
943
  formatOption: {
926
944
  renderTableDefault(renderOpts, params) {
927
945
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
928
946
  }
929
947
  },
948
+ FormatSelect: {
949
+ renderTableDefault(renderOpts, params) {
950
+ return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
951
+ },
952
+ tableFilterDefaultMethod: handleFilterMethod,
953
+ tableExportMethod: handleExportSelectMethod
954
+ },
930
955
  VxeTreeSelect: {
931
956
  tableAutoFocus: 'input',
932
957
  renderTableEdit: defaultTableOrTreeSelectEditRender,
@@ -935,11 +960,21 @@ renderer.mixin({
935
960
  },
936
961
  tableExportMethod: handleExportTreeSelectMethod
937
962
  },
963
+ /**
964
+ * 已废弃,被 FormatTreeSelect 替换
965
+ * @deprecated
966
+ */
938
967
  formatTree: {
939
968
  renderTableDefault(renderOpts, params) {
940
969
  return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
941
970
  }
942
971
  },
972
+ FormatTreeSelect: {
973
+ renderTableDefault(renderOpts, params) {
974
+ return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
975
+ },
976
+ tableExportMethod: handleExportTreeSelectMethod
977
+ },
943
978
  VxeTableSelect: {
944
979
  tableAutoFocus: 'input',
945
980
  renderTableEdit: defaultTableOrTreeSelectEditRender,
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})},renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -317,6 +317,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
317
317
  tdOns.onDblclick = evnt => {
318
318
  $xeTable.triggerCellDblclickEvent(evnt, cellParams);
319
319
  };
320
+ let isMergeCell = false;
320
321
  // 合并行或列
321
322
  if (mergeList.length) {
322
323
  const spanRest = (0, _util.mergeBodyMethod)(mergeList, _rowIndex, _columnIndex);
@@ -329,9 +330,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
329
330
  return null;
330
331
  }
331
332
  if (rowspan > 1) {
333
+ isMergeCell = true;
332
334
  tdAttrs.rowspan = rowspan;
333
335
  }
334
336
  if (colspan > 1) {
337
+ isMergeCell = true;
335
338
  tdAttrs.colspan = colspan;
336
339
  }
337
340
  }
@@ -366,11 +369,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
366
369
  const isLastColumn = $columnIndex === columns.length - 1;
367
370
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
368
371
  let isVNPreEmptyStatus = false;
369
- if (!dragRow || (0, _util.getRowid)($xeTable, dragRow) !== rowid) {
370
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
371
- isVNPreEmptyStatus = true;
372
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
373
- isVNPreEmptyStatus = true;
372
+ if (!isMergeCell) {
373
+ if (!dragRow || (0, _util.getRowid)($xeTable, dragRow) !== rowid) {
374
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
375
+ isVNPreEmptyStatus = true;
376
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
377
+ isVNPreEmptyStatus = true;
378
+ }
374
379
  }
375
380
  }
376
381
  const tcStyle = {};
@@ -766,7 +771,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
766
771
  isOptimizeMode = true;
767
772
  }
768
773
  }
769
- if (fixedType || !overflowX) {
774
+ if (!isColLoading && (fixedType || !overflowX)) {
770
775
  renderColumnList = visibleColumn;
771
776
  }
772
777
  if (fixedType) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let ze=(0,_vue.inject)("$xeTable",{}),{xID:k,props:qe,context:z,reactData:Ae,internalData:$e}=ze,{computeEditOpts:Ue,computeMouseOpts:Le,computeAreaOpts:je,computeDefaultRowHeight:He,computeEmptyOpts:q,computeTooltipOpts:Ne,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Fe,computeCellOpts:Be,computeValidOpts:Pe,computeRowOpts:Ke,computeColumnOpts:Ve,computeRowDragOpts:Xe,computeColumnDragOpts:l,computeResizableOpts:We}=ze.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ye=()=>{var e=qe.delayHover,{lastScrollTime:l,isDragResize:t}=Ae;return!!(t||l&&Date.now()<l+e)},Ge=(e,l)=>{var{row:t,column:a}=e,o=$e.afterFullData,r=qe.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=$e.fullAllDataRowIdData;if(a&&a.line)return ze.callSlot(a.line,e);a=n[(0,_util.getRowid)(ze,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=ze.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(ze):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=$e.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=qe,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=Ae,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=$e,oe=Be.value,f=Pe.value,re=Fe.value,ie=Ue.value,se=Ne.value,{isAllColumnDrag:ne,isAllRowDrag:de}=We.value,y=Ke.value,C=Xe.value,ue=He.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Ve.value,ge=Le.value,xe=je.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=ze.getColumnIndex(i),I=ze.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:ze,$grid:ze.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1;if((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ye()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&ze.triggerBodyTooltipEvent(e,q),ze.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ye()||((z||Oe)&&ze.handleTargetLeaveEvent(e),ze.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{ze.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=ze.triggerCellMouseupEvent),w.onClick=e=>{ze.triggerCellClickEvent(e,q)},w.onDblclick=e=>{ze.triggerCellDblclickEvent(e,q)},Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(O.rowspan=_),1<v&&(O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=ze.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Te=!1;Y&&(0,_util.getRowid)(ze,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(Te=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Ge(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?ze.getCellLabel(a,i):null},Te?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?ze.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ke=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ke=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>ze.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>ze.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>ze.handleRowResizeMousedownEvent(e,q),onDblclick:e=>ze.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ke,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||Te,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=qe,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=Ae,j=$e.fullAllDataRowIdData,H=Fe.value,N=e.value,F=c.value,B=Ue.value,P=Ke.value,K=Ve.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=ze.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ye()||ze.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ye()||ze.clearHoverRow()}),(0,_util.getRowid)(ze,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:ze,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=ze.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=ze.handleRowDragDragstartEvent,e.onDragend=ze.handleRowDragDragendEvent,e.onDragover=ze.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&ze.eqRow(A,t),"row--checked":H.highlight&&ze.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:ze,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=$e.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=$e.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});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=qe,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=Ae,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=$e,y=Ke.value,C=q.value,R=Le.value,D=Xe.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(ze,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(ze,h)],r=b[(0,_util.getRowid)(ze,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?ze.callSlot(_,{$table:ze,$grid:ze.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:ze})):qe.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){ze.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(ze):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ze.triggerCellAreaExtendMousedownEvent&&ze.triggerCellAreaExtendMousedownEvent(e,{$table:ze,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(ze),t?renderEmptyElement(ze):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let qe=(0,_vue.inject)("$xeTable",{}),{xID:k,props:Ae,context:z,reactData:$e,internalData:Ue}=qe,{computeEditOpts:Le,computeMouseOpts:je,computeAreaOpts:He,computeDefaultRowHeight:Ne,computeEmptyOpts:q,computeTooltipOpts:Fe,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Be,computeCellOpts:Pe,computeValidOpts:Ke,computeRowOpts:Ve,computeColumnOpts:Xe,computeRowDragOpts:We,computeColumnDragOpts:l,computeResizableOpts:Ye}=qe.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ge=()=>{var e=Ae.delayHover,{lastScrollTime:l,isDragResize:t}=$e;return!!(t||l&&Date.now()<l+e)},Je=(e,l)=>{var{row:t,column:a}=e,o=Ue.afterFullData,r=Ae.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Ue.fullAllDataRowIdData;if(a&&a.line)return qe.callSlot(a.line,e);a=n[(0,_util.getRowid)(qe,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=qe.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(qe):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=Ue.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=Ae,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=$e,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=Ue,oe=Pe.value,f=Ke.value,re=Be.value,ie=Le.value,se=Fe.value,{isAllColumnDrag:ne,isAllRowDrag:de}=Ye.value,y=Ve.value,C=We.value,ue=Ne.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Xe.value,ge=je.value,xe=He.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=qe.getColumnIndex(i),I=qe.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:qe,$grid:qe.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1,Te=((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ge()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&qe.triggerBodyTooltipEvent(e,q),qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ge()||((z||Oe)&&qe.handleTargetLeaveEvent(e),qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{qe.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=qe.triggerCellMouseupEvent),w.onClick=e=>{qe.triggerCellClickEvent(e,q)},!(w.onDblclick=e=>{qe.triggerCellDblclickEvent(e,q)}));if(Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(Te=!0,O.rowspan=_),1<v&&(Te=!0,O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=qe.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ke=!1;Te||Y&&(0,_util.getRowid)(qe,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(ke=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Je(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?qe.getCellLabel(a,i):null},ke?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?qe.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ze=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ze=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>qe.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>qe.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>qe.handleRowResizeMousedownEvent(e,q),onDblclick:e=>qe.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ze,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||ke,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=Ae,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=$e,j=Ue.fullAllDataRowIdData,H=Be.value,N=e.value,F=c.value,B=Le.value,P=Ve.value,K=Xe.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=qe.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ge()||qe.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ge()||qe.clearHoverRow()}),(0,_util.getRowid)(qe,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:qe,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=qe.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=qe.handleRowDragDragstartEvent,e.onDragend=qe.handleRowDragDragendEvent,e.onDragover=qe.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&qe.eqRow(A,t),"row--checked":H.highlight&&qe.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:qe,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ue.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});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=Ae,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=$e,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=Ue,y=Ve.value,C=q.value,R=je.value,D=We.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),u||!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(qe,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(qe,h)],r=b[(0,_util.getRowid)(qe,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?qe.callSlot(_,{$table:qe,$grid:qe.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:qe})):Ae.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){qe.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(qe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){qe.triggerCellAreaExtendMousedownEvent&&qe.triggerCellAreaExtendMousedownEvent(e,{$table:qe,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(qe),t?renderEmptyElement(qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});