vxe-table 4.10.6-beta.8 → 4.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/es/grid/src/grid.js +1 -1
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/locale/lang/ar-EG.js +2 -1
  5. package/es/locale/lang/de-DE.js +2 -1
  6. package/es/locale/lang/en-US.js +4 -3
  7. package/es/locale/lang/es-ES.js +2 -1
  8. package/es/locale/lang/fr-FR.js +2 -1
  9. package/es/locale/lang/hu-HU.js +2 -1
  10. package/es/locale/lang/hy-AM.js +2 -1
  11. package/es/locale/lang/it-IT.js +2 -1
  12. package/es/locale/lang/ja-JP.js +2 -1
  13. package/es/locale/lang/ko-KR.js +2 -1
  14. package/es/locale/lang/nb-NO.js +2 -1
  15. package/es/locale/lang/pt-BR.js +2 -1
  16. package/es/locale/lang/ru-RU.js +4 -3
  17. package/es/locale/lang/th-TH.js +2 -1
  18. package/es/locale/lang/ug-CN.js +2 -1
  19. package/es/locale/lang/uk-UA.js +518 -517
  20. package/es/locale/lang/vi-VN.js +2 -1
  21. package/es/locale/lang/zh-CHT.js +2 -1
  22. package/es/locale/lang/zh-CN.js +2 -1
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/table/module/edit/hook.js +7 -7
  26. package/es/table/module/export/hook.js +97 -62
  27. package/es/table/module/keyboard/hook.js +63 -27
  28. package/es/table/src/body.js +128 -81
  29. package/es/table/src/cell.js +41 -55
  30. package/es/table/src/column.js +13 -1
  31. package/es/table/src/columnInfo.js +3 -0
  32. package/es/table/src/emits.js +2 -0
  33. package/es/table/src/footer.js +48 -10
  34. package/es/table/src/header.js +70 -168
  35. package/es/table/src/props.js +14 -4
  36. package/es/table/src/table.js +884 -426
  37. package/es/table/src/util.js +77 -62
  38. package/es/table/style.css +253 -189
  39. package/es/table/style.min.css +1 -1
  40. package/es/ui/index.js +26 -11
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-table/style.css +253 -189
  43. package/es/vxe-table/style.min.css +1 -1
  44. package/lib/grid/src/grid.js +1 -1
  45. package/lib/grid/src/grid.min.js +1 -1
  46. package/lib/index.css +1 -1
  47. package/lib/index.min.css +1 -1
  48. package/lib/index.umd.js +1533 -917
  49. package/lib/index.umd.min.js +1 -1
  50. package/lib/locale/lang/ar-EG.js +2 -1
  51. package/lib/locale/lang/ar-EG.min.js +1 -1
  52. package/lib/locale/lang/de-DE.js +2 -1
  53. package/lib/locale/lang/de-DE.min.js +1 -1
  54. package/lib/locale/lang/en-US.js +4 -3
  55. package/lib/locale/lang/en-US.min.js +1 -1
  56. package/lib/locale/lang/en-US.umd.js +4 -3
  57. package/lib/locale/lang/es-ES.js +2 -1
  58. package/lib/locale/lang/es-ES.min.js +1 -1
  59. package/lib/locale/lang/es-ES.umd.js +2 -1
  60. package/lib/locale/lang/fr-FR.js +2 -1
  61. package/lib/locale/lang/fr-FR.min.js +1 -1
  62. package/lib/locale/lang/hu-HU.js +2 -1
  63. package/lib/locale/lang/hu-HU.min.js +1 -1
  64. package/lib/locale/lang/hu-HU.umd.js +2 -1
  65. package/lib/locale/lang/hy-AM.js +2 -1
  66. package/lib/locale/lang/hy-AM.min.js +1 -1
  67. package/lib/locale/lang/it-IT.js +2 -1
  68. package/lib/locale/lang/it-IT.min.js +1 -1
  69. package/lib/locale/lang/ja-JP.js +2 -1
  70. package/lib/locale/lang/ja-JP.min.js +1 -1
  71. package/lib/locale/lang/ja-JP.umd.js +2 -1
  72. package/lib/locale/lang/ko-KR.js +2 -1
  73. package/lib/locale/lang/ko-KR.min.js +1 -1
  74. package/lib/locale/lang/ko-KR.umd.js +2 -1
  75. package/lib/locale/lang/nb-NO.js +2 -1
  76. package/lib/locale/lang/nb-NO.min.js +1 -1
  77. package/lib/locale/lang/pt-BR.js +2 -1
  78. package/lib/locale/lang/pt-BR.min.js +1 -1
  79. package/lib/locale/lang/pt-BR.umd.js +2 -1
  80. package/lib/locale/lang/ru-RU.js +4 -3
  81. package/lib/locale/lang/ru-RU.min.js +1 -1
  82. package/lib/locale/lang/ru-RU.umd.js +4 -3
  83. package/lib/locale/lang/th-TH.js +2 -1
  84. package/lib/locale/lang/th-TH.min.js +1 -1
  85. package/lib/locale/lang/ug-CN.js +2 -1
  86. package/lib/locale/lang/ug-CN.min.js +1 -1
  87. package/lib/locale/lang/uk-UA.js +518 -517
  88. package/lib/locale/lang/uk-UA.min.js +1 -1
  89. package/lib/locale/lang/uk-UA.umd.js +518 -517
  90. package/lib/locale/lang/vi-VN.js +2 -1
  91. package/lib/locale/lang/vi-VN.min.js +1 -1
  92. package/lib/locale/lang/zh-CHT.js +2 -1
  93. package/lib/locale/lang/zh-CHT.min.js +1 -1
  94. package/lib/locale/lang/zh-CN.js +2 -1
  95. package/lib/locale/lang/zh-CN.min.js +1 -1
  96. package/lib/locale/lang/zh-CN.umd.js +2 -1
  97. package/lib/style.css +1 -1
  98. package/lib/style.min.css +1 -1
  99. package/lib/table/module/edit/hook.js +7 -2
  100. package/lib/table/module/edit/hook.min.js +1 -1
  101. package/lib/table/module/export/hook.js +97 -57
  102. package/lib/table/module/export/hook.min.js +1 -1
  103. package/lib/table/module/keyboard/hook.js +71 -28
  104. package/lib/table/module/keyboard/hook.min.js +1 -1
  105. package/lib/table/src/body.js +129 -80
  106. package/lib/table/src/body.min.js +1 -1
  107. package/lib/table/src/cell.js +32 -42
  108. package/lib/table/src/cell.min.js +1 -1
  109. package/lib/table/src/column.js +13 -1
  110. package/lib/table/src/column.min.js +1 -1
  111. package/lib/table/src/columnInfo.js +3 -0
  112. package/lib/table/src/columnInfo.min.js +1 -1
  113. package/lib/table/src/emits.js +1 -1
  114. package/lib/table/src/emits.min.js +1 -1
  115. package/lib/table/src/footer.js +48 -8
  116. package/lib/table/src/footer.min.js +1 -1
  117. package/lib/table/src/header.js +54 -181
  118. package/lib/table/src/header.min.js +1 -1
  119. package/lib/table/src/props.js +14 -4
  120. package/lib/table/src/props.min.js +1 -1
  121. package/lib/table/src/table.js +935 -417
  122. package/lib/table/src/table.min.js +1 -1
  123. package/lib/table/src/util.js +100 -82
  124. package/lib/table/src/util.min.js +1 -1
  125. package/lib/table/style/style.css +253 -189
  126. package/lib/table/style/style.min.css +1 -1
  127. package/lib/ui/index.js +26 -11
  128. package/lib/ui/index.min.js +1 -1
  129. package/lib/ui/src/log.js +1 -1
  130. package/lib/ui/src/log.min.js +1 -1
  131. package/lib/vxe-table/style/style.css +253 -189
  132. package/lib/vxe-table/style/style.min.css +1 -1
  133. package/package.json +2 -2
  134. package/packages/grid/src/grid.ts +1 -1
  135. package/packages/locale/lang/ar-EG.ts +2 -1
  136. package/packages/locale/lang/de-DE.ts +2 -1
  137. package/packages/locale/lang/en-US.ts +4 -3
  138. package/packages/locale/lang/es-ES.ts +2 -1
  139. package/packages/locale/lang/fr-FR.ts +2 -1
  140. package/packages/locale/lang/hu-HU.ts +2 -1
  141. package/packages/locale/lang/hy-AM.ts +2 -1
  142. package/packages/locale/lang/it-IT.ts +2 -1
  143. package/packages/locale/lang/ja-JP.ts +2 -1
  144. package/packages/locale/lang/ko-KR.ts +2 -1
  145. package/packages/locale/lang/nb-NO.ts +2 -1
  146. package/packages/locale/lang/pt-BR.ts +2 -1
  147. package/packages/locale/lang/ru-RU.ts +4 -3
  148. package/packages/locale/lang/th-TH.ts +2 -1
  149. package/packages/locale/lang/ug-CN.ts +2 -1
  150. package/packages/locale/lang/uk-UA.ts +518 -517
  151. package/packages/locale/lang/vi-VN.ts +2 -1
  152. package/packages/locale/lang/zh-CHT.ts +2 -1
  153. package/packages/locale/lang/zh-CN.ts +2 -1
  154. package/packages/table/module/edit/hook.ts +7 -7
  155. package/packages/table/module/export/hook.ts +118 -65
  156. package/packages/table/module/keyboard/hook.ts +59 -25
  157. package/packages/table/src/body.ts +148 -91
  158. package/packages/table/src/cell.ts +41 -63
  159. package/packages/table/src/column.ts +13 -1
  160. package/packages/table/src/columnInfo.ts +3 -0
  161. package/packages/table/src/emits.ts +5 -1
  162. package/packages/table/src/footer.ts +51 -11
  163. package/packages/table/src/header.ts +70 -168
  164. package/packages/table/src/props.ts +14 -5
  165. package/packages/table/src/table.ts +890 -428
  166. package/packages/table/src/util.ts +81 -62
  167. package/packages/ui/index.ts +25 -10
  168. package/styles/components/table.scss +319 -271
  169. package/styles/theme/base.scss +4 -6
  170. package/styles/theme/dark.scss +1 -0
  171. package/styles/theme/light.scss +1 -0
  172. package/styles/variable.scss +1 -1
  173. /package/es/{iconfont.1736840923205.ttf → iconfont.1738985856004.ttf} +0 -0
  174. /package/es/{iconfont.1736840923205.woff → iconfont.1738985856004.woff} +0 -0
  175. /package/es/{iconfont.1736840923205.woff2 → iconfont.1738985856004.woff2} +0 -0
  176. /package/lib/{iconfont.1736840923205.ttf → iconfont.1738985856004.ttf} +0 -0
  177. /package/lib/{iconfont.1736840923205.woff → iconfont.1738985856004.woff} +0 -0
  178. /package/lib/{iconfont.1736840923205.woff2 → iconfont.1738985856004.woff2} +0 -0
