vxe-table 4.11.18 → 4.11.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 (41) hide show
  1. package/es/grid/src/grid.js +45 -34
  2. package/es/style.css +1 -1
  3. package/es/table/module/keyboard/hook.js +30 -1
  4. package/es/table/src/body.js +11 -6
  5. package/es/table/src/footer.js +7 -2
  6. package/es/table/src/table.js +164 -48
  7. package/es/table/src/util.js +13 -3
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/grid/src/grid.js +43 -39
  11. package/lib/grid/src/grid.min.js +1 -1
  12. package/lib/index.umd.js +293 -104
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/style.css +1 -1
  15. package/lib/table/module/keyboard/hook.js +31 -1
  16. package/lib/table/module/keyboard/hook.min.js +1 -1
  17. package/lib/table/src/body.js +10 -5
  18. package/lib/table/src/body.min.js +1 -1
  19. package/lib/table/src/footer.js +7 -2
  20. package/lib/table/src/footer.min.js +1 -1
  21. package/lib/table/src/table.js +184 -49
  22. package/lib/table/src/table.min.js +1 -1
  23. package/lib/table/src/util.js +16 -6
  24. package/lib/table/src/util.min.js +1 -1
  25. package/lib/ui/index.js +1 -1
  26. package/lib/ui/index.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/package.json +2 -2
  30. package/packages/grid/src/grid.ts +49 -40
  31. package/packages/table/module/keyboard/hook.ts +29 -2
  32. package/packages/table/src/body.ts +10 -5
  33. package/packages/table/src/footer.ts +7 -2
  34. package/packages/table/src/table.ts +167 -50
  35. package/packages/table/src/util.ts +15 -3
  36. /package/es/{iconfont.1741224125327.ttf → iconfont.1741665718304.ttf} +0 -0
  37. /package/es/{iconfont.1741224125327.woff → iconfont.1741665718304.woff} +0 -0
  38. /package/es/{iconfont.1741224125327.woff2 → iconfont.1741665718304.woff2} +0 -0
  39. /package/lib/{iconfont.1741224125327.ttf → iconfont.1741665718304.ttf} +0 -0
  40. /package/lib/{iconfont.1741224125327.woff → iconfont.1741665718304.woff} +0 -0
  41. /package/lib/{iconfont.1741224125327.woff2 → iconfont.1741665718304.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 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.handleMousedownCellAreaEvent)return M.handleMousedownCellAreaEvent(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 n,r,u=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(u&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,u&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(y){let{props:E,reactData:D,internalData:O}=y,S=y.getRefMaps().refElem,{computeEditOpts:g,computeCheckboxOpts:i,computeMouseOpts:c,computeTreeOpts:d,computeRowOpts:H,computeCellOpts:V,computeDefaultRowHeight:q}=y.getComputeMaps();let s=(e,M)=>{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:n,cell:r}=M;if("checkbox"===n.type){let k=l;if(o&&"left"===n.fixed?k=o:t&&"right"===n.fixed&&(k=t),k){let t=S.value,a=e.clientX,i=e.clientY,c=k.querySelector(".vxe-table--checkbox-range"),d=r.parentElement,s=y.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,k);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,p=k.scrollTop,u=d.offsetHeight,v=d.getBoundingClientRect(),x=i-v.y,w=null,C=!1,b=1,R=(e,t)=>{y.dispatchEvent("checkbox-range-"+e,{records:y.getCheckboxRecords(),reserves:y.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-a,l=l-i+(k.scrollTop-p);let o=Math.abs(l),n=Math.abs(t),r=f,u=m;l<h?(r+=l)<h&&(r=h,o=f):o=Math.min(o,k.scrollHeight-f-h),t<h?(u+=t,n>m&&(u=h,n=m)):n=Math.min(n,k.clientWidth-m-h),c.style.height=o+"px",c.style.width=n+"px",c.style.left=u+"px",c.style.top=r+"px",c.style.display="block";t=((e,t,l,o,n)=>{var r=E.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:a}=O,i=H.value,c=V.value,d=q.value,e=e.row;let s=0,g=[],h=0;var f=0<n,m=D.scrollYLoad,p=O.afterFullData;if(h=f?o+n:l.height-o+Math.abs(n),m){l=y.getVTRowIndex(e);if(!(a||c.height||i.height)&&r)g=f?p.slice(l,l+Math.ceil(h/d)):p.slice(l-Math.floor(h/d),l+1);else if(f)for(let e=l;e<p.length;e++){var v=p[e],x=u[y.getRowid(v)]||{};if(s+=x.resizeHeight||c.height||i.height||x.height||d,g.push(v),s>h)return g}else for(let e=l;0<=e;e--){var w=p[e],C=u[y.getRowid(w)]||{};if(s+=C.resizeHeight||c.height||i.height||C.height||d,g.push(w),s>h)return g}}else for(var b=f?"next":"previous";t&&s<h;){var R=y.getRowNode(t);R&&(g.push(R.item),s+=t.offsetHeight,t=t[b+"ElementSibling"])}return g})(M,d,v,x,l<h?-o:o);10<o&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{y.handleBatchSelectRows([e],-1===s.indexOf(e))}):(y.setAllCheckboxRow(!1),y.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},_=r=>{I(),w=setTimeout(()=>{var e,t,l,o,n;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=k,n=Math.ceil(50*b/u),C?t+l<o?(y.scrollTo(e,t+n),_(r),T(r)):I():t?(y.scrollTo(e,t-n),_(r),T(r)):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?(C=!1,b=l-t,w||_(e)):t>l+k.clientHeight?(C=!0,b=t-l-k.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,l){var o=E.editConfig,{afterFullData:n,visibleColumn:r}=O,u=g.value;let a,i,c,d=Object.assign({},e);var e=y.getVTRowIndex(d.row),s=y.getVTColumnIndex(d.column),t=(l.preventDefault(),t?s<=0?0<e&&(i=e-1,a=n[i],c=r.length-1):c=s-1:s>=r.length-1?e<n.length-1&&(i=e+1,a=n[i],c=0):c=s+1,r[c]);t&&(a?(d.rowIndex=i,d.row=a):d.rowIndex=e,d.columnIndex=c,d.column=t,d.cell=y.getCellElement(d.row,d.column),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?y.handleEdit(d,l):y.scrollToRow(d.row,d.column).then(()=>y.handleSelected(d,l))):y.scrollToRow(d.row,d.column).then(()=>y.handleSelected(d,l)))},moveCurrentRow(e,t,l){var o=E.treeConfig;let n=D.currentRow;var r=O.afterFullData,u=d.value,u=u.children||u.childrenField;let a;if(n?o?({index:o,items:u}=_xeUtils.default.findTree(r,e=>e===n,{children:u}),e&&0<o?a=u[o-1]:t&&o<u.length-1&&(a=u[o+1])):(u=y.getVTRowIndex(n),e&&0<u?a=r[u-1]:t&&u<r.length-1&&(a=r[u+1])):a=r[0],a){l.preventDefault();let e={$table:y,row:a,rowIndex:y.getRowIndex(a),$rowIndex:y.getVMRowIndex(a)};y.scrollToRow(a).then(()=>y.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=D.currentColumn,n=O.visibleColumn;let r=null;if(o?(o=y.getVTColumnIndex(o),e&&0<o?r=n[o-1]:t&&o<n.length-1&&(r=n[o+1])):r=n[0],r){l.preventDefault();let e={$table:y,column:r,columnIndex:y.getColumnIndex(r),$columnIndex:y.getVMColumnIndex(r)};y.scrollToColumn(r).then(()=>y.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,n,r){var{afterFullData:u,visibleColumn:a}=O;let i=Object.assign({},e);var e=y.getVTRowIndex(i.row),c=y.getVTColumnIndex(i.column);r.preventDefault(),l&&0<e?(i.rowIndex=e-1,i.row=u[i.rowIndex]):n&&e<u.length-1?(i.rowIndex=e+1,i.row=u[i.rowIndex]):t&&c?(i.columnIndex=c-1,i.column=a[i.columnIndex]):o&&c<a.length-1&&(i.columnIndex=c+1,i.column=a[i.columnIndex]),y.scrollToRow(i.row,i.column).then(()=>{i.cell=y.getCellElement(i.row,i.column),y.handleSelected(i,r)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:n}=E,r=i.value,u=c.value,a=g.value;if(n&&u.area&&y.handleMousedownCellAreaEvent)return y.handleMousedownCellAreaEvent(e,t);o&&r.range&&s(e,t),n&&u.selected&&(l&&"cell"!==a.mode||y.handleSelected(t,e))}}}});
@@ -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 = {};
@@ -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),!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)])])])}}});
@@ -195,6 +195,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
195
195
  cell: evnt.currentTarget
