vxe-table 4.16.15 → 4.16.16

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 (68) hide show
  1. package/README.md +1 -1
  2. package/README.zh-TW.md +1 -1
  3. package/es/grid/src/grid.js +7 -2
  4. package/es/grid/style.css +0 -1
  5. package/es/grid/style.min.css +1 -1
  6. package/es/index.css +1 -1
  7. package/es/index.min.css +1 -1
  8. package/es/locale/lang/en-US.js +2 -2
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/table/module/filter/panel.js +2 -1
  12. package/es/table/module/menu/hook.js +9 -3
  13. package/es/table/module/menu/panel.js +113 -109
  14. package/es/table/src/header.js +4 -1
  15. package/es/table/src/table.js +53 -30
  16. package/es/table/src/util.js +19 -4
  17. package/es/ui/index.js +8 -5
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-grid/style.css +0 -1
  20. package/es/vxe-grid/style.min.css +1 -1
  21. package/lib/grid/src/grid.js +6 -2
  22. package/lib/grid/src/grid.min.js +1 -1
  23. package/lib/grid/style/style.css +0 -1
  24. package/lib/grid/style/style.min.css +1 -1
  25. package/lib/index.css +1 -1
  26. package/lib/index.min.css +1 -1
  27. package/lib/index.umd.js +88 -40
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/locale/lang/en-US.js +2 -2
  30. package/lib/locale/lang/en-US.min.js +1 -1
  31. package/lib/locale/lang/en-US.umd.js +2 -2
  32. package/lib/style.css +1 -1
  33. package/lib/style.min.css +1 -1
  34. package/lib/table/module/filter/panel.js +3 -2
  35. package/lib/table/module/filter/panel.min.js +1 -1
  36. package/lib/table/module/menu/hook.js +12 -3
  37. package/lib/table/module/menu/hook.min.js +1 -1
  38. package/lib/table/module/menu/panel.js +22 -12
  39. package/lib/table/module/menu/panel.min.js +1 -1
  40. package/lib/table/src/header.js +3 -1
  41. package/lib/table/src/header.min.js +1 -1
  42. package/lib/table/src/table.js +10 -10
  43. package/lib/table/src/table.min.js +1 -1
  44. package/lib/table/src/util.js +26 -6
  45. package/lib/table/src/util.min.js +1 -1
  46. package/lib/ui/index.js +8 -5
  47. package/lib/ui/index.min.js +1 -1
  48. package/lib/ui/src/log.js +1 -1
  49. package/lib/ui/src/log.min.js +1 -1
  50. package/lib/vxe-grid/style/style.css +0 -1
  51. package/lib/vxe-grid/style/style.min.css +1 -1
  52. package/package.json +1 -1
  53. package/packages/grid/src/grid.ts +8 -2
  54. package/packages/locale/lang/en-US.ts +2 -2
  55. package/packages/table/module/filter/panel.ts +2 -1
  56. package/packages/table/module/menu/hook.ts +11 -3
  57. package/packages/table/module/menu/panel.ts +112 -108
  58. package/packages/table/src/header.ts +3 -1
  59. package/packages/table/src/table.ts +53 -30
  60. package/packages/table/src/util.ts +19 -2
  61. package/packages/ui/index.ts +7 -4
  62. package/styles/components/grid.scss +0 -1
  63. /package/es/{iconfont.1758246364726.ttf → iconfont.1758344508103.ttf} +0 -0
  64. /package/es/{iconfont.1758246364726.woff → iconfont.1758344508103.woff} +0 -0
  65. /package/es/{iconfont.1758246364726.woff2 → iconfont.1758344508103.woff2} +0 -0
  66. /package/lib/{iconfont.1758246364726.ttf → iconfont.1758344508103.ttf} +0 -0
  67. /package/lib/{iconfont.1758246364726.woff → iconfont.1758344508103.woff} +0 -0
  68. /package/lib/{iconfont.1758246364726.woff2 → iconfont.1758344508103.woff2} +0 -0
@@ -22,7 +22,9 @@ exports.getCellValue = getCellValue;
22
22
  exports.getColReMaxWidth = getColReMaxWidth;
23
23
  exports.getColReMinWidth = getColReMinWidth;
24
24
  exports.getColumnList = getColumnList;
25
- exports.getOffsetSize = void 0;
25
+ exports.getFirstChildColumn = getFirstChildColumn;
26
+ exports.getLastChildColumn = getLastChildColumn;
27
+ exports.getOffsetSize = getOffsetSize;
26
28
  exports.getRefElem = getRefElem;
