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

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/style.css +1 -1
  2. package/es/table/module/edit/hook.js +8 -10
  3. package/es/table/module/validator/hook.js +2 -2
  4. package/es/table/src/body.js +10 -10
  5. package/es/table/src/cell.js +15 -11
  6. package/es/table/src/table.js +255 -234
  7. package/es/table/src/util.js +2 -2
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/index.umd.js +127 -117
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/hook.js +10 -11
  14. package/lib/table/module/edit/hook.min.js +1 -1
  15. package/lib/table/module/validator/hook.js +3 -3
  16. package/lib/table/module/validator/hook.min.js +1 -1
  17. package/lib/table/src/body.js +16 -11
  18. package/lib/table/src/body.min.js +1 -1
  19. package/lib/table/src/cell.js +22 -13
  20. package/lib/table/src/cell.min.js +1 -1
  21. package/lib/table/src/table.js +333 -265
  22. package/lib/table/src/table.min.js +1 -1
  23. package/lib/table/src/util.js +2 -2
  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/table/module/edit/hook.ts +8 -10
  31. package/packages/table/module/validator/hook.ts +2 -2
  32. package/packages/table/src/body.ts +10 -10
  33. package/packages/table/src/cell.ts +15 -11
  34. package/packages/table/src/table.ts +257 -233
  35. package/packages/table/src/util.ts +2 -2
  36. /package/es/{iconfont.1742353689933.ttf → iconfont.1742437957812.ttf} +0 -0
  37. /package/es/{iconfont.1742353689933.woff → iconfont.1742437957812.woff} +0 -0
  38. /package/es/{iconfont.1742353689933.woff2 → iconfont.1742437957812.woff2} +0 -0
  39. /package/lib/{iconfont.1742353689933.ttf → iconfont.1742437957812.ttf} +0 -0
  40. /package/lib/{iconfont.1742353689933.woff → iconfont.1742437957812.woff} +0 -0
  41. /package/lib/{iconfont.1742353689933.woff2 → iconfont.1742437957812.woff2} +0 -0
@@ -146,7 +146,7 @@ function createHandleUpdateRowId($xeTable) {
146
146
  return {
147
147
  rowKey,
148
148
  handleUpdateRowId(row) {
149
- return updateRId(row, rowKey);
149
+ return row ? updateRId(row, rowKey) : null;
150
150
  }
151
151
  };
152
152
  }
@@ -157,7 +157,7 @@ function createHandleGetRowId($xeTable) {
157
157
  return {
158
158
  rowKey,
159
159
  handleGetRowId(row) {
160
- return getRId(row, rowKey);
160
+ return row ? getRId(row, rowKey) : null;
161
161
  }
162
162
  };
163
163
  }