196
196
  }, cellParams), evnt);
197
197
  };
198
+ let isMergeCell = false;
198
199
  // 合并行或列
199
200
  if (mergeFooterList.length) {
200
201
  const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
@@ -207,9 +208,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
207
208
  return null;
208
209
  }
209
210
  if (rowspan > 1) {
211
+ isMergeCell = true;
210
212
  attrs.rowspan = rowspan;
211
213
  }
212
214
  if (colspan > 1) {
215
+ isMergeCell = true;
213
216
  attrs.colspan = colspan;
214
217
  }
215
218
  }
@@ -232,8 +235,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
232
235
  const isLastColumn = $columnIndex === tableColumn.length - 1;
233
236
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
234
237
  let isVNPreEmptyStatus = false;
235
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
236
- isVNPreEmptyStatus = true;
238
+ if (!isMergeCell) {
239
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
240
+ isVNPreEmptyStatus = true;
241
+ }
237
242
  }
238
243
  const tcStyle = {};
239
244
  if (hasEllipsis) {
@@ -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"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(x){let K=(0,_vue.inject)("$xeTable",{}),{xID:g,props:m,reactData:_,internalData:h}=K,{computeTooltipOpts:l,computeColumnOpts:b,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:n}=K.getComputeMaps(),y=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(w,y,C,T,F)=>{let I=x.fixedType,{resizable:O,border:D,footerCellClassName:S,footerCellStyle:E,footerAlign:M,footerSpanMethod:k,align:z,columnKey:U,showFooterOverflow:R}=m,{scrollXLoad:$,scrollYLoad:A,overflowX:j,currentColumn:q,mergeFooterList:L}=_,X=h.scrollXStore,N=l.value;let H=n.value.isAllColumnDrag,P=b.value;var e=r.value;let V=t.value,B=o.value,G=(0,_util.getCellHeight)(B.height||V.height)||e;return w.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,s=l.id,i=i||u,u=i?renderer.get(i.name):null;let d=N.showAll;var i=l.children&&l.children.length,i=I?l.fixed!==I&&!i:l.fixed&&j,c=(_xeUtils.default.isBoolean(B.padding)?B:V).padding,o=_xeUtils.default.eqNull(o)?R:o,r=r||(u?u.tableFooterCellAlign:"")||M||n||(u?u.tableCellAlign:"")||z;let p="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||p;var n=_xeUtils.default.isBoolean(l.resizable)?l.resizable:P.resizable||O,u={colid:s},o={},g=K.getColumnIndex(l),m=K.getVTColumnIndex(l),_=m;let h={$table:K,$grid:K.xegrid,row:C,rowIndex:F,_rowIndex:F,$rowIndex:T,column:l,columnIndex:g,$columnIndex:e,_columnIndex:m,itemIndex:_,items:C,fixed:I,type:renderType,data:y};if($&&!x&&(p=x=!0),(f||v||d)&&(o.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||d)&&K.triggerFooterTooltipEvent(e,h)}),(v||d)&&(o.onMouseleave=e=>{(v||d)&&K.handleTargetLeaveEvent(e)}),o.onClick=e=>{K.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},o.onDblclick=e=>{K.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)},L.length){g=mergeFooterMethod(L,F,m);if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}}else if(k){var{rowspan:_=1,colspan:g=1}=k(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===w.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;$&&!l.fixed&&(m<X.visibleStartIndex-X.preloadSize||m>X.visibleEndIndex+X.preloadSize)&&(b=!0);m={};return x?m.height=G+"px":m.minHeight=G+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":i,"is--padding":c,"col--ellipsis":x,"col--current":q===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(S,h)]},u),{style:E?_xeUtils.default.isFunction(E)?E(h):E:null}),o),{key:U||$||A||P.useKey||P.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":p}],style:m},b?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!i&&n&&H?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!D||"none"===D}],onMousedown:e=>K.handleColResizeMousedownEvent(e,I,h),onDblclick:e=>K.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(K)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=y,l[e+"scroll"]=C,l[e+"table"]=T,l[e+"colgroup"]=F,l[e+"list"]=I,l[e+"xSpace"]=O})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=x;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=h,{isGroup:u,overflowX:s,scrollXLoad:d,scrollYLoad:c,dragCol:p}=_;let f=t,v=!(d||c||n)||o||r?!1:!0;return!l&&s||(f=a),l&&v&&(f=e||[]),l||u||d&&p&&2<f.length&&(c=i[p.id])&&(n=c._index,o=f[0],r=f[f.length-1],s=i[o.id],a=i[r.id],s)&&a&&(u=s._index,d=a._index,n<u?f=[p].concat(f):d<n&&(f=f.concat([p]))),(0,_vue.h)("div",{ref:y,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:C,class:"vxe-table--footer-inner-wrapper",onScroll(e){K.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(K):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--footer",xid:g,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:I},(r=>{let{fixedType:n,footerTableData:a}=x,{footerRowClassName:i,footerRowStyle:u}=m,{isColLoading:s,isDragColMove:d}=_,c=b.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:K,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return!s&&c.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>D(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},D(r,a,e,l,t))})})(f))])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(x){let W=(0,_vue.inject)("$xeTable",{}),{xID:g,props:m,reactData:_,internalData:h}=W,{computeTooltipOpts:l,computeColumnOpts:b,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:n}=W.getComputeMaps(),y=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(y,C,T,F,I)=>{let O=x.fixedType,{resizable:D,border:S,footerCellClassName:E,footerCellStyle:M,footerAlign:k,footerSpanMethod:z,align:U,columnKey:R,showFooterOverflow:$}=m,{scrollXLoad:A,scrollYLoad:j,overflowX:q,currentColumn:L,mergeFooterList:X}=_,N=h.scrollXStore,H=l.value;let P=n.value.isAllColumnDrag,V=b.value;var e=r.value;let B=t.value,G=o.value,K=(0,_util.getCellHeight)(G.height||B.height)||e;return y.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,s=l.id,i=i||u,u=i?renderer.get(i.name):null;let d=H.showAll;var i=l.children&&l.children.length,i=O?l.fixed!==O&&!i:l.fixed&&q,c=(_xeUtils.default.isBoolean(G.padding)?G:B).padding,o=_xeUtils.default.eqNull(o)?$:o,r=r||(u?u.tableFooterCellAlign:"")||k||n||(u?u.tableCellAlign:"")||U;let p="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||p;var n=_xeUtils.default.isBoolean(l.resizable)?l.resizable:V.resizable||D,u={colid:s},o={},g=W.getColumnIndex(l),m=W.getVTColumnIndex(l),_=m;let h={$table:W,$grid:W.xegrid,row:T,rowIndex:I,_rowIndex:I,$rowIndex:F,column:l,columnIndex:g,$columnIndex:e,_columnIndex:m,itemIndex:_,items:T,fixed:O,type:renderType,data:C},b=(A&&!x&&(p=x=!0),(f||v||d)&&(o.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||d)&&W.triggerFooterTooltipEvent(e,h)}),(v||d)&&(o.onMouseleave=e=>{(v||d)&&W.handleTargetLeaveEvent(e)}),o.onClick=e=>{W.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},!(o.onDblclick=e=>{W.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)}));if(X.length){g=mergeFooterMethod(X,I,m);if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(b=!0,u.rowspan=_),1<g&&(b=!0,u.colspan=g)}}else if(z){var{rowspan:_=1,colspan:g=1}=z(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===y.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let w=!1;b||A&&!l.fixed&&(m<N.visibleStartIndex-N.preloadSize||m>N.visibleEndIndex+N.preloadSize)&&(w=!0);m={};return x?m.height=K+"px":m.minHeight=K+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":i,"is--padding":c,"col--ellipsis":x,"col--current":L===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(E,h)]},u),{style:M?_xeUtils.default.isFunction(M)?M(h):M:null}),o),{key:R||A||j||V.useKey||V.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":p}],style:m},w?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!i&&n&&P?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!S||"none"===S}],onMousedown:e=>W.handleColResizeMousedownEvent(e,O,h),onDblclick:e=>W.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(W)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=y,l[e+"scroll"]=C,l[e+"table"]=T,l[e+"colgroup"]=F,l[e+"list"]=I,l[e+"xSpace"]=O})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=x;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=h,{isGroup:u,overflowX:s,scrollXLoad:d,scrollYLoad:c,dragCol:p}=_;let f=t,v=!(d||c||n)||o||r?!1:!0;return!l&&s||(f=a),l&&v&&(f=e||[]),l||u||d&&p&&2<f.length&&(c=i[p.id])&&(n=c._index,o=f[0],r=f[f.length-1],s=i[o.id],a=i[r.id],s)&&a&&(u=s._index,d=a._index,n<u?f=[p].concat(f):d<n&&(f=f.concat([p]))),(0,_vue.h)("div",{ref:y,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:C,class:"vxe-table--footer-inner-wrapper",onScroll(e){W.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(W):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--footer",xid:g,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:I},(r=>{let{fixedType:n,footerTableData:a}=x,{footerRowClassName:i,footerRowStyle:u}=m,{isColLoading:s,isDragColMove:d}=_,c=b.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:W,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return!s&&c.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>D(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},D(r,a,e,l,t))})})(f))])])])}}});
@@ -3944,6 +3944,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
3944
3944
  };
3945
3945
  tableMethods = {
3946
3946
  dispatchEvent,
3947
+ getEl() {
3948
+ return refElem.value;
3949
+ },
3947
3950
  /**
3948
3951
  * 重置表格的一切数据状态
3949
3952
  */
@@ -4307,6 +4310,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
4307
4310
  keepSource,
4308
4311
  treeConfig
4309
4312
  } = props;
4313
+ const {
4314
+ editStore
4315
+ } = reactData;
4310
4316
  const {
4311
4317
  fullAllDataRowIdData,
4312
4318
  fullDataRowIdData,
@@ -4315,6 +4321,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4315
4321
  tableFullData,
4316
4322
  afterFullData
4317
4323
  } = internalData;
4324
+ const removeTempMaps = Object.assign({}, editStore.removeMaps);
4318
4325
  const treeOpts = computeTreeOpts.value;
4319
4326
  const {
4320
4327
  transform
@@ -4349,6 +4356,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4349
4356
  _xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
4350
4357
  }
4351
4358
  if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
4359
+ delete removeTempMaps[rowid];
4352
4360
  tableFullData.unshift(row);
4353
4361
  afterFullData.unshift(row);
4354
4362
  reDelFlag = true;
@@ -4360,6 +4368,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4360
4368
  }
4361
4369
  if (rows) {
4362
4370
  if (reDelFlag) {
4371
+ editStore.removeMaps = removeTempMaps;
4363
4372
  $xeTable.updateFooter();
4364
4373
  $xeTable.cacheRowMap(false);
4365
4374
  $xeTable.handleTableData(treeConfig && transform);
@@ -4529,10 +4538,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
4529
4538
  },
4530
4539
  /**
4531
4540
  * 检查行或列数据是否发生改变
4532
- * @param {Row} row 行对象
4541
+ * @param {Row} rowOrId 行对象
4533
4542
  * @param {String} field 字段名
4534
4543
  */
4535
- isUpdateByRow(row, field) {
4544
+ isUpdateByRow(rowOrId, field) {
4536
4545
  const {
4537
4546
  keepSource
4538
4547
  } = props;
@@ -4542,11 +4551,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
4542
4551
  sourceDataRowIdData
4543
4552
  } = internalData;
4544
4553
  if (keepSource) {
4545
- const rowid = (0, _util.getRowid)($xeTable, row);
4554
+ const rowid = _xeUtils.default.isString(rowOrId) || _xeUtils.default.isNumber(rowOrId) ? rowOrId : (0, _util.getRowid)($xeTable, rowOrId);
4555
+ const rowRest = fullDataRowIdData[rowid];
4546
4556
  // 新增的数据不需要检测
4547
- if (!fullDataRowIdData[rowid]) {
4557
+ if (!rowRest) {
4548
4558
  return false;
4549
4559
  }
4560
+ const row = rowRest.row;
4550
4561
  const oRow = sourceDataRowIdData[rowid];
4551
4562
  if (oRow) {
4552
4563
  if (arguments.length > 1) {
@@ -4610,6 +4621,108 @@ var _default = exports.default = (0, _vue.defineComponent)({
4610
4621
  tableColumn: reactData.tableColumn.slice(0)
4611
4622
  };
4612
4623
  },
4624
+ /**
4625
+ * 移动列到指定列的位置
4626
+ * @param fieldOrColumn
4627
+ * @param targetFieldOrColumn
4628
+ * @param options
4629
+ */
4630
+ moveColumnTo(fieldOrColumn, targetFieldOrColumn, options) {
4631
+ const {
4632
+ fullColumnIdData,
4633
+ visibleColumn
4634
+ } = internalData;
4635
+ const {
4636
+ dragToChild,
4637
+ dragPos,
4638
+ isCrossDrag
4639
+ } = Object.assign({}, options);
4640
+ const dragCol = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
4641
+ let prevDragCol = null;
4642
+ const colRest = dragCol ? fullColumnIdData[dragCol.id] : null;
4643
+ let defPos = 'left';
4644
+ if (_xeUtils.default.isNumber(targetFieldOrColumn)) {
4645
+ if (colRest && targetFieldOrColumn) {
4646
+ let currList = colRest.items;
4647
+ let offsetIndex = colRest._index + targetFieldOrColumn;
4648
+ if (isCrossDrag) {
4649
+ currList = visibleColumn;
4650
+ offsetIndex = colRest._index + targetFieldOrColumn;
4651
+ }
4652
+ if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
4653
+ prevDragCol = currList[offsetIndex];
4654
+ }
4655
+ if (targetFieldOrColumn > 0) {
4656
+ defPos = 'right';
4657
+ }
4658
+ }
4659
+ } else {
4660
+ prevDragCol = (0, _util.handleFieldOrColumn)($xeTable, targetFieldOrColumn);
4661
+ const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null;
4662
+ if (colRest && targetColRest) {
4663
+ if (targetColRest._index > colRest._index) {
4664
+ defPos = 'right';
4665
+ }
4666
+ }
4667
+ }
4668
+ return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true);
4669
+ },
4670
+ /**
4671
+ * 移动行到指定行的位置
4672
+ * @param rowidOrRow
4673
+ * @param targetRowidOrRow
4674
+ * @param options
4675
+ */
4676
+ moveRowTo(rowidOrRow, targetRowidOrRow, options) {
4677
+ const {
4678
+ treeConfig
4679
+ } = props;
4680
+ const {
4681
+ fullAllDataRowIdData,
4682
+ afterFullData
4683
+ } = internalData;
4684
+ const {
4685
+ dragToChild,
4686
+ dragPos,
4687
+ isCrossDrag
4688
+ } = Object.assign({}, options);
4689
+ const treeOpts = computeTreeOpts.value;
4690
+ const dragRow = (0, _util.handleRowidOrRow)($xeTable, rowidOrRow);
4691
+ let prevDragRow = null;
4692
+ let defPos = 'top';
4693
+ const rowRest = dragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, dragRow)] : null;
4694
+ if (_xeUtils.default.isNumber(targetRowidOrRow)) {
4695
+ if (rowRest && targetRowidOrRow) {
4696
+ let currList = afterFullData;
4697
+ let offsetIndex = rowRest._index + targetRowidOrRow;
4698
+ if (treeConfig) {
4699
+ currList = rowRest.items;
4700
+ if (treeOpts.transform) {
4701
+ offsetIndex = rowRest.treeIndex + targetRowidOrRow;
4702
+ if (isCrossDrag) {
4703
+ currList = afterFullData;
4704
+ offsetIndex = rowRest._index + targetRowidOrRow;
4705
+ }
4706
+ }
4707
+ }
4708
+ if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
4709
+ prevDragRow = currList[offsetIndex];
4710
+ }
4711
+ if (targetRowidOrRow > 0) {
4712
+ defPos = 'bottom';
4713
+ }
4714
+ }
4715
+ } else {
4716
+ prevDragRow = (0, _util.handleRowidOrRow)($xeTable, targetRowidOrRow);
4717
+ const targetRowRest = prevDragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, prevDragRow)] : null;
4718
+ if (rowRest && targetRowRest) {
4719
+ if (targetRowRest._index > rowRest._index) {
4720
+ defPos = 'bottom';
4721
+ }
4722
+ }
4723
+ }
4724
+ return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
4725
+ },
4613
4726
  /**
4614
4727
  * 获取表格的全量列
4615
4728
  */
