vxe-table 3.13.18 → 3.13.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/es/grid/src/grid.js +4 -0
  2. package/es/style.css +1 -1
  3. package/es/table/render/index.js +88 -57
  4. package/es/table/src/body.js +11 -6
  5. package/es/table/src/footer.js +7 -2
  6. package/es/table/src/methods.js +222 -77
  7. package/es/table/src/util.js +18 -5
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/grid/src/grid.js +4 -0
  11. package/lib/grid/src/grid.min.js +1 -1
  12. package/lib/index.umd.js +384 -164
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/style.css +1 -1
  15. package/lib/table/render/index.js +96 -62
  16. package/lib/table/render/index.min.js +1 -1
  17. package/lib/table/src/body.js +10 -5
  18. package/lib/table/src/body.min.js +1 -1
  19. package/lib/table/src/footer.js +7 -2
  20. package/lib/table/src/footer.min.js +1 -1
  21. package/lib/table/src/methods.js +247 -88
  22. package/lib/table/src/methods.min.js +1 -1
  23. package/lib/table/src/util.js +21 -5
  24. package/lib/table/src/util.min.js +1 -1
  25. package/lib/ui/index.js +1 -1
  26. package/lib/ui/index.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/package.json +2 -2
  30. package/packages/grid/src/grid.ts +5 -0
  31. package/packages/table/render/index.ts +87 -55
  32. package/packages/table/src/body.ts +10 -5
  33. package/packages/table/src/footer.ts +7 -2
  34. package/packages/table/src/methods.ts +242 -84
  35. package/packages/table/src/util.ts +20 -5
  36. /package/es/{iconfont.1741140503645.ttf → iconfont.1741333380103.ttf} +0 -0
  37. /package/es/{iconfont.1741140503645.woff → iconfont.1741333380103.woff} +0 -0
  38. /package/es/{iconfont.1741140503645.woff2 → iconfont.1741333380103.woff2} +0 -0
  39. /package/lib/{iconfont.1741140503645.ttf → iconfont.1741333380103.ttf} +0 -0
  40. /package/lib/{iconfont.1741140503645.woff → iconfont.1741333380103.woff} +0 -0
  41. /package/lib/{iconfont.1741140503645.woff2 → iconfont.1741333380103.woff2} +0 -0
@@ -11,6 +11,7 @@ exports.colToVisible = colToVisible;
11
11
  exports.convertHeaderColumnToRows = void 0;
12
12
  exports.createColumn = createColumn;
13
13
  exports.destroyColumn = destroyColumn;
14
+ exports.encodeRowid = encodeRowid;
14
15
  exports.getCellHeight = getCellHeight;
15
16
  exports.getCellValue = getCellValue;
16
17
  exports.getColReMinWidth = getColReMinWidth;
@@ -21,6 +22,7 @@ exports.getRowUniqueId = getRowUniqueId;
21
22
  exports.getRowid = getRowid;
22
23
  exports.getRowkey = getRowkey;
23
24
  exports.handleFieldOrColumn = handleFieldOrColumn;
25
+ exports.handleRowidOrRow = void 0;
24
26
  exports.isColumnInfo = isColumnInfo;
25
27
  exports.mergeBodyMethod = mergeBodyMethod;
26
28
  exports.restoreScrollLocation = restoreScrollLocation;
@@ -119,13 +121,19 @@ function getRowUniqueId() {
119
121
  return _xeUtils.default.uniqueId('row_');
120
122
  }
121
123
  // 行主键 key
