vxe-table 4.12.5 → 4.13.0-beta.0

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 (46) hide show
  1. package/es/grid/src/grid.js +2 -2
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/hook.js +10 -9
  4. package/es/table/module/export/hook.js +13 -11
  5. package/es/table/src/body.js +11 -13
  6. package/es/table/src/footer.js +3 -16
  7. package/es/table/src/table.js +186 -63
  8. package/es/table/src/util.js +0 -13
  9. package/es/ui/index.js +2 -2
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +2 -2
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +8504 -8547
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/module/edit/hook.js +9 -9
  17. package/lib/table/module/edit/hook.min.js +1 -1
  18. package/lib/table/module/export/hook.js +16 -13
  19. package/lib/table/module/export/hook.min.js +1 -1
  20. package/lib/table/src/body.js +14 -15
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/footer.js +4 -27
  23. package/lib/table/src/footer.min.js +1 -1
  24. package/lib/table/src/table.js +211 -63
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/table/src/util.js +0 -25
  27. package/lib/table/src/util.min.js +1 -1
  28. package/lib/ui/index.js +2 -2
  29. package/lib/ui/index.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/package.json +2 -2
  33. package/packages/grid/src/grid.ts +2 -2
  34. package/packages/table/module/edit/hook.ts +10 -9
  35. package/packages/table/module/export/hook.ts +15 -13
  36. package/packages/table/src/body.ts +11 -13
  37. package/packages/table/src/footer.ts +3 -17
  38. package/packages/table/src/table.ts +184 -64
  39. package/packages/table/src/util.ts +0 -14
  40. package/packages/ui/index.ts +1 -1
  41. /package/es/{iconfont.1743479147314.ttf → iconfont.1743578564396.ttf} +0 -0
  42. /package/es/{iconfont.1743479147314.woff → iconfont.1743578564396.woff} +0 -0
  43. /package/es/{iconfont.1743479147314.woff2 → iconfont.1743578564396.woff2} +0 -0
  44. /package/lib/{iconfont.1743479147314.ttf → iconfont.1743578564396.ttf} +0 -0
  45. /package/lib/{iconfont.1743479147314.woff → iconfont.1743578564396.woff} +0 -0
  46. /package/lib/{iconfont.1743479147314.woff2 → iconfont.1743578564396.woff2} +0 -0
@@ -26,7 +26,6 @@ exports.getRowid = getRowid;
26
26
  exports.getRowkey = getRowkey;
27
27
  exports.handleRowidOrRow = exports.handleFieldOrColumn = void 0;
28
28
  exports.isColumnInfo = isColumnInfo;
29
- exports.mergeBodyMethod = mergeBodyMethod;
30
29
  exports.restoreScrollLocation = restoreScrollLocation;
31
30
  exports.rowToVisible = rowToVisible;
32
31
  exports.setCellValue = setCellValue;
@@ -518,30 +517,6 @@ function calcTreeLine(params, prevRow) {
518
517
  }
519
518
  return cellHeight * expandSize - (prevRow ? 1 : 12 - getOffsetSize($table));
520
519
  }