@@ -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 o=0,l=0;var n,r,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(M){let{props:m,reactData:E,internalData:D}=M,o=M.getRefMaps().refElem,{computeEditOpts:g,computeCheckboxOpts:u,computeMouseOpts:d,computeTreeOpts:i}=M.getComputeMaps();let s=(e,y)=>{var{column:n,cell:r}=y;if("checkbox"===n.type){let l=o.value;var t=D.elemStore;let I=e.clientX,_=e.clientY,k=(0,_util.getRefElem)(t[`${n.fixed||"main"}-body-wrapper`]||t["main-body-wrapper"]);if(k){let c=k.querySelector(".vxe-table--checkbox-range"),t=document.onmousemove,o=document.onmouseup,u=r.parentElement,d=M.getCheckboxRecords(),i=[],s=1;n=getTargetOffset(e.target,k);let m=n.offsetTop+e.offsetY,g=n.offsetLeft+e.offsetX,f=k.scrollTop,a=u.offsetHeight,h=u.getBoundingClientRect(),p=_-h.y,x=null,v=!1,w=1,b=(e,t)=>{M.dispatchEvent("checkbox-range-"+e,{records:M.getCheckboxRecords(),reserves:M.getCheckboxReserveRecords()},t)},C=e=>{var{clientX:t,clientY:o}=e,t=t-I,o=o-_+(k.scrollTop-f);let l=Math.abs(o),n=Math.abs(t),r=m,a=g;o<s?(r+=o)<s&&(r=s,l=m):l=Math.min(l,k.scrollHeight-m-s),t<s?(a+=t,n>g&&(a=s,n=g)):n=Math.min(n,k.clientWidth-g-s),c.style.height=l+"px",c.style.width=n+"px",c.style.left=a+"px",c.style.top=r+"px",c.style.display="block";t=((e,t,o,l,n,r)=>{let a=0,c=[],u=0;var d=0<r,{scrollYLoad:i,rowHeight:s}=E,m=D.afterFullData;if(i){u=d?n+r:l.height-n+Math.abs(r);i=M.getVTRowIndex(t.row);c=d?m.slice(i,i+Math.ceil(u/s)):m.slice(i-Math.floor(u/s),i+1)}else{u=d?e.clientY-l.y:l.y-e.clientY+l.height;for(var g=d?"next":"previous";o&&a<u;){var f=M.getRowNode(o);f&&(c.push(f.item),a+=o.offsetHeight,o=o[g+"ElementSibling"])}}return c})(e,y,u,h,p,o<s?-l:l);10<l&&t.length!==i.length&&(i=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},T=()=>{clearTimeout(x),x=null},R=r=>{T(),x=setTimeout(()=>{var e,t,o,l,n;x&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=k,n=Math.ceil(50*w/a),v?t+o<l?(M.scrollTo(e,t+n),R(r),C(r)):T():t?(M.scrollTo(e,t-n),R(r),C(r)):T())},50)};(0,_dom.addClass)(l,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,o=(0,_dom.getAbsolutePos)(k).boundingTop;t<o?(v=!1,w=o-t,x||R(e)):t>o+k.clientHeight?(v=!0,w=t-o-k.clientHeight,x||R(e)):x&&T(),C(e)},document.onmouseup=e=>{T(),(0,_dom.removeClass)(l,"drag--range"),c.removeAttribute("style"),document.onmousemove=t,document.onmouseup=o,b("end",e)},b("start",e)}}};return{moveTabSelected(e,t,o){var l=m.editConfig,{afterFullData:n,visibleColumn:r}=D,a=g.value;let c,u,d,i=Object.assign({},e);var e=M.getVTRowIndex(i.row),s=M.getVTColumnIndex(i.column),t=(o.preventDefault(),t?s<=0?0<e&&(u=e-1,c=n[u],d=r.length-1):d=s-1:s>=r.length-1?e<n.length-1&&(u=e+1,c=n[u],d=0):d=s+1,r[d]);t&&(c?(i.rowIndex=u,i.row=c):i.rowIndex=e,i.columnIndex=d,i.column=t,i.cell=M.getCellElement(i.row,i.column),l?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?M.handleEdit(i,o):M.scrollToRow(i.row,i.column).then(()=>M.handleSelected(i,o))):M.scrollToRow(i.row,i.column).then(()=>M.handleSelected(i,o)))},moveCurrentRow(e,t,o){var l=m.treeConfig;let n=E.currentRow;var r=D.afterFullData,a=i.value,a=a.children||a.childrenField;let c;if(o.preventDefault(),n?l?({index:l,items:a}=_xeUtils.default.findTree(r,e=>e===n,{children:a}),e&&0<l?c=a[l-1]:t&&l<a.length-1&&(c=a[l+1])):(a=M.getVTRowIndex(n),e&&0<a?c=r[a-1]:t&&a<r.length-1&&(c=r[a+1])):c=r[0],c){let e={$table:M,row:c,rowIndex:M.getRowIndex(c),$rowIndex:M.getVMRowIndex(c)};M.scrollToRow(c).then(()=>M.triggerCurrentRowEvent(o,e))}},moveSelected(e,t,o,l,n,r){var{afterFullData:a,visibleColumn:c}=D;let u=Object.assign({},e);var e=M.getVTRowIndex(u.row),d=M.getVTColumnIndex(u.column);r.preventDefault(),o&&0<e?(u.rowIndex=e-1,u.row=a[u.rowIndex]):n&&e<a.length-1?(u.rowIndex=e+1,u.row=a[u.rowIndex]):t&&d?(u.columnIndex=d-1,u.column=c[u.columnIndex]):l&&d<c.length-1&&(u.columnIndex=d+1,u.column=c[u.columnIndex]),M.scrollToRow(u.row,u.column).then(()=>{u.cell=M.getCellElement(u.row,u.column),M.handleSelected(u,r)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:o,checkboxConfig:l,mouseConfig:n}=m,r=u.value,a=d.value,c=g.value;if(n&&a.area&&M.handleMousedownCellAreaEvent)return M.handleMousedownCellAreaEvent(e,t);l&&r.range&&s(e,t),n&&a.selected&&(o&&"cell"!==c.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,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:g,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(),g=[],h=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<h?(n+=l)<h&&(n=h,o=f):o=Math.min(o,k.scrollHeight-f-h),t<h?(a+=t,r>m&&(a=h,r=m)):r=Math.min(r,k.clientWidth-m-h),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,g=[],h=0;var f=0<r,m=D.scrollYLoad,p=O.afterFullData;if(h=f?o+r:l.height-o+Math.abs(r),m){l=M.getVTRowIndex(e);if(!(i||s.height||u.height)&&n)g=f?p.slice(l,l+Math.ceil(h/c)):p.slice(l-Math.floor(h/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||c,g.push(v),d>h)return g}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||c,g.push(w),d>h)return g}}else for(var R=f?"next":"previous";t&&d<h;){var C=M.getRowNode(t);C&&(g.push(C.item),d+=t.offsetHeight,t=t[R+"ElementSibling"])}return g})(y,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)),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=g.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=g.value;if(r&&a.area&&M.handleMousedownCellAreaEvent)return M.handleMousedownCellAreaEvent(e,t);o&&n.range&&d(e,t),r&&a.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
@@ -56,7 +56,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
56
56
  computeRowDragOpts,