122
- function getRowkey($xetable) {
123
- return $xetable.rowOpts.keyField || $xetable.rowId || '_X_ROW_KEY';
124
+ function getRowkey($xeTable) {
125
+ const props = $xeTable;
126
+ const rowOpts = $xeTable.computeRowOpts;
127
+ return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
124
128
  }
125
129
  // 行主键 value
126
130
  function getRowid($xetable, row) {
127
131
  const rowid = _xeUtils.default.get(row, getRowkey($xetable));
128
- return _xeUtils.default.eqNull(rowid) ? '' : encodeURIComponent(rowid);
132
+ return encodeRowid(rowid);
133
+ }
134
+ // 编码行主键
135
+ function encodeRowid(rowVal) {
136
+ return _xeUtils.default.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
129
137
  }
130
138
  function getPaddingLeftRightSize(elem) {
131
139
  if (elem) {
@@ -151,13 +159,21 @@ function getCellHeight(height) {
151
159
  }
152
160
  return height || 0;
153
161
  }
154
- function handleFieldOrColumn(_vm, fieldOrColumn) {
162
+ function handleFieldOrColumn($xeTable, fieldOrColumn) {
155
163
  if (fieldOrColumn) {
156
- return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ? _vm.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
164
+ return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ? $xeTable.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
157
165
  }
158
166
  return null;
159
167
  }
168
+ const handleRowidOrRow = ($xeTable, rowidOrRow) => {
169
+ if (rowidOrRow) {
170
+ const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
171
+ return $xeTable.getRowById(rowid);
172
+ }
173
+ return null;
174
+ };
160
175
  // 组装列配置
176
+ exports.handleRowidOrRow = handleRowidOrRow;
161
177
  function assembleColumn(_vm) {
162
178
  const {
163
179
  $el,
@@ -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.destroyColumn=destroyColumn,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l)?e.getColumnByField(""+l):l:null}function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:r}=e,o=t?t.columnConfig:null;o?("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`]),o.children||(o.children=[]),o.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,r)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l,{showHeaderOverflow:l,resizableOpts:i}=l,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,c,i=o.elemStore,{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e,l="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let s=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(l&&(e=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),l=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),c=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=e+t+l+n+u+a+r+c),o){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(o))return t=(e.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*t));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.computeTreeOpts,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,u=e[i?n:o];if(u&&r.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)t+=countTreeExpand(u[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,l){var{$table:t,row:r}=e,o=t.showOverflow,i=t.scrollYLoad,n=t.fullAllDataRowIdData,u=t.computeRowOpts,a=t.computeCellOpts,c=t.computeDefaultRowHeight,n=n[getRowid(t,r)],r=n.resizeHeight||a.height||u.height||n.height||c;let s=1,d=(l&&(s=countTreeExpand(l,e)),r);return(d=i&&!o?n.height||r:d)*s-(l?1:12-getOffsetSize(t))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:u}=l[e];if(-1<i&&-1<o&&n&&u){if(o===t&&i===r)return{rowspan:n,colspan:u};if(o<=t&&t<o+n&&i<=r&&r<i+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(t,r){var e=t.showOverflow,l=t.scrollYLoad,{elemStore:o,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=t,a=t.computeRowOpts,c=t.computeCellOpts,s=t.computeDefaultRowHeight,d=t.computeLeftFixedWidth,f=t.computeRightFixedWidth,o=getRefElem(o["main-body-scroll"]),g=getRowid(t,r);if(o){var m=o.clientHeight,h=o.scrollTop,o=o.querySelector(`[rowid="${g}"]`);if(o){var p=o.offsetParent,p=o.offsetTop+(p?p.offsetTop:0),o=o.clientHeight;if(p<h||h+m<p)return t.scrollTo(null,p);if(m+h<=p+o)return t.scrollTo(null,h+o)}else if(l){if(!(u||c.height||a.height)&&e)return t.scrollTo(null,(t.findRowIndexOf(i,r)-1)*s);let l=0;p=n[g],o=p.resizeHeight||c.height||a.height||p.height||s;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(t,x);if(x===r||C===g)break;x=n[C];l+=x.resizeHeight||c.height||a.height||x.height||s}return l<h?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(m-f-1))}}return Promise.resolve()}function colToVisible(t,r,l){var o=t.scrollXLoad,{elemStore:i,visibleColumn:n}=t,u=t.computeLeftFixedWidth,a=t.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var c=i.clientWidth,s=i.scrollLeft;let e=null;if(l&&(l=getRowid(t,l),e=i.querySelector(`[rowid="${l}"] .`+r.id)),e=e||i.querySelector("."+r.id)){l=e.offsetParent,i=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(i<s+u)return t.scrollTo(i-u-1);if(c-a<i+l-s)return t.scrollTo(i+l-(c-a-1))}else if(o){let l=0;i=r.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===r||d.id===r.id)break;l+=d.renderWidth}return l<s?t.scrollTo(l-u-1):t.scrollTo(l+i-(c-a-1))}}return Promise.resolve()}
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.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.handleRowidOrRow=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,o=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(o(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let o=e;return e.clearScroll().then(()=>{if(l||t)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(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var l=e.computeRowOpts;return""+(e.rowId||l.keyField||"_X_ROW_KEY")}function getRowid(e,l){return encodeRowid(_xeUtils.default.get(l,getRowkey(e)))}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l)?e.getColumnByField(""+l):l:null}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleRowidOrRow=(e,l)=>l?(l=_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l)?l:getRowid(e,l),e.getRowById(l)):null;function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:o}=e,r=t?t.columnConfig:null;r?("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`]),r.children||(r.children=[]),r.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,o)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,o)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let o=l.parentId;for(;t[o];){let e=t[o].column;if(!(o=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:o,checked:r})=>({label:e,value:l,data:t,resetValue:o,checked:!!r,_checked:!!r})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:o}=e,r=l,{showHeaderOverflow:l,resizableOpts:i}=l,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,s,i=r.elemStore,{showHeaderOverflow:e,minWidth:r}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e,l="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(l&&(e=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),l=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),c+=e+t+l+n+u+a+o+s),r){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(r))return t=(e.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(r)*t));if((0,_dom.isPx)(r))return Math.max(c,_xeUtils.default.toInteger(r))}}return c}exports.handleRowidOrRow=handleRowidOrRow;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,l){let t=1;if(e){var o=l.$table,r=o.computeTreeOpts,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,u=e[i?n:r];if(u&&o.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)t+=countTreeExpand(u[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,l){var{$table:t,row:o}=e,r=t.showOverflow,i=t.scrollYLoad,n=t.fullAllDataRowIdData,u=t.computeRowOpts,a=t.computeCellOpts,s=t.computeDefaultRowHeight,n=n[getRowid(t,o)],o=n.resizeHeight||a.height||u.height||n.height||s;let c=1,d=(l&&(c=countTreeExpand(l,e)),o);return(d=i&&!r?n.height||o:d)*c-(l?1:12-getOffsetSize(t))}function mergeBodyMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:i,rowspan:n,colspan:u}=l[e];if(-1<i&&-1<r&&n&&u){if(r===t&&i===o)return{rowspan:n,colspan:u};if(r<=t&&t<r+n&&i<=o&&o<i+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(t,o){var e=t.showOverflow,l=t.scrollYLoad,{elemStore:r,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=t,a=t.computeRowOpts,s=t.computeCellOpts,c=t.computeDefaultRowHeight,d=t.computeLeftFixedWidth,f=t.computeRightFixedWidth,r=getRefElem(r["main-body-scroll"]),g=getRowid(t,o);if(r){var m=r.clientHeight,h=r.scrollTop,r=r.querySelector(`[rowid="${g}"]`);if(r){var p=r.offsetParent,p=r.offsetTop+(p?p.offsetTop:0),r=r.clientHeight;if(p<h||h+m<p)return t.scrollTo(null,p);if(m+h<=p+r)return t.scrollTo(null,h+r)}else if(l){if(!(u||s.height||a.height)&&e)return t.scrollTo(null,(t.findRowIndexOf(i,o)-1)*c);let l=0;p=n[g],r=p.resizeHeight||s.height||a.height||p.height||c;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(t,x);if(x===o||C===g)break;x=n[C];l+=x.resizeHeight||s.height||a.height||x.height||c}return l<h?t.scrollTo(null,l-d-1):t.scrollTo(null,l+r-(m-f-1))}}return Promise.resolve()}function colToVisible(t,o,l){var r=t.scrollXLoad,{elemStore:i,visibleColumn:n}=t,u=t.computeLeftFixedWidth,a=t.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(l&&(l=getRowid(t,l),e=i.querySelector(`[rowid="${l}"] .`+o.id)),e=e||i.querySelector("."+o.id)){l=e.offsetParent,i=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(i<c+u)return t.scrollTo(i-u-1);if(s-a<i+l-c)return t.scrollTo(i+l-(s-a-1))}else if(r){let l=0;i=o.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===o||d.id===o.id)break;l+=d.renderWidth}return l<c?t.scrollTo(l-u-1):t.scrollTo(l+i-(s-a-1))}}return Promise.resolve()}
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.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 = "3.13.18";
16
+ const version = exports.version = "3.13.20";
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.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="3.13.18",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!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:0,oSize:1},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,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.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="3.13.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,padding:!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:0,oSize:1},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,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${"3.13.18"}`;
11
+ const version = `table v${"3.13.20"}`;
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 v3.13.18",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 v3.13.20",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": "3.13.18",
3
+ "version": "3.13.20",
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": "^3.4.1"
31
+ "vxe-pc-ui": "^3.4.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -651,6 +651,11 @@ export default {
651
651
  }
