vxe-table 3.25.0-beta.3 → 3.25.0-beta.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.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/filter/mixin.js +4 -7
- package/es/table/module/filter/panel.js +47 -48
- package/es/table/src/methods.js +11 -5
- package/es/table/src/table.js +48 -27
- package/es/table/src/util.js +1 -2
- package/es/table/style.css +31 -12
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +31 -12
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +103 -83
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/filter/mixin.js +5 -7
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/filter/panel.js +41 -37
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/src/methods.js +3 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +50 -31
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +31 -12
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +31 -12
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +2 -1
- package/packages/table/module/filter/mixin.ts +4 -7
- package/packages/table/module/filter/panel.ts +50 -48
- package/packages/table/src/methods.ts +12 -5
- package/packages/table/src/table.ts +51 -27
- package/packages/table/src/util.ts +1 -2
- package/packages/ui/index.ts +1 -1
- package/styles/components/table-module/filter.scss +25 -14
- /package/es/{iconfont.1792117667851.ttf → iconfont.1792139868734.ttf} +0 -0
- /package/es/{iconfont.1792117667851.woff → iconfont.1792139868734.woff} +0 -0
- /package/es/{iconfont.1792117667851.woff2 → iconfont.1792139868734.woff2} +0 -0
- /package/lib/{iconfont.1792117667851.ttf → iconfont.1792139868734.ttf} +0 -0
- /package/lib/{iconfont.1792117667851.woff → iconfont.1792139868734.woff} +0 -0
- /package/lib/{iconfont.1792117667851.woff2 → iconfont.1792139868734.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -3323,7 +3323,7 @@ function getDefaultConfig(val1, def1) {
|
|
|
3323
3323
|
/* unused harmony import specifier */ var VxeUI;
|
|
3324
3324
|
|
|
3325
3325
|
|
|
3326
|
-
const version = "3.25.0-beta.
|
|
3326
|
+
const version = "3.25.0-beta.4";
|
|
3327
3327
|
core_.VxeUI.version = version;
|
|
3328
3328
|
core_.VxeUI.tableVersion = version;
|
|
3329
3329
|
core_.VxeUI.setConfig({
|
|
@@ -3487,7 +3487,7 @@ core_.VxeUI.setConfig({
|
|
|
3487
3487
|
destroyOnClose: true,
|
|
3488
3488
|
multiple: true,
|
|
3489
3489
|
showIcon: true,
|
|
3490
|
-
maxHeight:
|
|
3490
|
+
maxHeight: 320
|
|
3491
3491
|
},
|
|
3492
3492
|
floatingFilterConfig: {
|
|
3493
3493
|
// enabled: false
|
|
@@ -4286,7 +4286,7 @@ function getPopupAppendElement(appendTo) {
|
|
|
4286
4286
|
const {
|
|
4287
4287
|
log: log_log
|
|
4288
4288
|
} = core_.VxeUI;
|
|
4289
|
-
const tableVersion = `table v${"3.25.0-beta.
|
|
4289
|
+
const tableVersion = `table v${"3.25.0-beta.4"}`;
|
|
4290
4290
|
function createComponentLog(name) {
|
|
4291
4291
|
const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
|
|
4292
4292
|
const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
|
|
@@ -4814,8 +4814,7 @@ function createReactData() {
|
|
|
4814
4814
|
isIndeterminate: false,
|
|
4815
4815
|
style: null,
|
|
4816
4816
|
column: null,
|
|
4817
|
-
visible: false
|
|
4818
|
-
maxHeight: null
|
|
4817
|
+
visible: false
|
|
4819
4818
|
},
|
|
4820
4819
|
// 存放列相关的信息
|
|
4821
4820
|
columnStore: {
|
|
@@ -8234,7 +8233,7 @@ const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;//
|
|
|
8234
8233
|
reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible($xeTable);if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData($xeTable);});}else{$xeTable.updateScrollYSpace();}});}function calcScrollbar($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const bodyWrapperElem=getRefElem(elemStore['main-body-wrapper']);const headerTableElem=getRefElem(elemStore['main-header-table']);const footerTableElem=getRefElem(elemStore['main-footer-table']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const thumbXElem=$xeTable.$refs.refThumbXElem;const thumbYElem=$xeTable.$refs.refThumbYElem;let overflowY=false;let overflowX=false;if(bodyWrapperElem){const scrollbarOpts=$xeTable.computeScrollbarOpts;const barWidth=$xeTable.computeScrollYWidth;const barHeight=$xeTable.computeScrollXHeight;overflowY=scrollYHeight>bodyWrapperElem.clientHeight;// 如果是虚拟滚动条
|
|
8235
8234
|
if(thumbYElem){reactData.scrollbarHeight=scrollbarOpts.padding?thumbYElem.offsetWidth:0;}else if(yHandleEl){reactData.scrollbarWidth=barWidth||barHeight||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;// 如果是虚拟滚动条
|
|
8236
8235
|
if(thumbXElem){reactData.scrollbarHeight=scrollbarOpts.padding?thumbXElem.offsetHeight:0;}else if(xHandleEl){reactData.scrollbarHeight=barHeight||barWidth||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}const hHeight=headerTableElem?headerTableElem.clientHeight:0;const fHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.tHeaderHeight=hHeight;internalData.tFooterHeight=fHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(hHeight+fHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}}function handleRecalculateStyle($xeTable,reFull,reWidth,reHeight){const internalData=$xeTable;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return $xeTable.$nextTick();}const varEl=$xeTable.$refs.refVarElem;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig($xeTable,'default',defEl);calcVarRowHeightConfig($xeTable,'medium',mediumEl);calcVarRowHeightConfig($xeTable,'small',smallEl);calcVarRowHeightConfig($xeTable,'mini',miniEl);}if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}calcScrollbar($xeTable);updateStyle($xeTable);updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();return computeScrollLoad($xeTable).then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
8237
|
-
if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const defaultMinRunDelay=50;function handleLazyRecalculate($xeTable,reFull,reWidth,reHeight,options){const reactData=$xeTable;const internalData=$xeTable;const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const $xeGanttView=internalData.xeGanttView;const resizeOpts=$xeTable.computeResizeOpts;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
8236
|
+
if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}$xeTable.updateScrollbar();internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const defaultMinRunDelay=50;function handleLazyRecalculate($xeTable,reFull,reWidth,reHeight,options){const reactData=$xeTable;const internalData=$xeTable;const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const $xeGanttView=internalData.xeGanttView;const resizeOpts=$xeTable.computeResizeOpts;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
8238
8237
|
if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay=Math.min(Math.max(60,Math.min(800,tableData.length/8)),rceDelay+50);}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=$xeTable.$refs.refElem;$xeTable.updateScrollbar();if(el&&el.clientWidth){autoCellWidth($xeTable);updateRowExpandStyle($xeTable);}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}const renderCellSize=tableData.length*tableColumn.length;// 渲染量低的场景
|
|
8239
8238
|
if(renderCellSize<400){rceDelay=20;}else if(renderCellSize<600){rceDelay=40;}else if(renderCellSize<800){rceDelay=80;}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
|
|
8240
8239
|
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}else{$xeTable.$nextTick(()=>{resolve();});}}else{resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle($xeTable,reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});}function handleResizeEvent($xeTable){const internalData=$xeTable;if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate($xeTable,true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});}function handleUpdateAggValues($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;}function handleUpdateRowGroup($xeTable,groupFields){const reactData=$xeTable;const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues($xeTable);}function handleeGroupSummary($xeTable,aggList){const internalData=$xeTable;const{fullColumnFieldData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;const aggFuncColumns=$xeTable.computeAggFuncColumns;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
|
|
@@ -8758,7 +8757,7 @@ if(isEnableConf(editConfig)&&editOpts.autoClear!==false&&editOpts.trigger==='dbl
|
|
|
8758
8757
|
* 点击排序事件
|
|
8759
8758
|
*/triggerSortEvent(evnt,column,order){const $xeTable=this;const sortOpts=$xeTable.computeSortOpts;const{multiple,allowClear}=sortOpts;const{field,sortable}=column;if(sortable||column.remoteSort){if(!order||column.order===order){if(allowClear){$xeTable.clearSort(multiple?column:null);}}else{$xeTable.sort({field,order});}$xeTable.handleColumnSortEvent(evnt,column);}},handleCellRuleUpdateStatus(type,cellParams,cellValue){const $xeTable=this;const reactData=$xeTable;const{validStore}=reactData;const{row,column}=cellParams;if($xeTable.hasCellRules){if($xeTable.hasCellRules(type,row,column)){const cell=$xeTable.getCellElement(row,column);if(cell){const customVal=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);return $xeTable.validCellRules(type,row,column,cellValue).then(()=>{if(customVal&&validStore.visible){setCellValue(row,column,cellValue);}$xeTable.clearValidate(row,column);}).catch(({rule})=>{if(customVal){setCellValue(row,column,cellValue);}$xeTable.showValidTooltip({rule,row,column,cell});});}}}return $xeTable.$nextTick();},/**
|
|
8760
8759
|
* @private
|
|
8761
|
-
*/updateScrollbar(){const $xeTable=this
|
|
8760
|
+
*/updateScrollbar(){const $xeTable=this;const isVScrollbar=$xeTable.computeIsVScrollbar;if(isVScrollbar){return $xeTable.$nextTick().then(()=>{$xeTable.updateThumbSize();$xeTable.updateThumbOffset();});}return Promise.resolve();},/**
|
|
8762
8761
|
* 表头单元格按下事件
|
|
8763
8762
|
*/triggerHeaderCellMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;let triggerDrag=false;const isColDragCell=columnOpts.drag&&trigger==='cell';if(!(triggerInput||triggerCheckbox||triggerSort||triggerFilter)){const{column}=params;if(isColDragCell&&!column.fixed&&(isCrossDrag||isPeerDrag||!column.parentId)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleHeaderCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&hasEnableConf(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
|
|
8764
8763
|
* 单元格按下事件
|
|
@@ -8888,7 +8887,7 @@ if(transform){return handleVirtualTreeExpand($xeTable,rows,expanded);}else{retur
|
|
|
8888
8887
|
* 横向 X 可视渲染事件处理
|
|
8889
8888
|
*/triggerScrollXEvent(){const $xeTable=this;const virtualXOpts=$xeTable.computeVirtualXOpts;if(virtualXOpts.immediate){loadScrollXData($xeTable);}else{lazyScrollXData($xeTable);}},/**
|
|
8890
8889
|
* 纵向 Y 可视渲染事件处理
|
|
8891
|
-
*/triggerScrollYEvent(){const $xeTable=this;const virtualYOpts=$xeTable.computeVirtualYOpts;if(virtualYOpts.immediate){loadScrollYData($xeTable);}else{lazyScrollYData($xeTable);}},triggerBodyScrollEvent(evnt,fixedType){const $xeTable=this;const
|
|
8890
|
+
*/triggerScrollYEvent(){const $xeTable=this;const virtualYOpts=$xeTable.computeVirtualYOpts;if(virtualYOpts.immediate){loadScrollYData($xeTable);}else{lazyScrollYData($xeTable);}},triggerBodyScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollYLoad,scrollXLoad}=reactData;const isVScrollbar=$xeTable.computeIsVScrollbar;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const rowExpandEl=$xeTable.$refs.refRowExpandElem;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!isVScrollbar){if(!xHandleEl){return;}if(!yHandleEl){return;}}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=0;let scrollLeft=0;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){setScrollTop(bodyScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);}else if(fixedType==='right'){setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);}else{setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);}setScrollTop(yHandleEl,scrollTop);setScrollTop(rowExpandEl,scrollTop);syncGanttScrollTop($xeTable,scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}if(intoRunScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const $xeTable=this;const $xeParentTable=$xeTable.$xeParentTable;const tableProps=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}// 如果滚轮未移动或者触摸板未变化位置
|
|
8892
8891
|
if(!deltaY&&!deltaX){return;}const{highlightHoverRow}=tableProps;const{scrollXLoad,scrollYLoad,overflowX,overflowY,expandColumn}=reactData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const{elemStore,lastScrollTop,lastScrollLeft}=internalData;const rowOpts=$xeTable.computeRowOpts;const scrollXVisible=$xeTable.computeScrollXVisible;const scrollYVisible=$xeTable.computeScrollYVisible;const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const rowExpandEl=$xeTable.$refs.refRowExpandElem;if(!bodyScrollElem){return;}const wheelSpeed=getWheelSpeed(internalData.lastSTime);const deltaTop=shiftKey?0:deltaY*wheelSpeed;const deltaLeft=(shiftKey?deltaX||deltaY:deltaX)*wheelSpeed;const currScrollTop=bodyScrollElem.scrollTop;const currScrollLeft=bodyScrollElem.scrollLeft;const scrollTop=Math.max(0,currScrollTop+deltaTop);const scrollLeft=Math.max(0,currScrollLeft+deltaLeft);const isRollX=overflowX&&scrollLeft!==lastScrollLeft;const isRollY=overflowY&&scrollTop!==lastScrollTop;if(isRollX){// 如果禁用滚动
|
|
8893
8892
|
if(scrollXVisible===false||scrollXVisible==='hidden'){evnt.preventDefault();return;}}if(isRollY){// 如果禁用滚动
|
|
8894
8893
|
if(scrollYVisible===false||scrollYVisible==='hidden'){evnt.preventDefault();return;}const isTopWheel=deltaTop<0;// 如果滚动位置已经是顶部或底部,则不需要触发
|
|
@@ -13114,6 +13113,7 @@ function filterCheckAllEvent($xeFilterPanel, evnt, value) {
|
|
|
13114
13113
|
* Publish methods
|
|
13115
13114
|
*************************/
|
|
13116
13115
|
renderOptions(h, filterRender, compConf) {
|
|
13116
|
+
const VxeUIScrollbarComponent = core_.VxeUI.getComponent('VxeScrollbar');
|
|
13117
13117
|
const $xeFilterPanel = this;
|
|
13118
13118
|
const props = $xeFilterPanel;
|
|
13119
13119
|
const $xeTable = $xeFilterPanel.$xeTable;
|
|
@@ -13122,12 +13122,15 @@ function filterCheckAllEvent($xeFilterPanel, evnt, value) {
|
|
|
13122
13122
|
filterStore
|
|
13123
13123
|
} = props;
|
|
13124
13124
|
const {
|
|
13125
|
-
column
|
|
13126
|
-
maxHeight
|
|
13125
|
+
column
|
|
13127
13126
|
} = filterStore;
|
|
13128
13127
|
if (!column) {
|
|
13129
13128
|
return [];
|
|
13130
13129
|
}
|
|
13130
|
+
const filterOpts = $xeTable.computeFilterOpts;
|
|
13131
|
+
const {
|
|
13132
|
+
useScrollbar
|
|
13133
|
+
} = filterOpts;
|
|
13131
13134
|
const {
|
|
13132
13135
|
filterMultiple,
|
|
13133
13136
|
filters,
|
|
@@ -13143,49 +13146,19 @@ function filterCheckAllEvent($xeFilterPanel, evnt, value) {
|
|
|
13143
13146
|
const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
|
|
13144
13147
|
if (filterSlot) {
|
|
13145
13148
|
return [h('div', {
|
|
13146
|
-
class: 'vxe-table--filter-template'
|
|
13147
|
-
style: maxHeight ? {
|
|
13148
|
-
maxHeight: toCssUnit(maxHeight)
|
|
13149
|
-
} : {}
|
|
13149
|
+
class: 'vxe-table--filter-template'
|
|
13150
13150
|
}, $xeTable.callSlot(filterSlot, params, h))];
|
|
13151
13151
|
} else if (filterRender && rtFilter) {
|
|
13152
13152
|
return [h('div', {
|
|
13153
|
-
class: 'vxe-table--filter-template'
|
|
13154
|
-
style: maxHeight ? {
|
|
13155
|
-
maxHeight: toCssUnit(maxHeight)
|
|
13156
|
-
} : {}
|
|
13153
|
+
class: 'vxe-table--filter-template'
|
|
13157
13154
|
}, getSlotVNs(rtFilter.call($xeTable, h, filterRender, params)))];
|
|
13158
13155
|
}
|
|
13159
13156
|
const isAllChecked = filterMultiple ? filterStore.isAllSelected : !filterOptions.some(item => item._checked);
|
|
13160
13157
|
const isAllIndeterminate = filterMultiple && filterStore.isIndeterminate;
|
|
13161
|
-
|
|
13162
|
-
class: 'vxe-table--filter-header'
|
|
13163
|
-
}, [h('li', {
|
|
13164
|
-
class: ['vxe-table--filter-option', {
|
|
13165
|
-
'is--checked': isAllChecked,
|
|
13166
|
-
'is--indeterminate': isAllIndeterminate
|
|
13167
|
-
}],
|
|
13168
|
-
attrs: {
|
|
13169
|
-
title: filter_panel_getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter')
|
|
13170
|
-
},
|
|
13171
|
-
on: {
|
|
13172
|
-
click: evnt => {
|
|
13173
|
-
$xeFilterPanel.changeAllOption(evnt, !filterStore.isAllSelected);
|
|
13174
|
-
}
|
|
13175
|
-
}
|
|
13176
|
-
}, (filterMultiple ? [h('span', {
|
|
13177
|
-
class: ['vxe-checkbox--icon', isAllIndeterminate ? filter_panel_getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? filter_panel_getIcon().TABLE_CHECKBOX_CHECKED : filter_panel_getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
13178
|
-
})] : []).concat([h('span', {
|
|
13179
|
-
class: 'vxe-checkbox--label'
|
|
13180
|
-
}, filter_panel_getI18n('vxe.table.allFilter'))]))]), h('ul', {
|
|
13181
|
-
class: 'vxe-table--filter-body',
|
|
13182
|
-
style: maxHeight ? {
|
|
13183
|
-
maxHeight: toCssUnit(maxHeight)
|
|
13184
|
-
} : {}
|
|
13185
|
-
}, filterOptions.map(item => {
|
|
13158
|
+
const optVNs = filterOptions.map(item => {
|
|
13186
13159
|
const isChecked = item._checked;
|
|
13187
13160
|
const isIndeterminate = false;
|
|
13188
|
-
return h('
|
|
13161
|
+
return h('div', {
|
|
13189
13162
|
class: ['vxe-table--filter-option', {
|
|
13190
13163
|
'is--checked': isChecked
|
|
13191
13164
|
}],
|
|
@@ -13202,7 +13175,37 @@ function filterCheckAllEvent($xeFilterPanel, evnt, value) {
|
|
|
13202
13175
|
})] : []).concat([h('span', {
|
|
13203
13176
|
class: 'vxe-checkbox--label'
|
|
13204
13177
|
}, formatText(item.label, 1))]));
|
|
13205
|
-
})
|
|
13178
|
+
});
|
|
13179
|
+
return [h('div', {
|
|
13180
|
+
class: 'vxe-table--filter-header'
|
|
13181
|
+
}, [h('div', {
|
|
13182
|
+
class: ['vxe-table--filter-option', {
|
|
13183
|
+
'is--checked': isAllChecked,
|
|
13184
|
+
'is--indeterminate': isAllIndeterminate
|
|
13185
|
+
}],
|
|
13186
|
+
attrs: {
|
|
13187
|
+
title: filter_panel_getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter')
|
|
13188
|
+
},
|
|
13189
|
+
on: {
|
|
13190
|
+
click: evnt => {
|
|
13191
|
+
$xeFilterPanel.changeAllOption(evnt, !filterStore.isAllSelected);
|
|
13192
|
+
}
|
|
13193
|
+
}
|
|
13194
|
+
}, (filterMultiple ? [h('span', {
|
|
13195
|
+
class: ['vxe-checkbox--icon', isAllIndeterminate ? filter_panel_getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? filter_panel_getIcon().TABLE_CHECKBOX_CHECKED : filter_panel_getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
13196
|
+
})] : []).concat([h('span', {
|
|
13197
|
+
class: 'vxe-checkbox--label'
|
|
13198
|
+
}, filter_panel_getI18n('vxe.table.allFilter'))]))]), useScrollbar ? h(VxeUIScrollbarComponent, {
|
|
13199
|
+
class: 'vxe-table--scrollbar-filter-body',
|
|
13200
|
+
props: {
|
|
13201
|
+
viewClassName: 'vxe-table--scrollbar-filter-body-view'
|
|
13202
|
+
},
|
|
13203
|
+
scopedSlots: {
|
|
13204
|
+
default: () => optVNs
|
|
13205
|
+
}
|
|
13206
|
+
}) : h('div', {
|
|
13207
|
+
class: 'vxe-table--filter-body'
|
|
13208
|
+
}, optVNs)];
|
|
13206
13209
|
},
|
|
13207
13210
|
renderFooter(h) {
|
|
13208
13211
|
const $xeFilterPanel = this;
|
|
@@ -14421,7 +14424,8 @@ function updatePopupStyle($xeTable) {
|
|
|
14421
14424
|
const internalData = $xeTable;
|
|
14422
14425
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
14423
14426
|
const {
|
|
14424
|
-
filterStore
|
|
14427
|
+
filterStore,
|
|
14428
|
+
scrollbarHeight
|
|
14425
14429
|
} = reactData;
|
|
14426
14430
|
const {
|
|
14427
14431
|
elemStore
|
|
@@ -14452,8 +14456,6 @@ function updatePopupStyle($xeTable) {
|
|
|
14452
14456
|
if (!filterWrapperElem) {
|
|
14453
14457
|
return $xeTable.$nextTick();
|
|
14454
14458
|
}
|
|
14455
|
-
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
14456
|
-
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
14457
14459
|
/**
|
|
14458
14460
|
* 是否显示筛选按钮图标
|
|
14459
14461
|
* 如果不存在图标,则相对单元格居中显示
|
|
@@ -14491,9 +14493,9 @@ function updatePopupStyle($xeTable) {
|
|
|
14491
14493
|
} else {
|
|
14492
14494
|
const filterWidth = filterWrapperElem.offsetWidth;
|
|
14493
14495
|
const centerWidth = targetEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
|
|
14494
|
-
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
|
|
14495
14496
|
left = btnRect.left - tableRect.left - centerWidth;
|
|
14496
14497
|
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
14498
|
+
maxHeight = Math.max(40, tableEl.clientHeight - top - scrollbarHeight);
|
|
14497
14499
|
if (left < 1) {
|
|
14498
14500
|
left = 1;
|
|
14499
14501
|
} else if (left > tableEl.clientWidth - filterWidth - 1) {
|
|
@@ -14514,7 +14516,6 @@ function updatePopupStyle($xeTable) {
|
|
|
14514
14516
|
if (zIndex) {
|
|
14515
14517
|
panelStyle.zIndex = zIndex;
|
|
14516
14518
|
}
|
|
14517
|
-
filterStore.style = panelStyle;
|
|
14518
14519
|
// 筛选面板是自适应表格高度
|
|
14519
14520
|
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
14520
14521
|
maxHeight = 0;
|
|
@@ -14523,8 +14524,8 @@ function updatePopupStyle($xeTable) {
|
|
|
14523
14524
|
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
14524
14525
|
}
|
|
14525
14526
|
}
|
|
14526
|
-
|
|
14527
|
-
filterStore.
|
|
14527
|
+
panelStyle['--vxe-ui-vxe-table-filter-default-max-height'] = maxHeight ? toCssUnit(maxHeight) : 'none';
|
|
14528
|
+
filterStore.style = panelStyle;
|
|
14528
14529
|
};
|
|
14529
14530
|
handleStyle();
|
|
14530
14531
|
return $xeTable.$nextTick().then(() => {
|
|
@@ -21270,6 +21271,27 @@ const {
|
|
|
21270
21271
|
globalMixins: table_globalMixins,
|
|
21271
21272
|
renderEmptyElement: table_renderEmptyElement
|
|
21272
21273
|
} = core_.VxeUI;
|
|
21274
|
+
function bindScrollbarResize($xeTable) {
|
|
21275
|
+
const internalData = $xeTable;
|
|
21276
|
+
const {
|
|
21277
|
+
elemStore
|
|
21278
|
+
} = internalData;
|
|
21279
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
21280
|
+
if (isVScrollbar) {
|
|
21281
|
+
const el = $xeTable.$refs.refElem;
|
|
21282
|
+
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
21283
|
+
const scrollObserver = table_globalResize.create(() => {
|
|
21284
|
+
$xeTable.reScrollFlag++;
|
|
21285
|
+
});
|
|
21286
|
+
if (el) {
|
|
21287
|
+
scrollObserver.observe(el);
|
|
21288
|
+
}
|
|
21289
|
+
if (viewInnerEl) {
|
|
21290
|
+
scrollObserver.observe(viewInnerEl);
|
|
21291
|
+
}
|
|
21292
|
+
internalData.scrollObserver = scrollObserver;
|
|
21293
|
+
}
|
|
21294
|
+
}
|
|
21273
21295
|
function handleUpdateMergeBodyCells($xeTable, merges) {
|
|
21274
21296
|
const internalData = $xeTable;
|
|
21275
21297
|
internalData.mergeBodyList = [];
|
|
@@ -21769,18 +21791,15 @@ function renderNativeBody(h, $xeTable) {
|
|
|
21769
21791
|
}, scrollbarYToLeft ? [renderScrollY(h, $xeTable), renderViewport(h, $xeTable)] : [renderViewport(h, $xeTable), renderScrollY(h, $xeTable)]);
|
|
21770
21792
|
}
|
|
21771
21793
|
function renderVirtualBody(h, $xeTable) {
|
|
21772
|
-
const props = $xeTable;
|
|
21773
21794
|
const reactData = $xeTable;
|
|
21774
21795
|
const internalData = $xeTable;
|
|
21775
21796
|
const $xeGantt = $xeTable.$xeGantt;
|
|
21776
21797
|
const $xeGanttView = internalData.xeGanttView;
|
|
21777
|
-
const {
|
|
21778
|
-
useScrollbar
|
|
21779
|
-
} = props;
|
|
21780
21798
|
const {
|
|
21781
21799
|
xThumbWidth,
|
|
21782
21800
|
yThumbHeight
|
|
21783
21801
|
} = reactData;
|
|
21802
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
21784
21803
|
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
21785
21804
|
const scrollXAutoHide = $xeTable.computeScrollXAutoHide;
|
|
21786
21805
|
const scrollYAutoHide = $xeTable.computeScrollYAutoHide;
|
|
@@ -21794,10 +21813,10 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
21794
21813
|
return h('div', {
|
|
21795
21814
|
key: 'lvb',
|
|
21796
21815
|
class: ['vxe-table--layout-wrapper', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
21797
|
-
'is--virtual-scrollbar':
|
|
21798
|
-
'ov-padding':
|
|
21799
|
-
'ov-x--auto-hide':
|
|
21800
|
-
'ov-y--auto-hide':
|
|
21816
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
21817
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
21818
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
21819
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
21801
21820
|
'overflow-y': yThumbHeight,
|
|
21802
21821
|
'overflow-x': xThumbWidth
|
|
21803
21822
|
}]
|
|
@@ -22243,11 +22262,9 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
22243
22262
|
computeTooltipOpts() {
|
|
22244
22263
|
const $xeTable = this;
|
|
22245
22264
|
const props = $xeTable;
|
|
22246
|
-
const
|
|
22247
|
-
useScrollbar
|
|
22248
|
-
} = props;
|
|
22265
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
22249
22266
|
return Object.assign({
|
|
22250
|
-
useScrollbar
|
|
22267
|
+
useScrollbar: isVScrollbar
|
|
22251
22268
|
}, table_getConfig().tooltip, table_getConfig().table.tooltipConfig, props.tooltipConfig);
|
|
22252
22269
|
},
|
|
22253
22270
|
tipConfig() {
|
|
@@ -22319,7 +22336,10 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
22319
22336
|
computeFilterOpts() {
|
|
22320
22337
|
const $xeTable = this;
|
|
22321
22338
|
const props = $xeTable;
|
|
22322
|
-
|
|
22339
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
22340
|
+
return Object.assign({
|
|
22341
|
+
useScrollbar: isVScrollbar
|
|
22342
|
+
}, table_getConfig().table.filterConfig, props.filterConfig);
|
|
22323
22343
|
},
|
|
22324
22344
|
computeFloatingFilterOpts() {
|
|
22325
22345
|
const $xeTable = this;
|
|
@@ -23012,34 +23032,37 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23012
23032
|
const $xeTable = this;
|
|
23013
23033
|
$xeTable.reLayoutFlag++;
|
|
23014
23034
|
},
|
|
23035
|
+
computeIsVScrollbar() {
|
|
23036
|
+
const $xeTable = this;
|
|
23037
|
+
$xeTable.$nextTick(() => {
|
|
23038
|
+
bindScrollbarResize($xeTable);
|
|
23039
|
+
$xeTable.$nextTick(() => {
|
|
23040
|
+
$xeTable.reLayoutFlag++;
|
|
23041
|
+
});
|
|
23042
|
+
});
|
|
23043
|
+
},
|
|
23015
23044
|
computeScrollbarXToTop() {
|
|
23016
23045
|
const $xeTable = this;
|
|
23017
|
-
$xeTable.reScrollFlag++;
|
|
23018
23046
|
$xeTable.reLayoutFlag++;
|
|
23019
23047
|
},
|
|
23020
23048
|
computeScrollbarYToLeft() {
|
|
23021
23049
|
const $xeTable = this;
|
|
23022
|
-
$xeTable.reScrollFlag++;
|
|
23023
23050
|
$xeTable.reLayoutFlag++;
|
|
23024
23051
|
},
|
|
23025
23052
|
computeScrollXVisible() {
|
|
23026
23053
|
const $xeTable = this;
|
|
23027
|
-
$xeTable.reScrollFlag++;
|
|
23028
23054
|
$xeTable.reLayoutFlag++;
|
|
23029
23055
|
},
|
|
23030
23056
|
computeScrollYVisible() {
|
|
23031
23057
|
const $xeTable = this;
|
|
23032
|
-
$xeTable.reScrollFlag++;
|
|
23033
23058
|
$xeTable.reLayoutFlag++;
|
|
23034
23059
|
},
|
|
23035
23060
|
computeScrollXHeight() {
|
|
23036
23061
|
const $xeTable = this;
|
|
23037
|
-
$xeTable.reScrollFlag++;
|
|
23038
23062
|
$xeTable.reLayoutFlag++;
|
|
23039
23063
|
},
|
|
23040
23064
|
computeScrollYWidth() {
|
|
23041
23065
|
const $xeTable = this;
|
|
23042
|
-
$xeTable.reScrollFlag++;
|
|
23043
23066
|
$xeTable.reLayoutFlag++;
|
|
23044
23067
|
},
|
|
23045
23068
|
computeCellHeitht() {
|
|
@@ -23048,17 +23071,14 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23048
23071
|
},
|
|
23049
23072
|
reLayoutFlag() {
|
|
23050
23073
|
const $xeTable = this;
|
|
23051
|
-
$xeTable.$nextTick(() => {
|
|
23074
|
+
$xeTable.$nextTick().then(() => {
|
|
23052
23075
|
$xeTable.recalculate(true);
|
|
23053
23076
|
});
|
|
23054
23077
|
},
|
|
23055
23078
|
reScrollFlag() {
|
|
23056
23079
|
const $xeTable = this;
|
|
23057
|
-
$xeTable
|
|
23080
|
+
$xeTable.updateScrollbar().then(() => {
|
|
23058
23081
|
$xeTable.updateScrollbar();
|
|
23059
|
-
$xeTable.$nextTick(() => {
|
|
23060
|
-
$xeTable.updateScrollbar();
|
|
23061
|
-
});
|
|
23062
23082
|
});
|
|
23063
23083
|
},
|
|
23064
23084
|
footerData() {
|
|
@@ -23523,7 +23543,6 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23523
23543
|
}
|
|
23524
23544
|
$xeTable.$nextTick(() => {
|
|
23525
23545
|
const {
|
|
23526
|
-
useScrollbar,
|
|
23527
23546
|
autoResize
|
|
23528
23547
|
} = props;
|
|
23529
23548
|
const {
|
|
@@ -23537,6 +23556,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23537
23556
|
showHeaderOverflow,
|
|
23538
23557
|
showFooterOverflow
|
|
23539
23558
|
} = props;
|
|
23559
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
23540
23560
|
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
23541
23561
|
const headerTooltipOpts = $xeTable.computeHeaderTooltipOpts;
|
|
23542
23562
|
const footerTooltipOpts = $xeTable.computeFooterTooltipOpts;
|
|
@@ -23577,7 +23597,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23577
23597
|
}
|
|
23578
23598
|
}
|
|
23579
23599
|
const el = $xeTable.$refs.refElem;
|
|
23580
|
-
if (
|
|
23600
|
+
if (isVScrollbar) {
|
|
23581
23601
|
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
23582
23602
|
const scrollObserver = table_globalResize.create(() => {
|
|
23583
23603
|
$xeTable.reScrollFlag++;
|
|
@@ -23705,7 +23725,6 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23705
23725
|
const {
|
|
23706
23726
|
loading,
|
|
23707
23727
|
stripe,
|
|
23708
|
-
useScrollbar,
|
|
23709
23728
|
showHeader,
|
|
23710
23729
|
height,
|
|
23711
23730
|
treeConfig,
|
|
@@ -23738,6 +23757,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23738
23757
|
leftList,
|
|
23739
23758
|
rightList
|
|
23740
23759
|
} = columnStore;
|
|
23760
|
+
const isVScrollbar = $xeTable.computeIsVScrollbar;
|
|
23741
23761
|
const loadingSlot = slots.loading;
|
|
23742
23762
|
const tipSlots = {
|
|
23743
23763
|
header: slots.headerTooltip || slots['header-tooltip'],
|
|
@@ -23781,7 +23801,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23781
23801
|
}
|
|
23782
23802
|
return h('div', {
|
|
23783
23803
|
ref: 'refElem',
|
|
23784
|
-
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`,
|
|
23804
|
+
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, isVScrollbar ? 'is--virtual-scrollbar' : 'is--native-scrollbar', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
23785
23805
|
[`size--${vSize}`]: vSize,
|
|
23786
23806
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
23787
23807
|
'vxe-editable': !!editConfig,
|
|
@@ -23842,7 +23862,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23842
23862
|
})]), h('div', {
|
|
23843
23863
|
key: 'tw',
|
|
23844
23864
|
class: 'vxe-table--render-wrapper'
|
|
23845
|
-
},
|
|
23865
|
+
}, isVScrollbar ? [renderVirtualBody(h, $xeTable)] : scrollbarXToTop ? [renderScrollX(h, $xeTable), renderNativeBody(h, $xeTable)] : [renderNativeBody(h, $xeTable), renderScrollX(h, $xeTable)]),
|
|
23846
23866
|
/**
|
|
23847
23867
|
* 空数据
|
|
23848
23868
|
*/
|
|
@@ -23988,7 +24008,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
23988
24008
|
props: {
|
|
23989
24009
|
isArrow: false,
|
|
23990
24010
|
enterable: false,
|
|
23991
|
-
useScrollbar
|
|
24011
|
+
useScrollbar: isVScrollbar
|
|
23992
24012
|
}
|
|
23993
24013
|
}) : table_renderEmptyElement($xeTable),
|
|
23994
24014
|
/**
|
|
@@ -24079,7 +24099,7 @@ function renderVirtualBody(h, $xeTable) {
|
|
|
24079
24099
|
enterable: validTipConfig.enterable,
|
|
24080
24100
|
enterDelay: validTipConfig.enterDelay,
|
|
24081
24101
|
leaveDelay: validTipConfig.leaveDelay,
|
|
24082
|
-
useScrollbar
|
|
24102
|
+
useScrollbar: validTipConfig.useScrollbar
|
|
24083
24103
|
}
|
|
24084
24104
|
}) : table_renderEmptyElement($xeTable)])]);
|
|
24085
24105
|
},
|