vxe-table 4.15.0-beta.9 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/es/grid/src/grid.js +57 -9
  2. package/es/style.css +1 -1
  3. package/es/table/module/custom/hook.js +22 -14
  4. package/es/table/module/edit/hook.js +5 -5
  5. package/es/table/src/body.js +7 -6
  6. package/es/table/src/columnInfo.js +2 -0
  7. package/es/table/src/table.js +204 -80
  8. package/es/table/src/util.js +9 -0
  9. package/es/ui/index.js +2 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +67 -9
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +143 -54
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/module/custom/hook.js +25 -13
  17. package/lib/table/module/custom/hook.min.js +1 -1
  18. package/lib/table/module/edit/hook.js +5 -0
  19. package/lib/table/module/edit/hook.min.js +1 -1
  20. package/lib/table/src/body.js +7 -6
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/columnInfo.js +2 -0
  23. package/lib/table/src/columnInfo.min.js +1 -1
  24. package/lib/table/src/table.js +24 -24
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/table/src/util.js +10 -0
  27. package/lib/table/src/util.min.js +1 -1
  28. package/lib/ui/index.js +2 -1
  29. package/lib/ui/index.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/package.json +2 -2
  33. package/packages/grid/src/grid.ts +62 -9
  34. package/packages/table/module/custom/hook.ts +21 -13
  35. package/packages/table/module/edit/hook.ts +5 -5
  36. package/packages/table/src/body.ts +7 -6
  37. package/packages/table/src/columnInfo.ts +3 -0
  38. package/packages/table/src/table.ts +217 -80
  39. package/packages/table/src/util.ts +10 -0
  40. package/packages/ui/index.ts +1 -0
  41. /package/es/{iconfont.1753497319436.ttf → iconfont.1753928735749.ttf} +0 -0
  42. /package/es/{iconfont.1753497319436.woff → iconfont.1753928735749.woff} +0 -0
  43. /package/es/{iconfont.1753497319436.woff2 → iconfont.1753928735749.woff2} +0 -0
  44. /package/lib/{iconfont.1753497319436.ttf → iconfont.1753928735749.ttf} +0 -0
  45. /package/lib/{iconfont.1753497319436.woff → iconfont.1753928735749.woff} +0 -0
  46. /package/lib/{iconfont.1753497319436.woff2 → iconfont.1753928735749.woff2} +0 -0
@@ -19,6 +19,7 @@ exports.getCellRestHeight = getCellRestHeight;
19
19
  exports.getCellValue = getCellValue;
20
20
  exports.getColReMaxWidth = getColReMaxWidth;
21
21
  exports.getColReMinWidth = getColReMinWidth;
22
+ exports.getColumnList = getColumnList;
22
23
  exports.getOffsetSize = void 0;
23
24
  exports.getRefElem = getRefElem;
24
25
  exports.getRootColumn = getRootColumn;