@@ -7081,8 +7194,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
7081
7194
  // 如果按下了方向键
7082
7195
  if (selected.row && selected.column) {
7083
7196
  $xeTable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
7084
- } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
7085
- // 当前行按键上下移动
7197
+ }
7198
+ // 当前行按键上下移动
7199
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
7086
7200
  $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
7087
7201
  }
7088
7202
  }
@@ -9361,6 +9475,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
9361
9475
  } = internalData;
9362
9476
  const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
9363
9477
  const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
9478
+ const errRest = {
9479
+ status: false
9480
+ };
9364
9481
  if (prevDragRow && dragRow) {
9365
9482
  // 判断是否有拖动
9366
9483
  if (prevDragRow !== dragRow) {
@@ -9375,7 +9492,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9375
9492
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
9376
9493
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
9377
9494
  if (!status) {
9378
- return;
9495
+ return errRest;
9379
9496
  }
9380
9497
  let oafIndex = -1;
9381
9498
  let nafIndex = -1;
@@ -9406,11 +9523,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
9406
9523
  if (isPeerDrag && !isCrossDrag) {
9407
9524
  if (oldRest.row[parentField] !== newRest.row[parentField]) {
9408
9525
  // 非同级
9409
- return;
9526
+ return errRest;
9410
9527
  }
9411
9528
  } else {
9412
9529
  if (!isCrossDrag) {
9413
- return;
9530
+ return errRest;
9414
9531
  }
9415
9532
  if (oldAllMaps[newRowid]) {
9416
9533
  isSelfToChildStatus = true;
@@ -9421,19 +9538,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
9421
9538
  content: getI18n('vxe.error.treeDragChild')
9422
9539
  });
9423
9540
  }
9424
- return;
9541
+ return errRest;
9425
9542
  }
