vxe-table 3.23.2 → 3.23.4

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 (49) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/custom/mixin.js +6 -0
  3. package/es/table/module/export/export-panel.js +3 -2
  4. package/es/table/module/export/mixin.js +12 -6
  5. package/es/table/module/filter/mixin.js +102 -76
  6. package/es/table/render/index.js +15 -6
  7. package/es/table/src/methods.js +13 -3
  8. package/es/table/src/util.js +1 -0
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/dom.js +1 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/index.umd.js +166 -104
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/style.css +1 -1
  15. package/lib/table/module/custom/mixin.js +8 -0
  16. package/lib/table/module/custom/mixin.min.js +1 -1
  17. package/lib/table/module/export/export-panel.js +3 -2
  18. package/lib/table/module/export/export-panel.min.js +1 -1
  19. package/lib/table/module/export/mixin.js +15 -6
  20. package/lib/table/module/export/mixin.min.js +1 -1
  21. package/lib/table/module/filter/mixin.js +116 -83
  22. package/lib/table/module/filter/mixin.min.js +1 -1
  23. package/lib/table/render/index.js +14 -4
  24. package/lib/table/render/index.min.js +1 -1
  25. package/lib/table/src/methods.js +2 -2
  26. package/lib/table/src/methods.min.js +1 -1
  27. package/lib/table/src/util.js +1 -0
  28. package/lib/table/src/util.min.js +1 -1
  29. package/lib/ui/index.js +1 -1
  30. package/lib/ui/index.min.js +1 -1
  31. package/lib/ui/src/dom.js +1 -1
  32. package/lib/ui/src/dom.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/package.json +2 -2
  36. package/packages/table/module/custom/mixin.ts +7 -0
  37. package/packages/table/module/export/export-panel.ts +3 -2
  38. package/packages/table/module/export/mixin.ts +11 -6
  39. package/packages/table/module/filter/mixin.ts +102 -72
  40. package/packages/table/render/index.ts +15 -6
  41. package/packages/table/src/methods.ts +13 -3
  42. package/packages/table/src/util.ts +1 -0
  43. package/packages/ui/src/dom.ts +1 -1
  44. /package/es/{iconfont.1787677388170.ttf → iconfont.1788399048088.ttf} +0 -0
  45. /package/es/{iconfont.1787677388170.woff → iconfont.1788399048088.woff} +0 -0
  46. /package/es/{iconfont.1787677388170.woff2 → iconfont.1788399048088.woff2} +0 -0
  47. /package/lib/{iconfont.1787677388170.ttf → iconfont.1788399048088.ttf} +0 -0
  48. /package/lib/{iconfont.1787677388170.woff → iconfont.1788399048088.woff} +0 -0
  49. /package/lib/{iconfont.1787677388170.woff2 → iconfont.1788399048088.woff2} +0 -0