57
57
  computeColumnDragOpts,
58
58
  computeLeftFixedWidth,
59
- computeRightFixedWidth
59
+ computeRightFixedWidth,
60
+ computeResizableOpts
60
61
  } = $xeTable.getComputeMaps();
61
62
  const refElem = (0, _vue.ref)();
62
63
  const refBodyScroll = (0, _vue.ref)();
@@ -73,11 +74,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
73
74
  } = tableProps;
74
75
  const {
75
76
  lastScrollTime,
76
- _isResize
77
+ isDragResize
77
78
  } = tableReactData;
78
- return !!(_isResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
79
+ return !!(isDragResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
79
80
  };
80
- const renderLine = params => {
81
+ const renderLine = (params, cellHeight) => {
81
82
  const {
82
83
  row,
83
84
  column
@@ -110,11 +111,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
110
111
  const isFirstRow = $xeTable.eqRow(afterFullData[0], row);
111
112
  if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
112
113
  return [(0, _vue.h)('div', {
114
+ key: 'tl',
113
115
  class: 'vxe-tree--line-wrapper'
114
116
  }, [(0, _vue.h)('div', {
115
117
  class: 'vxe-tree--line',
116
118
  style: {
117
119
  height: `${isFirstRow ? 1 : (0, _util.calcTreeLine)(params, prevRow)}px`,
120
+ bottom: `-${Math.floor(cellHeight / 2)}px`,
118
121
  left: `${rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xeTable) : 0) + 16}px`
119
122
  }
120
123
  })])];
@@ -130,8 +133,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
130
133
  } = tableInternalData;
131
134
  const {
132
135
  columnKey,
136
+ resizable: allResizable,
137
+ border,
133
138
  height,
134
- showOverflow: allColumnOverflow,
135
139
  cellClassName: allCellClassName,
136
140
  cellStyle,
137
141
  align: allAlign,
@@ -139,7 +143,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
139
143
  mouseConfig,
140
144
  editConfig,
141
145
  editRules,
142
- tooltipConfig
146
+ tooltipConfig,
147
+ padding: allPadding
143
148
  } = tableProps;
144
149
  const {
145
150
  tableData,
@@ -147,7 +152,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
147
152
  currentColumn,
148
153
  scrollXLoad,
149
154
  scrollYLoad,
150
- isCalcCellHeight,
155
+ calcCellHeightFlag,
156
+ resizeHeightFlag,
151
157
  mergeList,
152
158
  editStore,
153
159
  isAllOverflow,
@@ -163,9 +169,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
163
169
  const checkboxOpts = computeCheckboxOpts.value;
164
170
  const editOpts = computeEditOpts.value;
165
171
  const tooltipOpts = computeTooltipOpts.value;
172
+ const resizableOpts = computeResizableOpts.value;
173
+ const {
174
+ isAllColumnDrag,
175
+ isAllRowDrag
176
+ } = resizableOpts;
166
177
  const rowOpts = computeRowOpts.value;
167
178
  const rowDragOpts = computeRowDragOpts.value;
168
179
  const defaultRowHeight = computeDefaultRowHeight.value;
180
+ const customCellHeight = cellOpts.height || rowOpts.height;
181
+ const currCellHeight = customCellHeight || defaultRowHeight;
169
182
  const {
170
183
  disabledMethod: dragDisabledMethod,
171
184
  isCrossDrag,
@@ -185,17 +198,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
185
198
  showOverflow,
186
199
  className,
187
200
  treeNode,
201
+ rowResize,
202
+ padding,
203
+ verticalAlign,
188
204
  slots
189
205
  } = column;
190
206
  const {
191
- verticalAlign
207
+ verticalAlign: allVerticalAlign
192
208
  } = cellOpts;
193
209
  const {
194
210
  actived
195
211
  } = editStore;
196
- const {
197
- height: customRHeight
198
- } = rowOpts;
212
+ const rowRest = fullAllDataRowIdData[rowid];
199
213
  const colid = column.id;
200
214
  const renderOpts = editRender || cellRender;
201
215
  const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
@@ -205,23 +219,27 @@ var _default = exports.default = (0, _vue.defineComponent)({
205
219
  const columnIndex = $xeTable.getColumnIndex(column);
206
220
  const _columnIndex = $xeTable.getVTColumnIndex(column);
207
221
  const isEdit = (0, _utils.isEnableConf)(editRender);
222
+ const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
208
223
  let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
209
- const cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
224
+ const isCellPadding = _xeUtils.default.eqNull(padding) ? allPadding === null ? cellOpts.padding : allPadding : padding;
225
+ const cellOverflow = _xeUtils.default.eqNull(showOverflow) ? isAllOverflow : showOverflow;
210
226
  const showEllipsis = cellOverflow === 'ellipsis';
211
227
  const showTitle = cellOverflow === 'title';
212
228
  const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
213
- // 如果表格加上 showOverflow 则不再支持列单独设置
214
- const hasEllipsis = allColumnOverflow || showTitle || showTooltip || showEllipsis;
229
+ const hasEllipsis = isAllOverflow || showTitle || showTooltip || showEllipsis;
230
+ const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
231
+ const isCsHeight = !!customCellHeight;
232
+ const isRsHeight = resizeHeight > 0;
215
233
  let isDirty;
216
234
  const tdOns = {};
217
- const rest = fullAllDataRowIdData[rowid];
218
235
  const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign;
236
+ const cellVerticalAlign = _xeUtils.default.eqNull(verticalAlign) ? allVerticalAlign : verticalAlign;
219
237
  const errorValidItem = validErrorMaps[`${rowid}:${colid}`];
220
238
  const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
221
- const attrs = {
239
+ const tdAttrs = {
222
240
  colid
223
241
  };
224
- const params = {
242
+ const cellParams = {
225
243
  $table: $xeTable,
226
244
  $grid: $xeTable.xegrid,
227
245
  isEdit: false,
@@ -249,7 +267,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
249
267
  isRowDragCell = rowDragOpts.trigger === 'row' || column.dragSort && rowDragOpts.trigger === 'cell';
250
268
  }
251
269
  if (isRowDragCell) {
252
- isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
270
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
253
271
  }
254
272
  // hover 进入事件
255
273
  if (showTitle || showTooltip || showAllTip || tooltipConfig) {
@@ -261,11 +279,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
261
279
  (0, _dom.updateCellTitle)(evnt.currentTarget, column);
262
280
  } else if (showTooltip || showAllTip) {
263
281
  // 如果配置了显示 tooltip
264
- $xeTable.triggerBodyTooltipEvent(evnt, params);
282
+ $xeTable.triggerBodyTooltipEvent(evnt, cellParams);
265
283
  }
266
284
  $xeTable.dispatchEvent('cell-mouseenter', Object.assign({
267
285
  cell: evnt.currentTarget
268
- }, params), evnt);
286
+ }, cellParams), evnt);
269
287
  };
270
288
  }
271
289
  // hover 退出事件
@@ -279,13 +297,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
279
297
  }
280
298
  $xeTable.dispatchEvent('cell-mouseleave', Object.assign({
281
299
  cell: evnt.currentTarget
282
- }, params), evnt);
300
+ }, cellParams), evnt);
283
301
  };