652
652
  return []
653
653
  },
654
+ getEl () {
655
+ const $xeGrid = this
656
+
657
+ return $xeGrid.$refs.refElem as HTMLDivElement
658
+ },
654
659
  /**
655
660
  * 获取需要排除的高度
656
661
  */
@@ -620,6 +620,62 @@ function handleExportTreeSelectMethod (params: any) {
620
620
  return options.original ? getCellValue(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params)
621
621
  }
622
622
 
623
+ function handleNumberCell (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, params: VxeGlobalRendererHandles.RenderTableDefaultParams) {
624
+ const { props = {}, showNegativeStatus } = renderOpts
625
+ const { row, column } = params
626
+ const { type } = props
627
+ let cellValue = XEUtils.get(row, column.field)
628
+ let isNegative = false
629
+ if (!isEmptyValue(cellValue)) {
630
+ const numberInputConfig = getConfig().numberInput || {}
631
+ if (type === 'float') {
632
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true)
633
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1)
634
+ cellValue = XEUtils.toFixed(XEUtils.floor(cellValue, digits), digits)
635
+ if (!autoFill) {
636
+ cellValue = XEUtils.toNumber(cellValue)
637
+ }
638
+ if (showNegativeStatus) {
639
+ if (cellValue < 0) {
640
+ isNegative = true
641
+ }
642
+ }
643
+ } else if (type === 'amount') {
644
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true)
645
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2)
646
+ const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false)
647
+ cellValue = XEUtils.toNumber(cellValue)
648
+ if (showNegativeStatus) {
649
+ if (cellValue < 0) {
650
+ isNegative = true
651
+ }
652
+ }
653
+ cellValue = XEUtils.commafy(cellValue, { digits })
654
+ if (!autoFill) {
655
+ const [iStr, dStr] = cellValue.split('.')
656
+ if (dStr) {
657
+ const dRest = dStr.replace(/0+$/, '')
658
+ cellValue = dRest ? [iStr, '.', dRest].join('') : iStr
659
+ }
660
+ }
661
+ if (showCurrency) {
662
+ cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`
663
+ }
664
+ } else {
665
+ if (showNegativeStatus) {
666
+ if (XEUtils.toNumber(cellValue) < 0) {
667
+ isNegative = true
668
+ }
669
+ }
670
+ }
671
+ }
672
+ return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative
673
+ ? {
674
+ class: 'is--negative'
675
+ }
676
+ : {})
677
+ }
678
+
623
679
  /**
624
680
  * 表格 - 渲染器
625
681
  */
@@ -685,64 +741,19 @@ renderer.mixin({
685
741
  renderTableFilter: defaultFilterRender,
686
742
  tableFilterDefaultMethod: handleInputFilterMethod
687
743
  },
744
+ FormatNumberInput: {
745
+ renderTableDefault: handleNumberCell,
746
+ tableFilterDefaultMethod: handleInputFilterMethod,
747
+ tableExportMethod (params) {
748
+ const { row, column } = params
749
+ const cellValue = XEUtils.get(row, column.field)
750
+ return cellValue
751
+ }
752
+ },
688
753
  VxeNumberInput: {
689
754
  tableAutoFocus: 'input',
690
755
  renderTableEdit: defaultEditRender,
691
- renderTableCell (h, renderOpts, params) {
692
- const { props = {}, showNegativeStatus } = renderOpts
693
- const { row, column } = params
694
- const { type } = props
695
- let cellValue = XEUtils.get(row, column.field)
696
- let isNegative = false
697
- if (!isEmptyValue(cellValue)) {
698
- const numberInputConfig = getConfig().numberInput || {}
699
- if (type === 'float') {
700
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true)
701
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1)
702
- cellValue = XEUtils.toFixed(XEUtils.floor(cellValue, digits), digits)
703
- if (!autoFill) {
704
- cellValue = XEUtils.toNumber(cellValue)
705
- }
706
- if (showNegativeStatus) {
707
- if (cellValue < 0) {
708
- isNegative = true
709
- }
710
- }
711
- } else if (type === 'amount') {
712
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true)
713
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2)
714
- const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false)
715
- cellValue = XEUtils.toNumber(cellValue)
716
- if (showNegativeStatus) {
717
- if (cellValue < 0) {
718
- isNegative = true
719
- }
720
- }
721
- cellValue = XEUtils.commafy(cellValue, { digits })
722
- if (!autoFill) {
723
- const [iStr, dStr] = cellValue.split('.')
724
- if (dStr) {
725
- const dRest = dStr.replace(/0+$/, '')
726
- cellValue = dRest ? [iStr, '.', dRest].join('') : iStr
727
- }
728
- }
729
- if (showCurrency) {
730
- cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`
731
- }
732
- } else {
733
- if (showNegativeStatus) {
734
- if (XEUtils.toNumber(cellValue) < 0) {
735
- isNegative = true
736
- }
737
- }
738
- }
739
- }
740
- return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative
741
- ? {
742
- class: 'is--negative'
743
- }
744
- : {})
745
- },
756
+ renderTableCell: handleNumberCell,
746
757
  renderTableFooter (h, renderOpts, params) {
747
758
  const { props = {} } = renderOpts
748
759
  const { row, column, _columnIndex } = params
@@ -849,11 +860,22 @@ renderer.mixin({
849
860
  tableFilterDefaultMethod: handleFilterMethod,
850
861
  tableExportMethod: handleExportSelectMethod
851
862
  },
863
+ /**
864
+ * 已废弃,被 FormatSelect 替换
865
+ * @deprecated
866
+ */
852
867
  formatOption: {
853
868
  renderTableDefault (h, renderOpts, params) {
854
869
  return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params))
855
870
  }
856
871
  },