@@ -277,6 +277,7 @@ function createReactData() {
277
277
  customColumnList: [],
278
278
  // 当前选中的筛选列
279
279
  filterStore: {
280
+ targetEl: null,
280
281
  isAllSelected: false,
281
282
  isIndeterminate: false,
282
283
  style: null,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,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.createReactData=createReactData,exports.createRowId=createRowId,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.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowMaxHeight=getRowMaxHeight,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleCustomStoreConfig=handleCustomStoreConfig,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;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table");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:{},keepUpdateFieldMaps:{},headerFullDataColData:{},footerFullDataRowData:{},sourceDataRowIdData:{},fullColumnIdData:{},fullColumnFieldData:{},fullCellHeightMaps:{},fullCellStoreMaps:{},currentRow:null,mergeHeaderList:[],mergeHeaderMaps:{},mergeHeaderCellMaps:{},mergeHeaderRowMaps:{},mergeHeaderColMaps:{},mergeBodyList:[],mergeBodyMaps:{},mergeBodyCellMaps:{},mergeBodyRowMaps:{},mergeBodyColMaps:{},mergeFooterList:[],mergeFooterMaps:{},mergeFooterCellMaps:{},mergeFooterRowMaps:{},mergeFooterColMaps:{},rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},rowGroupExpandedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},pendingRowMaps:{},insertRowMaps:{},removeRowMaps:{},cvCacheMaps:{},tHeaderHeight:0,tBodyHeight:0,tFooterHeight:0,stackHistoryStore:{undoStacks:[],redoStacks:[]},teleportToWrapperElem:null,popupToWrapperElem:null,customPopupToElem:null,lastSTime:0,inited:!1,tooltipTimeout:null,initStatus:!1,isActivated:!1,rceDelay:0}}function createReactData(){return{updateColFlag:0,staticColumns:[],tableGroupColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,rowHeight:0,parentHeight:0,isGroup:!1,isAllOverflow:!1,isAllSelected:!1,isIndeterminate:!1,currentColumn:null,selectRadioRow:null,footerTableData:[],rowGroupColumn:null,expandColumn:null,checkboxColumn:null,radioColumn:null,treeNodeColumn:null,hasFixedColumn:!1,upDataFlag:0,reColumnFlag:0,initStore:{filter:!1,import:!1,export:!1,custom:!1},customStore:{btnEl:null,isAll:!1,isIndeterminate:!1,activeBtn:!1,activeWrapper:!1,visible:!1,maxHeight:null,defPopupStyle:{},panePopupStyle:{},oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},customColumnList:[],filterStore:{isAllSelected:!1,isIndeterminate:!1,style:null,column:null,visible:!1,maxHeight:null},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},focused:{row:null,column:null}},tooltipStore:{row:null,column:null,content:"",visible:!1,type:null,currOpts:{}},validStore:{visible:!1},validErrorMaps:{},importStore:{inited:!1,file:null,type:"",modeList:[],typeList:[],filename:"",visible:!1},importParams:{mode:"",types:null,message:!0},exportStore:{inited:!1,name:"",modeList:[],typeList:[],columns:[],isPrint:!1,hasFooter:!1,hasMerge:!1,hasTree:!1,hasRowGroup:!1,hasColgroup:!1,visible:!1},exportParams:{filename:"",sheetName:"",mode:"",type:"",isColgroup:!1,isMerge:!1,isTreeAllExpanded:!1,isRowGroupAllExpanded:!1,useStyle:!1,original:!1,message:!0,isHeader:!1,isTitle:!1,isFooter:!1},visiblwRowsFlag:1,isRowGroupStatus:!1,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeHeadFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{xlarge:54,large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,lazScrollLoading:!1,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:!1,isCustomDragStatus:!0,ctPopupFlag:1,isCrossDragRow:!1,dragRow:null,isCrossDragCol:!1,dragCol:null,dragTipText:"",isDragResize:!1,isRowLoading:!1,isColLoading:!1}}let maxKey="__max";function getRowMaxHeight(t,e){if(!e&&t[maxKey])return t[maxKey];{let e=0;for(var l in t){var o=t[l];l!==maxKey&&_xeUtils.default.isNumber(o)&&o>e&&(e=o)}return t[maxKey]=e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function convertHeaderToGridRows(t){var l=t.length,i=t[0].reduce((e,t)=>e+t.colSpan,0),a=[],n=[];for(let e=0;e<l;e++){var o=[],r=[];for(let e=0;e<i;e++)o.push(!1),r.push("");a.push(o),n.push(r)}for(let r=0;r<l;r++){let e=0;for(var u of t[r]){var{colSpan:s,rowSpan:d}=u;let o=-1;for(let l=e;l<=i-s;l++){let t=!0;for(let e=0;e<s;e++)if(a[r][l+e]){t=!1;break}if(t){o=l;break}}if(-1===o){for(let l=0;l<=i-s;l++){let t=!0;for(let e=0;e<s;e++)if(a[r][l+e]){t=!1;break}if(t){o=l;break}}if(-1===o)break}for(let t=r;t<r+d;t++)for(let e=o;e<o+s;e++)a[t][e]=!0,n[t][e]=u;e=o+s}}return n}function restoreScrollLocation(e,t,l){var o=e;return t||l?(o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)):e.clearScroll()}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createRowId(e,t,l){e=e.createKeyMethod;return e?""+e({row:t,keyField:l}):getRowUniqueId()}function hasDeepKey(e){return-1<e.indexOf(".")}function getRowkey(e){e=e.currKeyField;return e}function getRowid(e,t){var{isCurrDeepKey:e,currKeyField:l}=e;return t?encodeRowid((e?getDeepRowIdByKey:getFastRowIdByKey)(t,l)):""}function createHandleUpdateRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e,o=e.computeRowOpts,r=t?updateDeepRowKey:updateFastRowKey;return{rowKey:l,handleUpdateRowId(e){return e?r(o,e,l):""}}}function createHandleGetRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e,o=t?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:l,handleGetRowId(e){return e?encodeRowid(o(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,l){let o=encodeRowid(getDeepRowIdByKey(t,l));return(0,_utils.eqEmptyValue)(o)&&(e=createRowId(e,t,l),o=""+e,_xeUtils.default.set(t,l,o)),o}function getFastRowIdByKey(e,t){return e[t]}function updateFastRowKey(e,t,l){let o=encodeRowid(getFastRowIdByKey(t,l));return(0,_utils.eqEmptyValue)(o)&&(e=createRowId(e,t,l),o=""+e,t[l]=e),o}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 getCalcHeight(e){return"unset"!==e&&e||0}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,o){var{height:t,minHeight:r,maxHeight:i}=t;let a=e.resizeHeight||t||l.height||e.height||o;return i&&i<=a&&(a=i),a=r&&r>=a?r:a}function assembleColumn(e){var t=e.$xeTable,l=t.staticColumns,{$el:e,$xeColumn:o,columnConfig:r}=e,i=o?o.columnConfig:null;i?("vxe-table-column"===o.$options._componentTag?errLog("vxe.error.groupTag",[`<vxe-table-colgroup title=${o.title} ...>`,`<vxe-table-column title=${o.title} ...>`]):"vxe-column"===o.$options._componentTag&&warnLog("vxe.error.groupTag",[`<vxe-colgroup title=${o.title} ...>`,`<vxe-column title=${o.title} ...>`]),i.children||(i.children=[]),r.defaultParentId=i.id,i.children.splice(_xeUtils.default.arrayIndexOf(o.$el.children,e),0,r)):l.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){var t=e.$xeTable.staticColumns;let l=e.columnConfig;e=_xeUtils.default.findTree(t,e=>e===l);e&&e.items.splice(e.index,1)}function getRootColumn(e,t){var l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}function toFilters(e,i){return e&&(_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r,_colId:i})):[])}function getColReMaxWidth(e){var{$table:t,column:l,cell:o}=e,r=t.elemStore,i=t.computeResizableOpts.maxWidth,l=l.maxWidth||t.computeColumnOpts.maxWidth;if(i){t=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==t)return Math.max(1,_xeUtils.default.toNumber(t))}e=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize((0,_dom.queryElement)(o,".vxe-cell")));if(l){i=getRefElem(r["main-body-scroll"]);if(i){if((0,_dom.isScale)(l))return t=(i.clientWidth-1)/100,Math.max(e,Math.floor(_xeUtils.default.toInteger(l)*t));if((0,_dom.isPx)(l))return Math.max(e,_xeUtils.default.toInteger(l))}}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t,i=t,a=t.computeResizableOpts,t=t.computeColumnOpts,a=a.minWidth;if(a){e=_xeUtils.default.isFunction(a)?a(e):a;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,s,a=i.elemStore,e=r.showHeaderOverflow,i=l.showHeaderOverflow,r=l.minWidth||t.minWidth,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,t="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize((0,_dom.queryElement)(o,".vxe-cell")));if(t&&(e=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--drag-handle")),i=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--checkbox")),l=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--required-icon")),t=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--edit-icon")),n=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell-title-prefix-icon")),u=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell-title-suffix-icon")),s=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--sort")),o=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--filter")),d+=e+i+l+t+n+u+o+s),r){e=getRefElem(a["main-body-scroll"]);if(e){if((0,_dom.isScale)(r))return i=(e.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*i));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}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}function getCellValue(e,t){return t?_xeUtils.default.get(e,t.field):null}function setCellValue(e,t,l){t&&_xeUtils.default.set(e,t.field,l)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){var t=e,l=(e.initStatus=!1,[e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow()]);return e.clearFilter&&l.push(e.clearFilter()),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&l.push(e.clearSelected()),e.clearCellAreas&&t.mouseConfig&&l.push(e.clearCellAreas(),e.clearCopyCellArea()),Promise.all(l).then(()=>e.clearScroll())}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return 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:new _columnInfo.ColumnInfo(e,t,l)}function rowToVisible(e,t){var{scrollYLoad:l,scrollYTop:o,isAllOverflow:r}=e,{elemStore:i,afterFullData:a,fullAllDataRowIdData:n,isResizeCellHeight:u}=e,s=e.computeRowOpts,d=e.computeCellOpts,c=e.computeDefaultRowHeight,g=e.computeLeftFixedWidth,m=e.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]),f=getRowid(e,t);if(i){var p=i.clientHeight,h=i.scrollTop,i=i.querySelector(`[rowid="${f}"]`);if(i){var o=i.offsetTop+(l?o:0),i=i.clientHeight;if(o<h||h+p<o)return e.scrollTo(null,o);if(p+h<=o+i)return e.scrollTo(null,h+i)}else if(l)return u||d.height||s.height||!r?(i=(o=n[f]||{}).resizeHeight||d.height||s.height||o.height||c,(l=o.oTop)<h?e.scrollTo(null,l-g-1):e.scrollTo(null,l+i-(p-m-1))):e.scrollTo(null,(e.findRowIndexOf(a,t)-1)*c)}return Promise.resolve()}function colToVisible(l,o,r,t){var{scrollXLoad:i,scrollXLeft:a}=l,{elemStore:n,visibleColumn:u}=l,s=l.computeLeftFixedWidth,d=l.computeRightFixedWidth,n=getRefElem(n["main-body-scroll"]);if(!r.fixed&&n){var c=n.clientWidth,g=n.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=n.querySelector(`[rowid="${t}"] .`+r.id)),e=e||n.querySelector("."+r.id)){t=e.offsetLeft+(i?a:0),n=e.clientWidth;if(o||!(t<=g+s&&g+s<t+n)&&!(g+s<=t&&t<g+c-d)){if(t<g+s)return l.scrollTo(t-s-1);if(c-d<t+n-g)return l.scrollTo(t+n-(c-d-1))}}else if(i){let t=0;a=r.renderWidth;for(let e=0;e<u.length;e++){var m=u[e];if(m===r||m.id===r.id)break;t+=m.renderWidth}if(o||!(t<=g+s&&t+a>g+s)&&!(t>=g+s&&t<g+c-d))return t<g?l.scrollTo(t-s-1):l.scrollTo(t+a-(c-d-1))}}return Promise.resolve()}function hangleBolleanDefaultValue(e,t){return _xeUtils.default.isBoolean(e)?e:t}function handleCustomStoreConfig(e){var{storage:e,storeOptions:t}=e.computeCustomOpts,l=!0===e,e=Object.assign({},!l&&e||{},t);return{isCustomAlign:hangleBolleanDefaultValue(e.align,l),isCustomHeaderAlign:hangleBolleanDefaultValue(e.headerAlign,l),isCustomFooterAlign:hangleBolleanDefaultValue(e.footerAlign,l),isCustomResizable:hangleBolleanDefaultValue(e.resizable,l),isCustomVisible:hangleBolleanDefaultValue(e.visible,l),isCustomFixed:hangleBolleanDefaultValue(e.fixed,l),isCustomSort:hangleBolleanDefaultValue(e.sort,l),isCustomAggGroup:hangleBolleanDefaultValue(e.aggGroup,l),isCustomAggFunc:hangleBolleanDefaultValue(e.aggFunc,l),isCustomPager:hangleBolleanDefaultValue(e.pager,l)}}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,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.createReactData=createReactData,exports.createRowId=createRowId,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.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowMaxHeight=getRowMaxHeight,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleCustomStoreConfig=handleCustomStoreConfig,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;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table");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:{},keepUpdateFieldMaps:{},headerFullDataColData:{},footerFullDataRowData:{},sourceDataRowIdData:{},fullColumnIdData:{},fullColumnFieldData:{},fullCellHeightMaps:{},fullCellStoreMaps:{},currentRow:null,mergeHeaderList:[],mergeHeaderMaps:{},mergeHeaderCellMaps:{},mergeHeaderRowMaps:{},mergeHeaderColMaps:{},mergeBodyList:[],mergeBodyMaps:{},mergeBodyCellMaps:{},mergeBodyRowMaps:{},mergeBodyColMaps:{},mergeFooterList:[],mergeFooterMaps:{},mergeFooterCellMaps:{},mergeFooterRowMaps:{},mergeFooterColMaps:{},rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},rowGroupExpandedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},pendingRowMaps:{},insertRowMaps:{},removeRowMaps:{},cvCacheMaps:{},tHeaderHeight:0,tBodyHeight:0,tFooterHeight:0,stackHistoryStore:{undoStacks:[],redoStacks:[]},teleportToWrapperElem:null,popupToWrapperElem:null,customPopupToElem:null,lastSTime:0,inited:!1,tooltipTimeout:null,initStatus:!1,isActivated:!1,rceDelay:0}}function createReactData(){return{updateColFlag:0,staticColumns:[],tableGroupColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,rowHeight:0,parentHeight:0,isGroup:!1,isAllOverflow:!1,isAllSelected:!1,isIndeterminate:!1,currentColumn:null,selectRadioRow:null,footerTableData:[],rowGroupColumn:null,expandColumn:null,checkboxColumn:null,radioColumn:null,treeNodeColumn:null,hasFixedColumn:!1,upDataFlag:0,reColumnFlag:0,initStore:{filter:!1,import:!1,export:!1,custom:!1},customStore:{btnEl:null,isAll:!1,isIndeterminate:!1,activeBtn:!1,activeWrapper:!1,visible:!1,maxHeight:null,defPopupStyle:{},panePopupStyle:{},oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},customColumnList:[],filterStore:{targetEl:null,isAllSelected:!1,isIndeterminate:!1,style:null,column:null,visible:!1,maxHeight:null},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},focused:{row:null,column:null}},tooltipStore:{row:null,column:null,content:"",visible:!1,type:null,currOpts:{}},validStore:{visible:!1},validErrorMaps:{},importStore:{inited:!1,file:null,type:"",modeList:[],typeList:[],filename:"",visible:!1},importParams:{mode:"",types:null,message:!0},exportStore:{inited:!1,name:"",modeList:[],typeList:[],columns:[],isPrint:!1,hasFooter:!1,hasMerge:!1,hasTree:!1,hasRowGroup:!1,hasColgroup:!1,visible:!1},exportParams:{filename:"",sheetName:"",mode:"",type:"",isColgroup:!1,isMerge:!1,isTreeAllExpanded:!1,isRowGroupAllExpanded:!1,useStyle:!1,original:!1,message:!0,isHeader:!1,isTitle:!1,isFooter:!1},visiblwRowsFlag:1,isRowGroupStatus:!1,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeHeadFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{xlarge:54,large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,lazScrollLoading:!1,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:!1,isCustomDragStatus:!0,ctPopupFlag:1,isCrossDragRow:!1,dragRow:null,isCrossDragCol:!1,dragCol:null,dragTipText:"",isDragResize:!1,isRowLoading:!1,isColLoading:!1}}let maxKey="__max";function getRowMaxHeight(t,e){if(!e&&t[maxKey])return t[maxKey];{let e=0;for(var l in t){var o=t[l];l!==maxKey&&_xeUtils.default.isNumber(o)&&o>e&&(e=o)}return t[maxKey]=e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function convertHeaderToGridRows(t){var l=t.length,i=t[0].reduce((e,t)=>e+t.colSpan,0),a=[],n=[];for(let e=0;e<l;e++){var o=[],r=[];for(let e=0;e<i;e++)o.push(!1),r.push("");a.push(o),n.push(r)}for(let r=0;r<l;r++){let e=0;for(var u of t[r]){var{colSpan:s,rowSpan:d}=u;let o=-1;for(let l=e;l<=i-s;l++){let t=!0;for(let e=0;e<s;e++)if(a[r][l+e]){t=!1;break}if(t){o=l;break}}if(-1===o){for(let l=0;l<=i-s;l++){let t=!0;for(let e=0;e<s;e++)if(a[r][l+e]){t=!1;break}if(t){o=l;break}}if(-1===o)break}for(let t=r;t<r+d;t++)for(let e=o;e<o+s;e++)a[t][e]=!0,n[t][e]=u;e=o+s}}return n}function restoreScrollLocation(e,t,l){var o=e;return t||l?(o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)):e.clearScroll()}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createRowId(e,t,l){e=e.createKeyMethod;return e?""+e({row:t,keyField:l}):getRowUniqueId()}function hasDeepKey(e){return-1<e.indexOf(".")}function getRowkey(e){e=e.currKeyField;return e}function getRowid(e,t){var{isCurrDeepKey:e,currKeyField:l}=e;return t?encodeRowid((e?getDeepRowIdByKey:getFastRowIdByKey)(t,l)):""}function createHandleUpdateRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e,o=e.computeRowOpts,r=t?updateDeepRowKey:updateFastRowKey;return{rowKey:l,handleUpdateRowId(e){return e?r(o,e,l):""}}}function createHandleGetRowId(e){let{isCurrDeepKey:t,currKeyField:l}=e,o=t?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:l,handleGetRowId(e){return e?encodeRowid(o(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,l){let o=encodeRowid(getDeepRowIdByKey(t,l));return(0,_utils.eqEmptyValue)(o)&&(e=createRowId(e,t,l),o=""+e,_xeUtils.default.set(t,l,o)),o}function getFastRowIdByKey(e,t){return e[t]}function updateFastRowKey(e,t,l){let o=encodeRowid(getFastRowIdByKey(t,l));return(0,_utils.eqEmptyValue)(o)&&(e=createRowId(e,t,l),o=""+e,t[l]=e),o}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 getCalcHeight(e){return"unset"!==e&&e||0}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,o){var{height:t,minHeight:r,maxHeight:i}=t;let a=e.resizeHeight||t||l.height||e.height||o;return i&&i<=a&&(a=i),a=r&&r>=a?r:a}function assembleColumn(e){var t=e.$xeTable,l=t.staticColumns,{$el:e,$xeColumn:o,columnConfig:r}=e,i=o?o.columnConfig:null;i?("vxe-table-column"===o.$options._componentTag?errLog("vxe.error.groupTag",[`<vxe-table-colgroup title=${o.title} ...>`,`<vxe-table-column title=${o.title} ...>`]):"vxe-column"===o.$options._componentTag&&warnLog("vxe.error.groupTag",[`<vxe-colgroup title=${o.title} ...>`,`<vxe-column title=${o.title} ...>`]),i.children||(i.children=[]),r.defaultParentId=i.id,i.children.splice(_xeUtils.default.arrayIndexOf(o.$el.children,e),0,r)):l.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){var t=e.$xeTable.staticColumns;let l=e.columnConfig;e=_xeUtils.default.findTree(t,e=>e===l);e&&e.items.splice(e.index,1)}function getRootColumn(e,t){var l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}function toFilters(e,i){return e&&(_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r,_colId:i})):[])}function getColReMaxWidth(e){var{$table:t,column:l,cell:o}=e,r=t.elemStore,i=t.computeResizableOpts.maxWidth,l=l.maxWidth||t.computeColumnOpts.maxWidth;if(i){t=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==t)return Math.max(1,_xeUtils.default.toNumber(t))}e=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize((0,_dom.queryElement)(o,".vxe-cell")));if(l){i=getRefElem(r["main-body-scroll"]);if(i){if((0,_dom.isScale)(l))return t=(i.clientWidth-1)/100,Math.max(e,Math.floor(_xeUtils.default.toInteger(l)*t));if((0,_dom.isPx)(l))return Math.max(e,_xeUtils.default.toInteger(l))}}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t,i=t,a=t.computeResizableOpts,t=t.computeColumnOpts,a=a.minWidth;if(a){e=_xeUtils.default.isFunction(a)?a(e):a;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,s,a=i.elemStore,e=r.showHeaderOverflow,i=l.showHeaderOverflow,r=l.minWidth||t.minWidth,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,t="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.8*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize((0,_dom.queryElement)(o,".vxe-cell")));if(t&&(e=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--drag-handle")),i=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--checkbox")),l=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--required-icon")),t=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--edit-icon")),n=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell-title-prefix-icon")),u=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell-title-suffix-icon")),s=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--sort")),o=getElementMarginAndWidth((0,_dom.queryElement)(o,".vxe-cell--filter")),d+=e+i+l+t+n+u+o+s),r){e=getRefElem(a["main-body-scroll"]);if(e){if((0,_dom.isScale)(r))return i=(e.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*i));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}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}function getCellValue(e,t){return t?_xeUtils.default.get(e,t.field):null}function setCellValue(e,t,l){t&&_xeUtils.default.set(e,t.field,l)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){var t=e,l=(e.initStatus=!1,[e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow()]);return e.clearFilter&&l.push(e.clearFilter()),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&l.push(e.clearSelected()),e.clearCellAreas&&t.mouseConfig&&l.push(e.clearCellAreas(),e.clearCopyCellArea()),Promise.all(l).then(()=>e.clearScroll())}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return 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:new _columnInfo.ColumnInfo(e,t,l)}function rowToVisible(e,t){var{scrollYLoad:l,scrollYTop:o,isAllOverflow:r}=e,{elemStore:i,afterFullData:a,fullAllDataRowIdData:n,isResizeCellHeight:u}=e,s=e.computeRowOpts,d=e.computeCellOpts,c=e.computeDefaultRowHeight,g=e.computeLeftFixedWidth,m=e.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]),f=getRowid(e,t);if(i){var p=i.clientHeight,h=i.scrollTop,i=i.querySelector(`[rowid="${f}"]`);if(i){var o=i.offsetTop+(l?o:0),i=i.clientHeight;if(o<h||h+p<o)return e.scrollTo(null,o);if(p+h<=o+i)return e.scrollTo(null,h+i)}else if(l)return u||d.height||s.height||!r?(i=(o=n[f]||{}).resizeHeight||d.height||s.height||o.height||c,(l=o.oTop)<h?e.scrollTo(null,l-g-1):e.scrollTo(null,l+i-(p-m-1))):e.scrollTo(null,(e.findRowIndexOf(a,t)-1)*c)}return Promise.resolve()}function colToVisible(l,o,r,t){var{scrollXLoad:i,scrollXLeft:a}=l,{elemStore:n,visibleColumn:u}=l,s=l.computeLeftFixedWidth,d=l.computeRightFixedWidth,n=getRefElem(n["main-body-scroll"]);if(!r.fixed&&n){var c=n.clientWidth,g=n.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=n.querySelector(`[rowid="${t}"] .`+r.id)),e=e||n.querySelector("."+r.id)){t=e.offsetLeft+(i?a:0),n=e.clientWidth;if(o||!(t<=g+s&&g+s<t+n)&&!(g+s<=t&&t<g+c-d)){if(t<g+s)return l.scrollTo(t-s-1);if(c-d<t+n-g)return l.scrollTo(t+n-(c-d-1))}}else if(i){let t=0;a=r.renderWidth;for(let e=0;e<u.length;e++){var m=u[e];if(m===r||m.id===r.id)break;t+=m.renderWidth}if(o||!(t<=g+s&&t+a>g+s)&&!(t>=g+s&&t<g+c-d))return t<g?l.scrollTo(t-s-1):l.scrollTo(t+a-(c-d-1))}}return Promise.resolve()}function hangleBolleanDefaultValue(e,t){return _xeUtils.default.isBoolean(e)?e:t}function handleCustomStoreConfig(e){var{storage:e,storeOptions:t}=e.computeCustomOpts,l=!0===e,e=Object.assign({},!l&&e||{},t);return{isCustomAlign:hangleBolleanDefaultValue(e.align,l),isCustomHeaderAlign:hangleBolleanDefaultValue(e.headerAlign,l),isCustomFooterAlign:hangleBolleanDefaultValue(e.footerAlign,l),isCustomResizable:hangleBolleanDefaultValue(e.resizable,l),isCustomVisible:hangleBolleanDefaultValue(e.visible,l),isCustomFixed:hangleBolleanDefaultValue(e.fixed,l),isCustomSort:hangleBolleanDefaultValue(e.sort,l),isCustomAggGroup:hangleBolleanDefaultValue(e.aggGroup,l),isCustomAggFunc:hangleBolleanDefaultValue(e.aggFunc,l),isCustomPager:hangleBolleanDefaultValue(e.pager,l)}}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "3.23.2";