284
302
  }
285
303
  // 按下事件处理
286
304
  if (isRowDragCell || checkboxOpts.range || mouseConfig) {
287
305
  tdOns.onMousedown = evnt => {
288
- $xeTable.triggerCellMousedownEvent(evnt, params);
306
+ $xeTable.triggerCellMousedownEvent(evnt, cellParams);
289
307
  };
290
308
  }
291
309
  // 拖拽列事件
@@ -294,11 +312,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
294
312
  }
295
313
  // 点击事件处理
296
314
  tdOns.onClick = evnt => {
297
- $xeTable.triggerCellClickEvent(evnt, params);
315
+ $xeTable.triggerCellClickEvent(evnt, cellParams);
298
316
  };
299
317
  // 双击事件处理
300
318
  tdOns.onDblclick = evnt => {
301
- $xeTable.triggerCellDblclickEvent(evnt, params);
319
+ $xeTable.triggerCellDblclickEvent(evnt, cellParams);
302
320
  };
303
321
  // 合并行或列
304
322
  if (mergeList.length) {
@@ -312,10 +330,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
312
330
  return null;
313
331
  }
314
332
  if (rowspan > 1) {
315
- attrs.rowspan = rowspan;
333
+ tdAttrs.rowspan = rowspan;
316
334
  }
317
335
  if (colspan > 1) {
318
- attrs.colspan = colspan;
336
+ tdAttrs.colspan = colspan;
319
337
  }
320
338
  }
321
339
  } else if (spanMethod) {
@@ -323,20 +341,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
323
341
  const {
324
342
  rowspan = 1,
325
343
  colspan = 1
326
- } = spanMethod(params) || {};
344
+ } = spanMethod(cellParams) || {};
327
345
  if (!rowspan || !colspan) {
328
346
  return null;
329
347
  }
330
348
  if (rowspan > 1) {
331
- attrs.rowspan = rowspan;
349
+ tdAttrs.rowspan = rowspan;
332
350
  }
333
351
  if (colspan > 1) {
334
- attrs.colspan = colspan;
352
+ tdAttrs.colspan = colspan;
335
353
  }
336
354
  }
337
355
  // 如果被合并不可隐藏
338
356
  if (fixedHiddenColumn && mergeList) {
339
- if (attrs.colspan > 1 || attrs.rowspan > 1) {
357
+ if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
340
358
  fixedHiddenColumn = false;
341
359
  }
342
360
  }
@@ -344,38 +362,67 @@ var _default = exports.default = (0, _vue.defineComponent)({
344
362
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
345
363
  isDirty = $xeTable.isUpdateByRow(row, column.field);
346
364
  }
365
+ const isVNAutoHeight = scrollYLoad && !hasEllipsis;
366
+ let cellHeight = currCellHeight;
367
+ const vnHeight = calcCellHeightFlag ? rowRest.height : 0;
368
+ if (resizeHeight) {
369
+ cellHeight = resizeHeight;
370
+ } else {
371
+ if (scrollYLoad) {
372
+ if (!hasEllipsis) {
373
+ cellHeight = vnHeight || currCellHeight;
374
+ }
375
+ }
376
+ }
377
+ const isLastColumn = $columnIndex === columns.length - 1;
378
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
379
+ let isVNPreEmptyStatus = false;
380
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
381
+ isVNPreEmptyStatus = true;
382
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
383
+ isVNPreEmptyStatus = true;
384
+ }
385
+ const tcStyle = {};
386
+ if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
387
+ tcStyle.height = `${cellHeight}px`;
388
+ } else {
389
+ tcStyle.minHeight = `${cellHeight}px`;
390
+ }
347
391
  const tdVNs = [];
348
- if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
392
+ if (fixedHiddenColumn && isAllOverflow) {
349
393
  tdVNs.push((0, _vue.h)('div', {
394
+ key: 'tc',
350
395
  class: ['vxe-cell', {
351
396
  'c--title': showTitle,
352
397
  'c--tooltip': showTooltip,
353
398
  'c--ellipsis': showEllipsis
354
399
  }],
355
- style: {
356
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
357
- }
400
+ style: tcStyle
358
401
  }));
359
402
  } else {
360
403
  // 渲染单元格
361
- tdVNs.push(...renderLine(params), (0, _vue.h)('div', {
404
+ tdVNs.push(...renderLine(cellParams, cellHeight), (0, _vue.h)('div', {
405
+ key: 'tc',
362
406
  class: ['vxe-cell', {
363
407
  'c--title': showTitle,
364
408
  'c--tooltip': showTooltip,
365
409
  'c--ellipsis': showEllipsis
366
410
  }],
367
- style: {
368
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
369
- },
411
+ style: tcStyle,
370
412
  title: showTitle ? $xeTable.getCellLabel(row, column) : null
371
- }, column.renderCell(params)));
413
+ }, isVNPreEmptyStatus ? [] : [(0, _vue.h)('div', {
414
+ colid,
415
+ rowid,
416
+ class: 'vxe-cell--wrapper'
417
+ }, column.renderCell(cellParams))]));
372
418
  if (showValidTip && errorValidItem) {
373
419
  const errRule = errorValidItem.rule;
374
420
  const validSlot = slots ? slots.valid : null;
375
- const validParams = Object.assign(Object.assign(Object.assign({}, params), errorValidItem), {
421
+ const validParams = Object.assign(Object.assign(Object.assign({}, cellParams), errorValidItem), {
376
422
  rule: errorValidItem
377
423
  });
378
424
  tdVNs.push((0, _vue.h)('div', {
425
+ key: 'tcv',
379
426
  class: ['vxe-cell--valid-error-tip', (0, _dom.getPropClass)(validOpts.className, validParams)],
380
427
  style: errRule && errRule.maxWidth ? {
381
428
  width: `${errRule.maxWidth}px`
@@ -387,56 +434,54 @@ var _default = exports.default = (0, _vue.defineComponent)({
387
434
  }, errorValidItem.content)]])]));
388
435
  }
389
436
  }