27
29
  exports.getRootColumn = getRootColumn;
28
30
  exports.getRowUniqueId = getRowUniqueId;
@@ -164,6 +166,7 @@ function createInternalData() {
164
166
  // 表尾高度
165
167
  tFooterHeight: 0,
166
168
  teleportToWrapperElem: null,
169
+ popupToWrapperElem: null,
167
170
  inited: false,
168
171
  tooltipTimeout: null,
169
172
  initStatus: false,
@@ -643,13 +646,31 @@ function getRootColumn($xeTable, column) {
643
646
  }
644
647
  return column;
645
648
  }
649
+ function getFirstChildColumn(column) {
650
+ const {
651
+ children
652
+ } = column;
653
+ if (children && children.length) {
654
+ return getFirstChildColumn(_xeUtils.default.first(children));
655
+ }
656
+ return column;
657
+ }
658
+ function getLastChildColumn(column) {
659
+ const {
660
+ children
661
+ } = column;
662
+ if (children && children.length) {
663
+ return getFirstChildColumn(_xeUtils.default.last(children));
664
+ }
665
+ return column;
666
+ }
646
667
  const lineOffsetSizes = {
647
668
  mini: 3,
648
669
  small: 2,
649
670
  medium: 1,
650
671
  large: 0
651
672
  };