16
+ const version = exports.version = "3.23.4";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.23.2",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},currentRowConfig:{strict:!0},currentColumnConfig:{strict:!0},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:{mode:"tooltip",enterable:!0,defaultPlacement:"top"},headerTooltipConfig:{mode:"tooltip",enterable:!0},footerTooltipConfig:{mode:"tooltip",enterable:!0},validConfig:{showErrorMessage:!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,allowAlign:!0,showSortDragButton:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0,align:!0,headerAlign:!0,footerAlign:!0,aggFunc:!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,maxHeight:280},floatingFilterConfig:{},aggregateConfig:{padding:!0,placement:"left",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,showRootLine:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0,isReuseKeep:!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:0,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}},undoRedoHistoryConfig:{stackSize:50}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",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_CUSTOM_FIXED_LEFT:iconPrefix+"fixed-left",TABLE_CUSTOM_FIXED_RIGHT:iconPrefix+"fixed-right",TABLE_CUSTOM_ALIGN_LEFT:iconPrefix+"align-left",TABLE_CUSTOM_ALIGN_CENTER:iconPrefix+"align-center",TABLE_CUSTOM_ALIGN_RIGHT:iconPrefix+"align-right",TABLE_CUSTOM_MOVE_UP:iconPrefix+"arrows-up",TABLE_CUSTOM_MOVE_DN:iconPrefix+"arrows-down",TABLE_CUSTOM_PUT_TOP:iconPrefix+"top",TABLE_CUSTOM_PUT_BOTTOM:iconPrefix+"bottom",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",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+"setting",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.23.4",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},currentRowConfig:{strict:!0},currentColumnConfig:{strict:!0},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:{mode:"tooltip",enterable:!0,defaultPlacement:"top"},headerTooltipConfig:{mode:"tooltip",enterable:!0},footerTooltipConfig:{mode:"tooltip",enterable:!0},validConfig:{showErrorMessage:!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,allowAlign:!0,showSortDragButton:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0,align:!0,headerAlign:!0,footerAlign:!0,aggFunc:!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,maxHeight:280},floatingFilterConfig:{},aggregateConfig:{padding:!0,placement:"left",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,showRootLine:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0,isReuseKeep:!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:0,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}},undoRedoHistoryConfig:{stackSize:50}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",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_CUSTOM_FIXED_LEFT:iconPrefix+"fixed-left",TABLE_CUSTOM_FIXED_RIGHT:iconPrefix+"fixed-right",TABLE_CUSTOM_ALIGN_LEFT:iconPrefix+"align-left",TABLE_CUSTOM_ALIGN_CENTER:iconPrefix+"align-center",TABLE_CUSTOM_ALIGN_RIGHT:iconPrefix+"align-right",TABLE_CUSTOM_MOVE_UP:iconPrefix+"arrows-up",TABLE_CUSTOM_MOVE_DN:iconPrefix+"arrows-down",TABLE_CUSTOM_PUT_TOP:iconPrefix+"top",TABLE_CUSTOM_PUT_BOTTOM:iconPrefix+"bottom",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",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+"setting",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/dom.js CHANGED
@@ -50,7 +50,7 @@ function getTpImg() {
50
50
  return tpImgEl;
51
51
  }