521
- function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) {
522
- for (let mIndex = 0; mIndex < mergeList.length; mIndex++) {
523
- const {
524
- row: mergeRowIndex,
525
- col: mergeColIndex,
526
- rowspan: mergeRowspan,
527
- colspan: mergeColspan
528
- } = mergeList[mIndex];
529
- if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
530
- if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
531
- return {
532
- rowspan: mergeRowspan,
533
- colspan: mergeColspan
534
- };
535
- }
536
- if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
537
- return {
538
- rowspan: 0,
539
- colspan: 0
540
- };
541
- }
542
- }
543
- }
544
- }
545
520
  function clearTableDefaultStatus($xeTable) {
546
521
  const {
547
522
  props,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.createHandleGetRowId=createHandleGetRowId,exports.createHandleUpdateRowId=createHandleUpdateRowId,exports.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleRowidOrRow=exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let o=e.internalData;return e.clearScroll().then(()=>{if(t||l)return o.lastScrollLeft=0,o.lastScrollTop=0,o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,e=e.value;return""+(t.rowId||e.keyField||"_X_ROW_KEY")}function getRowid(e,t){return encodeRowid(_xeUtils.default.get(t,getRowkey(e)))}function createHandleUpdateRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?updateDeepRowKey:updateFastRowKey;return{rowKey:t,handleUpdateRowId(e){return e?l(e,t):null}}}function createHandleGetRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:t,handleGetRowId(e){return e?l(e,t):null}}}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function getDeepRowIdByKey(e,t){return _xeUtils.default.get(e,t)}function updateDeepRowKey(e,t){let l=getDeepRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),_xeUtils.default.set(e,t,l)),l}function getFastRowIdByKey(e,t){return e[t]}function updateFastRowKey(e,t){let l=getFastRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null,handleRowidOrRow=(exports.handleFieldOrColumn=handleFieldOrColumn,(e,t)=>t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null);function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=r.showHeaderOverflow,{showHeaderOverflow:i,minWidth:r}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),d+=i+l+e+n+a+u+o+s),r){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(r))return l=(i.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,o){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{o.update(t,e),l&&("filters"===t?(l.setFilter(o,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,o){var e=e.reactData,r=e.staticColumns,i=t.parentNode,o=o?o.columnConfig:null,o=o?o.children:r;i&&o&&(o.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=r.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,o=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});o&&o.items.splice(o.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}exports.handleRowidOrRow=handleRowidOrRow;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var o=t.$table,r=o.getComputeMaps().computeTreeOpts,r=r.value,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,a=e[i?n:r];if(a&&o.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,o)],o=n.resizeHeight||u.height||a.height||n.height||s;let d=1,c=(t&&(d=countTreeExpand(t,e)),o);return(c=i&&!r?n.height||o:c)*d-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,o){for(let e=0;e<t.length;e++){var{row:r,col:i,rowspan:n,colspan:a}=t[e];if(-1<i&&-1<r&&n&&a){if(r===l&&i===o)return{rowspan:n,colspan:a};if(r<=l&&l<r+n&&i<=o&&o<i+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,o){var e=l.props,t=l.reactData,r=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:r,afterFullData:d,fullAllDataRowIdData:c,isResizeCellHeight:f}=r,p=a.value,m=u.value,g=s.value,a=i.value,u=n.value,s=getRefElem(r["main-body-scroll"]),h=getRowid(l,o);if(s){i=s.clientHeight,n=s.scrollTop,r=s.querySelector(`[rowid="${h}"]`);if(r){s=r.offsetParent,s=r.offsetTop+(s?s.offsetTop:0),r=r.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+r)return l.scrollTo(null,n+r)}else if(t){if(!(f||m.height||p.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(d,o)-1)*g);let t=0;s=c[h]||{},r=s.resizeHeight||m.height||p.height||s.height||g;for(let e=0;e<d.length;e++){var R=d[e],x=getRowid(l,R);if(R===o||x===h)break;R=c[x]||{};t+=R.resizeHeight||m.height||p.height||R.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+r-(i-u-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),r=r.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,d=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+o.id)),e=e||i.querySelector("."+o.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<d+n)return l.scrollTo(i-n-1);if(s-a<i+t-d)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=o.renderWidth;for(let e=0;e<u.length;e++){var c=u[e];if(c===o||c.id===o.id)break;t+=c.renderWidth}return t<d?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.createHandleGetRowId=createHandleGetRowId,exports.createHandleUpdateRowId=createHandleUpdateRowId,exports.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleRowidOrRow=exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let o=e.internalData;return e.clearScroll().then(()=>{if(t||l)return o.lastScrollLeft=0,o.lastScrollTop=0,o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,e=e.value;return""+(t.rowId||e.keyField||"_X_ROW_KEY")}function getRowid(e,t){return encodeRowid(_xeUtils.default.get(t,getRowkey(e)))}function createHandleUpdateRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?updateDeepRowKey:updateFastRowKey;return{rowKey:t,handleUpdateRowId(e){return e?l(e,t):null}}}function createHandleGetRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:t,handleGetRowId(e){return e?l(e,t):null}}}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function getDeepRowIdByKey(e,t){return _xeUtils.default.get(e,t)}function updateDeepRowKey(e,t){let l=getDeepRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),_xeUtils.default.set(e,t,l)),l}function getFastRowIdByKey(e,t){return e[t]}function updateFastRowKey(e,t){let l=getFastRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null,handleRowidOrRow=(exports.handleFieldOrColumn=handleFieldOrColumn,(e,t)=>t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null);function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=r.showHeaderOverflow,{showHeaderOverflow:i,minWidth:r}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),d+=i+l+e+n+a+u+o+s),r){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(r))return l=(i.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,o){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{o.update(t,e),l&&("filters"===t?(l.setFilter(o,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,o){var e=e.reactData,r=e.staticColumns,i=t.parentNode,o=o?o.columnConfig:null,o=o?o.children:r;i&&o&&(o.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=r.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,o=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});o&&o.items.splice(o.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}exports.handleRowidOrRow=handleRowidOrRow;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var o=t.$table,r=o.getComputeMaps().computeTreeOpts,r=r.value,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,a=e[i?n:r];if(a&&o.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,o)],o=n.resizeHeight||u.height||a.height||n.height||s;let d=1,c=(t&&(d=countTreeExpand(t,e)),o);return(c=i&&!r?n.height||o:c)*d-(t?1:12-getOffsetSize(l))}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,o){var e=l.props,t=l.reactData,r=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:r,afterFullData:d,fullAllDataRowIdData:c,isResizeCellHeight:f}=r,p=a.value,m=u.value,g=s.value,a=i.value,u=n.value,s=getRefElem(r["main-body-scroll"]),h=getRowid(l,o);if(s){i=s.clientHeight,n=s.scrollTop,r=s.querySelector(`[rowid="${h}"]`);if(r){s=r.offsetParent,s=r.offsetTop+(s?s.offsetTop:0),r=r.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+r)return l.scrollTo(null,n+r)}else if(t){if(!(f||m.height||p.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(d,o)-1)*g);let t=0;s=c[h]||{},r=s.resizeHeight||m.height||p.height||s.height||g;for(let e=0;e<d.length;e++){var R=d[e],x=getRowid(l,R);if(R===o||x===h)break;R=c[x]||{};t+=R.resizeHeight||m.height||p.height||R.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+r-(i-u-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),r=r.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,d=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+o.id)),e=e||i.querySelector("."+o.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<d+n)return l.scrollTo(i-n-1);if(s-a<i+t-d)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=o.renderWidth;for(let e=0;e<u.length;e++){var c=u[e];if(c===o||c.id===o.id)break;t+=c.renderWidth}return t<d?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.12.5";
16
+ const version = exports.version = "4.13.0-beta.0";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -204,7 +204,7 @@ _core.VxeUI.setConfig({
204
204
  },
205
205
  virtualXConfig: {
206
206
  enabled: true,
207
- gt: 60,
207
+ gt: 28,
208
208
  preSize: 1,
209
209
  oSize: 0
210
210
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.12.5",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:1,oSize:0},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.13.0-beta.0",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:28,preSize:1,oSize:0},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"4.12.5"}`;
11
+ const version = `table v${"4.13.0-beta.0"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.12.5",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.13.0-beta.0",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.12.5",
3
+ "version": "4.13.0-beta.0",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.5.10"
31
+ "vxe-pc-ui": "^4.5.11"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -3,8 +3,8 @@ import XEUtils from 'xe-utils'
3
3
  import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
4
4
  import { getOffsetHeight, getPaddingTopBottomSize, getDomNode, toCssUnit } from '../../ui/src/dom'
5
5
  import { VxeUI } from '../../ui'
6
- import VxeTableComponent from '../../table'
7
- import VxeToolbarComponent from '../../toolbar'
6
+ import VxeTableComponent from '../../table/src/table'
7
+ import VxeToolbarComponent from '../../toolbar/src/toolbar'
8
8
  import tableComponentProps from '../../table/src/props'
9
9
  import tableComponentEmits from '../../table/src/emits'
10
10
  import { getSlotVNs } from '../../ui/src/vn'
@@ -108,8 +108,7 @@ hooks.add('tableEditModule', {
108
108
 
109
109
  const handleInsertRowAt = (records: any, targetRow: any, isInsertNextRow?: boolean) => {
110
110
  const { treeConfig } = props
111
- const { mergeList } = reactData
112
- const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData
111
+ const { tableFullTreeData, afterFullData, mergeBodyList, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData
113
112
  const treeOpts = computeTreeOpts.value
114
113
  const { transform, rowField, mapChildrenField } = treeOpts
115
114
  const childrenField = treeOpts.children || treeOpts.childrenField
@@ -131,7 +130,7 @@ hooks.add('tableEditModule', {
131
130
  tableFullData.unshift(item)
132
131
  })
133
132
  // 刷新单元格合并
134
- mergeList.forEach((mergeItem: any) => {
133
+ mergeBodyList.forEach((mergeItem: any) => {
135
134
  const { row: mergeRowIndex } = mergeItem
136
135
  if (mergeRowIndex > 0) {
137
136
  mergeItem.row = mergeRowIndex + newRecords.length
@@ -153,7 +152,7 @@ hooks.add('tableEditModule', {
153
152
  tableFullData.push(item)
154
153
  })
155
154
  // 刷新单元格合并
156
- mergeList.forEach((mergeItem: any) => {
155
+ mergeBodyList.forEach((mergeItem: any) => {
157
156
  const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
158
157
  if (mergeRowIndex + mergeRowspan > afterFullData.length) {
159
158
  mergeItem.rowspan = mergeRowspan + newRecords.length
@@ -237,7 +236,7 @@ hooks.add('tableEditModule', {
237
236
  tableFullData.push(...newRecords)
238
237
  }
239
238
  // 刷新单元格合并
240
- mergeList.forEach((mergeItem: any) => {
239
+ mergeBodyList.forEach((mergeItem: any) => {
241
240
  const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
242
241
  if (mergeRowIndex > afIndex) {
243
242
  mergeItem.row = mergeRowIndex + newRecords.length
@@ -260,6 +259,7 @@ hooks.add('tableEditModule', {
260
259
  $xeTable.updateAfterDataIndex()
261
260
  }
262
261
  $xeTable.updateFooter()
262
+ $xeTable.handleUpdateBodyMerge()
263
263
  $xeTable.checkSelectionStatus()
264
264
  if (reactData.scrollYLoad) {
265
265
  $xeTable.updateScrollYSpace()
@@ -494,8 +494,8 @@ hooks.add('tableEditModule', {
494
494
  */
495
495
  remove (rows: any) {
496
496
  const { treeConfig } = props
497
- const { mergeList, editStore } = reactData
498
- const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData
497
+ const { editStore } = reactData
498
+ const { tableFullTreeData, selectCheckboxMaps, afterFullData, mergeBodyList, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData
499
499
  const checkboxOpts = computeCheckboxOpts.value
500
500
  const treeOpts = computeTreeOpts.value
501
501
  const { transform, mapChildrenField } = treeOpts
@@ -560,7 +560,7 @@ hooks.add('tableEditModule', {
560
560
  const afIndex = $xeTable.findRowIndexOf(afterFullData, row)
561
561
  if (afIndex > -1) {
562
562
  // 刷新单元格合并
563
- mergeList.forEach((mergeItem: any) => {
563
+ mergeBodyList.forEach((mergeItem: any) => {
564
564
  const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
565
565
  if (mergeRowIndex > afIndex) {
566
566
  mergeItem.row = mergeRowIndex - 1
@@ -590,9 +590,10 @@ hooks.add('tableEditModule', {
590
590
  reactData.removeRowFlag++
591
591
  reactData.insertRowFlag++
592
592
  reactData.pendingRowFlag++
593
- $xeTable.updateFooter()
594
593
  $xeTable.cacheRowMap(false)
595
594
  $xeTable.handleTableData(treeConfig && transform)
595
+ $xeTable.updateFooter()
596
+ $xeTable.handleUpdateBodyMerge()
596
597
  if (!(treeConfig && transform)) {
597
598
  $xeTable.updateAfterDataIndex()
598
599
  }
@@ -1,7 +1,7 @@
1
1
  import { inject, nextTick } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { VxeUI } from '../../../ui'
4
- import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../src/util'
4
+ import { isColumnInfo, getCellValue } from '../../src/util'
5
5
  import { parseFile, formatText, eqEmptyValue } from '../../../ui/src/utils'
6
6
  import { hasClass } from '../../../ui/src/dom'
7
7
  import { createHtmlPage, getExportBlobByContent } from './util'
@@ -564,7 +564,8 @@ hooks.add('tableExportModule', {
564
564
 
565
565
  const toHtml = (opts: VxeTablePropTypes.ExportHandleOptions, columns: VxeTableDefines.ColumnInfo[], datas: any[]) => {
566
566
  const { id, border, treeConfig, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow } = props
567
- const { isAllSelected, isIndeterminate, mergeList } = reactData
567
+ const { isAllSelected, isIndeterminate } = reactData
568
+ const { mergeBodyCellMaps } = internalData
568
569
  const treeOpts = computeTreeOpts.value
569
570
  const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts
570
571
  const allCls = 'check-all'
@@ -630,9 +631,10 @@ hooks.add('tableExportModule', {
630
631
  datas.forEach((item: any) => {
631
632
  tables.push(
632
633
  '<tr>' + columns.map((column: any) => {
634
+ const colid = column.id
633
635
  const cellAlign = column.align || allAlign
634
636
  const classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []
635
- const cellValue = item[column.id]
637
+ const cellValue = item[colid]
636
638
  if (cellAlign) {
637
639
  classNames.push(`col--${cellAlign}`)
638
640
  }
@@ -659,18 +661,18 @@ hooks.add('tableExportModule', {
659
661
  )
660
662
  })
661
663
  } else {
662
- datas.forEach((item: any) => {
664
+ datas.forEach((item) => {
663
665
  tables.push(
664
- '<tr>' + columns.map((column: any) => {
666
+ '<tr>' + columns.map((column) => {
665
667
  const cellAlign = column.align || allAlign
666
668
  const classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []
667
669
  const cellValue = item[column.id]
668
670
  let rowSpan = 1
669
671
  let colSpan = 1
670
- if (isMerge && mergeList.length) {
672
+ if (isMerge) {
671
673
  const _rowIndex = $xeTable.getVTRowIndex(item._row)
672
674
  const _columnIndex = $xeTable.getVTColumnIndex(column)
673
- const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex)
675
+ const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`]
674
676
  if (spanRest) {
675
677
  const { rowspan, colspan } = spanRest
676
678
  if (!rowspan || !colspan) {
@@ -1014,15 +1016,15 @@ hooks.add('tableExportModule', {
1014
1016
 
1015
1017
  const handleExportAndPrint = (options: VxeTablePropTypes.ExportOpts | VxeTablePropTypes.ExportConfig, isPrint?: boolean) => {
1016
1018
  const { treeConfig, showHeader, showFooter } = props
1017
- const { initStore, mergeList, mergeFooterList, isGroup, footerTableData, exportStore, exportParams } = reactData
1018
- const { collectColumn } = internalData
1019
+ const { initStore, isGroup, footerTableData, exportStore, exportParams } = reactData
1020
+ const { collectColumn, mergeBodyList, mergeFooterList } = internalData
1019
1021
  const exportOpts = computeExportOpts.value
1020
1022
  const hasTree = treeConfig
1021
1023
  const customOpts = computeCustomOpts.value
1022
1024
  const selectRecords = $xeTable.getCheckboxRecords()
1023
1025
  const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {} as VxeGridPropTypes.ProxyOpts
1024
1026
  const hasFooter = !!footerTableData.length
1025
- const hasMerge = !!(mergeList.length || mergeFooterList.length)
1027
+ const hasMerge = !!(mergeBodyList.length || mergeFooterList.length)
1026
1028
  const defOpts = Object.assign({
1027
1029
  message: true,
1028
1030
  isHeader: showHeader,
@@ -1138,12 +1140,12 @@ hooks.add('tableExportModule', {
1138
1140
  */
1139
1141
  exportData (options) {
1140
1142
  const { treeConfig, showHeader, showFooter } = props
1141
- const { mergeList, mergeFooterList, isGroup } = reactData
1142
- const { tableFullColumn, afterFullData, collectColumn } = internalData
1143
+ const { isGroup } = reactData
1144
+ const { tableFullColumn, afterFullData, collectColumn, mergeBodyList, mergeFooterList } = internalData
1143
1145
  const exportOpts = computeExportOpts.value
1144
1146
  const treeOpts = computeTreeOpts.value
1145
1147
  const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {} as VxeGridPropTypes.ProxyOpts
1146
- const hasMerge = !!(mergeList.length || mergeFooterList.length)
1148
+ const hasMerge = !!(mergeBodyList.length || mergeFooterList.length)
1147
1149
  const opts = Object.assign({
1148
1150
  message: true,
1149
1151
  isHeader: showHeader,
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, TransitionGroup, h, ref, Ref, PropType, inject, nextTick, onMounted, onUnmounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { VxeUI } from '../../ui'
4
- import { getOffsetSize, calcTreeLine, mergeBodyMethod, getRowid, createHandleGetRowId } from './util'
4
+ import { getOffsetSize, calcTreeLine, getRowid, createHandleGetRowId } from './util'
5
5
  import { updateCellTitle, getPropClass } from '../../ui/src/dom'
6
6
  import { isEnableConf } from '../../ui/src/utils'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
@@ -55,14 +55,13 @@ export default defineComponent({
55
55
  if (slots && (slots as any).line) {
56
56
  return $xeTable.callSlot((slots as any).line, params)
57
57
  }
58
- const rest = fullAllDataRowIdData[rowid]
58
+ const rowRest = fullAllDataRowIdData[rowid]
59
59
  let rLevel = 0
60
60
  let prevRow = null
61
- if (rest) {
62
- rLevel = rest.level
63
- prevRow = rest.items[rest.treeIndex - 1]
61
+ if (rowRest) {
62
+ rLevel = rowRest.level
63
+ prevRow = rowRest.items[rowRest.treeIndex - 1]
64
64
  }
65
- const isFirstRow = $xeTable.eqRow(afterFullData[0], row)
66
65
  if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
67
66
  return [
68
67
  h('div', {
@@ -72,7 +71,7 @@ export default defineComponent({
72
71
  h('div', {
73
72
  class: 'vxe-tree--line',
74
73
  style: {
75
- height: `${isFirstRow ? 1 : calcTreeLine(params, prevRow)}px`,
74
+ height: `${$xeTable.eqRow(afterFullData[0], row) ? 1 : calcTreeLine(params, prevRow)}px`,
76
75
  bottom: `-${Math.floor(cellHeight / 2)}px`,
77
76
  left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($xeTable) : 0) + 16}px`
78
77
  }
@@ -103,10 +102,9 @@ export default defineComponent({
103
102
  ) => {
104
103
  const $xeGrid = $xeTable.xeGrid
105
104
 
106
- const { fullAllDataRowIdData, fullColumnIdData, visibleColumn } = tableInternalData
107
105
  const { columnKey, resizable: allResizable, showOverflow: allShowOverflow, border, height, cellClassName: allCellClassName, cellStyle, align: allAlign, spanMethod, mouseConfig, editConfig, editRules, tooltipConfig, padding: allPadding } = tableProps
108
- const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, calcCellHeightFlag, resizeHeightFlag, resizeWidthFlag, mergeList, editStore, isAllOverflow, validErrorMaps } = tableReactData
109
- const { afterFullData, scrollXStore, scrollYStore } = tableInternalData
106
+ const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, mergeBodyFlag, calcCellHeightFlag, resizeHeightFlag, resizeWidthFlag, editStore, isAllOverflow, validErrorMaps } = tableReactData
107
+ const { fullAllDataRowIdData, fullColumnIdData, mergeBodyCellMaps, visibleColumn, afterFullData, mergeBodyList, scrollXStore, scrollYStore } = tableInternalData
110
108
  const cellOpts = computeCellOpts.value
111
109
  const validOpts = computeValidOpts.value
112
110
  const checkboxOpts = computeCheckboxOpts.value
@@ -235,8 +233,8 @@ export default defineComponent({
235
233
  }
236
234
  let isMergeCell = false
237
235
  // 合并行或列
238
- if (mergeList.length) {
239
- const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex)
236
+ if (mergeBodyFlag && mergeBodyList.length) {
237
+ const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`]
240
238
  if (spanRest) {
241
239
  const { rowspan, colspan } = spanRest
242
240
  if (!rowspan || !colspan) {
@@ -265,7 +263,7 @@ export default defineComponent({
265
263
  }
266
264
  }
267
265
  // 如果被合并不可隐藏
268
- if (fixedHiddenColumn && mergeList) {
266
+ if (fixedHiddenColumn && isMergeCell) {
269
267
  if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
270
268
  fixedHiddenColumn = false
271
269
  }
@@ -10,20 +10,6 @@ const { renderer, renderEmptyElement } = VxeUI
10
10
 
11
11
  const renderType = 'footer'
12
12
 
13
- function mergeFooterMethod (mergeFooterList: VxeTableDefines.MergeItem[], _rowIndex: number, _columnIndex: number) {
14
- for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
15
- const { row: mergeRowIndex, col: mergeColIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeFooterList[mIndex]
16
- if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
17
- if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
18
- return { rowspan: mergeRowspan, colspan: mergeColspan }
19
- }
20
- if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
21
- return { rowspan: 0, colspan: 0 }
22
- }
23
- }
24
- }
25
- }
26
-
27
13
  export default defineComponent({
28
14
  name: 'VxeTableFooter',
29
15
  props: {
@@ -62,8 +48,8 @@ export default defineComponent({
62
48
 
63
49
  const { fixedType } = props
64
50
  const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps
65
- const { scrollXLoad, scrollYLoad, overflowX, currentColumn, mergeFooterList } = tableReactData
66
- const { fullColumnIdData, scrollXStore } = tableInternalData
51
+ const { scrollXLoad, scrollYLoad, overflowX, currentColumn } = tableReactData
52
+ const { fullColumnIdData, mergeFooterList, mergeFooterCellMaps, scrollXStore } = tableInternalData
67
53
  const tooltipOpts = computeTooltipOpts.value
68
54
  const resizableOpts = computeResizableOpts.value
69
55
  const { isAllColumnDrag } = resizableOpts
@@ -143,7 +129,7 @@ export default defineComponent({
143
129
  let isMergeCell = false
144
130
  // 合并行或列
145
131
  if (mergeFooterList.length) {
146
- const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex)
132
+ const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`]
147
133
  if (spanRest) {
148
134
  const { rowspan, colspan } = spanRest
149
135
  if (!rowspan || !colspan) {