390
- let cellHeight = '';
391
- const vnHeight = isCalcCellHeight ? rest.height : 0;
392
- if (hasEllipsis) {
393
- if (customRHeight) {
394
- cellHeight = `${customRHeight}px`;
395
- } else if (!isAllOverflow) {
396
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
397
- }
398
- } else {
399
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
400
- }
437
+ let showAreaRowStatus = false;
401
438
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
402
- if (!$columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
403
- tdVNs.push((0, _vue.h)('div', {
404
- class: 'vxe-cell--area-status'
405
- }));
439
+ if (!_columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
440
+ showAreaRowStatus = true;
406
441
  }
407
442
  }
408
- const isLastColumn = $columnIndex === columns.length - 1;
409
- const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
410
- let isPreLoadStatus = false;
411
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex || _rowIndex > scrollYStore.visibleEndIndex)) {
412
- isPreLoadStatus = true;
413
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
414
- isPreLoadStatus = true;
443
+ if (!fixedHiddenColumn && showResizable && isAllColumnDrag) {
444
+ tdVNs.push((0, _vue.h)('div', {
445
+ key: 'tcc',
446
+ class: ['vxe-cell--col-resizable', {
447
+ 'is--line': !border || border === 'none'
448
+ }],
449
+ onMousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
450
+ onDblclick: evnt => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
451
+ }));
452
+ }
453
+ if ((rowResize || isAllRowDrag) && rowOpts.resizable) {
454
+ tdVNs.push((0, _vue.h)('div', {
455
+ key: 'tcr',
456
+ class: 'vxe-cell--row-resizable',
457
+ onMousedown: evnt => $xeTable.handleRowResizeMousedownEvent(evnt, cellParams),
458
+ onDblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
459
+ }));
415
460
  }
416
461
  return (0, _vue.h)('td', Object.assign(Object.assign(Object.assign({
417
- class: ['vxe-body--column', colid, {
418
- [`col--${cellAlign}`]: cellAlign,
419
- [`col--vertical-${verticalAlign}`]: verticalAlign,
420
- [`col--${type}`]: type,
462
+ class: ['vxe-body--column', colid, cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : '', cellAlign ? `col--${cellAlign}` : '', type ? `col--${type}` : '', {
421
463
  'col--last': isLastColumn,
422
464
  'col--tree-node': treeNode,
423
465
  'col--edit': isEdit,
424
466
  'col--ellipsis': hasEllipsis,
467
+ 'col--cs-height': isCsHeight,
468
+ 'col--rs-height': isRsHeight,
469
+ 'col--to-row': showAreaRowStatus,
470
+ 'col--auto-height': isVNAutoHeight,
425
471
  'fixed--width': !isAutoCellWidth,
426
472
  'fixed--hidden': fixedHiddenColumn,
473
+ 'is--padding': isCellPadding,
427
474
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
428
475
  'is--drag-disabled': isDisabledDrag,
429
476
  'col--dirty': isDirty,
430
477
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
431
478
  'col--valid-error': !!errorValidItem,
432
479
  'col--current': currentColumn === column
433
- }, (0, _dom.getPropClass)(compCellClassName, params), (0, _dom.getPropClass)(className, params), (0, _dom.getPropClass)(allCellClassName, params)],
480
+ }, (0, _dom.getPropClass)(compCellClassName, cellParams), (0, _dom.getPropClass)(className, cellParams), (0, _dom.getPropClass)(allCellClassName, cellParams)],
434
481
  key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? colid : $columnIndex
435
- }, attrs), {
436
- style: Object.assign({
437
- height: cellHeight
438
- }, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(params) : cellStyle)
439
- }), tdOns), isPreLoadStatus || isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
482
+ }, tdAttrs), {
483
+ style: Object.assign({}, _xeUtils.default.isFunction(compCellStyle) ? compCellStyle(cellParams) : compCellStyle, _xeUtils.default.isFunction(cellStyle) ? cellStyle(cellParams) : cellStyle)
484
+ }), tdOns), isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
440
485
  };