52
52
  function getPropClass(property, params) {
53
- return property ? _xeUtils.default.isFunction(property) ? property(params) : property : '';
53
+ return property ? (_xeUtils.default.isFunction(property) ? property(params) : property) || '' : '';
54
54
  }
55
55
  function getClsRE(cls) {
56
56
  if (!reClsMap[cls]) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.checkTargetElement=checkTargetElement,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPopupAppendElement=getPopupAppendElement,exports.getPopupContainer=getPopupContainer,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.hasEventInputTarget=hasEventInputTarget,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle,exports.wheelScrollLeftTo=wheelScrollLeftTo,exports.wheelScrollTopTo=wheelScrollTopTo;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var n=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,n&&n!==document.documentElement&&n!==document.body&&(o.top-=n.scrollTop,o.left-=n.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!e&&(e.classList?e.classList.contains(t):!!(e.className&&e.className.match&&e.className.match(getClsRE(t))))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function checkTargetElement(e,t,o){let n=e;if(t&&t.length)for(var[l,r,s]=t;n;){if(l===n||r&&n===r||s&&n===s)return!0;if(o&&n===o)return!1;n=n.parentElement}return!1}function getEventTargetNode(e,t,o,n){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!n||n(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:n,visibleHeight:l,visibleWidth:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:n+e,visibleHeight:l,visibleWidth:r}}function hasEventInputTarget(e){e=e?e.tagName:"";return e&&["input","textarea"].includes(e.toLowerCase())}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}let wtlFrame;function wheelScrollLeftTo(e,t){wtlFrame&&cancelAnimationFrame(wtlFrame),wtlFrame=requestAnimationFrame(()=>{t(e),wtlFrame=null})}let wtaFrame;function wheelScrollTopTo(e,t){wtaFrame&&cancelAnimationFrame(wtaFrame),wtaFrame=requestAnimationFrame(()=>{t(e),wtaFrame=null})}function getPopupContainer(e){return(e&&_xeUtils.default.isFunction(e)?e({}):e)||"body"}function getPopupAppendElement(e){e=getPopupContainer(e);return _xeUtils.default.isString(e)?document.querySelector(e)||document.body:e}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.checkTargetElement=checkTargetElement,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPopupAppendElement=getPopupAppendElement,exports.getPopupContainer=getPopupContainer,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.hasEventInputTarget=hasEventInputTarget,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle,exports.wheelScrollLeftTo=wheelScrollLeftTo,exports.wheelScrollTopTo=wheelScrollTopTo;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e&&(_xeUtils.default.isFunction(e)?e(t):e)||""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var n=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,n&&n!==document.documentElement&&n!==document.body&&(o.top-=n.scrollTop,o.left-=n.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!e&&(e.classList?e.classList.contains(t):!!(e.className&&e.className.match&&e.className.match(getClsRE(t))))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function checkTargetElement(e,t,o){let n=e;if(t&&t.length)for(var[l,r,s]=t;n;){if(l===n||r&&n===r||s&&n===s)return!0;if(o&&n===o)return!1;n=n.parentElement}return!1}function getEventTargetNode(e,t,o,n){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!n||n(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:n,visibleHeight:l,visibleWidth:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:n+e,visibleHeight:l,visibleWidth:r}}function hasEventInputTarget(e){e=e?e.tagName:"";return e&&["input","textarea"].includes(e.toLowerCase())}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}let wtlFrame;function wheelScrollLeftTo(e,t){wtlFrame&&cancelAnimationFrame(wtlFrame),wtlFrame=requestAnimationFrame(()=>{t(e),wtlFrame=null})}let wtaFrame;function wheelScrollTopTo(e,t){wtaFrame&&cancelAnimationFrame(wtaFrame),wtaFrame=requestAnimationFrame(()=>{t(e),wtaFrame=null})}function getPopupContainer(e){return(e&&_xeUtils.default.isFunction(e)?e({}):e)||"body"}function getPopupAppendElement(e){e=getPopupContainer(e);return _xeUtils.default.isString(e)?document.querySelector(e)||document.body:e}
package/lib/ui/src/log.js CHANGED
@@ -9,7 +9,7 @@ var _core = require("@vxe-ui/core");
9
9
  const {
10
10
  log
11
11
  } = _core.VxeUI;
12
- const tableVersion = `table v${"3.23.2"}`;
12
+ const tableVersion = `table v${"3.23.4"}`;
13
13
  function createComponentLog(name) {
14
14
  const uiVersion = _core.VxeUI.uiVersion ? `ui v${_core.VxeUI.uiVersion}` : '';
15
15
  const ganttVersion = _core.VxeUI.ganttVersion ? `gantt v${_core.VxeUI.ganttVersion}` : '';
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,tableVersion="table v3.23.2";function createComponentLog(e){var r=_core.VxeUI.uiVersion?"ui v"+_core.VxeUI.uiVersion:"",o=_core.VxeUI.ganttVersion?"gantt v"+_core.VxeUI.ganttVersion:"",t=_core.VxeUI.designVersion?"design v"+_core.VxeUI.designVersion:"",r=[r,tableVersion,o,t].filter(e=>e).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}let warnLog=exports.warnLog=log.create("warn",tableVersion),errLog=exports.errLog=log.create("error",tableVersion);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,tableVersion="table v3.23.4";function createComponentLog(e){var r=_core.VxeUI.uiVersion?"ui v"+_core.VxeUI.uiVersion:"",o=_core.VxeUI.ganttVersion?"gantt v"+_core.VxeUI.ganttVersion:"",t=_core.VxeUI.designVersion?"design v"+_core.VxeUI.designVersion:"",r=[r,tableVersion,o,t].filter(e=>e).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}let warnLog=exports.warnLog=log.create("warn",tableVersion),errLog=exports.errLog=log.create("error",tableVersion);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.23.2",
3
+ "version": "3.23.4",
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",
@@ -65,7 +65,7 @@
65
65
  "vue-i18n": "^8.15.1",
66
66
  "vue-router": "^3.5.1",
67
67
  "vue-template-compiler": "2.6.14",
68
- "vxe-pc-ui": "3.17.18"
68
+ "vxe-pc-ui": "3.17.28"
69
69
  },
70
70
  "vetur": {
71
71
  "tags": "helper/vetur/tags.json",
@@ -511,6 +511,13 @@ export default {
511
511
  handleCustomStyle () {
512
512
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
513
513
 
514
+ const reactData = $xeTable.reactData
515
+ const { customStore } = reactData
516
+
517
+ if (!customStore.visible) {
518
+ return $xeTable.$nextTick()
519
+ }
520
+ reactData.isCustomDragStatus = false
514
521
  return updatePopupStyle($xeTable)
515
522
  }
516
523
  } as any
@@ -190,9 +190,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
190
190
  const { hasMerge, columns } = storeData
191
191
  const checkedAll = $xeExportPanel.computeCheckedAll
192
192
  const supportMerge = $xeExportPanel.computeSupportMerge
193
- const expColumns = XEUtils.searchTree(columns, column => column.checked, { children: 'children', mapChildren: 'childNodes', original: true })
193
+ // 内部导出使用 _columns -> _children 为自定义子集
194
+ const expColumns = XEUtils.searchTree(columns, column => column.checked, { children: 'children', mapChildren: '_children', original: true })
194
195
  return Object.assign({}, defaultOptions, {
195
- columns: expColumns,
196
+ _columns: expColumns,
196
197
  isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false
197
198
  })
198
199
  },
@@ -1252,7 +1252,7 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1252
1252
  const exportOpts = $xeTable.computeExportOpts
1253
1253
  const hasTree = !!treeConfig
1254
1254
  const hasRowGroup = rowGroupList.length > 0
1255
- const customOpts = $xeTable.computeCustomOpts
1255
+ const printOpts = $xeTable.computePrintOpts
1256
1256
  const selectRecords = $xeTable.getCheckboxRecords()
1257
1257
  const proxyOpts = $xeGGWrapper ? $xeGGWrapper.computeProxyOpts : {}
1258
1258
  const hasFooter = !!footerTableData.length
@@ -1275,9 +1275,9 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1275
1275
  defOpts.isTreeAllExpanded = (defOpts as any).isAllExpand
1276
1276
  }