@@ -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 l(e,t)}}}function createHandleGetRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:t,handleGetRowId(e){return l(e,t)}}}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.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;
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.0-beta.20";
16
+ const version = exports.version = "4.12.0-beta.21";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -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.0-beta.20",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:2},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},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.12.0-beta.21",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:2},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},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.0-beta.20"}`;
11
+ const version = `table v${"4.12.0-beta.21"}`;
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.0-beta.20",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.12.0-beta.21",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.0-beta.20",
3
+ "version": "4.12.0-beta.21",
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.4.19"
31
+ "vxe-pc-ui": "^4.4.20"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -490,15 +490,14 @@ hooks.add('tableEditModule', {
490
490
  */
491
491
  remove (rows: any) {
492
492
  const { treeConfig } = props
493
- const { mergeList, editStore, selectCheckboxMaps } = reactData
494
- const { tableFullTreeData, afterFullData, tableFullData } = internalData
493
+ const { mergeList, editStore } = reactData
494
+ const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps } = internalData
495
495
  const checkboxOpts = computeCheckboxOpts.value
496
496
  const treeOpts = computeTreeOpts.value
497
497
  const { transform, mapChildrenField } = treeOpts
498
498
  const childrenField = treeOpts.children || treeOpts.childrenField
499
499
  const { actived, removeMaps } = editStore
500
500
  const insertDataRowMaps = Object.assign({}, editStore.insertMaps)
501
- const pendingDataRowMaps = Object.assign({}, reactData.pendingRowMaps)
502
501
  const { checkField } = checkboxOpts
503
502
  let delList: any[] = []
504
503
  if (!rows) {
@@ -515,14 +514,13 @@ hooks.add('tableEditModule', {
515
514
  })
516
515
  // 如果绑定了多选属性,则更新状态
517
516
  if (!checkField) {
518
- const selectRowMaps = { ...selectCheckboxMaps }
519
517
  rows.forEach((row: any) => {
520
518
  const rowid = getRowid($xeTable, row)
521
- if (selectRowMaps[rowid]) {
522
- delete selectRowMaps[rowid]
519
+ if (selectCheckboxMaps[rowid]) {
520
+ delete selectCheckboxMaps[rowid]
523
521
  }
524
522
  })
525
- reactData.selectCheckboxMaps = selectRowMaps
523
+ reactData.updateCheckboxFlag++
526
524
  }
527
525
  // 从数据源中移除
528
526
  if (tableFullData === rows) {
@@ -582,12 +580,12 @@ hooks.add('tableEditModule', {
582
580
  if (insertDataRowMaps[rowid]) {
583
581
  delete insertDataRowMaps[rowid]
584
582
  }
585
- if (pendingDataRowMaps[rowid]) {
586
- delete pendingDataRowMaps[rowid]
583
+ if (pendingRowMaps[rowid]) {
584
+ delete pendingRowMaps[rowid]
587
585
  }
588
586
  })
589
587
  editStore.insertMaps = insertDataRowMaps
590
- reactData.pendingRowMaps = pendingDataRowMaps
588
+ reactData.pendingRowFlag++
591
589
  $xeTable.updateFooter()
592
590
  $xeTable.cacheRowMap(false)
593
591
  $xeTable.handleTableData(treeConfig && transform)
@@ -109,8 +109,8 @@ hooks.add('tableValidatorModule', {
109
109
  const beginValidate = (rows: any, cols: VxeTableDefines.ColumnInfo[] | null, cb: any, isFull?: boolean): Promise<any> => {
110
110
  const validRest: any = {}
111
111
  const { editRules, treeConfig } = props
112
- const { editStore, pendingRowMaps } = reactData
113
- const { afterFullData } = internalData
112
+ const { editStore } = reactData
113
+ const { afterFullData, pendingRowMaps } = internalData
114
114
  const { removeMaps } = editStore
115
115
  const treeOpts = computeTreeOpts.value
116
116
  const childrenField = treeOpts.children || treeOpts.childrenField
@@ -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 } from './util'
4
+ import { getOffsetSize, calcTreeLine, mergeBodyMethod, 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'
@@ -45,7 +45,7 @@ export default defineComponent({
45
45
  return !!(isDragResize || (lastScrollTime && Date.now() < lastScrollTime + (delayHover as number)))
46
46
  }
47
47
 
48
- const renderLine = (params: VxeTableDefines.CellRenderBodyParams, cellHeight: number) => {
48
+ const renderLine = (rowid: string, params: VxeTableDefines.CellRenderBodyParams, cellHeight: number) => {
49
49
  const { row, column } = params
50
50
  const { afterFullData } = tableInternalData
51
51
  const { treeConfig } = tableProps
@@ -55,7 +55,6 @@ 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 rowid = getRowid($xeTable, row)
59
58
  const rest = fullAllDataRowIdData[rowid]
60
59
  let rLevel = 0
61
60
  let prevRow = null
@@ -312,7 +311,7 @@ export default defineComponent({
312
311
  } else {
313
312
  // 渲染单元格
314
313
  tdVNs.push(
315
- ...renderLine(cellParams, cellHeight),
314
+ ...renderLine(rowid, cellParams, cellHeight),
316
315
  h('div', {
317
316
  key: 'tc',
318
317
  class: ['vxe-cell', {
@@ -436,8 +435,8 @@ export default defineComponent({
436
435
 
437
436
  const renderRows = (fixedType: 'left' | 'right' | '', isOptimizeMode: boolean, tableData: any[], tableColumn: VxeTableDefines.ColumnInfo[]) => {
438
437
  const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, editConfig, treeConfig } = tableProps
439
- const { hasFixedColumn, treeExpandedMaps, isColLoading, scrollXLoad, scrollYLoad, isAllOverflow, rowExpandedMaps, expandColumn, selectRadioRow, pendingRowMaps, isDragColMove, rowExpandHeightFlag } = tableReactData
440
- const { fullAllDataRowIdData } = tableInternalData
438
+ const { hasFixedColumn, treeExpandedFlag, isColLoading, scrollXLoad, scrollYLoad, isAllOverflow, rowExpandedFlag, expandColumn, selectRadioRow, pendingRowFlag, isDragColMove, rowExpandHeightFlag } = tableReactData
439
+ const { fullAllDataRowIdData, treeExpandedMaps, pendingRowMaps, rowExpandedMaps } = tableInternalData
441
440
  const checkboxOpts = computeCheckboxOpts.value
442
441
  const radioOpts = computeRadioOpts.value
443
442
  const treeOpts = computeTreeOpts.value
@@ -448,6 +447,7 @@ export default defineComponent({
448
447
  const { transform, seqMode } = treeOpts
449
448
  const childrenField = treeOpts.children || treeOpts.childrenField
450
449
  const rows: any[] = []
450
+ const { handleGetRowId } = createHandleGetRowId($xeTable)
451
451
  tableData.forEach((row, $rowIndex) => {
452
452
  const trOn: Record<string, any> = {}
453
453
  let rowIndex = $rowIndex
@@ -468,7 +468,7 @@ export default defineComponent({
468
468
  $xeTable.clearHoverRow()
469
469
  }
470
470
  }
471
- const rowid = getRowid($xeTable, row)
471
+ const rowid = handleGetRowId(row)
472
472
  const rowRest = fullAllDataRowIdData[rowid]
473
473
  let rowLevel = 0
474
474
  let seq: string | number = -1
@@ -484,7 +484,7 @@ export default defineComponent({
484
484
  }
485
485
  const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex, _rowIndex }
486
486
  // 行是否被展开
487
- const isExpandRow = expandColumn && !!rowExpandedMaps[rowid]
487
+ const isExpandRow = expandColumn && !!rowExpandedFlag && !!rowExpandedMaps[rowid]
488
488
  // 树节点是否被展开
489
489
  let isExpandTree = false
490
490
  let rowChildren = []
@@ -494,7 +494,7 @@ export default defineComponent({
494
494
  }
495
495
  if (treeConfig && !scrollYLoad && !transform) {
496
496
  rowChildren = row[childrenField]
497
- isExpandTree = rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid]
497
+ isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid]
498
498
  }
499
499
  // 拖拽行事件
500
500
  if (rowOpts.drag && (!treeConfig || transform)) {
@@ -513,7 +513,7 @@ export default defineComponent({
513
513
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
514
514
  'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
515
515
  'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
516
- 'row--pending': !!pendingRowMaps[rowid]
516
+ 'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
517
517
  },
518
518
  getPropClass(rowClassName, params)
519
519
  ]
@@ -415,8 +415,8 @@ export const Cell = {
415
415
  const tableReactData = $table.reactData
416
416
  const tableInternalData = $table.internalData
417
417
  const { computeTreeOpts } = $table.getComputeMaps()
418
- const { treeExpandedMaps, treeExpandLazyLoadedMaps } = tableReactData
419
- const { fullAllDataRowIdData } = tableInternalData
418
+ const { treeExpandedFlag } = tableReactData
419
+ const { fullAllDataRowIdData, treeExpandedMaps, treeExpandLazyLoadedMaps } = tableInternalData
420
420
  const treeOpts = computeTreeOpts.value
421
421
  const { row, column, level } = params
422
422
  const { slots } = column
@@ -436,7 +436,7 @@ export const Cell = {
436
436
  }
437
437
  if (!isHidden) {
438
438
  const rowid = getRowid($table, row)
439
- isActive = !!treeExpandedMaps[rowid]
439
+ isActive = !!treeExpandedFlag && !!treeExpandedMaps[rowid]
440
440
  if (lazy) {
441
441
  const rest = fullAllDataRowIdData[rowid]
442
442
  isLazyLoading = !!treeExpandLazyLoadedMaps[rowid]
@@ -647,8 +647,10 @@ export const Cell = {
647
647
  const { $table, row, column, isHidden } = params
648
648
  const tableProps = $table.props
649
649
  const tableReactData = $table.reactData
650
+ const tableInternalData = $table.internalData
650
651
  const { treeConfig } = tableProps
651
- const { selectCheckboxMaps, treeIndeterminateMaps } = tableReactData
652
+ const { updateCheckboxFlag } = tableReactData
653
+ const { selectCheckboxMaps, treeIndeterminateRowMaps } = tableInternalData
652
654
  const { computeCheckboxOpts } = $table.getComputeMaps()
653
655
  const checkboxOpts = computeCheckboxOpts.value
654
656
  const { labelField, checkMethod, visibleMethod } = checkboxOpts
@@ -662,7 +664,7 @@ export const Cell = {
662
664
  const ons: Record<string, any> = {}
663
665
  if (!isHidden) {
664
666
  const rowid = getRowid($table, row)
665
- isChecked = !!selectCheckboxMaps[rowid]
667
+ isChecked = !!updateCheckboxFlag && !!selectCheckboxMaps[rowid]
666
668
  ons.onClick = (evnt: MouseEvent) => {
667
669
  if (!isDisabled && isVisible) {
668
670
  $table.triggerCheckRowEvent(evnt, params, !isChecked)
@@ -672,7 +674,7 @@ export const Cell = {
672
674
  isDisabled = !checkMethod({ row })
673
675
  }
674
676
  if (treeConfig) {
675
- indeterminate = !!treeIndeterminateMaps[rowid]
677
+ indeterminate = !!treeIndeterminateRowMaps[rowid]
676
678
  }
677
679
  }
678
680
  const checkboxParams = { ...params, checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate }
@@ -713,8 +715,10 @@ export const Cell = {
713
715
  const { $table, row, column, isHidden } = params
714
716
  const tableProps = $table.props
715
717
  const tableReactData = $table.reactData
718
+ const tableInternalData = $table.internalData
716
719
  const { treeConfig } = tableProps
717
- const { treeIndeterminateMaps } = tableReactData
720
+ const { updateCheckboxFlag } = tableReactData
721
+ const { treeIndeterminateRowMaps } = tableInternalData
718
722
  const { computeCheckboxOpts } = $table.getComputeMaps()
719
723
  const checkboxOpts = computeCheckboxOpts.value
720
724
  const { labelField, checkField, checkMethod, visibleMethod } = checkboxOpts
@@ -729,7 +733,7 @@ export const Cell = {
729
733
  const ons: Record<string, any> = {}
730
734
  if (!isHidden) {
731
735
  const rowid = getRowid($table, row)
732
- isChecked = XEUtils.get(row, checkField as string)
736
+ isChecked = !!updateCheckboxFlag && XEUtils.get(row, checkField)
733
737
  ons.onClick = (evnt: MouseEvent) => {
734
738
  if (!isDisabled && isVisible) {
735
739
  $table.triggerCheckRowEvent(evnt, params, !isChecked)
@@ -739,7 +743,7 @@ export const Cell = {
739
743
  isDisabled = !checkMethod({ row })
740
744
  }
741
745
  if (treeConfig) {
742
- isIndeterminate = !!treeIndeterminateMaps[rowid]
746
+ isIndeterminate = !!treeIndeterminateRowMaps[rowid]
743
747
  }
744
748
  }
745
749
  const checkboxParams = { ...params, checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: isIndeterminate }
@@ -782,8 +786,8 @@ export const Cell = {
782
786
  */
783
787
  renderExpandCell (params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
784
788
  const { $table, isHidden, row, column } = params
785
- const tableReactData = $table.reactData
786
- const { rowExpandedMaps, rowExpandLazyLoadedMaps } = tableReactData
789
+ const tableInternalData = $table.internalData
790
+ const { rowExpandedMaps, rowExpandLazyLoadedMaps } = tableInternalData
787
791
  const { computeExpandOpts } = $table.getComputeMaps()
788
792
  const expandOpts = computeExpandOpts.value
789
793
  const { lazy, labelField, iconLoaded, showIcon, iconOpen, iconClose, visibleMethod } = expandOpts