872
+ FormatSelect: {
873
+ renderTableDefault (h, renderOpts, params) {
874
+ return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params))
875
+ },
876
+ tableFilterDefaultMethod: handleFilterMethod,
877
+ tableExportMethod: handleExportSelectMethod
878
+ },
857
879
  VxeTreeSelect: {
858
880
  tableAutoFocus: 'input',
859
881
  renderTableEdit: defaultTableOrTreeSelectEditRender,
@@ -870,11 +892,21 @@ renderer.mixin({
870
892
  },
871
893
  tableExportMethod: handleExportTreeSelectMethod
872
894
  },
895
+ /**
896
+ * 已废弃,被 FormatTreeSelect 替换
897
+ * @deprecated
898
+ */
873
899
  formatTree: {
874
900
  renderTableDefault (h, renderOpts, params) {
875
901
  return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params))
876
902
  }
877
903
  },
904
+ FormatTreeSelect: {
905
+ renderTableDefault (h, renderOpts, params) {
906
+ return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params))
907
+ },
908
+ tableExportMethod: handleExportTreeSelectMethod
909
+ },
878
910
  VxeColorPicker: {
879
911
  tableAutoFocus: 'input',
880
912
  renderTableEdit (h, renderOpts, params: VxeGlobalRendererHandles.RenderTableEditParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
@@ -217,6 +217,7 @@ function renderTdColumn (
217
217
  tdOns.dblclick = (evnt: MouseEvent) => {
218
218
  $xeTable.triggerCellDblclickEvent(evnt, cellParams)
219
219
  }
220
+ let isMergeCell = false
220
221
  // 合并行或列
221
222
  if (mergeList.length) {
222
223
  const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex)
@@ -226,9 +227,11 @@ function renderTdColumn (
226
227
  return null
227
228
  }
228
229
  if (rowspan > 1) {
230
+ isMergeCell = true
229
231
  tdAttrs.rowspan = rowspan
230
232
  }
231
233
  if (colspan > 1) {
234
+ isMergeCell = true
232
235
  tdAttrs.colspan = colspan
233
236
  }
234
237
  }
@@ -263,11 +266,13 @@ function renderTdColumn (
263
266
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
264
267
 
265
268
  let isVNPreEmptyStatus = false
266
- if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
267
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
268
- isVNPreEmptyStatus = true
269
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
270
- isVNPreEmptyStatus = true
269
+ if (!isMergeCell) {
270
+ if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
271
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
272
+ isVNPreEmptyStatus = true
273
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
274
+ isVNPreEmptyStatus = true
275
+ }
271
276
  }
272
277
  }
273
278
 
@@ -110,6 +110,7 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
110
110
  tfOns.dblclick = (evnt: MouseEvent) => {
111
111
  $xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({ cell: evnt.currentTarget }, cellParams), evnt)
112
112
  }
113
+ let isMergeCell = false
113
114
  // 合并行或列
114
115
  if (mergeFooterList.length) {
115
116
  const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex)
@@ -119,9 +120,11 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
119
120
  return null
120
121
  }
121
122
  if (rowspan > 1) {
123
+ isMergeCell = true
122
124
  attrs.rowspan = rowspan
123
125
  }
124
126
  if (colspan > 1) {
127
+ isMergeCell = true
125
128
  attrs.colspan = colspan
126
129
  }
127
130
  }
@@ -142,8 +145,10 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
142
145
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
143
146
 
144
147
  let isVNPreEmptyStatus = false
145
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
146
- isVNPreEmptyStatus = true
148
+ if (!isMergeCell) {
149
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
150
+ isVNPreEmptyStatus = true
151
+ }
147
152
  }
148
153
 
149
154
  const tcStyle: Record<string, string> = {}