1277
1277
 
1278
- const types = defOpts.types || XEUtils.keys(exportOpts._typeMaps)
1278
+ const types: string[] = isPrint ? [] : (defOpts.types || XEUtils.keys(exportOpts._typeMaps))
1279
1279
  const modes = defOpts.modes || []
1280
- const checkMethod = customOpts.checkMethod
1280
+ const checkMethod = (isPrint ? printOpts : exportOpts).checkMethod
1281
1281
  const exportColumns = collectColumn.slice(0)
1282
1282
  const { columns, excludeFields, includeFields, extraFields } = defOpts
1283
1283
  // 处理类型
@@ -1381,10 +1381,10 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1381
1381
  }
1382
1382
  }
1383
1383
  if (!modeList.some(item => item.value === mode)) {
1384
- exportParams.mode = modeList[0].value
1384
+ exportParams.mode = modeList.length ? modeList[0].value : ''
1385
1385
  }
1386
1386
  if (!typeList.some(item => item.value === type)) {
1387
- exportParams.type = typeList[0].value
1387
+ exportParams.type = typeList.length ? typeList[0].value : ''
1388
1388
  }
1389
1389
  if (!exportParams.widthMode) {
1390
1390
  exportParams.widthMode = ''
@@ -1536,7 +1536,12 @@ export default {
1536
1536
 
1537
1537
  let isCustomCol = false
1538
1538
  let customCols = []
1539
- if (columns) {
1539
+ const _columns = (opts as any)._columns
1540
+ if (_columns) {
1541
+ // 内部导出使用 _columns -> _children 为自定义子集
1542
+ isCustomCol = true
1543
+ customCols = XEUtils.searchTree(_columns, () => true, { children: '_children', mapChildren: 'childNodes', original: true })
1544
+ } else if (columns) {
1540
1545
  isCustomCol = true
1541
1546
  customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true })
1542
1547
  } else {
@@ -10,6 +10,96 @@ const { renderer } = VxeUI
10
10
 
11
11
  const sourceType = 'table'
12
12
 
13
+ function updatePopupStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
14
+ const $xeGrid = $xeTable.$xeGrid
15
+ const $xeGantt = $xeTable.$xeGantt
16
+ const reactData = $xeTable as unknown as TableReactData
17
+ const internalData = $xeTable as unknown as TableInternalData
18
+ const $xeGGWrapper = $xeGrid || $xeGantt
19
+
20
+ const { filterStore } = reactData
21
+ const { elemStore } = internalData
22
+ const { column, targetEl } = filterStore
23
+ if (!column || !targetEl) {
24
+ return $xeTable.$nextTick()
25
+ }
26
+ const tableEl = $xeTable.$refs.refElem as HTMLDivElement
27
+ const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode()
28
+ const filterOpts = $xeTable.computeFilterOpts
29
+ const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts
30
+ const currEl = targetEl
31
+ const tableRect = tableEl.getBoundingClientRect()
32
+ const filterRender = column ? column.filterRender : null
33
+ const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
34
+
35
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll'])
36
+ if (!headerScrollElem) {
37
+ return $xeTable.$nextTick()
38
+ }
39
+ const tableFilter = $xeTable.$refs.refTableFilter
40
+ const filterWrapperElem = tableFilter ? (tableFilter as any).$el as HTMLDivElement : null
41
+ if (!filterWrapperElem) {
42
+ return $xeTable.$nextTick()
43
+ }
44
+ const btnRect = currEl.getBoundingClientRect()
45
+ const filterHeadElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-header')
46
+ const filterFootElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-footer')
47
+ const filterWidth = filterWrapperElem.offsetWidth
48
+ const centerWidth = currEl ? filterWidth / 2 : ((filterWidth - column.renderWidth) / 2)
49
+ let left = 0
50
+ let top = 0
51
+ let maxHeight: number = 0
52
+ /**
53
+ * 是否显示筛选按钮图标
54
+ * 如果不存在图标,则相对单元格居中显示
55
+ */
56
+ if (transfer) {
57
+ left = btnRect.left - centerWidth + scrollLeft
58
+ top = btnRect.top + currEl.clientHeight + scrollTop
59
+ maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28))
60
+ if (left < 16) {
61
+ left = 16
62
+ } else if (left > (visibleWidth - filterWidth - 16)) {
63
+ left = visibleWidth - filterWidth - 16
64
+ }
65
+ } else {
66
+ left = btnRect.left - tableRect.left - centerWidth
67
+ top = btnRect.top - tableRect.top + currEl.clientHeight
68
+ maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14)
69
+ if (left < 1) {
70
+ left = 1
71
+ } else if (left > (tableEl.clientWidth - filterWidth - 1)) {
72
+ left = tableEl.clientWidth - filterWidth - 1
73
+ }
74
+ if ($xeGGWrapper) {
75
+ const wrapperEl = $xeGGWrapper.$refs.refElem as HTMLDivElement
76
+ if (wrapperEl) {
77
+ const wrapperRect = wrapperEl.getBoundingClientRect()
78
+ top += tableRect.top - wrapperRect.top
79
+ }
80
+ }
81
+ }
82
+ const fStys: Record<string, any> = {
83
+ top: toCssUnit(top),
84
+ left: toCssUnit(left)
85
+ }
86
+ if (zIndex) {
87
+ fStys.zIndex = zIndex
88
+ }
89
+ filterStore.style = fStys
90
+ // 筛选面板是自适应表格高度
91
+ if (compConf ? !compConf.tableFilterAutoHeight : false) {
92
+ maxHeight = 0
93
+ } else {
94
+ if (customMaxHeight) {
95
+ maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight
96
+ }
97
+ }
98
+ // 判断面板不能大于表格高度
99
+ filterStore.maxHeight = maxHeight
100
+ return $xeTable.$nextTick()
101
+ }
102
+
13
103
  export default {
14
104
  methods: {
15
105
  /**
@@ -99,92 +189,22 @@ export default {
99
189
  },
100
190
  handleOpenFilterColumn (evnt: MouseEvent, btnEl: HTMLDivElement | null, colEl: HTMLDivElement, column: VxeTableDefines.ColumnInfo, params: any) {
101
191
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
102
- const $xeGrid = $xeTable.$xeGrid
103
- const $xeGantt = $xeTable.$xeGantt
104
192
  const reactData = $xeTable as unknown as TableReactData
105
193
  const internalData = $xeTable as unknown as TableInternalData
106
- const $xeGGWrapper = $xeGrid || $xeGantt
107
194
 
108
195
  const { initStore, filterStore } = reactData
109
- const { elemStore } = internalData
110
196
  if (filterStore.column === column && filterStore.visible) {
111
197
  filterStore.visible = false
112
198
  } else {
113
- const tableEl = $xeTable.$refs.refElem as HTMLDivElement
114
- const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode()
115
- const filterOpts = $xeTable.computeFilterOpts
116
- const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts
117
199
  const currEl = btnEl || colEl
118
- const tableRect = tableEl.getBoundingClientRect()
119
- const filterRender = column ? column.filterRender : null
120
- const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
121
200
  $xeTable.handleFilterOptions(column)
122
201
  internalData._currFilterParams = params
202
+ filterStore.targetEl = currEl
123
203
  filterStore.style = null
124
204
  filterStore.visible = true
125
205
  initStore.filter = true
126
206
  $xeTable.$nextTick(() => {
127
- const headerScrollElem = getRefElem(elemStore['main-header-scroll'])
128
- if (!headerScrollElem) {
129
- return
130
- }
131
- const tableFilter = $xeTable.$refs.refTableFilter
132
- const filterWrapperElem = tableFilter ? (tableFilter as any).$el as HTMLDivElement : null
133
- if (!filterWrapperElem) {
134
- return
135
- }
136
- const btnRect = currEl.getBoundingClientRect()
137
- const filterHeadElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-header')
138
- const filterFootElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-footer')
139
- const filterWidth = filterWrapperElem.offsetWidth
140
- const centerWidth = filterWidth / 2
141
- let left = 0
142
- let top = 0
143
- let maxHeight = 0
144
- if (transfer) {
145
- left = btnRect.left - centerWidth + scrollLeft
146
- top = btnRect.top + currEl.clientHeight + scrollTop
147
- maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28))
148
- if (left < 16) {
149
- left = 16
150
- } else if (left > (visibleWidth - filterWidth - 16)) {
151
- left = visibleWidth - filterWidth - 16
152
- }
153
- } else {
154
- left = btnRect.left - tableRect.left - centerWidth
155
- top = btnRect.top - tableRect.top + currEl.clientHeight
156
- maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14)
157
- if (left < 1) {
158
- left = 1
159
- } else if (left > (tableEl.clientWidth - filterWidth - 1)) {
160
- left = tableEl.clientWidth - filterWidth - 1
161
- }
162
- if ($xeGGWrapper) {
163
- const wrapperEl = $xeGGWrapper.$refs.refElem as HTMLDivElement
164
- if (wrapperEl) {
165
- const wrapperRect = wrapperEl.getBoundingClientRect()
166
- top += tableRect.top - wrapperRect.top
167
- }
168
- }
169
- }
170
- const fStys: Record<string, any> = {
171
- top: toCssUnit(top),
172
- left: toCssUnit(left)
173
- }
174
- if (zIndex) {
175
- fStys.zIndex = zIndex
176
- }
177
- filterStore.style = fStys
178
- // 筛选面板是自适应表格高度
179
- if (compConf ? !compConf.tableFilterAutoHeight : false) {
180
- maxHeight = 0
181
- } else {
182
- if (customMaxHeight) {
183
- maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight
184
- }
185
- }
186
- // 判断面板不能大于表格高度
187
- filterStore.maxHeight = maxHeight
207
+ updatePopupStyle($xeTable)
188
208
  })
189
209
  }
190
210
  $xeTable.dispatchEvent('filter-visible', { column, field: column.field, property: column.field, filterList: $xeTable.getCheckedFilters(), visible: filterStore.visible }, evnt)
@@ -462,6 +482,16 @@ export default {
462
482
  }
463
483
  }
464
484
  },
485
+ handleFilterStyle () {
486
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
487
+ const reactData = $xeTable as unknown as TableReactData
488
+
489
+ const { filterStore } = reactData
490
+ if (!filterStore.visible) {
491
+ return $xeTable.$nextTick()
492
+ }
493
+ return updatePopupStyle($xeTable)
494
+ },
465
495
  /**
466
496
  * 清空指定列的筛选条件
467
497
  * 如果为空则清空所有列的筛选条件
@@ -1574,16 +1574,25 @@ renderer.mixin({
1574
1574
  ]
1575
1575
  },
1576
1576
  renderTableCell (h, renderOpts, params) {
1577
- const { row, column } = params
1577
+ const { $table, row, column } = params
1578
+ const { props } = renderOpts
1579
+ const customSize = props ? props.size : null
1580
+ const vSize = customSize || $table.computeSize
1578
1581
  const cellValue = XEUtils.get(row, column.field)
1579
1582
  return h('span', {
1580
- class: 'vxe-color-picker--readonly'
1583
+ class: ['vxe-color-picker--readonly', {
1584
+ [`size--${vSize}`]: vSize
1585
+ }]
1581
1586
  }, [
1582
1587
  h('div', {
1583
- class: 'vxe-color-picker--readonly-color',
1584
- style: {
1585
- backgroundColor: cellValue
1586
- }
1588
+ class: ['vxe-color-picker--readonly-color', {
1589
+ 'is--empty': !cellValue
1590
+ }],
1591
+ style: cellValue
1592
+ ? {
1593
+ backgroundColor: cellValue
1594
+ }
1595
+ : undefined
1587
1596
  })
1588
1597
  ])
1589
1598
  }
@@ -7914,7 +7914,13 @@ const tableMethods: any = {
7914
7914
  },
7915
7915
  handleGlobalScrollEvent (evnt: MouseEvent) {
7916
7916
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7917
+ const reactData = $xeTable as unknown as TableReactData
7917
7918
 
7919
+ const { filterStore } = reactData
7920
+ const filterOpts = $xeTable.computeFilterOpts
7921
+ if (filterStore.visible && filterOpts.transfer) {
7922
+ $xeTable.handleFilterStyle()
7923
+ }
7918
7924
  reUpdateCustomStyleEvent($xeTable, evnt)
7919
7925
  },
7920
7926
  /**
@@ -7933,11 +7939,15 @@ const tableMethods: any = {
7933
7939
  */
7934
7940
  keydownEvent (evnt: any) {
7935
7941
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7942
+ const props = $xeTable
7943
+ const reactData = $xeTable as unknown as TableReactData
7936
7944
 
7937
- const { filterStore, ctxMenuStore, editStore, keyboardConfig, mouseConfig, mouseOpts, keyboardOpts } = this
7945
+ const { mouseConfig, keyboardConfig } = props
7946
+ const { filterStore, ctxMenuStore, editStore } = reactData
7947
+ const mouseOpts = $xeTable.computeMouseOpts
7948
+ const keyboardOpts = $xeTable.computeKeyboardOpts
7938
7949
  const { actived } = editStore
7939
- const { keyCode } = evnt
7940
- const isEsc = keyCode === 27
7950
+ const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
7941
7951
  if (isEsc) {
7942
7952
  this.preventEvent(evnt, 'event.keydown', null, () => {
7943
7953
  $xeTable.dispatchEvent('keydown-start', {}, evnt)
@@ -251,6 +251,7 @@ export function createReactData (): TableReactData {
251
251
  customColumnList: [],
252
252
  // 当前选中的筛选列
253
253
  filterStore: {
254
+ targetEl: null,
254
255
  isAllSelected: false,
255
256
  isIndeterminate: false,
256
257
  style: null,
@@ -20,7 +20,7 @@ export function getTpImg () {
20
20
  }
21
21
 
22
22
  export function getPropClass (property: any, params: any) {
23
- return property ? XEUtils.isFunction(property) ? property(params) : property : ''
23
+ return property ? (XEUtils.isFunction(property) ? property(params) : property) || '' : ''
24
24
  }
25
25
 
26
26
  function getClsRE (cls: any) {