9426
9543
  }
9427
9544
  }
9428
9545
  } else if (oldLevel) {
9429
9546
  // 子到根
9430
9547
  if (!isCrossDrag) {
9431
- return;
9548
+ return errRest;
9432
9549
  }
9433
9550
  } else if (newLevel) {
9434
9551
  // 根到子
9435
9552
  if (!isCrossDrag) {
9436
- return;
9553
+ return errRest;
9437
9554
  }
9438
9555
  if (oldAllMaps[newRowid]) {
9439
9556
  isSelfToChildStatus = true;
@@ -9444,7 +9561,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9444
9561
  content: getI18n('vxe.error.treeDragChild')
9445
9562
  });
9446
9563
  }
9447
- return;
9564
+ return errRest;
9448
9565
  }
9449
9566
  }
9450
9567
  } else {
@@ -9502,26 +9619,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
9502
9619
  if (reactData.scrollYLoad) {
9503
9620
  $xeTable.updateScrollYSpace();
9504
9621
  }
9505
- (0, _vue.nextTick)().then(() => {
9622
+ if (evnt) {
9623
+ dispatchEvent('row-dragend', {
9624
+ oldRow: dragRow,
9625
+ newRow: prevDragRow,
9626
+ dragRow,
9627
+ dragPos: prevDragPos,
9628
+ dragToChild: isDragToChildFlag,
9629
+ offsetIndex: dragOffsetIndex,
9630
+ _index: {
9631
+ newIndex: nafIndex,
9632
+ oldIndex: oafIndex
9633
+ }
9634
+ }, evnt);
9635
+ }
9636
+ return (0, _vue.nextTick)().then(() => {
9506
9637
  $xeTable.updateCellAreas();
9507
9638
  $xeTable.recalculate();
9639
+ }).then(() => {
9640
+ return {
9641
+ status: true
9642
+ };
9508
9643
  });
9509
- dispatchEvent('row-dragend', {
9510
- oldRow: dragRow,
9511
- newRow: prevDragRow,
9512
- dragRow,
9513
- dragPos: prevDragPos,
9514
- dragToChild: isDragToChildFlag,
9515
- offsetIndex: dragOffsetIndex,
9516
- _index: {
9517
- newIndex: nafIndex,
9518
- oldIndex: oafIndex
9519
- }
9520
- }, evnt);
9521
- }).catch(() => {});
9644
+ }).catch(() => {
9645
+ return errRest;
9646
+ });
9522
9647
  }