652
- const countTreeExpand = (prevRow, params) => {
673
+ function countTreeExpand(prevRow, params) {
653
674
  let count = 1;
654
675
  if (!prevRow) {
655
676
  return count;
@@ -681,8 +702,8 @@ const countTreeExpand = (prevRow, params) => {
681
702
  }
682
703
  }
683
704
  return count;
684
- };
685
- const getOffsetSize = $xeTable => {
705
+ }
706
+ function getOffsetSize($xeTable) {
686
707
  const {
687
708
  computeSize
688
709
  } = $xeTable.getComputeMaps();
@@ -691,8 +712,7 @@ const getOffsetSize = $xeTable => {
691
712
  return lineOffsetSizes[vSize] || 0;
692
713
  }
693
714
  return 0;
694
- };
695
- exports.getOffsetSize = getOffsetSize;
715
+ }
696
716
  function calcTreeLine(params, prevRow) {
697
717
  const {
698
718
  $table,
@@ -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.convertHeaderToGridRows=convertHeaderToGridRows,exports.createColumn=createColumn,exports.createHandleGetRowId=createHandleGetRowId,exports.createHandleUpdateRowId=createHandleUpdateRowId,exports.createInternalData=createInternalData,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}}function createInternalData(){return{tZindex:0,currKeyField:"",isCurrDeepKey:!1,elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},tableWidth:0,tableHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,hoverRow:null,lastScrollLeft:0,lastScrollTop:0,radioReserveRow:null,checkboxReserveRowMap:{},rowExpandedReserveRowMap:{},treeExpandedReserveRowMap:{},treeIndeterminateRowMaps:{},tableFullData:[],afterFullData:[],afterTreeFullData:[],afterGroupFullData:[],afterFullRowMaps:{},tableFullTreeData:[],tableFullGroupData:[],tableSynchData:[],tableSourceData:[],collectColumn:[],tableFullColumn:[],visibleColumn:[],fullAllDataRowIdData:{},fullDataRowIdData:{},visibleDataRowIdData:{},sourceDataRowIdData:{},fullColumnIdData:{},fullColumnFieldData:{},mergeHeaderList:[],mergeHeaderMaps:{},mergeHeaderCellMaps:{},mergeBodyList:[],mergeBodyMaps:{},mergeBodyCellMaps:{},mergeFooterList:[],mergeFooterMaps:{},mergeFooterCellMaps:{},rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},rowGroupExpandedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},pendingRowMaps:{},insertRowMaps:{},removeRowMaps:{},cvCacheMaps:{},tHeaderHeight:0,tBodyHeight:0,tFooterHeight:0,teleportToWrapperElem:null,inited:!1,tooltipTimeout:null,initStatus:!1,isActivated:!1}}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 convertHeaderToGridRows(t){var l=t.length,a=t[0].reduce((e,t)=>e+t.colSpan,0),n=[],i=[];for(let e=0;e<l;e++){var r=[],o=[];for(let e=0;e<a;e++)r.push(!1),o.push("");n.push(r),i.push(o)}for(let o=0;o<l;o++){let e=0;for(var u of t[o]){var{colSpan:d,rowSpan:s}=u;let r=-1;for(let l=e;l<=a-d;l++){let t=!0;for(let e=0;e<d;e++)if(n[o][l+e]){t=!1;break}if(t){r=l;break}}if(-1===r){for(let l=0;l<=a-d;l++){let t=!0;for(let e=0;e<d;e++)if(n[o][l+e]){t=!1;break}if(t){r=l;break}}if(-1===r)break}for(let t=o;t<o+s;t++)for(let e=r;e<r+d;e++)n[t][e]=!0,i[t][e]=u;e=r+d}}return i}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,a=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,i,u,d,t=a.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:a,minWidth:o}=l,l=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?e:a,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&&(a=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")),i=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+=a+l+e+n+i+u+r+d),o){a=getRefElem(t["main-body-scroll"]);if(a){if((0,_dom.isScale)(o))return l=(a.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,a=t.parentNode,r=r?r.columnConfig:null,n=r?r.children:o;a&&n&&(l.defaultParentId=r?r.id:null,n.splice(_xeUtils.default.arrayIndexOf(a.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,a=r.internalData.treeExpandedMaps,n=r.getComputeMaps().computeTreeOpts,n=n.value,{transform:i,mapChildrenField:u}=n,n=n.children||n.childrenField,d=e[i?u:n];if(d&&o&&a[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,a=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:i,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),i=i.value,u=u.value,d=d.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||i.height||n.height||d;let s=1,c=(t&&(s=countTreeExpand(t,e)),r);return(c=a&&!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(e,t){var l=e.props,r=e.reactData,o=e.internalData,{computeLeftFixedWidth:a,computeRightFixedWidth:n,computeRowOpts:i,computeCellOpts:u,computeDefaultRowHeight:d}=e.getComputeMaps(),l=l.showOverflow,{scrollYLoad:r,scrollYTop:s}=r,{elemStore:o,afterFullData:c,fullAllDataRowIdData:f,isResizeCellHeight:p}=o,i=i.value,u=u.value,d=d.value,a=a.value,n=n.value,o=getRefElem(o["main-body-scroll"]),m=getRowid(e,t);if(o){var g=o.clientHeight,h=o.scrollTop,o=o.querySelector(`[rowid="${m}"]`);if(o){var s=o.offsetTop+(r?s:0),o=o.clientHeight;if(s<h||h+g<s)return e.scrollTo(null,s);if(g+h<=s+o)return e.scrollTo(null,h+o)}else if(r)return p||u.height||i.height||!l?(o=(s=f[m]||{}).resizeHeight||u.height||i.height||s.height||d,(r=s.oTop)<h?e.scrollTo(null,r-a-1):e.scrollTo(null,r+o-(g-n-1))):e.scrollTo(null,(e.findRowIndexOf(c,t)-1)*d)}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,a=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:i}=l.getComputeMaps(),{scrollXLoad:o,scrollXLeft:u}=o,{elemStore:a,visibleColumn:d}=a,n=n.value,i=i.value,a=getRefElem(a["main-body-scroll"]);if(!r.fixed&&a){var s=a.clientWidth,c=a.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=a.querySelector(`[rowid="${t}"] .`+r.id)),e=e||a.querySelector("."+r.id)){t=e.offsetLeft+(o?u:0),a=e.clientWidth;if(t<c+n)return l.scrollTo(t-n-1);if(s-i<t+a-c)return l.scrollTo(t+a-(s-i-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-i-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.convertHeaderToGridRows=convertHeaderToGridRows,exports.createColumn=createColumn,exports.createHandleGetRowId=createHandleGetRowId,exports.createHandleUpdateRowId=createHandleUpdateRowId,exports.createInternalData=createInternalData,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.getFirstChildColumn=getFirstChildColumn,exports.getLastChildColumn=getLastChildColumn,exports.getOffsetSize=getOffsetSize,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}}function createInternalData(){return{tZindex:0,currKeyField:"",isCurrDeepKey:!1,elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},tableWidth:0,tableHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,hoverRow:null,lastScrollLeft:0,lastScrollTop:0,radioReserveRow:null,checkboxReserveRowMap:{},rowExpandedReserveRowMap:{},treeExpandedReserveRowMap:{},treeIndeterminateRowMaps:{},tableFullData:[],afterFullData:[],afterTreeFullData:[],afterGroupFullData:[],afterFullRowMaps:{},tableFullTreeData:[],tableFullGroupData:[],tableSynchData:[],tableSourceData:[],collectColumn:[],tableFullColumn:[],visibleColumn:[],fullAllDataRowIdData:{},fullDataRowIdData:{},visibleDataRowIdData:{},sourceDataRowIdData:{},fullColumnIdData:{},fullColumnFieldData:{},mergeHeaderList:[],mergeHeaderMaps:{},mergeHeaderCellMaps:{},mergeBodyList:[],mergeBodyMaps:{},mergeBodyCellMaps:{},mergeFooterList:[],mergeFooterMaps:{},mergeFooterCellMaps:{},rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},rowGroupExpandedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},pendingRowMaps:{},insertRowMaps:{},removeRowMaps:{},cvCacheMaps:{},tHeaderHeight:0,tBodyHeight:0,tFooterHeight:0,teleportToWrapperElem:null,popupToWrapperElem:null,inited:!1,tooltipTimeout:null,initStatus:!1,isActivated:!1}}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 convertHeaderToGridRows(t){var l=t.length,a=t[0].reduce((e,t)=>e+t.colSpan,0),n=[],i=[];for(let e=0;e<l;e++){var r=[],o=[];for(let e=0;e<a;e++)r.push(!1),o.push("");n.push(r),i.push(o)}for(let o=0;o<l;o++){let e=0;for(var u of t[o]){var{colSpan:d,rowSpan:s}=u;let r=-1;for(let l=e;l<=a-d;l++){let t=!0;for(let e=0;e<d;e++)if(n[o][l+e]){t=!1;break}if(t){r=l;break}}if(-1===r){for(let l=0;l<=a-d;l++){let t=!0;for(let e=0;e<d;e++)if(n[o][l+e]){t=!1;break}if(t){r=l;break}}if(-1===r)break}for(let t=o;t<o+s;t++)for(let e=r;e<r+d;e++)n[t][e]=!0,i[t][e]=u;e=r+d}}return i}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,a=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,i,u,d,t=a.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:a,minWidth:o}=l,l=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?e:a,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&&(a=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")),i=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+=a+l+e+n+i+u+r+d),o){a=getRefElem(t["main-body-scroll"]);if(a){if((0,_dom.isScale)(o))return l=(a.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,a=t.parentNode,r=r?r.columnConfig:null,n=r?r.children:o;a&&n&&(l.defaultParentId=r?r.id:null,n.splice(_xeUtils.default.arrayIndexOf(a.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}function getFirstChildColumn(e){var t=e.children;return t&&t.length?getFirstChildColumn(_xeUtils.default.first(t)):e}function getLastChildColumn(e){var t=e.children;return t&&t.length?getFirstChildColumn(_xeUtils.default.last(t)):e}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1,large:0};function countTreeExpand(e,t){let l=1;if(e){var r=t.$table,o=r.reactData.treeExpandedFlag,a=r.internalData.treeExpandedMaps,n=r.getComputeMaps().computeTreeOpts,n=n.value,{transform:i,mapChildrenField:u}=n,n=n.children||n.childrenField,d=e[i?u:n];if(d&&o&&a[getRowid(r,e)])for(let e=0;e<d.length;e++)l+=countTreeExpand(d[e],t)}return l}function 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,a=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:i,computeCellOpts:u,computeDefaultRowHeight:d}=l.getComputeMaps(),i=i.value,u=u.value,d=d.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||i.height||n.height||d;let s=1,c=(t&&(s=countTreeExpand(t,e)),r);return(c=a&&!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(e,t){var l=e.props,r=e.reactData,o=e.internalData,{computeLeftFixedWidth:a,computeRightFixedWidth:n,computeRowOpts:i,computeCellOpts:u,computeDefaultRowHeight:d}=e.getComputeMaps(),l=l.showOverflow,{scrollYLoad:r,scrollYTop:s}=r,{elemStore:o,afterFullData:c,fullAllDataRowIdData:f,isResizeCellHeight:p}=o,i=i.value,u=u.value,d=d.value,a=a.value,n=n.value,o=getRefElem(o["main-body-scroll"]),m=getRowid(e,t);if(o){var h=o.clientHeight,g=o.scrollTop,o=o.querySelector(`[rowid="${m}"]`);if(o){var s=o.offsetTop+(r?s:0),o=o.clientHeight;if(s<g||g+h<s)return e.scrollTo(null,s);if(h+g<=s+o)return e.scrollTo(null,g+o)}else if(r)return p||u.height||i.height||!l?(o=(s=f[m]||{}).resizeHeight||u.height||i.height||s.height||d,(r=s.oTop)<g?e.scrollTo(null,r-a-1):e.scrollTo(null,r+o-(h-n-1))):e.scrollTo(null,(e.findRowIndexOf(c,t)-1)*d)}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,a=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:i}=l.getComputeMaps(),{scrollXLoad:o,scrollXLeft:u}=o,{elemStore:a,visibleColumn:d}=a,n=n.value,i=i.value,a=getRefElem(a["main-body-scroll"]);if(!r.fixed&&a){var s=a.clientWidth,c=a.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=a.querySelector(`[rowid="${t}"] .`+r.id)),e=e||a.querySelector("."+r.id)){t=e.offsetLeft+(o?u:0),a=e.clientWidth;if(t<c+n)return l.scrollTo(t-n-1);if(s-i<t+a-c)return l.scrollTo(t+a-(s-i-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-i-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.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.16.15";
16
+ const version = exports.version = "4.16.16";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -106,9 +106,11 @@ _core.VxeUI.setConfig({
106
106
  footerCellConfig: {
107
107
  height: 'unset'
108
108
  },
109
- // menuConfig: {
110
- // visibleMethod () {}
111
- // },
109
+ menuConfig: {
110
+ // visibleMethod () {},
111
+ // transfer: false,
112
+ destroyOnClose: true
113
+ },
112
114
  customConfig: {
113
115
  // enabled: false,
114
116
  allowVisible: true,
@@ -155,8 +157,9 @@ _core.VxeUI.setConfig({
155
157
  filterConfig: {
156
158
  // remote: false,
157
159
  // filterMethod: null,
158
- // destroyOnClose: false,
159
160
  // isEvery: false,
161
+ // transfer: false,
162
+ destroyOnClose: true,
160
163
  multiple: true,
161
164
  showIcon: true
162
165
  },
@@ -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.16.15",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,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},headerTooltipConfig:{enterable:!0},footerTooltipConfig:{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:{x:{visible:!0},y:{visible:!0}}},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:{},gantt:{}}),"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.16.16",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,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},headerTooltipConfig:{enterable:!0},footerTooltipConfig:{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"},menuConfig:{destroyOnClose:!0},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:{destroyOnClose:!0,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:{x:{visible:!0},y:{visible:!0}}},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:{},gantt:{}}),"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.16.15"}`;
11
+ const version = `table v${"4.16.16"}`;
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.16.15",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.16.16",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
@@ -1,6 +1,5 @@
1
1
  .vxe-grid {
2
2
  position: relative;
3
- overflow: auto;
4
3
  display: flex;
5
4
  flex-direction: column;
6
5
  }
@@ -1 +1 @@
1
- .vxe-grid{position:relative;overflow:auto;display:flex;flex-direction:column}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid .vxe-grid--table-container{display:flex;flex-direction:row}.vxe-grid .vxe-grid--left-wrapper,.vxe-grid .vxe-grid--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-grid .vxe-grid--table-wrapper{flex-grow:1;overflow:hidden}.vxe-grid--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-grid--layout-body-content-wrapper{flex-grow:1;overflow:auto}.vxe-grid--layout-aside-left-wrapper,.vxe-grid--layout-footer-wrapper,.vxe-grid--layout-header-wrapper{flex-shrink:0}.vxe-grid--layout-aside-left-wrapper{overflow:auto}.vxe-grid{font-size:var(--vxe-ui-font-size-default)}.vxe-grid.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-grid.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-grid.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-grid{position:relative;display:flex;flex-direction:column}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid .vxe-grid--table-container{display:flex;flex-direction:row}.vxe-grid .vxe-grid--left-wrapper,.vxe-grid .vxe-grid--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-grid .vxe-grid--table-wrapper{flex-grow:1;overflow:hidden}.vxe-grid--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-grid--layout-body-content-wrapper{flex-grow:1;overflow:auto}.vxe-grid--layout-aside-left-wrapper,.vxe-grid--layout-footer-wrapper,.vxe-grid--layout-header-wrapper{flex-shrink:0}.vxe-grid--layout-aside-left-wrapper{overflow:auto}.vxe-grid{font-size:var(--vxe-ui-font-size-default)}.vxe-grid.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-grid.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-grid.size--mini{font-size:var(--vxe-ui-font-size-mini)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.16.15",
3
+ "version": "4.16.16",
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",
@@ -67,6 +67,8 @@ export default defineVxeComponent({
67
67
  const refToolbar = ref<VxeToolbarInstance>()
68
68
  const refPager = ref<VxePagerInstance>()
69
69
 
70
+ const refPopupContainerElem = ref<HTMLDivElement>()
71
+
70
72
  const refFormWrapper = ref<HTMLDivElement>()
71
73
  const refToolbarWrapper = ref<HTMLDivElement>()
72
74
  const refTopWrapper = ref<HTMLDivElement>()
@@ -239,7 +241,8 @@ export default defineVxeComponent({
239
241
  refTable,
240
242
  refForm,
241
243
  refToolbar,
242
- refPager
244
+ refPager,
245
+ refPopupContainerElem
243
246
  }
244
247
 
245
248
  const computeMaps: VxeGridPrivateComputed = {
@@ -861,7 +864,10 @@ export default defineVxeComponent({
861
864
  ]),
862
865
  h('div', {
863
866
  class: 'vxe-grid--layout-footer-wrapper'
864
- }, renderChildLayout(footKeys))
867
+ }, renderChildLayout(footKeys)),
868
+ h('div', {
869
+ ref: refPopupContainerElem
870
+ })
865
871
  ]
866
872
  }
867
873
 
@@ -64,7 +64,7 @@ export default {
64
64
  table: {
65
65
  emptyText: 'No data yet',
66
66
  allTitle: 'Select all/cancel',
67
- seqTitle: 'Number',
67
+ seqTitle: 'No.',
68
68
  actionTitle: 'Operate',
69
69
  confirmFilter: 'Filter',
70
70
  resetFilter: 'Reset',
@@ -486,7 +486,7 @@ export default {
486
486
  fontBold: 'Bold'
487
487
  },
488
488
  subtableProp: {
489
- seqTitle: 'Number',
489
+ seqTitle: 'No.',
490
490
  showSeq: 'Show serial number',
491
491
  showCheckbox: 'Multiple choices are allowed',
492
492
  errSubDrag: 'The subtable does not support this control, please use other controls',
@@ -239,7 +239,7 @@ export default defineVxeComponent({
239
239
  const { computeSize } = $xeTable.getComputeMaps()
240
240
  const vSize = computeSize.value
241
241
  const filterOpts = computeFilterOpts.value
242
- const { transfer, destroyOnClose } = filterOpts
242
+ const { transfer, destroyOnClose, className } = filterOpts
243
243
  return h(Teleport, {
244
244
  to: 'body',
245
245
  disabled: !transfer
@@ -249,6 +249,7 @@ export default defineVxeComponent({
249
249
  class: [
250
250
  'vxe-table--filter-wrapper',
251
251
  'filter--prevent-default',
252
+ className,
252
253
  getPropClass(filterClassName, params),
253
254
  {
254
255
  [`size--${vSize}`]: vSize,
@@ -27,7 +27,7 @@ hooks.add('tableMenuModule', {
27
27
  const isContentMenu = computeIsContentMenu.value
28
28
  const menuOpts = computeMenuOpts.value
29
29
  const config = menuOpts[type]
30
- const visibleMethod = menuOpts.visibleMethod
30
+ const { transfer, visibleMethod } = menuOpts
31
31
  if (config) {
32
32
  const { options, disabled } = config
33
33
  if (disabled) {
@@ -38,9 +38,17 @@ hooks.add('tableMenuModule', {
38
38
  if (!visibleMethod || visibleMethod(params)) {
39
39
  evnt.preventDefault()
40
40
  $xeTable.updateZindex()
41
+ const el = refElem.value
42
+ const tableRect = el.getBoundingClientRect()
41
43
  const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode()
42
- let top = evnt.clientY + scrollTop
43
- let left = evnt.clientX + scrollLeft
44
+
45
+ let top = evnt.clientY - tableRect.y
46
+ let left = evnt.clientX - tableRect.x
47
+ if (transfer) {
48
+ top = evnt.clientY + scrollTop
49
+ left = evnt.clientX + scrollLeft
50
+ }
51
+
44
52
  const handleVisible = () => {
45
53
  internalData._currMenuParams = params
46
54
  Object.assign(ctxMenuStore, {
@@ -1,4 +1,4 @@
1
- import { h, Teleport, inject, ref, Ref, createCommentVNode } from 'vue'
1
+ import { h, Teleport, inject, ref, Ref } from 'vue'
2
2
  import { defineVxeComponent } from '../../../ui/src/comp'
3
3
  import { VxeUI } from '../../../ui'
4
4
  import { getFuncText } from '../../../ui/src/utils'
@@ -6,7 +6,7 @@ import XEUtils from 'xe-utils'
6
6
 
7
7
  import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
8
8
 
9
- const { getIcon } = VxeUI
9
+ const { getIcon, renderEmptyElement } = VxeUI
10
10
 
11
11
  export default defineVxeComponent({
12
12
  name: 'VxeTableMenuPanel',
@@ -34,127 +34,131 @@ export default defineVxeComponent({
34
34
  const { ctxMenuStore } = tableReactData
35
35
  const { computeMenuOpts } = $xeTable.getComputeMaps()
36
36
  const menuOpts = computeMenuOpts.value
37
+ const { transfer, destroyOnClose } = menuOpts
38
+ const { visible, list, className } = ctxMenuStore
37
39
 
38
40
  return h(Teleport, {
39
41
  to: 'body',
40
- disabled: false
42
+ disabled: !transfer
41
43
  }, [
42
44
  h('div', {
43
45
  ref: refElem,
44
- class: ['vxe-table--context-menu-wrapper', menuOpts.className, {
45
- 'is--visible': ctxMenuStore.visible
46
+ class: ['vxe-table--context-menu-wrapper', className, {
47
+ 'is--visible': visible
46
48
  }],
47
49
  style: ctxMenuStore.style
48
- }, ctxMenuStore.list.map((options, gIndex) => {
49
- return options.every(item => item.visible === false)
50
- ? createCommentVNode()
51
- : h('ul', {
52
- class: 'vxe-context-menu--option-wrapper',
53
- key: gIndex
54
- }, options.map((item, index) => {
55
- const hasChildMenus = item.children && item.children.some((child: any) => child.visible !== false)
56
- const prefixOpts = Object.assign({}, item.prefixConfig)
57
- const suffixOpts = Object.assign({}, item.suffixConfig)
58
- const menuContent = getFuncText(item.name)
59
- return item.visible === false
60
- ? null
61
- : h('li', {
62
- class: [item.className, {
63
- 'link--disabled': item.disabled,
64
- 'link--active': item === ctxMenuStore.selected
65
- }],
66
- key: `${gIndex}_${index}`
67
- }, [
68
- h('a', {
69
- class: 'vxe-context-menu--link',
70
- onClick (evnt: Event) {
71
- $xeTable.ctxMenuLinkEvent(evnt, item)
72
- },
73
- onMouseover (evnt: Event) {
74
- $xeTable.ctxMenuMouseoverEvent(evnt, item)
75
- },
76
- onMouseout (evnt: Event) {
77
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
78
- }
50
+ }, (destroyOnClose ? visible : true)
51
+ ? list.map((options, gIndex) => {
52
+ return options.every(item => item.visible === false)
53
+ ? renderEmptyElement($xeTable)
54
+ : h('ul', {
55
+ class: 'vxe-context-menu--option-wrapper',
56
+ key: gIndex
57
+ }, options.map((item, index) => {
58
+ const hasChildMenus = item.children && item.children.some((child: any) => child.visible !== false)
59
+ const prefixOpts = Object.assign({}, item.prefixConfig)
60
+ const suffixOpts = Object.assign({}, item.suffixConfig)
61
+ const menuContent = getFuncText(item.name)
62
+ return item.visible === false
63
+ ? renderEmptyElement($xeTable)
64
+ : h('li', {
65
+ class: [item.className, {
66
+ 'link--disabled': item.disabled,
67
+ 'link--active': item === ctxMenuStore.selected
68
+ }],
69
+ key: `${gIndex}_${index}`
79
70
  }, [
80
- h('div', {
81
- class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
71
+ h('a', {
72
+ class: 'vxe-context-menu--link',
73
+ onClick (evnt: Event) {
74
+ $xeTable.ctxMenuLinkEvent(evnt, item)
75
+ },
76
+ onMouseover (evnt: Event) {
77
+ $xeTable.ctxMenuMouseoverEvent(evnt, item)
78
+ },
79
+ onMouseout (evnt: Event) {
80
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
81
+ }
82
82
  }, [
83
- h('i', {
84
- class: prefixOpts.icon || item.prefixIcon
85
- }),
86
- prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : createCommentVNode()
83
+ h('div', {
84
+ class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
85
+ }, [
86
+ h('i', {
87
+ class: prefixOpts.icon || item.prefixIcon
88
+ }),
89
+ prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
90
+ ]),
91
+ h('div', {
92
+ class: 'vxe-context-menu--link-content',
93
+ title: menuContent
94
+ }, menuContent),
95
+ h('div', {
96
+ class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
97
+ }, [
98
+ h('i', {
99
+ class: (suffixOpts.icon || item.suffixIcon) || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
100
+ }),
101
+ suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
102
+ ])
87
103
  ]),
88
- h('div', {
89
- class: 'vxe-context-menu--link-content',
90
- title: menuContent
91
- }, menuContent),
92
- h('div', {
93
- class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
94
- }, [
95
- h('i', {
96
- class: (suffixOpts.icon || item.suffixIcon) || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
97
- }),
98
- suffixOpts.content ? h('span', `${suffixOpts.content}`) : createCommentVNode()
99
- ])
100
- ]),
101
- hasChildMenus
102
- ? h('ul', {
103
- class: ['vxe-table--context-menu-clild-wrapper', {
104
- 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
105
- }]
106
- }, item.children.map((child: any, cIndex: any) => {
107
- const childPrefixOpts = Object.assign({}, child.prefixConfig)
108
- const childSuffixOpts = Object.assign({}, child.suffixConfig)
109
- const childMenuContent = getFuncText(child.name)
110
- return child.visible === false
111
- ? null
112
- : h('li', {
113
- class: [child.className, {
114
- 'link--disabled': child.disabled,
115
- 'link--active': child === ctxMenuStore.selectChild
116
- }],
117
- key: `${gIndex}_${index}_${cIndex}`
118
- }, [
119
- h('a', {
120
- class: 'vxe-context-menu--link',
121
- onClick (evnt: Event) {
122
- $xeTable.ctxMenuLinkEvent(evnt, child)
123
- },
124
- onMouseover (evnt: Event) {
125
- $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
126
- },
127
- onMouseout (evnt: Event) {
128
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
129
- }
104
+ hasChildMenus
105
+ ? h('ul', {
106
+ class: ['vxe-table--context-menu-clild-wrapper', {
107
+ 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
108
+ }]
109
+ }, item.children.map((child: any, cIndex: any) => {
110
+ const childPrefixOpts = Object.assign({}, child.prefixConfig)
111
+ const childSuffixOpts = Object.assign({}, child.suffixConfig)
112
+ const childMenuContent = getFuncText(child.name)
113
+ return child.visible === false
114
+ ? null
115
+ : h('li', {
116
+ class: [child.className, {
117
+ 'link--disabled': child.disabled,
118
+ 'link--active': child === ctxMenuStore.selectChild
119
+ }],
120
+ key: `${gIndex}_${index}_${cIndex}`
130
121
  }, [
131
- h('div', {
132
- class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
133
- }, [
134
- h('i', {
135
- class: childPrefixOpts.icon || child.prefixIcon
136
- }),
137
- childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : createCommentVNode()
138
- ]),
139
- h('div', {
140
- class: 'vxe-context-menu--link-content',
141
- title: childMenuContent
142
- }, childMenuContent),
143
- h('div', {
144
- class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
122
+ h('a', {
123
+ class: 'vxe-context-menu--link',
124
+ onClick (evnt: Event) {
125
+ $xeTable.ctxMenuLinkEvent(evnt, child)
126
+ },
127
+ onMouseover (evnt: Event) {
128
+ $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
129
+ },
130
+ onMouseout (evnt: Event) {
131
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
132
+ }
145
133
  }, [
146
- h('i', {
147
- class: childSuffixOpts.icon
148
- }),
149
- childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : createCommentVNode()
134
+ h('div', {
135
+ class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
136
+ }, [
137
+ h('i', {
138
+ class: childPrefixOpts.icon || child.prefixIcon
139
+ }),
140
+ childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
141
+ ]),
142
+ h('div', {
143
+ class: 'vxe-context-menu--link-content',
144
+ title: childMenuContent
145
+ }, childMenuContent),
146
+ h('div', {
147
+ class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
148
+ }, [
149
+ h('i', {
150
+ class: childSuffixOpts.icon
151
+ }),
152
+ childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
153
+ ])
150
154
  ])
151
155
  ])
152
- ])
153
- }))
154
- : null
155
- ])
156
- }))
157
- }))
156
+ }))
157
+ : null
158
+ ])
159
+ }))
160
+ })
161
+ : [])
158
162
  ])
159
163
  }
160
164
 
@@ -196,7 +196,9 @@ export default defineVxeComponent({
196
196
  tcStyle.minHeight = `${currCellHeight}px`
197
197
  }
198
198
 
199
- if (isColGroup && !isLastRow) {
199
+ if (showCustomHeader) {
200
+ // custom
201
+ } else if (isColGroup && !isLastRow) {
200
202
  const firstCol = getColumnFirstChild(column)
201
203
  const lastCol = getColumnLastChild(column)
202
204
  if (firstCol && lastCol && firstCol.id !== lastCol.id) {