vxe-table 3.23.1 → 3.23.3

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 (77) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/custom/mixin.js +6 -0
  6. package/es/table/module/export/export-panel.js +3 -2
  7. package/es/table/module/export/mixin.js +12 -6
  8. package/es/table/module/filter/mixin.js +102 -76
  9. package/es/table/src/body.js +12 -4
  10. package/es/table/src/footer.js +12 -4
  11. package/es/table/src/header.js +12 -4
  12. package/es/table/src/methods.js +14 -5
  13. package/es/table/src/table.js +8 -0
  14. package/es/table/src/util.js +1 -0
  15. package/es/table/style.css +35 -60
  16. package/es/table/style.min.css +1 -1
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/dom.js +1 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-table/style.css +35 -60
  21. package/es/vxe-table/style.min.css +1 -1
  22. package/lib/index.css +1 -1
  23. package/lib/index.min.css +1 -1
  24. package/lib/index.umd.js +194 -110
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/style.css +1 -1
  27. package/lib/style.min.css +1 -1
  28. package/lib/table/module/custom/mixin.js +8 -0
  29. package/lib/table/module/custom/mixin.min.js +1 -1
  30. package/lib/table/module/export/export-panel.js +3 -2
  31. package/lib/table/module/export/export-panel.min.js +1 -1
  32. package/lib/table/module/export/mixin.js +15 -6
  33. package/lib/table/module/export/mixin.min.js +1 -1
  34. package/lib/table/module/filter/mixin.js +116 -83
  35. package/lib/table/module/filter/mixin.min.js +1 -1
  36. package/lib/table/src/body.js +11 -3
  37. package/lib/table/src/body.min.js +1 -1
  38. package/lib/table/src/footer.js +11 -3
  39. package/lib/table/src/footer.min.js +1 -1
  40. package/lib/table/src/header.js +11 -3
  41. package/lib/table/src/header.min.js +1 -1
  42. package/lib/table/src/methods.js +3 -3
  43. package/lib/table/src/methods.min.js +1 -1
  44. package/lib/table/src/table.js +8 -0
  45. package/lib/table/src/table.min.js +1 -1
  46. package/lib/table/src/util.js +1 -0
  47. package/lib/table/src/util.min.js +1 -1
  48. package/lib/table/style/style.css +35 -60
  49. package/lib/table/style/style.min.css +1 -1
  50. package/lib/ui/index.js +1 -1
  51. package/lib/ui/index.min.js +1 -1
  52. package/lib/ui/src/dom.js +1 -1
  53. package/lib/ui/src/dom.min.js +1 -1
  54. package/lib/ui/src/log.js +1 -1
  55. package/lib/ui/src/log.min.js +1 -1
  56. package/lib/vxe-table/style/style.css +35 -60
  57. package/lib/vxe-table/style/style.min.css +1 -1
  58. package/package.json +2 -2
  59. package/packages/table/module/custom/mixin.ts +7 -0
  60. package/packages/table/module/export/export-panel.ts +3 -2
  61. package/packages/table/module/export/mixin.ts +11 -6
  62. package/packages/table/module/filter/mixin.ts +102 -72
  63. package/packages/table/src/body.ts +13 -4
  64. package/packages/table/src/footer.ts +14 -4
  65. package/packages/table/src/header.ts +14 -4
  66. package/packages/table/src/methods.ts +14 -5
  67. package/packages/table/src/table.ts +9 -0
  68. package/packages/table/src/util.ts +1 -0
  69. package/packages/ui/src/dom.ts +1 -1
  70. package/packages/ui/src/utils.ts +1 -1
  71. package/styles/components/table.scss +37 -75
  72. /package/es/{iconfont.1787542588120.ttf → iconfont.1788176636871.ttf} +0 -0
  73. /package/es/{iconfont.1787542588120.woff → iconfont.1788176636871.woff} +0 -0
  74. /package/es/{iconfont.1787542588120.woff2 → iconfont.1788176636871.woff2} +0 -0
  75. /package/lib/{iconfont.1787542588120.ttf → iconfont.1788176636871.ttf} +0 -0
  76. /package/lib/{iconfont.1787542588120.woff → iconfont.1788176636871.woff} +0 -0
  77. /package/lib/{iconfont.1787542588120.woff2 → iconfont.1788176636871.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3314,7 +3314,7 @@ function getDefaultConfig(val1, def1) {
3314
3314
  /* unused harmony import specifier */ var VxeUI;
3315
3315
 
3316
3316
 
3317
- const version = "3.23.1";
3317
+ const version = "3.23.3";
3318
3318
  core_.VxeUI.version = version;
3319
3319
  core_.VxeUI.tableVersion = version;
3320
3320
  core_.VxeUI.setConfig({
@@ -3877,7 +3877,7 @@ function getTpImg() {
3877
3877
  return tpImgEl;
3878
3878
  }
3879
3879
  function getPropClass(property, params) {
3880
- return property ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property : '';
3880
+ return property ? (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property) || '' : '';
3881
3881
  }
3882
3882
  function getClsRE(cls) {
3883
3883
  if (!reClsMap[cls]) {
@@ -4112,7 +4112,7 @@ function getPopupAppendElement(appendTo) {
4112
4112
  const {
4113
4113
  log: log_log
4114
4114
  } = core_.VxeUI;
4115
- const tableVersion = `table v${"3.23.1"}`;
4115
+ const tableVersion = `table v${"3.23.3"}`;
4116
4116
  function createComponentLog(name) {
4117
4117
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4118
4118
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
@@ -4625,6 +4625,7 @@ function createReactData() {
4625
4625
  customColumnList: [],
4626
4626
  // 当前选中的筛选列
4627
4627
  filterStore: {
4628
+ targetEl: null,
4628
4629
  isAllSelected: false,
4629
4630
  isIndeterminate: false,
4630
4631
  style: null,
@@ -7968,7 +7969,7 @@ remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.
7968
7969
  * 计算自适应行高
7969
7970
  */const calcCellAutoHeight=($xeTable,rowid,rowRest,wrapperEl)=>{const internalData=$xeTable;const{fullCellHeightMaps}=internalData;let chRest=fullCellHeightMaps[rowid];if(!chRest){chRest={};fullCellHeightMaps[rowid]=chRest;}const wrapperElemList=wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);let firstCellStyle=null;let topBottomPadding=0;let changeCH=false;for(let i=0;i<wrapperElemList.length;i++){const wrapperElem=wrapperElemList[i];const cellElem=wrapperElem.parentElement;const cellStyle=cellElem.style;const orHeight=cellStyle.height;const colid=wrapperElem.getAttribute('colid')||'';cellStyle.height='';if(!firstCellStyle){firstCellStyle=getComputedStyle(cellElem);topBottomPadding=firstCellStyle?Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingTop)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingBottom)):0;}const cellHeight=wrapperElem?wrapperElem.clientHeight:0;const colHeight=Math.ceil(cellHeight+topBottomPadding);if(chRest[colid]!==colHeight){changeCH=true;chRest[colid]=colHeight;}cellStyle.height=orHeight;}const cellMaxHeight=getRowMaxHeight(chRest,changeCH);return cellMaxHeight;};/**
7970
7971
  * 自适应行高
7971
- */const calcCellHeight=$xeTable=>{const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{tableData,isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const{fullAllDataRowIdData}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const cellOpts=$xeTable.computeCellOpts;const treeOpts=$xeTable.computeTreeOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;if(!isAllOverflow&&(scrollYLoad||scrollXLoad||cellOpts.maxHeight||treeConfig&&treeOpts.showLine)){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');tableData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const height=calcCellAutoHeight($xeTable,rowid,rowRest,el);rowRest.height=Math.max(defaultRowHeight,height);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}};function getOrderField($xeTable,column){const reactData=$xeTable;const{isRowGroupStatus}=reactData;const{sortBy,sortType,aggFunc}=column;return isRowGroupStatus&&aggFunc?row=>{if(row.isAggregate){const aggData=row.aggData;const currAggData=aggData?aggData[column.field]:null;return currAggData?currAggData.value:null;}let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return eqEmptyValue(cellValue)||isNaN(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;}:row=>{let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return eqEmptyValue(cellValue)||isNaN(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;};}function handleTargetEnterEvent($xeTable,isClear){const internalData=$xeTable;const $tooltip=$xeTable.$refs.refTooltip;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}}function clearCrossTableDragStatus($xeTable){const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);crossTableDragRowObj=null;crossTableDragRowInfo.row=null;}function clearDragStatus($xeTable){const reactData=$xeTable;const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin($xeTable);clearRowDropOrigin($xeTable);hideDropTip($xeTable);clearCrossTableDragStatus($xeTable);reactData.dragRow=null;reactData.dragCol=null;}}function handleRowDragEndClearStatus($xeTable){clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);handleRecalculateStyle($xeTable,false,true,true);}function handleColDragEndClearStatus($xeTable){clearColDragData($xeTable);clearCrossTableDragStatus($xeTable);handleRecalculateStyle($xeTable,true,true,true);}function clearRowDropOrigin($xeTable){const el=$xeTable.$el;if(el){const clss='row--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}}function updateRowDropOrigin($xeTable,row){const el=$xeTable.$el;if(el){const clss='row--drag-origin';const rowid=getRowid($xeTable,row);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{addClass(elem,clss);});}}function updateRowDropTipContent($xeTable,tdEl){const reactData=$xeTable;const props=$xeTable;const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=$xeTable.computeRowDragOpts;const{tooltipMethod}=rowDragOpts;const rTooltipMethod=tooltipMethod||(dragConfig?dragConfig.rowTooltipMethod:null);let tipContent='';if(rTooltipMethod){const rtParams={$table:$xeTable,row:dragRow};tipContent=`${rTooltipMethod(rtParams)||''}`;}else{tipContent=methods_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;}function updateColDropOrigin($xeTable,column){const el=$xeTable.$el;if(el){const colQuerys=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{addClass(elem,clss);});}}function clearColDropOrigin($xeTable){const el=$xeTable.$el;if(el){const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}}function updateColDropTipContent($xeTable,tdEl){const reactData=$xeTable;const{dragCol}=reactData;const columnDragOpts=$xeTable.computeColumnDragOpts;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=methods_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;}function showDropTip($xeTable,evnt,trEl,thEl,showLine,dragPos){const $xeGantt=$xeTable.$xeGantt;const reactData=$xeTable;const internalData=$xeTable;let wrapperEl=$xeTable.$refs.refElem;if($xeGantt&&trEl){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(!wrapperEl){return;}const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{prevDragToChild}=internalData;const wrapperRect=wrapperEl.getBoundingClientRect();const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const tableWrapperWidth=wrapperEl.clientWidth;const tableWrapperHeight=wrapperEl.clientHeight;if(trEl){const rdLineEl=$xeTable.$refs.refDragRowLineElem;if(rdLineEl){if(showLine){const scrollbarYToLeft=$xeTable.computeScrollbarYToLeft;const trRect=trEl.getBoundingClientRect();let trHeight=trEl.clientHeight;const offsetTop=Math.max(1,trRect.y-wrapperRect.y);if(offsetTop+trHeight>tableWrapperHeight-osbHeight){trHeight=tableWrapperHeight-offsetTop-osbHeight;}rdLineEl.style.display='block';rdLineEl.style.left=`${scrollbarYToLeft?osbWidth:0}px`;rdLineEl.style.top=`${offsetTop}px`;rdLineEl.style.height=`${trHeight}px`;rdLineEl.style.width=`${tableWrapperWidth-osbWidth}px`;rdLineEl.setAttribute('drag-pos',dragPos);rdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{rdLineEl.style.display='';}}}else if(thEl){const cdLineEl=$xeTable.$refs.refDragColLineElem;if(cdLineEl){if(showLine){const scrollbarXToTop=$xeTable.computeScrollbarXToTop;const leftContainerElem=$xeTable.$refs.refLeftContainer;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=$xeTable.$refs.refRightContainer;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const thRect=thEl.getBoundingClientRect();let thWidth=thEl.clientWidth;const offsetTop=Math.max(0,thRect.y-wrapperRect.y);const startX=leftContainerWidth;let offsetLeft=thRect.x-wrapperRect.x;if(offsetLeft<startX){thWidth-=startX-offsetLeft;offsetLeft=startX;}const endX=tableWrapperWidth-rightContainerWidth-(rightContainerWidth?0:osbWidth);if(offsetLeft+thWidth>endX){thWidth=endX-offsetLeft;}cdLineEl.style.display='block';cdLineEl.style.top=`${offsetTop}px`;cdLineEl.style.left=`${offsetLeft}px`;cdLineEl.style.width=`${thWidth}px`;if(prevDragToChild){cdLineEl.style.height=`${thRect.height}px`;}else{cdLineEl.style.height=`${tableWrapperHeight-offsetTop-(scrollbarXToTop?0:osbHeight)}px`;}cdLineEl.setAttribute('drag-pos',dragPos);cdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{cdLineEl.style.display='';}}}const rdTipEl=$xeTable.$refs.refDragTipElem;if(rdTipEl){rdTipEl.style.display='block';rdTipEl.style.top=`${Math.min(wrapperEl.clientHeight-wrapperEl.scrollTop-rdTipEl.clientHeight,evnt.clientY-wrapperRect.y)}px`;rdTipEl.style.left=`${Math.min(wrapperEl.clientWidth-wrapperEl.scrollLeft-rdTipEl.clientWidth-16,evnt.clientX-wrapperRect.x)}px`;rdTipEl.setAttribute('drag-status',showLine?prevDragToChild?'sub':'normal':'disabled');}}function hideDropTip($xeTable){const rdTipEl=$xeTable.$refs.refDragTipElem;const rdLineEl=$xeTable.$refs.refDragRowLineElem;const cdLineEl=$xeTable.$refs.refDragColLineElem;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}}function clearRowDragData($xeTable){const $xeGantt=$xeTable.$xeGantt;const reactData=$xeTable;const internalData=$xeTable;let wrapperEl=$xeTable.$refs.refElem;const dtClss=['.vxe-body--row'];if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip($xeTable);clearRowDropOrigin($xeTable);clearRowAnimate(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;}function clearColDragData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const el=$xeTable.$refs.refElem;hideDropTip($xeTable);clearColDropOrigin($xeTable);clearColAnimate(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;}/**
7972
+ */const calcCellHeight=$xeTable=>{const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{tableData,isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const{fullAllDataRowIdData}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const treeOpts=$xeTable.computeTreeOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;if(!isAllOverflow&&(scrollYLoad||scrollXLoad||treeConfig&&treeOpts.showLine)){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');tableData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const height=calcCellAutoHeight($xeTable,rowid,rowRest,el);rowRest.height=Math.max(defaultRowHeight,height);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}};function getOrderField($xeTable,column){const reactData=$xeTable;const{isRowGroupStatus}=reactData;const{sortBy,sortType,aggFunc}=column;return isRowGroupStatus&&aggFunc?row=>{if(row.isAggregate){const aggData=row.aggData;const currAggData=aggData?aggData[column.field]:null;return currAggData?currAggData.value:null;}let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return eqEmptyValue(cellValue)||isNaN(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;}:row=>{let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return eqEmptyValue(cellValue)||isNaN(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;};}function handleTargetEnterEvent($xeTable,isClear){const internalData=$xeTable;const $tooltip=$xeTable.$refs.refTooltip;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}}function clearCrossTableDragStatus($xeTable){const crossTableDragRowInfo=getCrossTableDragRowInfo($xeTable);crossTableDragRowObj=null;crossTableDragRowInfo.row=null;}function clearDragStatus($xeTable){const reactData=$xeTable;const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin($xeTable);clearRowDropOrigin($xeTable);hideDropTip($xeTable);clearCrossTableDragStatus($xeTable);reactData.dragRow=null;reactData.dragCol=null;}}function handleRowDragEndClearStatus($xeTable){clearRowDragData($xeTable);clearCrossTableDragStatus($xeTable);handleRecalculateStyle($xeTable,false,true,true);}function handleColDragEndClearStatus($xeTable){clearColDragData($xeTable);clearCrossTableDragStatus($xeTable);handleRecalculateStyle($xeTable,true,true,true);}function clearRowDropOrigin($xeTable){const el=$xeTable.$el;if(el){const clss='row--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}}function updateRowDropOrigin($xeTable,row){const el=$xeTable.$el;if(el){const clss='row--drag-origin';const rowid=getRowid($xeTable,row);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{addClass(elem,clss);});}}function updateRowDropTipContent($xeTable,tdEl){const reactData=$xeTable;const props=$xeTable;const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=$xeTable.computeRowDragOpts;const{tooltipMethod}=rowDragOpts;const rTooltipMethod=tooltipMethod||(dragConfig?dragConfig.rowTooltipMethod:null);let tipContent='';if(rTooltipMethod){const rtParams={$table:$xeTable,row:dragRow};tipContent=`${rTooltipMethod(rtParams)||''}`;}else{tipContent=methods_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;}function updateColDropOrigin($xeTable,column){const el=$xeTable.$el;if(el){const colQuerys=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{addClass(elem,clss);});}}function clearColDropOrigin($xeTable){const el=$xeTable.$el;if(el){const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}}function updateColDropTipContent($xeTable,tdEl){const reactData=$xeTable;const{dragCol}=reactData;const columnDragOpts=$xeTable.computeColumnDragOpts;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=methods_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;}function showDropTip($xeTable,evnt,trEl,thEl,showLine,dragPos){const $xeGantt=$xeTable.$xeGantt;const reactData=$xeTable;const internalData=$xeTable;let wrapperEl=$xeTable.$refs.refElem;if($xeGantt&&trEl){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(!wrapperEl){return;}const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{prevDragToChild}=internalData;const wrapperRect=wrapperEl.getBoundingClientRect();const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const tableWrapperWidth=wrapperEl.clientWidth;const tableWrapperHeight=wrapperEl.clientHeight;if(trEl){const rdLineEl=$xeTable.$refs.refDragRowLineElem;if(rdLineEl){if(showLine){const scrollbarYToLeft=$xeTable.computeScrollbarYToLeft;const trRect=trEl.getBoundingClientRect();let trHeight=trEl.clientHeight;const offsetTop=Math.max(1,trRect.y-wrapperRect.y);if(offsetTop+trHeight>tableWrapperHeight-osbHeight){trHeight=tableWrapperHeight-offsetTop-osbHeight;}rdLineEl.style.display='block';rdLineEl.style.left=`${scrollbarYToLeft?osbWidth:0}px`;rdLineEl.style.top=`${offsetTop}px`;rdLineEl.style.height=`${trHeight}px`;rdLineEl.style.width=`${tableWrapperWidth-osbWidth}px`;rdLineEl.setAttribute('drag-pos',dragPos);rdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{rdLineEl.style.display='';}}}else if(thEl){const cdLineEl=$xeTable.$refs.refDragColLineElem;if(cdLineEl){if(showLine){const scrollbarXToTop=$xeTable.computeScrollbarXToTop;const leftContainerElem=$xeTable.$refs.refLeftContainer;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=$xeTable.$refs.refRightContainer;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const thRect=thEl.getBoundingClientRect();let thWidth=thEl.clientWidth;const offsetTop=Math.max(0,thRect.y-wrapperRect.y);const startX=leftContainerWidth;let offsetLeft=thRect.x-wrapperRect.x;if(offsetLeft<startX){thWidth-=startX-offsetLeft;offsetLeft=startX;}const endX=tableWrapperWidth-rightContainerWidth-(rightContainerWidth?0:osbWidth);if(offsetLeft+thWidth>endX){thWidth=endX-offsetLeft;}cdLineEl.style.display='block';cdLineEl.style.top=`${offsetTop}px`;cdLineEl.style.left=`${offsetLeft}px`;cdLineEl.style.width=`${thWidth}px`;if(prevDragToChild){cdLineEl.style.height=`${thRect.height}px`;}else{cdLineEl.style.height=`${tableWrapperHeight-offsetTop-(scrollbarXToTop?0:osbHeight)}px`;}cdLineEl.setAttribute('drag-pos',dragPos);cdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{cdLineEl.style.display='';}}}const rdTipEl=$xeTable.$refs.refDragTipElem;if(rdTipEl){rdTipEl.style.display='block';rdTipEl.style.top=`${Math.min(wrapperEl.clientHeight-wrapperEl.scrollTop-rdTipEl.clientHeight,evnt.clientY-wrapperRect.y)}px`;rdTipEl.style.left=`${Math.min(wrapperEl.clientWidth-wrapperEl.scrollLeft-rdTipEl.clientWidth-16,evnt.clientX-wrapperRect.x)}px`;rdTipEl.setAttribute('drag-status',showLine?prevDragToChild?'sub':'normal':'disabled');}}function hideDropTip($xeTable){const rdTipEl=$xeTable.$refs.refDragTipElem;const rdLineEl=$xeTable.$refs.refDragRowLineElem;const cdLineEl=$xeTable.$refs.refDragColLineElem;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}}function clearRowDragData($xeTable){const $xeGantt=$xeTable.$xeGantt;const reactData=$xeTable;const internalData=$xeTable;let wrapperEl=$xeTable.$refs.refElem;const dtClss=['.vxe-body--row'];if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip($xeTable);clearRowDropOrigin($xeTable);clearRowAnimate(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;}function clearColDragData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const el=$xeTable.$refs.refElem;hideDropTip($xeTable);clearColDropOrigin($xeTable);clearColAnimate(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;}/**
7972
7973
  * 处理显示 tooltip
7973
7974
  * @param {Event} evnt 事件
7974
7975
  * @param {Row} row 行对象
@@ -8334,11 +8335,11 @@ if(ctxMenuStore.visible&&tableMenu&&!getEventTargetNode(evnt,tableMenu.$el).flag
8334
8335
  if(!isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}// 最后激活的表格
8335
8336
  internalData.isActivated=isActivated;}},/**
8336
8337
  * 窗口失焦事件处理
8337
- */handleGlobalBlurEvent(){const $xeTable=this;$xeTable.closeFilter();$xeTable.closeMenu();},handleGlobalScrollEvent(evnt){const $xeTable=this;reUpdateCustomStyleEvent($xeTable,evnt);},/**
8338
+ */handleGlobalBlurEvent(){const $xeTable=this;$xeTable.closeFilter();$xeTable.closeMenu();},handleGlobalScrollEvent(evnt){const $xeTable=this;const reactData=$xeTable;const{filterStore}=reactData;const filterOpts=$xeTable.computeFilterOpts;if(filterStore.visible&&filterOpts.transfer){$xeTable.handleFilterStyle();}reUpdateCustomStyleEvent($xeTable,evnt);},/**
8338
8339
  * 全局滚动事件
8339
8340
  */handleGlobalMousewheelEvent(){const $xeTable=this;$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
8340
8341
  * 表格键盘事件
8341
- */keydownEvent(evnt){const $xeTable=this;const{filterStore,ctxMenuStore,editStore,keyboardConfig,mouseConfig,mouseOpts,keyboardOpts}=this;const{actived}=editStore;const{keyCode}=evnt;const isEsc=keyCode===27;if(isEsc){this.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8342
+ */keydownEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){this.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8342
8343
  this.closeFilter();this.closeMenu();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8343
8344
  if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8344
8345
  if(mouseConfig&&mouseOpts.selected){this.$nextTick(()=>this.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
@@ -8933,8 +8934,13 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
8933
8934
  const isEdit = isEnableConf(editRender);
8934
8935
  const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
8935
8936
  let fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
8936
- const isCellPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(padding) ? allPadding === null ? cellOpts.padding : allPadding : padding;
8937
- const cellOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showOverflow) ? allShowOverflow : showOverflow;
8937
+ const cellPadding = getDefaultConfig(padding, allPadding === null ? cellOpts.padding : allPadding);
8938
+ const isAllCellPadding = cellPadding === true;
8939
+ const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
8940
+ const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
8941
+ const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
8942
+ const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
8943
+ const cellOverflow = getDefaultConfig(showOverflow, allShowOverflow);
8938
8944
  const showEllipsis = cellOverflow === 'ellipsis';
8939
8945
  const showTitle = cellOverflow === 'title';
8940
8946
  const showTooltip = cellOverflow === true ? tooltipOpts.mode === 'tooltip' : cellOverflow === 'tooltip';
@@ -9230,7 +9236,10 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
9230
9236
  'col--max-height': maxHeight,
9231
9237
  'fixed--width': !isAutoCellWidth,
9232
9238
  'fixed--hidden': fixedHiddenColumn,
9233
- 'is--padding': isCellPadding,
9239
+ 'is--pg-top': isCellPaddingTop,
9240
+ 'is--pg-bottom': isCellPaddingBottom,
9241
+ 'is--pg-left': isCellPaddingLeft,
9242
+ 'is--pg-right': isCellPaddingRight,
9234
9243
  'is--progress': fixedHiddenColumn && isAllOverflow || isVNPreEmptyStatus,
9235
9244
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
9236
9245
  'is--drag-disabled': isDisabledDrag,
@@ -9840,8 +9849,13 @@ function header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIn
9840
9849
  const compConf = renderOpts ? header_renderer.get(renderOpts.name) : null;
9841
9850
  const isColGroup = column.children && column.children.length;
9842
9851
  const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
9843
- const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
9844
- const headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
9852
+ const cellPadding = getDefaultConfig(headerCellOpts.padding, cellOpts.padding);
9853
+ const isAllCellPadding = cellPadding === true;
9854
+ const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
9855
+ const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
9856
+ const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
9857
+ const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
9858
+ const headOverflow = getDefaultConfig(showHeaderOverflow, allColumnHeaderOverflow);
9845
9859
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
9846
9860
  const showEllipsis = headOverflow === 'ellipsis';
9847
9861
  const showTitle = headOverflow === 'title';
@@ -9961,7 +9975,10 @@ function header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIn
9961
9975
  'col--group': isColGroup,
9962
9976
  'col--ellipsis': hasEllipsis,
9963
9977
  'fixed--width': !isAutoCellWidth,
9964
- 'is--padding': isPadding,
9978
+ 'is--pg-top': isCellPaddingTop,
9979
+ 'is--pg-bottom': isCellPaddingBottom,
9980
+ 'is--pg-left': isCellPaddingLeft,
9981
+ 'is--pg-right': isCellPaddingRight,
9965
9982
  'is--sortable': column.sortable,
9966
9983
  'col--filter': !!filters,
9967
9984
  'is--filter-active': hasFilter,
@@ -10484,8 +10501,13 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
10484
10501
  const compConf = renderOpts ? footer_renderer.get(renderOpts.name) : null;
10485
10502
  const showAllTip = footerTooltipOpts.showAll;
10486
10503
  const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
10487
- const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
10488
- const footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
10504
+ const cellPadding = getDefaultConfig(footerCellOpts.padding, cellOpts.padding);
10505
+ const isAllCellPadding = cellPadding === true;
10506
+ const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
10507
+ const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
10508
+ const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
10509
+ const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
10510
+ const footOverflow = getDefaultConfig(showFooterOverflow, allColumnFooterOverflow);
10489
10511
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
10490
10512
  const showEllipsis = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'ellipsis';
10491
10513
  const showTitle = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'title';
@@ -10598,7 +10620,10 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
10598
10620
  'col--last': isLastColumn,
10599
10621
  'fixed--width': !isAutoCellWidth,
10600
10622
  'fixed--hidden': fixedHiddenColumn,
10601
- 'is--padding': isPadding,
10623
+ 'is--pg-top': isCellPaddingTop,
10624
+ 'is--pg-bottom': isCellPaddingBottom,
10625
+ 'is--pg-left': isCellPaddingLeft,
10626
+ 'is--pg-right': isCellPaddingRight,
10602
10627
  'col--ellipsis': hasEllipsis,
10603
10628
  'col--current': currentColumn === column
10604
10629
  }, getClass(footerClassName, cellParams), getClass(footerCellClassName, cellParams)],
@@ -13491,13 +13516,14 @@ const {
13491
13516
  } = storeData;
13492
13517
  const checkedAll = $xeExportPanel.computeCheckedAll;
13493
13518
  const supportMerge = $xeExportPanel.computeSupportMerge;
13519
+ // 内部导出使用 _columns -> _children 为自定义子集
13494
13520
  const expColumns = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(columns, column => column.checked, {
13495
13521
  children: 'children',
13496
- mapChildren: 'childNodes',
13522
+ mapChildren: '_children',
13497
13523
  original: true
13498
13524
  });
13499
13525
  return Object.assign({}, defaultOptions, {
13500
- columns: expColumns,
13526
+ _columns: expColumns,
13501
13527
  isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false
13502
13528
  });
13503
13529
  },
@@ -14112,6 +14138,109 @@ const {
14112
14138
  renderer: mixin_renderer
14113
14139
  } = core_.VxeUI;
14114
14140
  const mixin_sourceType = 'table';
14141
+ function updatePopupStyle($xeTable) {
14142
+ const $xeGrid = $xeTable.$xeGrid;
14143
+ const $xeGantt = $xeTable.$xeGantt;
14144
+ const reactData = $xeTable;
14145
+ const internalData = $xeTable;
14146
+ const $xeGGWrapper = $xeGrid || $xeGantt;
14147
+ const {
14148
+ filterStore
14149
+ } = reactData;
14150
+ const {
14151
+ elemStore
14152
+ } = internalData;
14153
+ const {
14154
+ column,
14155
+ targetEl
14156
+ } = filterStore;
14157
+ if (!column || !targetEl) {
14158
+ return $xeTable.$nextTick();
14159
+ }
14160
+ const tableEl = $xeTable.$refs.refElem;
14161
+ const {
14162
+ scrollTop,
14163
+ scrollLeft,
14164
+ visibleHeight,
14165
+ visibleWidth
14166
+ } = getDomNode();
14167
+ const filterOpts = $xeTable.computeFilterOpts;
14168
+ const {
14169
+ maxHeight: customMaxHeight,
14170
+ transfer,
14171
+ zIndex
14172
+ } = filterOpts;
14173
+ const currEl = targetEl;
14174
+ const tableRect = tableEl.getBoundingClientRect();
14175
+ const filterRender = column ? column.filterRender : null;
14176
+ const compConf = filterRender && isEnableConf(filterRender) ? mixin_renderer.get(filterRender.name) : null;
14177
+ const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
14178
+ if (!headerScrollElem) {
14179
+ return $xeTable.$nextTick();
14180
+ }
14181
+ const tableFilter = $xeTable.$refs.refTableFilter;
14182
+ const filterWrapperElem = tableFilter ? tableFilter.$el : null;
14183
+ if (!filterWrapperElem) {
14184
+ return $xeTable.$nextTick();
14185
+ }
14186
+ const btnRect = currEl.getBoundingClientRect();
14187
+ const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
14188
+ const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
14189
+ const filterWidth = filterWrapperElem.offsetWidth;
14190
+ const centerWidth = currEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
14191
+ let left = 0;
14192
+ let top = 0;
14193
+ let maxHeight = 0;
14194
+ /**
14195
+ * 是否显示筛选按钮图标
14196
+ * 如果不存在图标,则相对单元格居中显示
14197
+ */
14198
+ if (transfer) {
14199
+ left = btnRect.left - centerWidth + scrollLeft;
14200
+ top = btnRect.top + currEl.clientHeight + scrollTop;
14201
+ 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));
14202
+ if (left < 16) {
14203
+ left = 16;
14204
+ } else if (left > visibleWidth - filterWidth - 16) {
14205
+ left = visibleWidth - filterWidth - 16;
14206
+ }
14207
+ } else {
14208
+ left = btnRect.left - tableRect.left - centerWidth;
14209
+ top = btnRect.top - tableRect.top + currEl.clientHeight;
14210
+ maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
14211
+ if (left < 1) {
14212
+ left = 1;
14213
+ } else if (left > tableEl.clientWidth - filterWidth - 1) {
14214
+ left = tableEl.clientWidth - filterWidth - 1;
14215
+ }
14216
+ if ($xeGGWrapper) {
14217
+ const wrapperEl = $xeGGWrapper.$refs.refElem;
14218
+ if (wrapperEl) {
14219
+ const wrapperRect = wrapperEl.getBoundingClientRect();
14220
+ top += tableRect.top - wrapperRect.top;
14221
+ }
14222
+ }
14223
+ }
14224
+ const fStys = {
14225
+ top: toCssUnit(top),
14226
+ left: toCssUnit(left)
14227
+ };
14228
+ if (zIndex) {
14229
+ fStys.zIndex = zIndex;
14230
+ }
14231
+ filterStore.style = fStys;
14232
+ // 筛选面板是自适应表格高度
14233
+ if (compConf ? !compConf.tableFilterAutoHeight : false) {
14234
+ maxHeight = 0;
14235
+ } else {
14236
+ if (customMaxHeight) {
14237
+ maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
14238
+ }
14239
+ }
14240
+ // 判断面板不能大于表格高度
14241
+ filterStore.maxHeight = maxHeight;
14242
+ return $xeTable.$nextTick();
14243
+ }
14115
14244
  /* harmony default export */ var mixin = ({
14116
14245
  methods: {
14117
14246
  /**
@@ -14209,105 +14338,24 @@ const mixin_sourceType = 'table';
14209
14338
  },
14210
14339
  handleOpenFilterColumn(evnt, btnEl, colEl, column, params) {
14211
14340
  const $xeTable = this;
14212
- const $xeGrid = $xeTable.$xeGrid;
14213
- const $xeGantt = $xeTable.$xeGantt;
14214
14341
  const reactData = $xeTable;
14215
14342
  const internalData = $xeTable;
14216
- const $xeGGWrapper = $xeGrid || $xeGantt;
14217
14343
  const {
14218
14344
  initStore,
14219
14345
  filterStore
14220
14346
  } = reactData;
14221
- const {
14222
- elemStore
14223
- } = internalData;
14224
14347
  if (filterStore.column === column && filterStore.visible) {
14225
14348
  filterStore.visible = false;
14226
14349
  } else {
14227
- const tableEl = $xeTable.$refs.refElem;
14228
- const {
14229
- scrollTop,
14230
- scrollLeft,
14231
- visibleHeight,
14232
- visibleWidth
14233
- } = getDomNode();
14234
- const filterOpts = $xeTable.computeFilterOpts;
14235
- const {
14236
- maxHeight: customMaxHeight,
14237
- transfer,
14238
- zIndex
14239
- } = filterOpts;
14240
14350
  const currEl = btnEl || colEl;
14241
- const tableRect = tableEl.getBoundingClientRect();
14242
- const filterRender = column ? column.filterRender : null;
14243
- const compConf = filterRender && isEnableConf(filterRender) ? mixin_renderer.get(filterRender.name) : null;
14244
14351
  $xeTable.handleFilterOptions(column);
14245
14352
  internalData._currFilterParams = params;
14353
+ filterStore.targetEl = currEl;
14246
14354
  filterStore.style = null;
14247
14355
  filterStore.visible = true;
14248
14356
  initStore.filter = true;
14249
14357
  $xeTable.$nextTick(() => {
14250
- const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
14251
- if (!headerScrollElem) {
14252
- return;
14253
- }
14254
- const tableFilter = $xeTable.$refs.refTableFilter;
14255
- const filterWrapperElem = tableFilter ? tableFilter.$el : null;
14256
- if (!filterWrapperElem) {
14257
- return;
14258
- }
14259
- const btnRect = currEl.getBoundingClientRect();
14260
- const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
14261
- const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
14262
- const filterWidth = filterWrapperElem.offsetWidth;
14263
- const centerWidth = filterWidth / 2;
14264
- let left = 0;
14265
- let top = 0;
14266
- let maxHeight = 0;
14267
- if (transfer) {
14268
- left = btnRect.left - centerWidth + scrollLeft;
14269
- top = btnRect.top + currEl.clientHeight + scrollTop;
14270
- 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));
14271
- if (left < 16) {
14272
- left = 16;
14273
- } else if (left > visibleWidth - filterWidth - 16) {
14274
- left = visibleWidth - filterWidth - 16;
14275
- }
14276
- } else {
14277
- left = btnRect.left - tableRect.left - centerWidth;
14278
- top = btnRect.top - tableRect.top + currEl.clientHeight;
14279
- maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
14280
- if (left < 1) {
14281
- left = 1;
14282
- } else if (left > tableEl.clientWidth - filterWidth - 1) {
14283
- left = tableEl.clientWidth - filterWidth - 1;
14284
- }
14285
- if ($xeGGWrapper) {
14286
- const wrapperEl = $xeGGWrapper.$refs.refElem;
14287
- if (wrapperEl) {
14288
- const wrapperRect = wrapperEl.getBoundingClientRect();
14289
- top += tableRect.top - wrapperRect.top;
14290
- }
14291
- }
14292
- }
14293
- const fStys = {
14294
- top: toCssUnit(top),
14295
- left: toCssUnit(left)
14296
- };
14297
- if (zIndex) {
14298
- fStys.zIndex = zIndex;
14299
- }
14300
- filterStore.style = fStys;
14301
- // 筛选面板是自适应表格高度
14302
- if (compConf ? !compConf.tableFilterAutoHeight : false) {
14303
- maxHeight = 0;
14304
- } else {
14305
- if (customMaxHeight) {
14306
- maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
14307
- }
14308
- }
14309
- // 判断面板不能大于表格高度
14310
- filterStore.maxHeight = maxHeight;
14358
+ updatePopupStyle($xeTable);
14311
14359
  });
14312
14360
  }
14313
14361
  $xeTable.dispatchEvent('filter-visible', {
@@ -14634,6 +14682,17 @@ const mixin_sourceType = 'table';
14634
14682
  }
14635
14683
  }
14636
14684
  },
14685
+ handleFilterStyle() {
14686
+ const $xeTable = this;
14687
+ const reactData = $xeTable;
14688
+ const {
14689
+ filterStore
14690
+ } = reactData;
14691
+ if (!filterStore.visible) {
14692
+ return $xeTable.$nextTick();
14693
+ }
14694
+ return updatePopupStyle($xeTable);
14695
+ },
14637
14696
  /**
14638
14697
  * 清空指定列的筛选条件
14639
14698
  * 如果为空则清空所有列的筛选条件
@@ -18015,7 +18074,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
18015
18074
  const exportOpts = $xeTable.computeExportOpts;
18016
18075
  const hasTree = !!treeConfig;
18017
18076
  const hasRowGroup = rowGroupList.length > 0;
18018
- const customOpts = $xeTable.computeCustomOpts;
18077
+ const printOpts = $xeTable.computePrintOpts;
18019
18078
  const selectRecords = $xeTable.getCheckboxRecords();
18020
18079
  const proxyOpts = $xeGGWrapper ? $xeGGWrapper.computeProxyOpts : {};
18021
18080
  const hasFooter = !!footerTableData.length;
@@ -18036,9 +18095,9 @@ function handleExportAndPrint($xeTable, options, isPrint) {
18036
18095
  export_mixin_warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
18037
18096
  defOpts.isTreeAllExpanded = defOpts.isAllExpand;
18038
18097
  }
18039
- const types = defOpts.types || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(exportOpts._typeMaps);
18098
+ const types = isPrint ? [] : defOpts.types || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(exportOpts._typeMaps);
18040
18099
  const modes = defOpts.modes || [];
18041
- const checkMethod = customOpts.checkMethod;
18100
+ const checkMethod = (isPrint ? printOpts : exportOpts).checkMethod;
18042
18101
  const exportColumns = collectColumn.slice(0);
18043
18102
  const {
18044
18103
  columns,
@@ -18153,10 +18212,10 @@ function handleExportAndPrint($xeTable, options, isPrint) {
18153
18212
  }
18154
18213
  }
18155
18214
  if (!modeList.some(item => item.value === mode)) {
18156
- exportParams.mode = modeList[0].value;
18215
+ exportParams.mode = modeList.length ? modeList[0].value : '';
18157
18216
  }
18158
18217
  if (!typeList.some(item => item.value === type)) {
18159
- exportParams.type = typeList[0].value;
18218
+ exportParams.type = typeList.length ? typeList[0].value : '';
18160
18219
  }
18161
18220
  if (!exportParams.widthMode) {
18162
18221
  exportParams.widthMode = '';
@@ -18319,7 +18378,16 @@ const convertToRows = originColumns => {
18319
18378
  }
18320
18379
  let isCustomCol = false;
18321
18380
  let customCols = [];
18322
- if (columns) {
18381
+ const _columns = opts._columns;
18382
+ if (_columns) {
18383
+ // 内部导出使用 _columns -> _children 为自定义子集
18384
+ isCustomCol = true;
18385
+ customCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(_columns, () => true, {
18386
+ children: '_children',
18387
+ mapChildren: 'childNodes',
18388
+ original: true
18389
+ });
18390
+ } else if (columns) {
18323
18391
  isCustomCol = true;
18324
18392
  customCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(columns, () => true, {
18325
18393
  children: 'children',
@@ -20235,7 +20303,7 @@ function beginValidate($xeTable, rows, cols, cb, isFull) {
20235
20303
 
20236
20304
 
20237
20305
  const customColumnCssKeys = ['checkbox', 'sort', 'title', 'width', 'fixed', 'align', 'header-align', 'footer-align'];
20238
- function updatePopupStyle($xeTable) {
20306
+ function mixin_updatePopupStyle($xeTable) {
20239
20307
  const $xeGrid = $xeTable.$xeGrid;
20240
20308
  const $xeGantt = $xeTable.$xeGantt;
20241
20309
  const $xeGGWrapper = $xeGrid || $xeGantt;
@@ -20396,8 +20464,8 @@ function emitCustomEvent($xeTable, type, evnt) {
20396
20464
  initStore.custom = true;
20397
20465
  $xeTable.handleUpdateCustomColumn();
20398
20466
  $xeTable.checkCustomStatus();
20399
- updatePopupStyle($xeTable);
20400
- return $xeTable.$nextTick().then(() => updatePopupStyle($xeTable));
20467
+ mixin_updatePopupStyle($xeTable);
20468
+ return $xeTable.$nextTick().then(() => mixin_updatePopupStyle($xeTable));
20401
20469
  },
20402
20470
  _closeCustom() {
20403
20471
  const $xeTable = this;
@@ -20836,7 +20904,15 @@ function emitCustomEvent($xeTable, type, evnt) {
20836
20904
  },
20837
20905
  handleCustomStyle() {
20838
20906
  const $xeTable = this;
20839
- return updatePopupStyle($xeTable);
20907
+ const reactData = $xeTable.reactData;
20908
+ const {
20909
+ customStore
20910
+ } = reactData;
20911
+ if (!customStore.visible) {
20912
+ return $xeTable.$nextTick();
20913
+ }
20914
+ reactData.isCustomDragStatus = false;
20915
+ return mixin_updatePopupStyle($xeTable);
20840
20916
  }
20841
20917
  }
20842
20918
  });
@@ -22391,6 +22467,11 @@ function renderBody(h, $xeTable) {
22391
22467
  const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
22392
22468
  const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
22393
22469
  return `${scrollbarXOpts.visible}${scrollbarYOpts.visible}`;
22470
+ },
22471
+ computeCellConfHeitht() {
22472
+ const $xeTable = this;
22473
+ const cellOpts = $xeTable.computeCellOpts;
22474
+ return cellOpts.height;
22394
22475
  }
22395
22476
  },
22396
22477
  watch: {
@@ -22481,6 +22562,9 @@ function renderBody(h, $xeTable) {
22481
22562
  computeScrollbarVisible() {
22482
22563
  this.reLayoutFlag++;
22483
22564
  },
22565
+ computeCellConfHeitht() {
22566
+ this.reLayoutFlag++;
22567
+ },
22484
22568
  reLayoutFlag() {
22485
22569
  const $xeTable = this;
22486
22570
  $xeTable.$nextTick(() => $xeTable.recalculate(true));