9523
9648
  }
9524
- return Promise.resolve();
9649
+ return Promise.resolve(errRest);
9525
9650
  },
9526
9651
  handleRowDragDragendEvent(evnt) {
9527
9652
  const {
@@ -9690,6 +9815,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
9690
9815
  collectColumn
9691
9816
  } = internalData;
9692
9817
  const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
9818
+ const errRest = {
9819
+ status: false
9820
+ };
9693
9821
  if (prevDragCol && dragCol) {
9694
9822
  // 判断是否有拖动
9695
9823
  if (prevDragCol !== dragCol) {
@@ -9706,7 +9834,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9706
9834
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
9707
9835
  return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
9708
9836
  if (!status) {
9709
- return;
9837
+ return errRest;
9710
9838
  }
9711
9839
  let oafIndex = -1;
9712
9840
  let nafIndex = -1;
@@ -9720,11 +9848,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
9720
9848
  if (isPeerDrag && !isCrossDrag) {
9721
9849
  if (dragColumn.parentId !== newColumn.parentId) {
9722
9850
  // 非同级
9723
- return;
9851
+ return errRest;
9724
9852
  }
9725
9853
  } else {
9726
9854
  if (!isCrossDrag) {
9727
- return;
9855
+ return errRest;
9728
9856
  }
9729
9857
  if (oldAllMaps[newColumn.id]) {
9730
9858
  isSelfToChildStatus = true;
@@ -9735,19 +9863,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
9735
9863
  content: getI18n('vxe.error.treeDragChild')
9736
9864
  });
9737
9865
  }
9738
- return;
9866
+ return errRest;
9739
9867
  }
9740
9868
  }