@@ -373,6 +374,14 @@ function getColReMinWidth(params) {
373
374
  function isColumnInfo(column) {
374
375
  return column && (column.constructor === _columnInfo.ColumnInfo || column instanceof _columnInfo.ColumnInfo);
375
376
  }
377
+ // 获取所有的列,排除分组
378
+ function getColumnList(columns) {
379
+ const result = [];
380
+ columns.forEach(column => {
381
+ result.push(...(column.children && column.children.length ? getColumnList(column.children) : [column]));
382
+ });
383
+ return result;
384
+ }
376
385
  function createColumn($xeTable, options, renderOptions) {
377
386
  return isColumnInfo(options) ? options : (0, _vue.reactive)(new _columnInfo.ColumnInfo($xeTable, options, renderOptions));
378
387
  }
@@ -402,6 +411,7 @@ function assembleColumn($xeTable, elem, column, colgroup) {
402
411
  const parentColumn = colgroup ? colgroup.columnConfig : null;
403
412
  const parentCols = parentColumn ? parentColumn.children : staticColumns;
404
413
  if (parentElem && parentCols) {
414
+ column.defaultParentId = parentColumn ? parentColumn.id : null;
405
415
  parentCols.splice(_xeUtils.default.arrayIndexOf(parentElem.children, elem), 0, column);
406
416
  reactData.staticColumns = staticColumns.slice(0);
407
417
  }
@@ -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.getCalcHeight=getCalcHeight,exports.getCellRestHeight=getCellRestHeight,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.handleFieldOrColumn=handleFieldOrColumn,exports.handleRowidOrRow=handleRowidOrRow,exports.hasDeepKey=hasDeepKey,exports.isColumnInfo=isColumnInfo,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,r=(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&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(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){var r=e.internalData;return t||l?(r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(t,l)):e.clearScroll()}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function hasDeepKey(e){return-1<e.indexOf(".")}function getRowkey(e){e=e.internalData.currKeyField;return e}function getRowid(e,t){var{isCurrDeepKey:e,currKeyField:l}=e.internalData;return t?encodeRowid((e?getDeepRowIdByKey:getFastRowIdByKey)(t,l)):""}function createHandleUpdateRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e.internalData,r=t?updateDeepRowKey:updateFastRowKey;return{rowKey:l,handleUpdateRowId(e){return e?r(e,l):""}}}function createHandleGetRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e.internalData,r=t?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:l,handleGetRowId(e){return e?encodeRowid(r(e,l)):""}}}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=encodeRowid(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=encodeRowid(getFastRowIdByKey(e,t));return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}function handleFieldOrColumn(e,t){return t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null}function handleRowidOrRow(e,t){return t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null}function getCellRestHeight(e,t,l,r){return e.resizeHeight||t.height||l.height||e.height||r}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginAndWidth(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 toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):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 getCalcHeight(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:r}=e,o=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,d,t=i.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:i,minWidth:o}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let s=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize((0,_dom.queryElement)(r,".vxe-cell")));if(e&&(i=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--drag-handle")),l=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--checkbox")),e=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--required-icon")),n=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--edit-icon")),a=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell-title-prefix-icon")),u=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell-title-suffix-icon")),d=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--sort")),r=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--filter")),s+=i+l+e+n+a+u+r+d),o){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(o))return l=(i.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*l));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}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,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e.reactData,o=e.staticColumns,i=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;i&&r&&(r.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let r=t.parentId;for(;l[r];){let e=l[r].column;if(!(r=e.parentId))return e}return t}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1,large:0},countTreeExpand=(e,t)=>{let l=1;if(e){var r=t.$table,o=r.reactData.treeExpandedFlag,i=r.internalData.treeExpandedMaps,n=r.getComputeMaps().computeTreeOpts,n=n.value,{transform:a,mapChildrenField:u}=n,n=n.children||n.childrenField,d=e[a?u:n];if(d&&o&&i[getRowid(r,e)])for(let e=0;e<d.length;e++)l+=countTreeExpand(d[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:r}=e,o=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),a=a.value,u=u.value,d=d.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||a.height||n.height||d;let s=1,c=(t&&(s=countTreeExpand(t,e)),r);return(c=i&&!o?n.height||r:c)*s-(t?1:12-getOffsetSize(l))}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var e=l.props,t=l.reactData,o=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),e=e.showOverflow,{scrollYLoad:t,scrollYTop:s}=t,{elemStore:o,afterFullData:c,fullAllDataRowIdData:f,isResizeCellHeight:m}=o,h=a.value,p=u.value,g=d.value,a=i.value,u=n.value,d=getRefElem(o["main-body-scroll"]),R=getRowid(l,r);if(d){i=d.clientHeight,n=d.scrollTop,o=d.querySelector(`[rowid="${R}"]`);if(o){d=o.offsetTop+(t?s:0),s=o.clientHeight;if(d<n||n+i<d)return l.scrollTo(null,d);if(i+n<=d+s)return l.scrollTo(null,n+s)}else if(t){if(!(m||p.height||h.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(c,r)-1)*g);let t=0;o=f[R]||{},d=o.resizeHeight||p.height||h.height||o.height||g;for(let e=0;e<c.length;e++){var x=c[e],w=getRowid(l,x);if(x===r||w===R)break;x=f[w]||{};t+=x.resizeHeight||p.height||h.height||x.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+d-(i-u-1))}}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),{scrollXLoad:o,scrollXLeft:u}=o,{elemStore:i,visibleColumn:d}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+r.id)),e=e||i.querySelector("."+r.id)){t=e.offsetLeft+(o?u:0),i=e.clientWidth;if(t<c+n)return l.scrollTo(t-n-1);if(s-a<t+i-c)return l.scrollTo(t+i-(s-a-1))}else if(o){let t=0;u=r.renderWidth;for(let e=0;e<d.length;e++){var f=d[e];if(f===r||f.id===r.id)break;t+=f.renderWidth}return t<c?l.scrollTo(t-n-1):l.scrollTo(t+u-(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.getCalcHeight=getCalcHeight,exports.getCellRestHeight=getCellRestHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getColumnList=getColumnList,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.handleRowidOrRow=handleRowidOrRow,exports.hasDeepKey=hasDeepKey,exports.isColumnInfo=isColumnInfo,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,r=(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&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(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){var r=e.internalData;return t||l?(r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(t,l)):e.clearScroll()}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function hasDeepKey(e){return-1<e.indexOf(".")}function getRowkey(e){e=e.internalData.currKeyField;return e}function getRowid(e,t){var{isCurrDeepKey:e,currKeyField:l}=e.internalData;return t?encodeRowid((e?getDeepRowIdByKey:getFastRowIdByKey)(t,l)):""}function createHandleUpdateRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e.internalData,r=t?updateDeepRowKey:updateFastRowKey;return{rowKey:l,handleUpdateRowId(e){return e?r(e,l):""}}}function createHandleGetRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e.internalData,r=t?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:l,handleGetRowId(e){return e?encodeRowid(r(e,l)):""}}}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=encodeRowid(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=encodeRowid(getFastRowIdByKey(e,t));return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}function handleFieldOrColumn(e,t){return t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null}function handleRowidOrRow(e,t){return t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null}function getCellRestHeight(e,t,l,r){return e.resizeHeight||t.height||l.height||e.height||r}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginAndWidth(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 toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):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 getCalcHeight(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:r}=e,o=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,d,t=i.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:i,minWidth:o}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let s=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize((0,_dom.queryElement)(r,".vxe-cell")));if(e&&(i=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--drag-handle")),l=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--checkbox")),e=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--required-icon")),n=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--edit-icon")),a=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell-title-prefix-icon")),u=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell-title-suffix-icon")),d=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--sort")),r=getElementMarginAndWidth((0,_dom.queryElement)(r,".vxe-cell--filter")),s+=i+l+e+n+a+u+r+d),o){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(o))return l=(i.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*l));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function getColumnList(e){let t=[];return e.forEach(e=>{t.push(...e.children&&e.children.length?getColumnList(e.children):[e])}),t}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e.reactData,o=e.staticColumns,i=t.parentNode,r=r?r.columnConfig:null,n=r?r.children:o;i&&n&&(l.defaultParentId=r?r.id:null,n.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let r=t.parentId;for(;l[r];){let e=l[r].column;if(!(r=e.parentId))return e}return t}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1,large:0},countTreeExpand=(e,t)=>{let l=1;if(e){var r=t.$table,o=r.reactData.treeExpandedFlag,i=r.internalData.treeExpandedMaps,n=r.getComputeMaps().computeTreeOpts,n=n.value,{transform:a,mapChildrenField:u}=n,n=n.children||n.childrenField,d=e[a?u:n];if(d&&o&&i[getRowid(r,e)])for(let e=0;e<d.length;e++)l+=countTreeExpand(d[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:r}=e,o=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),a=a.value,u=u.value,d=d.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||a.height||n.height||d;let s=1,c=(t&&(s=countTreeExpand(t,e)),r);return(c=i&&!o?n.height||r:c)*s-(t?1:12-getOffsetSize(l))}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var e=l.props,t=l.reactData,o=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),e=e.showOverflow,{scrollYLoad:t,scrollYTop:s}=t,{elemStore:o,afterFullData:c,fullAllDataRowIdData:f,isResizeCellHeight:m}=o,h=a.value,g=u.value,p=d.value,a=i.value,u=n.value,d=getRefElem(o["main-body-scroll"]),R=getRowid(l,r);if(d){i=d.clientHeight,n=d.scrollTop,o=d.querySelector(`[rowid="${R}"]`);if(o){d=o.offsetTop+(t?s:0),s=o.clientHeight;if(d<n||n+i<d)return l.scrollTo(null,d);if(i+n<=d+s)return l.scrollTo(null,n+s)}else if(t){if(!(m||g.height||h.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(c,r)-1)*p);let t=0;o=f[R]||{},d=o.resizeHeight||g.height||h.height||o.height||p;for(let e=0;e<c.length;e++){var x=c[e],w=getRowid(l,x);if(x===r||w===R)break;x=f[w]||{};t+=x.resizeHeight||g.height||h.height||x.height||p}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+d-(i-u-1))}}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),{scrollXLoad:o,scrollXLeft:u}=o,{elemStore:i,visibleColumn:d}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+r.id)),e=e||i.querySelector("."+r.id)){t=e.offsetLeft+(o?u:0),i=e.clientWidth;if(t<c+n)return l.scrollTo(t-n-1);if(s-a<t+i-c)return l.scrollTo(t+i-(s-a-1))}else if(o){let t=0;u=r.renderWidth;for(let e=0;e<d.length;e++){var f=d[e];if(f===r||f.id===r.id)break;t+=f.renderWidth}return t<c?l.scrollTo(t-n-1):l.scrollTo(t+u-(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.15.0-beta.9";
16
+ const version = exports.version = "4.15.0";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -151,6 +151,7 @@ _core.VxeUI.setConfig({
151
151
  // filterMethod: null,
152
152
  // destroyOnClose: false,
153
153
  // isEvery: false,
154
+ multiple: true,
154
155
  showIcon: true
155
156
  },
156
157
  aggregateConfig: {
@@ -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.15.0-beta.9",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:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},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",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},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},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,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:{isAll:!0,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:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{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_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",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_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",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.15.0",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},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",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},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:{multiple:!0,showIcon:!0},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,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:{isAll:!0,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:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{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_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",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_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",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.15.0-beta.9"}`;
11
+ const version = `table v${"4.15.0"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.15.0-beta.9",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.15.0",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.15.0-beta.9",
3
+ "version": "4.15.0",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
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.7.0"
31
+ "vxe-pc-ui": "^4.8.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -18,7 +18,7 @@ const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents,
18
18
 
19
19
  const tableComponentPropKeys = Object.keys(tableComponentProps as any)
20
20
 
21
- const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
21
+ const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
22
22
 
23
23
  const gridComponentEmits: VxeGridEmits = [
24
24
  ...tableComponentEmits,
@@ -243,6 +243,11 @@ export default defineVxeComponent({
243
243
  return pagerOpts.total
244
244
  })
245
245
 
246
+ const computePageCount = computed(() => {
247
+ const { tablePage } = reactData
248
+ return Math.max(Math.ceil(tablePage.total / tablePage.pageSize), 1)
249
+ })
250
+
246
251
  const computeIsLoading = computed(() => {
247
252
  const { loading, proxyConfig } = props
248
253
  const { tableLoading } = reactData
@@ -315,7 +320,7 @@ export default defineVxeComponent({
315
320
  tablePage.pageSize = pageSize
316
321
  }
317
322
  if (total) {
318
- tablePage.pageSize = total
323
+ tablePage.total = total
319
324
  }
320
325
  }
321
326
  }
@@ -388,7 +393,7 @@ export default defineVxeComponent({
388
393
  }
389
394
  }
390
395
 
391
- const sortChangeEvent: VxeTableEvents.SortChange = (params) => {
396
+ const handleSortEvent: VxeTableEvents.SortChange | VxeTableEvents.ClearAllSort = (params) => {
392
397
  const $xeTable = refTable.value
393
398
  const { proxyConfig } = props
394
399
  const { computeSortOpts } = $xeTable.getComputeMaps()
@@ -404,10 +409,19 @@ export default defineVxeComponent({
404
409
  })
405
410
  }
406
411
  }
412
+ }
413
+
414
+ const sortChangeEvent: VxeTableEvents.SortChange = (params) => {
415
+ handleSortEvent(params)
407
416
  $xeGrid.dispatchEvent('sort-change', params, params.$event)
408
417
  }
409
418
 
410
- const filterChangeEvent: VxeTableEvents.FilterChange = (params) => {
419
+ const clearAllSortEvent: VxeTableEvents.ClearAllSort = (params) => {
420
+ handleSortEvent(params)
421
+ $xeGrid.dispatchEvent('clear-all-sort', params, params.$event)
422
+ }
423
+
424
+ const handleFilterEvent: VxeTableEvents.FilterChange | VxeTableEvents.ClearAllFilter = (params) => {
411
425
  const $xeTable = refTable.value
412
426
  const { proxyConfig } = props
413
427
  const { computeFilterOpts } = $xeTable.getComputeMaps()
@@ -423,9 +437,18 @@ export default defineVxeComponent({
423
437
  })
424
438
  }
425
439
  }
440
+ }
441
+
442
+ const filterChangeEvent: VxeTableEvents.FilterChange = (params) => {
443
+ handleFilterEvent(params)
426
444
  $xeGrid.dispatchEvent('filter-change', params, params.$event)
427
445
  }
428
446
 
447
+ const clearAllFilterEvent: VxeTableEvents.ClearAllFilter = (params) => {
448
+ handleFilterEvent(params)
449
+ $xeGrid.dispatchEvent('clear-all-filter', params, params.$event)
450
+ }
451
+
429
452
  const submitFormEvent: VxeFormEvents.Submit = (params) => {
430
453
  const { proxyConfig } = props
431
454
  const proxyOpts = computeProxyOpts.value
@@ -686,9 +709,11 @@ export default defineVxeComponent({
686
709
  if (proxyConfig && isEnableConf(proxyOpts)) {
687
710
  if (proxyOpts.sort) {
688
711
  tableOns.onSortChange = sortChangeEvent
712
+ tableOns.onClearAllSort = clearAllSortEvent
689
713
  }
690
714
  if (proxyOpts.filter) {
691
715
  tableOns.onFilterChange = filterChangeEvent
716
+ tableOns.onClearAllFilter = clearAllFilterEvent
692
717
  }
693
718
  }
694
719
  const slotObj: {
@@ -1241,6 +1266,9 @@ export default defineVxeComponent({
1241
1266
  }
1242
1267
  return nextTick()
1243
1268
  },
1269
+ getParams () {
1270
+ return props.params
1271
+ },
1244
1272
  zoom () {
1245
1273
  if (reactData.isZMax) {
1246
1274
  return gridMethods.revert()
@@ -1296,26 +1324,51 @@ export default defineVxeComponent({
1296
1324
  return nextTick()
1297
1325
  },
1298
1326
  homePage () {
1327
+ const { tablePage } = reactData
1328
+ tablePage.currentPage = 1
1329
+ return nextTick()
1330
+ },
1331
+ homePageByEvent (evnt) {
1299
1332
  const $pager = refPager.value
1300
1333
  if ($pager) {
1301
- return $pager.homePage()
1334
+ $pager.homePageByEvent(evnt)
1302
1335
  }
1303
- return nextTick()
1304
1336
  },
1305
1337
  endPage () {
1338
+ const { tablePage } = reactData
1339
+ const pageCount = computePageCount.value
1340
+ tablePage.currentPage = pageCount
1341
+ return nextTick()
1342
+ },
1343
+ endPageByEvent (evnt) {
1306
1344
  const $pager = refPager.value
1307
1345
  if ($pager) {
1308
- return $pager.endPage()
1346
+ $pager.endPageByEvent(evnt)
1309
1347
  }
1348
+ },
1349
+ setCurrentPage (currentPage) {
1350
+ const { tablePage } = reactData
1351
+ const pageCount = computePageCount.value
1352
+ tablePage.currentPage = Math.min(pageCount, Math.max(1, XEUtils.toNumber(currentPage)))
1310
1353
  return nextTick()
1311
1354
  },
1312
- jumpPage (currentPage) {
1355
+ setCurrentPageByEvent (evnt, currentPage) {
1313
1356
  const $pager = refPager.value
1314
1357
  if ($pager) {
1315
- return $pager.jumpPage(currentPage)
1358
+ $pager.setCurrentPageByEvent(evnt, currentPage)
1316
1359
  }
1360
+ },
1361
+ setPageSize (pageSize) {
1362
+ const { tablePage } = reactData
1363
+ tablePage.pageSize = Math.max(1, XEUtils.toNumber(pageSize))
1317
1364
  return nextTick()
1318
1365
  },
1366
+ setPageSizeByEvent (evnt, pageSize) {
1367
+ const $pager = refPager.value
1368
+ if ($pager) {
1369
+ $pager.setPageSizeByEvent(evnt, pageSize)
1370
+ }
1371
+ },
1319
1372
  getProxyInfo () {
1320
1373
  const $xeTable = refTable.value
1321
1374
  if (props.proxyConfig) {
@@ -1,6 +1,7 @@
1
1
  import { nextTick } from 'vue'
2
2
  import { VxeUI } from '../../../ui'
3
3
  import XEUtils from 'xe-utils'
4
+ import { getColumnList } from '../../src/util'
4
5
 
5
6
  import type { TableCustomMethods, TableCustomPrivateMethods, VxeColumnPropTypes, VxeTableDefines } from '../../../../types'
6
7
 
@@ -111,21 +112,20 @@ VxeUI.hooks.add('tableCustomModule', {
111
112
  }
112
113
  })
113
114
  reactData.isCustomStatus = true
114
- return $xeTable.saveCustomStore('confirm').then(() => {
115
- if (allowGroup && allowValues && ($xeTable as any).handlePivotTableAggregateData) {
116
- if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
117
- // 更新数据分组
118
- if (aggHandleFields.length) {
119
- $xeTable.setRowGroups(aggHandleFields)
120
- } else {
121
- $xeTable.clearRowGroups()
122
- }
115
+ if (allowGroup && !!$xeTable.handlePivotTableAggregateData) {
116
+ if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
117
+ // 更新数据分组
118
+ if (aggHandleFields.length) {
119
+ $xeTable.setRowGroups(aggHandleFields)
123
120
  } else {
124
- // 更新聚合函数
125
- $xeTable.handleUpdateAggData()
121
+ $xeTable.clearRowGroups()
126
122
  }
123
+ } else if (allowValues) {
124
+ // 更新聚合函数
125
+ $xeTable.handleUpdateAggData()
127
126
  }
128
- })
127
+ }
128
+ return $xeTable.saveCustomStore('confirm')
129
129
  }
130
130
 
131
131
  const cancelCustom = () => {
@@ -212,6 +212,7 @@ VxeUI.hooks.add('tableCustomModule', {
212
212
  sort: options === true,
213
213
  aggFunc: options === true
214
214
  }, options)
215
+ const allCols: VxeTableDefines.ColumnInfo[] = []
215
216
  XEUtils.eachTree(collectColumn, (column) => {
216
217
  if (opts.resizable) {
217
218
  column.resizeWidth = 0
@@ -221,6 +222,7 @@ VxeUI.hooks.add('tableCustomModule', {
221
222
  }
222
223
  if (opts.sort) {
223
224
  column.renderSortNumber = column.sortNumber
225
+ column.parentId = column.defaultParentId
224
226
  }
225
227
  if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
226
228
  column.visible = column.defaultVisible
@@ -230,9 +232,14 @@ VxeUI.hooks.add('tableCustomModule', {
230
232
  column.renderAggFn = column.defaultAggFunc
231
233
  }
232
234
  column.renderResizeWidth = column.renderWidth
235
+ allCols.push(column)
233
236
  })
237
+ if (opts.sort) {
238
+ const newCollectCols = XEUtils.toArrayTree(XEUtils.orderBy(allCols, 'renderSortNumber'), { key: 'id', parentKey: 'parentId', children: 'children' })
239
+ internalData.collectColumn = newCollectCols
240
+ internalData.tableFullColumn = getColumnList(newCollectCols)
241
+ }
234
242
  reactData.isCustomStatus = false
235
- $xeTable.saveCustomStore('reset')
236
243
  return $xeTable.handleCustom().then(() => {
237
244
  if (opts.aggFunc && ($xeTable as any).handlePivotTableAggregateData) {
238
245
  const rowGroupFields = computeRowGroupFields.value
@@ -246,6 +253,7 @@ VxeUI.hooks.add('tableCustomModule', {
246
253
  $xeTable.handleUpdateAggData()
247
254
  }
248
255
  }
256
+ $xeTable.saveCustomStore('reset')
249
257
  })
250
258
  },
251
259
  toggleCustomAllCheckbox () {
@@ -88,7 +88,7 @@ hooks.add('tableEditModule', {
88
88
  }
89
89
  parentChilds[funcName](item)
90
90
  mapChilds[funcName](item)
91
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
91
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
92
92
  fullDataRowIdData[rowid] = rest
93
93
  fullAllDataRowIdData[rowid] = rest
94
94
  } else {
@@ -97,7 +97,7 @@ hooks.add('tableEditModule', {
97
97
  }
98
98
  afterFullData[funcName](item)
99
99
  tableFullTreeData[funcName](item)
100
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
100
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
101
101
  fullDataRowIdData[rowid] = rest
102
102
  fullAllDataRowIdData[rowid] = rest
103
103
  }
@@ -133,7 +133,7 @@ hooks.add('tableEditModule', {
133
133
  } else {
134
134
  newRecords.forEach(item => {
135
135
  const rowid = getRowid($xeTable, item)
136
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
136
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
137
137
  fullDataRowIdData[rowid] = rest
138
138
  fullAllDataRowIdData[rowid] = rest
139
139
  afterFullData.unshift(item)
@@ -162,7 +162,7 @@ hooks.add('tableEditModule', {
162
162
  } else {
163
163
  newRecords.forEach(item => {
164
164
  const rowid = getRowid($xeTable, item)
165
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, treeIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
165
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, treeIndex: -1, _tIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
166
166
  fullDataRowIdData[rowid] = rest
167
167
  fullAllDataRowIdData[rowid] = rest
168
168
  afterFullData.push(item)
@@ -193,7 +193,7 @@ hooks.add('tableEditModule', {
193
193
  targetIndex = targetIndex + 1
194
194
  }
195
195
  parentMapChilds.splice(targetIndex, 0, item)
196
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
196
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
197
197
  fullDataRowIdData[rowid] = rest
198
198
  fullAllDataRowIdData[rowid] = rest
199
199
  })
@@ -284,7 +284,7 @@ export default defineVxeComponent({
284
284
  isDirty = $xeTable.isUpdateByRow(row, column.field)
285
285
  }
286
286
 
287
- const isVNAutoHeight = scrollYLoad && !hasEllipsis
287
+ const isVNAutoHeight = !hasEllipsis && (scrollYLoad || scrollXLoad)
288
288
  let cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight)
289
289
 
290
290
  const isLastColumn = $columnIndex === columns.length - 1
@@ -324,7 +324,7 @@ export default defineVxeComponent({
324
324
  }
325
325
  tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`
326
326
  }
327
- if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
327
+ if (scrollYLoad || scrollXLoad || hasEllipsis || isCsHeight || isRsHeight) {
328
328
  tcStyle.height = `${cellHeight}px`
329
329
  } else {
330
330
  tcStyle.minHeight = `${cellHeight}px`
@@ -509,14 +509,15 @@ export default defineVxeComponent({
509
509
  }
510
510
  }
511
511
  if (rowRest) {
512
+ rowIndex = rowRest.index
513
+ _rowIndex = rowRest._index
512
514
  rowLevel = rowRest.level
515
+ seq = rowRest.seq
513
516
  if (hasRowGroupAggregate || (treeConfig && transform && seqMode === 'increasing')) {
514
517
  seq = rowRest._index + 1
515
- } else {
516
- seq = rowRest.seq
518
+ } else if ((treeConfig && seqMode === 'fixed')) {
519
+ seq = rowRest._tIndex + 1
517
520
  }
518
- rowIndex = rowRest.index
519
- _rowIndex = rowRest._index
520
521
  }
521
522
  const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex, _rowIndex }
522
523
  // 行是否被展开
@@ -119,9 +119,12 @@ export class ColumnInfo {
119
119
  parentId: null,
120
120
  visible,
121
121
  // 内部属性(一旦被使用,将导致不可升级版本)
122
+ defaultParentId: null,
122
123
  halfVisible: false,
123
124
  defaultVisible: visible,
124
125
  defaultFixed: _vm.fixed,
126
+
127
+ defaultAggGroup: _vm.aggGroup,
125
128
  defaultAggFunc: _vm.aggFunc,
126
129
 
127
130
  checked: false,