441
486
  const renderRows = (fixedType, isOptimizeMode, tableData, tableColumn) => {
442
487
  const {
@@ -445,15 +490,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
445
490
  highlightHoverRow,
446
491
  rowClassName,
447
492
  rowStyle,
448
- showOverflow: allColumnOverflow,
449
493
  editConfig,
450
494
  treeConfig
451
495
  } = tableProps;
452
496
  const {
453
497
  hasFixedColumn,
454
498
  treeExpandedMaps,
499
+ isColLoading,
455
500
  scrollXLoad,
456
501
  scrollYLoad,
502
+ isAllOverflow,
457
503
  rowExpandedMaps,
458
504
  expandColumn,
459
505
  selectRadioRow,
@@ -557,7 +603,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
557
603
  const tdVNs = tableColumn.map((column, $columnIndex) => {
558
604
  return renderTdColumn(seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
559
605
  });
560
- rows.push(columnOpts.drag && columnDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, Object.assign({
606
+ rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, Object.assign({
561
607
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
562
608
  tag: 'tr',
563
609
  class: trClass,
@@ -589,7 +635,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
589
635
  const {
590
636
  showOverflow
591
637
  } = expandColumn;
592
- const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
638
+ const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
593
639
  const expandParams = {
594
640
  $table: $xeTable,
595
641
  seq,
@@ -676,7 +722,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
676
722
  tableColumn
677
723
  } = props;
678
724
  const {
679
- showOverflow: allColumnOverflow,
680
725
  spanMethod,
681
726
  footerSpanMethod,
682
727
  mouseConfig
@@ -684,6 +729,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
684
729
  const {
685
730
  isGroup,
686
731
  tableData,
732
+ isRowLoading,
733
+ isColLoading,
687
734
  scrollXLoad,
688
735
  scrollYLoad,
689
736
  isAllOverflow,
@@ -707,7 +754,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
707
754
  let renderColumnList = tableColumn;
708
755
  let isOptimizeMode = false;
709
756
  // 如果是使用优化模式
710
- if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
757
+ if (scrollXLoad || scrollYLoad || isAllOverflow) {
711
758
  if (expandColumn || spanMethod || footerSpanMethod) {
712
759
  // 如果不支持优化模式
713
760
  } else {
@@ -825,9 +872,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
825
872
  });
826
873
  })),
827
874
  /**
828
- * 内容
829
- */
830
- rowOpts.drag && rowDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, {
875
+ * 内容
876
+ */
877
+ !(isRowLoading || isColLoading) && rowOpts.drag && rowDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, {
831
878
  ref: refBodyTBody,
832
879
  name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`,
833
880
  tag: 'tbody'
@@ -860,6 +907,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
860
907
  class: 'vxe-table--cell-multi-area'
861
908
  }), (0, _vue.h)('span', {
862
909
  class: 'vxe-table--cell-active-area'
910
+ }), (0, _vue.h)('span', {
911
+ class: 'vxe-table--cell-row-status-area'
863
912
  })]) : renderEmptyElement($xeTable), !fixedType ? (0, _vue.h)('div', {
864
913
  class: 'vxe-table--empty-block',
865
914
  ref: refBodyEmptyBlock
@@ -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 De=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Ee,context:$,reactData:Oe,internalData:Re}=De,{computeEditOpts:Ie,computeMouseOpts:Se,computeAreaOpts:Te,computeDefaultRowHeight:Me,computeEmptyOpts:k,computeTooltipOpts:$e,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:u,computeCheckboxOpts:ke,computeCellOpts:qe,computeValidOpts:Ue,computeRowOpts:je,computeColumnOpts:Ae,computeRowDragOpts:Le,computeColumnDragOpts:l,computeLeftFixedWidth:q,computeRightFixedWidth:U}=De.getComputeMaps(),j=(0,_vue.ref)(),A=(0,_vue.ref)(),L=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),H=(0,_vue.ref)(),W=(0,_vue.ref)(),Fe=()=>{var e=Ee.delayHover,{lastScrollTime:l,_isResize:t}=Oe;return!!(t||l&&Date.now()<l+e)},Ne=e=>{var{row:l,column:t}=e,a=Re.afterFullData,r=Ee.treeConfig,o=u.value,{slots:t,treeNode:i}=t,s=Re.fullAllDataRowIdData;if(t&&t.line)return De.callSlot(t.line,e);t=s[(0,_util.getRowid)(De,l)];let n=0,d=null;t&&(n=t.level,d=t.items[t.treeIndex-1]);s=De.eqRow(a[0],l);return r&&i&&(o.showLine||o.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${s?1:(0,_util.calcTreeLine)(e,d)}px`,left:n*o.indent+(n?2-(0,_util.getOffsetSize)(De):0)+16+"px"}})])]:[]},Q=(e,l,t,j,A,a,r,o,i,s,n,L,d)=>{var F=Re.fullAllDataRowIdData,{columnKey:N,height:u,showOverflow:c,cellClassName:B,cellStyle:v,align:H,spanMethod:W,mouseConfig:P,editConfig:K,editRules:p,tooltipConfig:V}=Ee,{tableData:g,overflowX:x,currentColumn:X,scrollXLoad:Y,scrollYLoad:z,isCalcCellHeight:G,mergeList:h,editStore:J,isAllOverflow:Q,validErrorMaps:m}=Oe,{afterFullData:w,scrollXStore:Z,scrollYStore:ee}=Re,le=qe.value,_=Ue.value,te=ke.value,ae=Ie.value,f=$e.value,re=je.value,y=Le.value,b=Me.value,{disabledMethod:oe,isCrossDrag:ie,isPeerDrag:se}=y,ne=Ae.value,de=Se.value,ue=Te.value.selectCellToRow,{type:ce,cellRender:ve,editRender:pe,align:ge,showOverflow:C,className:xe,treeNode:he,slots:me}=s,le=le.verticalAlign,J=J.actived,D=re.height,E=s.id,O=pe||ve,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:null,_e=O?O.tableCellStyle||O.cellStyle:"";let R=f.showAll;var f=De.getColumnIndex(s),I=De.getVTColumnIndex(s),fe=(0,_utils.isEnableConf)(pe);let S=t?s.fixed!==t:s.fixed&&x;x=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?c:C,C="ellipsis"===x;let T="title"===x,M=!0===x||"tooltip"===x;x=c||T||M||C;let ye;var $={},F=F[l],ge=ge||(O?O.tableCellAlign:"")||H,O=m[l+":"+E],H=p&&_.showMessage&&("default"===_.message?u||1<g.length:"inline"===_.message),m={colid:E};let k={$table:De,$grid:De.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:o,_rowIndex:i,column:s,columnIndex:f,$columnIndex:n,_columnIndex:I,fixed:t,type:renderType,isHidden:!!S,level:A,visibleData:w,data:g,items:d},q=!1,be=!1;if((q=re.drag?"row"===y.trigger||s.dragSort&&"cell"===y.trigger:q)&&(be=!(!oe||!oe(k))),(T||M||R||V)&&($.onMouseenter=e=>{Fe()||(T?(0,_dom.updateCellTitle)(e.currentTarget,s):(M||R)&&De.triggerBodyTooltipEvent(e,k),De.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(M||R||V)&&($.onMouseleave=e=>{Fe()||((M||R)&&De.handleTargetLeaveEvent(e),De.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(q||te.range||P)&&($.onMousedown=e=>{De.triggerCellMousedownEvent(e,k)}),q&&($.onMouseup=De.triggerCellMouseupEvent),$.onClick=e=>{De.triggerCellClickEvent(e,k)},$.onDblclick=e=>{De.triggerCellDblclickEvent(e,k)},h.length){p=(0,_util.mergeBodyMethod)(h,i,I);if(p){var{rowspan:u,colspan:e}=p;if(!u||!e)return null;1<u&&(m.rowspan=u),1<e&&(m.colspan=e)}}else if(W){var{rowspan:l=1,colspan:r=1}=W(k)||{};if(!l||!r)return null;1<l&&(m.rowspan=l),1<r&&(m.colspan=r)}!(S=S&&h&&(1<m.colspan||1<m.rowspan)?!1:S)&&K&&(pe||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(ye=De.isUpdateByRow(a,s.field));o=[];S&&c&&Q?o.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":C}],style:{maxHeight:x&&(D||b)?`${D||b}px`:""}})):(o.push(...Ne(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":C}],style:{maxHeight:x&&(D||b)?`${D||b}px`:""},title:T?De.getCellLabel(a,s):null},s.renderCell(k))),H&&O&&(f=O.rule,t=me?me.valid:null,w=Object.assign(Object.assign(Object.assign({},k),O),{rule:O}),o.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,w)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[t?De.callSlot(t,w):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let U="";g=G?F.height:0,x?D?U=D+"px":Q||(U=`${g||b||18}px`):U=`${g||b||18}px`,P&&de.area&&ue&&((n||!0!==ue)&&ue!==s.field||o.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),d=n===L.length-1,y=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Ce=!1;return(z&&(i<ee.visibleStartIndex||i>ee.visibleEndIndex)||Y&&!s.fixed&&(I<Z.visibleStartIndex||I>Z.visibleEndIndex))&&(Ce=!0),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",E,{["col--"+ge]:ge,["col--vertical-"+le]:le,["col--"+ce]:ce,"col--last":d,"col--tree-node":he,"col--edit":fe,"col--ellipsis":x,"fixed--width":!y,"fixed--hidden":S,"is--drag-cell":q&&(ie||se||!A),"is--drag-disabled":be,"col--dirty":ye,"col--active":K&&fe&&J.row===a&&(J.column===s||"row"===ae.mode),"col--valid-error":!!O,"col--current":X===s},(0,_dom.getPropClass)(we,k),(0,_dom.getPropClass)(xe,k),(0,_dom.getPropClass)(B,k)],key:N||Y||z||ne.useKey||re.useKey||ne.drag?E:n},m),{style:Object.assign({height:U},_xeUtils.default.isFunction(_e)?_e(k):_e,_xeUtils.default.isFunction(v)?v(k):v)}),$),Ce||j&&S?[]:o)},J=(m,w,_,f)=>{let{stripe:y,rowKey:b,highlightHoverRow:C,rowClassName:D,rowStyle:E,showOverflow:O,editConfig:R,treeConfig:I}=Ee,{hasFixedColumn:S,treeExpandedMaps:T,scrollXLoad:M,scrollYLoad:$,rowExpandedMaps:k,expandColumn:q,selectRadioRow:U,pendingRowMaps:j,isDragColMove:A}=Oe,L=Re.fullAllDataRowIdData,F=ke.value,N=e.value,B=u.value,H=Ie.value,W=je.value,P=Ae.value,K=l.value,{transform:V,seqMode:X}=B,Y=B.children||B.childrenField,z=[];return _.forEach((t,a)=>{var e={};let r,o=(r=De.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Fe()||De.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Fe()||De.clearHoverRow()}),(0,_util.getRowid)(De,t));var l=L[o];let i=0,s=-1,n=0;l&&(i=l.level,s=I&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:De,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=q&&!!k[o];let u=!1,c=[],v=!1;R&&(v=De.isInsertByRow(t)),!I||$||V||(c=t[Y],u=c&&0<c.length&&!!T[o]),!W.drag||I&&!V||(e.onDragstart=De.handleRowDragDragstartEvent,e.onDragend=De.handleRowDragDragendEvent,e.onDragover=De.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",I?"row--level-"+i:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(H.showStatus||H.showInsertStatus),"row--radio":N.highlight&&De.eqRow(U,t),"row--checked":F.highlight&&De.isCheckedByCheckboxRow(t),"row--pending":!!j[o]},(0,_dom.getPropClass)(D,l)];let h=f.map((e,l)=>Q(s,o,m,w,i,t,r,a,n,e,l,f,_));z.push(P.drag&&K.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(A?"":"-disabled"),tag:"tr",class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||$||W.useKey||W.drag||P.drag||I?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||$||W.useKey||W.drag||P.drag||I?o:a},e),h)),d&&({height:x,padding:l}=G.value,d={},p=(x&&(d.height=x+"px"),I&&(d.paddingLeft=i*B.indent+30+"px"),q).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?O:p,g={$table:De,seq:s,column:q,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},z.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:E?_xeUtils.default.isFunction(E)?E(g):E:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!S,"col--ellipsis":p},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[q.renderData(g)])])]))),u&&z.push(...J(m,w,c,f))}),z};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Re.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=j,l[e+"scroll"]=A,l[e+"table"]=L,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=B,l[e+"ySpace"]=H,l[e+"emptyBlock"]=W})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Re.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=$.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{showOverflow:r,spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ee,{isGroup:n,tableData:d,scrollXLoad:u,scrollYLoad:c,isAllOverflow:v,isDragRowMove:p,expandColumn:g,dragRow:x,dragCol:h}=Oe,{visibleColumn:m,fullAllDataRowIdData:w,fullColumnIdData:_}=Re,f=je.value,y=k.value,b=Se.value,C=Le.value,D=q.value,E=U.value;let O=d,R=a,I=!(u||c||r&&v)||g||o||i?!1:!0;t&&(R=m,I)&&(R=l||[]),c&&x&&2<O.length&&(d=w[(0,_util.getRowid)(De,x)])&&(r=d._index,v=O[0],g=O[O.length-1],o=w[(0,_util.getRowid)(De,v)],i=w[(0,_util.getRowid)(De,g)],o)&&i&&(m=o._index,d=i._index,r<m?O=[x].concat(O):d<r&&(O=O.concat([x]))),t||n||u&&h&&2<R.length&&(v=_[h.id])&&(w=v._index,g=R[0],o=R[R.length-1],i=_[g.id],m=_[o.id],i)&&m&&(d=i._index,r=m._index,w<d?R=[h].concat(R):r<w&&(R=R.concat([h])));let S;x=e?e.empty:null,S=x?De.callSlot(x,{$table:De,$grid:De.xegrid}):(u=(n=y.name?renderer.get(y.name):null)?n.renderTableEmpty||n.renderTableEmptyView||n.renderEmpty:null)?(0,_vn.getSlotVNs)(u(y,{$table:De})):Ee.emptyText||getI18n("vxe.table.emptyText"),v={onScroll(e){De.triggerBodyScrollEvent(e,t)}};return(c||D||E)&&(v.onWheel=De.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:j,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:A,class:"vxe-table--body-inner-wrapper"},v),[t?renderEmptyElement(De):(0,_vue.h)("div",{ref:B,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:L,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),f.drag&&C.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(p?"":"-disabled"),tag:"tbody"},{default:()=>J(t,I,O,R)}):(0,_vue.h)("tbody",{ref:N},J(t,I,O,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&b.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},b.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){De.triggerCellAreaExtendMousedownEvent&&De.triggerCellAreaExtendMousedownEvent(e,{$table:De,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"})]):renderEmptyElement(De),t?renderEmptyElement(De):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},S)])])])}}});
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:Fe,computeEmptyOpts:q,computeTooltipOpts:Ne,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Be,computeCellOpts:He,computeValidOpts:We,computeRowOpts:Pe,computeColumnOpts:Ke,computeRowDragOpts:Ve,computeColumnDragOpts:l,computeLeftFixedWidth:A,computeRightFixedWidth:$,computeResizableOpts:Xe}=ze.getComputeMaps(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),H=(0,_vue.ref)(),W=(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,r=$e.afterFullData,o=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(r[0],t);return o&&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"}})])]:[]},Z=(e,l,t,$,U,a,r,L,o,i,j,F,s)=>{var N=$e.fullAllDataRowIdData,{columnKey:B,resizable:n,border:H,height:d,cellClassName:W,cellStyle:P,align:u,spanMethod:K,mouseConfig:V,editConfig:X,editRules:c,tooltipConfig:v,padding:p}=qe,{tableData:g,overflowX:Y,currentColumn:G,scrollXLoad:J,scrollYLoad:x,calcCellHeightFlag:Q,resizeHeightFlag:h,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:m}=Ae,{afterFullData:te,scrollXStore:w,scrollYStore:_}=$e,b=He.value,f=We.value,ae=Be.value,re=Ue.value,oe=Ne.value,{isAllColumnDrag:ie,isAllRowDrag:se}=Xe.value,ne=Pe.value,y=Ve.value,de=Fe.value,C=b.height||ne.height,de=C||de,{disabledMethod:D,isCrossDrag:ue,isPeerDrag:ce}=y,ve=Ke.value,pe=Le.value,ge=je.value.selectCellToRow,{type:xe,cellRender:he,editRender:me,align:we,showOverflow:_e,className:be,treeNode:fe,rowResize:ye,padding:R,verticalAlign:E,slots:Ce}=i,De=b.verticalAlign,ee=ee.actived,N=N[l],O=i.id,M=me||he,M=M?renderer.get(M.name):null,Re=M?M.tableCellClassName||M.cellClassName:null,Ee=M?M.tableCellStyle||M.cellStyle:"";let Oe=oe.showAll;var oe=ze.getColumnIndex(i),S=ze.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),h=h?N.resizeHeight:0;let I=t?i.fixed!==t:i.fixed&&Y;Y=_xeUtils.default.eqNull(R)?null===p?b.padding:p:R,b=_xeUtils.default.eqNull(_e)?le:_e,p="ellipsis"===b;let T="title"===b,k=!0===b||"tooltip"===b;R=le||T||k||p,_e=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||n,b=!!C,n=0<h;let Se;C={},we=we||(M?M.tableCellAlign:"")||u,M=_xeUtils.default.eqNull(E)?De:E,u=m[l+":"+O],De=c&&f.showMessage&&("default"===f.message?d||1<g.length:"inline"===f.message),E={colid:O};let z={$table:ze,$grid:ze.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:L,_rowIndex:o,column:i,columnIndex:oe,$columnIndex:j,_columnIndex:S,fixed:t,type:renderType,isHidden:!!I,level:U,visibleData:te,data:g,items:s},q=!1,Ie=!1;if((q=ne.drag?"row"===y.trigger||i.dragSort&&"cell"===y.trigger:q)&&(Ie=!(!D||!D(z))),(T||k||Oe||v)&&(C.onMouseenter=e=>{Ye()||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Oe)&&ze.triggerBodyTooltipEvent(e,z),ze.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Oe||v)&&(C.onMouseleave=e=>{Ye()||((k||Oe)&&ze.handleTargetLeaveEvent(e),ze.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),(q||ae.range||V)&&(C.onMousedown=e=>{ze.triggerCellMousedownEvent(e,z)}),q&&(C.onMouseup=ze.triggerCellMouseupEvent),C.onClick=e=>{ze.triggerCellClickEvent(e,z)},C.onDblclick=e=>{ze.triggerCellDblclickEvent(e,z)},Z.length){m=(0,_util.mergeBodyMethod)(Z,o,S);if(m){var{rowspan:c,colspan:d}=m;if(!c||!d)return null;1<c&&(E.rowspan=c),1<d&&(E.colspan=d)}}else if(K){var{rowspan:e=1,colspan:r=1}=K(z)||{};if(!e||!r)return null;1<e&&(E.rowspan=e),1<r&&(E.colspan=r)}!(I=I&&Z&&(1<E.colspan||1<E.rowspan)?!1:I)&&X&&(me||he)&&(re.showStatus||re.showUpdateStatus)&&(Se=ze.isUpdateByRow(a,i.field));L=x&&!R;let A=de;oe=Q?N.height:0,h?A=h:x&&!R&&(A=oe||de),te=j===F.length-1,g=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Te=!1;(x&&(o<_.visibleStartIndex-_.preloadSize||o>_.visibleEndIndex+_.preloadSize)||J&&!i.fixed&&(S<w.visibleStartIndex-w.preloadSize||S>w.visibleEndIndex+w.preloadSize))&&(Te=!0);s={},x||R||b||n?s.height=A+"px":s.minHeight=A+"px",y=[];I&&le?y.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":p}],style:s})):(y.push(...Ge(z,A),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":p}],style:s,title:T?ze.getCellLabel(a,i):null},Te?[]:[(0,_vue.h)("div",{colid:O,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(z))])),De&&u&&(D=u.rule,v=Ce?Ce.valid:null,ae=Object.assign(Object.assign(Object.assign({},z),u),{rule:u}),y.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,ae)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[v?ze.callSlot(v,ae):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let ke=!1;return V&&pe.area&&ge&&((S||!0!==ge)&&ge!==i.field||(ke=!0)),!I&&_e&&ie&&y.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!H||"none"===H}],onMousedown:e=>ze.handleColResizeMousedownEvent(e,t,z),onDblclick:e=>ze.handleColResizeDblclickEvent(e,z)})),(ye||se)&&ne.resizable&&y.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>ze.handleRowResizeMousedownEvent(e,z),onDblclick:e=>ze.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,M?"col--vertical-"+M:"",we?"col--"+we:"",xe?"col--"+xe:"",{"col--last":te,"col--tree-node":fe,"col--edit":Me,"col--ellipsis":R,"col--cs-height":b,"col--rs-height":n,"col--to-row":ke,"col--auto-height":L,"fixed--width":!g,"fixed--hidden":I,"is--padding":Y,"is--drag-cell":q&&(ue||ce||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":X&&Me&&ee.row===a&&(ee.column===i||"row"===re.mode),"col--valid-error":!!u,"col--current":G===i},(0,_dom.getPropClass)(Re,z),(0,_dom.getPropClass)(be,z),(0,_dom.getPropClass)(W,z)],key:B||J||x||ve.useKey||ne.useKey||ve.drag?O:j},E),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(z):Ee,_xeUtils.default.isFunction(P)?P(z):P)}),C),$&&I?[]:y)},Q=(m,w,_,b)=>{let{stripe:f,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=qe,{hasFixedColumn:M,treeExpandedMaps:S,isColLoading:I,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedMaps:q,expandColumn:A,selectRadioRow:$,pendingRowMaps:U,isDragColMove:L}=Ae,j=$e.fullAllDataRowIdData,F=Be.value,N=e.value,B=c.value,H=Ue.value,W=Pe.value,P=Ke.value,K=l.value,{transform:V,seqMode:X}=B,Y=B.children||B.childrenField,G=[];return _.forEach((t,a)=>{var e={};let r,o=(r=ze.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Ye()||ze.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Ye()||ze.clearHoverRow()}),(0,_util.getRowid)(ze,t));var l=j[o];let i=0,s=-1,n=0;l&&(i=l.level,s=O&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:ze,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=A&&!!q[o];let u=!1,c=[],v=!1;E&&(v=ze.isInsertByRow(t)),!O||k||V||(c=t[Y],u=c&&0<c.length&&!!S[o]),!W.drag||O&&!V||(e.onDragstart=ze.handleRowDragDragstartEvent,e.onDragend=ze.handleRowDragDragendEvent,e.onDragover=ze.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",O?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(H.showStatus||H.showInsertStatus),"row--radio":N.highlight&&ze.eqRow($,t),"row--checked":F.highlight&&ze.isCheckedByCheckboxRow(t),"row--pending":!!U[o]},(0,_dom.getPropClass)(D,l)];let h=b.map((e,l)=>Z(s,o,m,w,i,t,r,a,n,e,l,b,_));G.push(!I&&P.drag&&K.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(L?"":"-disabled"),tag:"tr",class:x,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),h)),d&&({height:x,padding:l}=J.value,d={},p=(x&&(d.height=x+"px"),O&&(d.paddingLeft=i*B.indent+30+"px"),A).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p,g={$table:ze,seq:s,column:A,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:R?_xeUtils.default.isFunction(R)?R(g):R:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!M,"col--ellipsis":p},colspan:b.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[A.renderData(g)])])]))),u&&G.push(...Q(m,w,c,b))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=$e.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=U,l[e+"scroll"]=L,l[e+"table"]=j,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=B,l[e+"ySpace"]=H,l[e+"emptyBlock"]=W})}),(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:r,footerSpanMethod:o,mouseConfig:i}=qe,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,scrollXLoad:c,scrollYLoad:v,isAllOverflow:p,isDragRowMove:g,expandColumn:x,dragRow:h,dragCol:m}=Ae,{visibleColumn:w,fullAllDataRowIdData:_,fullColumnIdData:b}=$e,f=Pe.value,y=q.value,C=Le.value,D=Ve.value,R=A.value,E=$.value;let O=n,M=a,S=!(c||v||p)||x||r||o?!1:!0;t&&(M=w,S)&&(M=l||[]),v&&h&&2<O.length&&(n=_[(0,_util.getRowid)(ze,h)])&&(p=n._index,x=O[0],r=O[O.length-1],o=_[(0,_util.getRowid)(ze,x)],w=_[(0,_util.getRowid)(ze,r)],o)&&w&&(n=o._index,x=w._index,p<n?O=[h].concat(O):x<p&&(O=O.concat([h]))),t||s||c&&m&&2<M.length&&(_=b[m.id])&&(r=_._index,o=M[0],w=M[M.length-1],n=b[o.id],x=b[w.id],n)&&x&&(p=n._index,h=x._index,r<p?M=[m].concat(M):h<r&&(M=M.concat([m])));let I;s=e?e.empty:null,I=s?ze.callSlot(s,{$table:ze,$grid:ze.xegrid}):(_=(c=y.name?renderer.get(y.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(_(y,{$table:ze})):qe.emptyText||getI18n("vxe.table.emptyText"),o={onScroll(e){ze.triggerBodyScrollEvent(e,t)}};return(v||R||E)&&(o.onWheel=ze.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:U,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:L,class:"vxe-table--body-inner-wrapper"},o),[t?renderEmptyElement(ze):(0,_vue.h)("div",{ref:B,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:j,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&f.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(g?"":"-disabled"),tag:"tbody"},{default:()=>Q(t,S,O,M)}):(0,_vue.h)("tbody",{ref:N},Q(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&C.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},C.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:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});