9741
9869
  }
9742
9870
  } else if (dragColumn.parentId) {
9743
9871
  // 子到根
9744
9872
  if (!isCrossDrag) {
9745
- return;
9873
+ return errRest;
9746
9874
  }
9747
9875
  } else if (newColumn.parentId) {
9748
9876
  // 根到子
9749
9877
  if (!isCrossDrag) {
9750
- return;
9878
+ return errRest;
9751
9879
  }
9752
9880
  if (oldAllMaps[newColumn.id]) {
9753
9881
  isSelfToChildStatus = true;
@@ -9758,7 +9886,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9758
9886
  content: getI18n('vxe.error.treeDragChild')
9759
9887
  });
9760
9888
  }
9761
- return;
9889
+ return errRest;
9762
9890
  }
9763
9891
  }
9764
9892
  } else {
@@ -9827,25 +9955,32 @@ var _default = exports.default = (0, _vue.defineComponent)({
9827
9955
  $xeTable.clearCopyCellArea();
9828
9956
  }
9829
9957
  }
9830
- dispatchEvent('column-dragend', {
9831
- oldColumn: dragColumn,
9832
- newColumn,
9833
- dragColumn,
9834
- dragPos: prevDragPos,
9835
- dragToChild: isDragToChildFlag,
9836
- offsetIndex: dragOffsetIndex,
9837
- _index: {
9838
- newIndex: nafIndex,
9839
- oldIndex: oafIndex
9840
- }
9841
- }, evnt);
9958
+ if (evnt) {
9959
+ dispatchEvent('column-dragend', {
9960
+ oldColumn: dragColumn,
9961
+ newColumn,
9962
+ dragColumn,
9963
+ dragPos: prevDragPos,
9964
+ dragToChild: isDragToChildFlag,
9965
+ offsetIndex: dragOffsetIndex,
9966
+ _index: {
9967
+ newIndex: nafIndex,
9968
+ oldIndex: oafIndex
9969
+ }
9970
+ }, evnt);
9971
+ }
9842
9972
  if (isSyncColumn) {
9843
9973
  $xeTable.handleColDragSwapColumn();
9844
9974
  }
9845
- }).catch(() => {});
9975
+ return {
9976
+ status: true
9977
+ };
9978
+ }).catch(() => {
9979
+ return errRest;
9980
+ });
9846
9981
  }
9847
9982
  }
9848
- return Promise.resolve();
9983
+ return Promise.resolve(errRest);
9849
9984
  },
9850
9985
  handleHeaderCellDragDragendEvent(evnt) {
9851
9986
  const {