vxe-table 4.22.3 → 4.23.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/all.esm.js +219 -154
  2. package/dist/style.css +1 -1
  3. package/es/grid/src/grid.js +24 -7
  4. package/es/style.css +1 -1
  5. package/es/table/module/custom/panel.js +4 -3
  6. package/es/table/module/edit/hook.js +5 -4
  7. package/es/table/module/export/hook.js +6 -4
  8. package/es/table/module/filter/hook.js +2 -2
  9. package/es/table/module/keyboard/hook.js +4 -3
  10. package/es/table/module/menu/hook.js +3 -3
  11. package/es/table/render/index.js +7 -4
  12. package/es/table/src/body.js +4 -4
  13. package/es/table/src/header.js +4 -3
  14. package/es/table/src/table.js +91 -64
  15. package/es/table/src/util.js +7 -3
  16. package/es/ui/index.js +1 -1
  17. package/es/ui/src/log.js +1 -1
  18. package/es/ui/src/utils.js +9 -0
  19. package/lib/grid/src/grid.js +26 -6
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.umd.js +214 -156
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/table/module/custom/panel.js +3 -1
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/module/edit/hook.js +4 -3
  27. package/lib/table/module/edit/hook.min.js +1 -1
  28. package/lib/table/module/export/hook.js +9 -3
  29. package/lib/table/module/export/hook.min.js +1 -1
  30. package/lib/table/module/filter/hook.js +1 -1
  31. package/lib/table/module/filter/hook.min.js +1 -1
  32. package/lib/table/module/keyboard/hook.js +4 -3
  33. package/lib/table/module/keyboard/hook.min.js +1 -1
  34. package/lib/table/module/menu/hook.js +2 -2
  35. package/lib/table/module/menu/hook.min.js +1 -1
  36. package/lib/table/render/index.js +11 -5
  37. package/lib/table/render/index.min.js +1 -1
  38. package/lib/table/src/body.js +3 -3
  39. package/lib/table/src/body.min.js +1 -1
  40. package/lib/table/src/header.js +3 -2
  41. package/lib/table/src/header.min.js +1 -1
  42. package/lib/table/src/table.js +39 -37
  43. package/lib/table/src/table.min.js +1 -1
  44. package/lib/table/src/util.js +12 -2
  45. package/lib/table/src/util.min.js +1 -1
  46. package/lib/ui/index.js +1 -1
  47. package/lib/ui/index.min.js +1 -1
  48. package/lib/ui/src/log.js +1 -1
  49. package/lib/ui/src/log.min.js +1 -1
  50. package/lib/ui/src/utils.js +10 -0
  51. package/lib/ui/src/utils.min.js +1 -1
  52. package/package.json +2 -2
  53. package/packages/grid/src/grid.ts +25 -7
  54. package/packages/table/module/custom/panel.ts +4 -3
  55. package/packages/table/module/edit/hook.ts +5 -4
  56. package/packages/table/module/export/hook.ts +6 -4
  57. package/packages/table/module/filter/hook.ts +2 -2
  58. package/packages/table/module/keyboard/hook.ts +4 -3
  59. package/packages/table/module/menu/hook.ts +3 -3
  60. package/packages/table/render/index.ts +7 -4
  61. package/packages/table/src/body.ts +4 -4
  62. package/packages/table/src/header.ts +4 -3
  63. package/packages/table/src/table.ts +88 -62
  64. package/packages/table/src/util.ts +7 -3
  65. package/packages/ui/src/utils.ts +10 -0
  66. /package/es/{iconfont.1790757600308.ttf → iconfont.1791880428511.ttf} +0 -0
  67. /package/es/{iconfont.1790757600308.woff → iconfont.1791880428511.woff} +0 -0
  68. /package/es/{iconfont.1790757600308.woff2 → iconfont.1791880428511.woff2} +0 -0
  69. /package/lib/{iconfont.1790757600308.ttf → iconfont.1791880428511.ttf} +0 -0
  70. /package/lib/{iconfont.1790757600308.woff → iconfont.1791880428511.woff} +0 -0
  71. /package/lib/{iconfont.1790757600308.woff2 → iconfont.1791880428511.woff2} +0 -0
@@ -97,7 +97,7 @@ let renderColumnList=tableColumn;const isOptimizeMode=isHeaderRenderOptimize;if(
97
97
  if(isOptimizeMode){renderColumnList=fixedColumn||[];}}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isGroup){if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}else{if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}}if(currScrollElem){currScrollElem.style.height=`${tHeaderHeight}px`;}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='body'){if(currScrollElem){currScrollElem.style.maxHeight=customMaxHeight?`${bodyMaxHeight}px`:'';currScrollElem.style.height=customHeight?`${tbHeight}px`:'';currScrollElem.style.minHeight=`${bodyMinHeight}px`;}// 如果是固定列
98
98
  if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${tHeaderHeight}px`;}fixedWrapperElem.style.height=`${customHeight>0?customHeight:tableHeight+tHeaderHeight+tFooterHeight+osbHeight}px`;fixedWrapperElem.style.width=`${fixedColumn.reduce((previous,column)=>previous+column.renderWidth,0)}px`;}let renderColumnList=tableColumn;const isOptimizeMode=isBodyRenderOptimize;if(fixedType){renderColumnList=visibleColumn;if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';// 兼容性处理
99
99
  tableElem.style.paddingRight=osbWidth&&fixedType&&(browseObj.firefox||browseObj.safari)?`${osbWidth}px`:'';}const emptyBlockElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-emptyBlock`]);if(emptyBlockElem){emptyBlockElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='footer'){let renderColumnList=tableColumn;const isOptimizeMode=isFooterRenderOptimize;if(!isOptimizeMode||!isColLoading&&(fixedType||!overflowX)){renderColumnList=visibleColumn;}if(fixedType){if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(currScrollElem){currScrollElem.style.height=`${tFooterHeight}px`;// 如果是固定列
100
- if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${customHeight>0?customHeight-tFooterHeight-osbHeight:tableHeight+tHeaderHeight}px`;}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}});});if(currentRow){$xeTable.setCurrentRow(currentRow);}if(mouseConfig&&mouseOpts.selected&&editStore.selected.row&&editStore.selected.column){$xeTable.addCellSelectedClass();}if($xeGanttView&&$xeGanttView.handleUpdateStyle){$xeGanttView.handleUpdateStyle();}return(0,_vue.nextTick)();};const checkValidate=type=>{if($xeTable.triggerValidate){return $xeTable.triggerValidate(type);}return(0,_vue.nextTick)();};/**
100
+ if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${customHeight>0?customHeight-tFooterHeight-osbHeight:tableHeight+tHeaderHeight}px`;}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}});});if(currentRow){$xeTable.setCurrentRow(currentRow);}if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.selected&&editStore.selected.row&&editStore.selected.column){$xeTable.addCellSelectedClass();}if($xeGanttView&&$xeGanttView.handleUpdateStyle){$xeGanttView.handleUpdateStyle();}return(0,_vue.nextTick)();};const checkValidate=type=>{if($xeTable.triggerValidate){return $xeTable.triggerValidate(type);}return(0,_vue.nextTick)();};/**
101
101
  * 当单元格发生改变时
102
102
  * 如果存在规则,则校验
103
103
  */const handleChangeCell=(evnt,params)=>{checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});};const handleDefaultSort=()=>{const{sortConfig}=props;if(sortConfig){const sortOpts=computeSortOpts.value;let{defaultSort}=sortOpts;if(defaultSort){if(!_xeUtils.default.isArray(defaultSort)){defaultSort=[defaultSort];}if(defaultSort.length){(sortConfig.multiple?defaultSort:defaultSort.slice(0,1)).forEach((item,index)=>{const{field,order}=item;if(field&&order){const column=$xeTable.getColumnByField(field);if(column&&column.sortable){column.order=order;column.sortTime=Date.now()+index;}}});if(!sortOpts.remote){$xeTable.handleTableData(true).then(updateStyle);}}}}};/**
@@ -169,7 +169,7 @@ if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle
169
169
  if(childList.length&&childList[0].isAggregate){_xeUtils.default.each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups,isCombinedField)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,separator,childrenField,mapChildrenField}=aggregateOpts;const rowOpts=computeRowOpts.value;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const groupCombinedMaps={};const aggList=[];const rowkey=(0,_util.getRowkey)($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):_xeUtils.default.get(row,groupField);let groupValue=_xeUtils.default.eqNull(cellValue)?'':cellValue;if(isCombinedField){const groupVals=[groupValue];rowGroups.slice(1).forEach(ogItem=>{const ogField=ogItem.field;const ogColumn=$xeTable.getColumnByField(ogField);const ocValue=ogColumn?$xeTable.getCellLabel(row,ogColumn):_xeUtils.default.get(row,ogField);const ogValue=_xeUtils.default.eqNull(ocValue)?'':ocValue;groupValue+=(separator||' / ')+ogValue;groupVals.push(ogValue);});if(!groupCombinedMaps[groupValue]){groupCombinedMaps[groupValue]=groupVals;}}let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});if(isCombinedField){_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:groupCombinedMaps[groupValue],groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[childrenField]:childList,[mapChildrenField]:childList};aggRow[rowkey]=(0,_util.createRowId)(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);});}else{_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:[],groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[childrenField]:childTreeData,[mapChildrenField]:childTreeData};aggRow[rowkey]=(0,_util.createRowId)(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});}handleeGroupSummary(aggList);}}return{treeData,fullData};};const initGroupData=(list,rowGroups)=>{const aggregateOpts=computeAggregateOpts.value;const{mode}=aggregateOpts;const isCombinedField=mode==='combined';const groupRest=handleGroupData(list,rowGroups,isCombinedField);return groupRest;};const initData=()=>{const{data}=props;loadTableData(data||[],true,true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();if(!reactData.isAllOverflow){calcCellHeight();updateRowOffsetTop();}});(0,_vue.nextTick)(()=>{dispatchEvent('ready',{},null);});};/**
170
170
  * 加载表格数据
171
171
  * @param {Array} datas 数据
172
- */const loadTableData=(datas,isReload,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{initStatus,scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,_vue.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
172
+ */const loadTableData=(datas,isReload,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig,mouseConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{initStatus,scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const mouseOpts=computeMouseOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,_vue.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
173
173
  if(fullData.length>supportMaxRow){errLog('vxe.error.errMaxRow',[supportMaxRow]);}if(treeConfig&&rowGroupList.length){errLog('vxe.error.noTree',['aggregate-config']);return(0,_vue.nextTick)();}if(rowOpts.drag&&rowGroupList.length){errLog('vxe.error.errConflicts',['row-config.drag','aggregate-config']);return(0,_vue.nextTick)();}let isRGroup=false;if(treeConfig){if(transform){// 树结构自动转换
174
174
  if(!treeOpts.rowField){errLog('vxe.error.reqProp',['tree-config.rowField']);}if(!treeOpts.parentField){errLog('vxe.error.reqProp',['tree-config.parentField']);}if(!childrenField){errLog('vxe.error.reqProp',['tree-config.childrenField']);}if(!treeOpts.mapChildrenField){errLog('vxe.error.reqProp',['tree-config.mapChildrenField']);}if(childrenField===treeOpts.mapChildrenField){errLog('vxe.error.errConflicts',['tree-config.childrenField','tree-config.mapChildrenField']);}// fullData.forEach(row => {
175
175
  // if (row[treeOpts.children] && row[treeOpts.children].length) {
@@ -180,7 +180,7 @@ treeData=_xeUtils.default.toArrayTree(fullData,{key:treeOpts.rowField,parentKey:
180
180
  internalData.tableFullData=fullData;internalData.tableFullTreeData=isRGroup?[]:treeData;internalData.tableFullGroupData=isRGroup?treeData:[];// 缓存数据
181
181
  $xeTable.cacheRowMap(isReset);// 原始数据
182
182
  internalData.tableSynchData=datas;if(isReset){internalData.isResizeCellHeight=false;}// 克隆原数据,用于显示编辑状态,与编辑值做对比
183
- if(keepSource){$xeTable.cacheSourceMap(fullData);}if($xeTable.clearCellAreas&&props.mouseConfig){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.clearHistory();$xeTable.handleTableData(true);$xeTable.updateFooter();$xeTable.handleUpdateBodyMerge();return(0,_vue.nextTick)().then(()=>{updateHeight();updateStyle();}).then(()=>{computeScrollLoad();syncGanttScrollYStatus();}).then(()=>{const virtualYOpts=computeVirtualYOpts.value;// 是否启用了虚拟滚动
183
+ if(keepSource){$xeTable.cacheSourceMap(fullData);}if($xeTable.clearCellAreas&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.clearHistory();$xeTable.handleTableData(true);$xeTable.updateFooter();$xeTable.handleUpdateBodyMerge();return(0,_vue.nextTick)().then(()=>{updateHeight();updateStyle();}).then(()=>{computeScrollLoad();syncGanttScrollYStatus();}).then(()=>{const virtualYOpts=computeVirtualYOpts.value;// 是否启用了虚拟滚动
184
184
  if(sYLoad){scrollYStore.endIndex=scrollYStore.visibleSize;}if(sYLoad){if(reactData.expandColumn&&expandOpts.mode!=='fixed'){errLog('vxe.error.notConflictProp',['column.type="expand','expand-config.mode="fixed"']);}if(virtualYOpts.mode==='scroll'&&reactData.expandColumn&&expandOpts.mode==='fixed'){warnLog('vxe.error.notConflictProp',['virtual-y-config.mode=scroll','expand-config.mode=inside']);}// if (showOverflow) {
185
185
  // if (!rowOpts.height) {
186
186
  // const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
@@ -476,7 +476,7 @@ internalData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(
476
476
  * 用于单选行,获取当已选中的数据
477
477
  */getRadioRecord(isFull){const{fullDataRowIdData,afterFullRowMaps}=internalData;const{selectRadioRow}=reactData;if(selectRadioRow){const rowid=(0,_util.getRowid)($xeTable,selectRadioRow);if(isFull){if(fullDataRowIdData[rowid]){return selectRadioRow;}}else{if(afterFullRowMaps[rowid]){return selectRadioRow;}}}return null;},getCurrentColumn(){const columnOpts=computeColumnOpts.value;return columnOpts.isCurrent||props.highlightCurrentColumn?internalData.currentCol:null;},/**
478
478
  * 用于当前列,设置某列行为高亮状态
479
- */setCurrentColumn(fieldOrColumn){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const isMouseSelected=mouseConfig&&mouseOpts.selected;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column){$xeTable.clearCurrentColumn();internalData.currentCol=column;reactData.currColFlag++;// 刷新当前列状态
479
+ */setCurrentColumn(fieldOrColumn){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const isMouseSelected=(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.selected;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column){$xeTable.clearCurrentColumn();internalData.currentCol=column;reactData.currColFlag++;// 刷新当前列状态
480
480
  }return(0,_vue.nextTick)().then(()=>{// 更新状选中态
481
481
  if(isMouseSelected){$xeTable.addCellSelectedClass();}});},/**
482
482
  * 用于当前列,手动清空当前高亮的状态
@@ -591,7 +591,7 @@ return $xeTable.removeMergeFooterCells(merges);},/**
591
591
  return $xeTable.getMergeFooterCells();},/**
592
592
  * 清除所有表尾合并
593
593
  */clearMergeFooterCells(){internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};reactData.mergeFootFlag++;return(0,_vue.nextTick)().then(()=>{return updateStyle();});},clearMergeFooterItems(){// errLog('vxe.error.delFunc', ['clearMergeFooterItems', 'clearMergeFooterCells'])
594
- return $xeTable.clearMergeFooterCells();},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return(0,_vue.nextTick)();},undo(){return $xeTable.handleUndoStackEvent(null);},redo(){return $xeTable.handleRedoStackEvent(null);},clearHistory(){return $xeTable.handleClearStack();},/**
594
+ return $xeTable.clearMergeFooterCells();},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return(0,_vue.nextTick)();},undo(){return $xeTable.handleUndoStackEvent(null);},redo(){return $xeTable.handleRedoStackEvent(null);},clearHistory(){return $xeTable.handleClearStack();},/**
595
595
  * 用于 custom-config,用于手动恢复自定义列设置信息,恢复表格重置为初始状态
596
596
  * @param storeData
597
597
  * @returns
@@ -610,7 +610,7 @@ if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fix
610
610
  * @param $toolbar
611
611
  */connectToolbar($toolbar){if($toolbar){$xeToolbar=$toolbar;$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}else{errLog('vxe.error.barUnableLink');}return(0,_vue.nextTick)();}};/**
612
612
  * 全局按下事件处理
613
- */const handleGlobalMousedownEvent=evnt=>{const{editStore,ctxMenuStore,customStore}=reactData;const{mouseConfig,editRules}=props;const el=refElem.value;const editOpts=computeEditOpts.value;const validOpts=computeValidOpts.value;const areaOpts=computeAreaOpts.value;const{actived}=editStore;const $validTooltip=refValidTooltip.value;const tableFilter=refTableFilter.value;const tableCustom=refTableCustom.value;const tableMenu=refTableMenu.value;// 筛选
613
+ */const handleGlobalMousedownEvent=evnt=>{const{editStore,ctxMenuStore,customStore}=reactData;const{mouseConfig,editRules}=props;const el=refElem.value;const editOpts=computeEditOpts.value;const validOpts=computeValidOpts.value;const areaOpts=computeAreaOpts.value;const mouseOpts=computeMouseOpts.value;const{actived}=editStore;const $validTooltip=refValidTooltip.value;const tableFilter=refTableFilter.value;const tableCustom=refTableCustom.value;const tableMenu=refTableMenu.value;// 筛选
614
614
  if(tableFilter){if((0,_dom.getEventTargetNode)(evnt,el,'vxe-cell--filter').flag){// 如果点击了筛选按钮
615
615
  }else if((0,_dom.getEventTargetNode)(evnt,tableFilter.getRefMaps().refElem.value).flag){// 如果点击筛选容器
616
616
  }else{if(!(0,_dom.getEventTargetNode)(evnt,document.body,'vxe-table--ignore-clear').flag){$xeTable.preventEvent(evnt,'event.clearFilter',internalData._currFilterParams,$xeTable.closeFilter);}}}// 自定义列
@@ -628,7 +628,7 @@ if(!isClear){isClear=(0,_dom.getEventTargetNode)(evnt,el,'vxe-header--row').flag
628
628
  if(!isClear){isClear=(0,_dom.getEventTargetNode)(evnt,el,'vxe-footer--row').flag;}// 如果固定了高度且点击了行之外的空白处,则清除激活状态
629
629
  if(!isClear&&props.height&&!reactData.overflowY){const bodyWrapperElem=evnt.target;if((0,_dom.hasClass)(bodyWrapperElem,'vxe-table--body-wrapper')){isClear=evnt.offsetY<bodyWrapperElem.clientHeight;}}if(isClear||// 如果点击了当前表格之外
630
630
  !(0,_dom.getEventTargetNode)(evnt,el).flag){setTimeout(()=>{$xeTable.handleClearEdit(evnt).then(()=>{// 如果存在校验,点击了表格之外则清除
631
- if(!internalData.isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}});});}});}}}}}else if(mouseConfig){if(!(0,_dom.getEventTargetNode)(evnt,el).flag&&!($xeGGWrapper&&(0,_dom.getEventTargetNode)(evnt,$xeGGWrapper.getRefMaps().refElem.value).flag)&&!(tableMenu&&(0,_dom.getEventTargetNode)(evnt,tableMenu.getRefMaps().refElem.value).flag)&&!($xeToolbar&&(0,_dom.getEventTargetNode)(evnt,$xeToolbar.getRefMaps().refElem.value).flag)){if($xeTable.clearSelected){$xeTable.clearSelected();}if(areaOpts.autoClear){if($xeTable.getCellAreas){const cellAreas=$xeTable.getCellAreas();if(cellAreas&&cellAreas.length&&!(0,_dom.getEventTargetNode)(evnt,document.body,'vxe-table--ignore-areas-clear').flag){$xeTable.preventEvent(evnt,'event.clearAreas',{},()=>{$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();dispatchEvent('clear-cell-area-selection',{cellAreas},evnt);});}}}}}// 如果配置了快捷菜单且,点击了其他地方则关闭
631
+ if(!internalData.isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}});});}});}}}}}else if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)){if(!(0,_dom.getEventTargetNode)(evnt,el).flag&&!($xeGGWrapper&&(0,_dom.getEventTargetNode)(evnt,$xeGGWrapper.getRefMaps().refElem.value).flag)&&!(tableMenu&&(0,_dom.getEventTargetNode)(evnt,tableMenu.getRefMaps().refElem.value).flag)&&!($xeToolbar&&(0,_dom.getEventTargetNode)(evnt,$xeToolbar.getRefMaps().refElem.value).flag)){if($xeTable.clearSelected){$xeTable.clearSelected();}if(areaOpts.autoClear){if($xeTable.getCellAreas){const cellAreas=$xeTable.getCellAreas();if(cellAreas&&cellAreas.length&&!(0,_dom.getEventTargetNode)(evnt,document.body,'vxe-table--ignore-areas-clear').flag){$xeTable.preventEvent(evnt,'event.clearAreas',{},()=>{$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();dispatchEvent('clear-cell-area-selection',{cellAreas},evnt);});}}}}}// 如果配置了快捷菜单且,点击了其他地方则关闭
632
632
  if($xeTable.closeMenu){if(ctxMenuStore.visible&&tableMenu&&!(0,_dom.getEventTargetNode)(evnt,tableMenu.getRefMaps().refElem.value).flag){$xeTable.closeMenu();}}if(!(actived.row&&(0,_dom.getEventTargetNode)(evnt,document.body,'vxe-table--ignore-clear').flag)){const isActivated=(0,_dom.getEventTargetNode)(evnt,$xeGGWrapper?$xeGGWrapper.getRefMaps().refElem.value:el).flag;// 如果存在校验,点击了表格之外则清除
633
633
  if(!isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}// 最后激活的表格
634
634
  internalData.isActivated=isActivated;}};/**
@@ -637,46 +637,46 @@ internalData.isActivated=isActivated;}};/**
637
637
  * 全局滚动事件
638
638
  */const handleGlobalMousewheelEvent=()=>{$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}};/**
639
639
  * 表格键盘事件
640
- */const keydownEvent=evnt=>{const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;const isEsc=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{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 键,关闭快捷菜单、筛选
641
- if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
640
+ */const keydownEvent=evnt=>{const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;const isEsc=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{dispatchEvent('keydown-start',{},evnt);if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
641
+ if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
642
642
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
643
643
  if(mouseOpts.selected){(0,_vue.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}dispatchEvent('keydown',{},evnt);dispatchEvent('keydown-end',{},evnt);});}};const contextMenuEvent=evnt=>{dispatchEvent('context-menu',{},evnt);};/**
644
644
  * 全局键盘事件
645
645
  */const handleGlobalKeydownEvent=evnt=>{// 该行为只对当前激活的表格有效
646
646
  if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=computeIsContentMenu.value;const bodyMenu=computeBodyMenu.value;const keyboardOpts=computeKeyboardOpts.value;const mouseOpts=computeMouseOpts.value;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const menuList=computeMenuList.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const childrenField=treeOpts.children||treeOpts.childrenField;const keyCode=evnt.keyCode;const isProcess=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.PROCESS);const isEsc=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isY=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Y);const isZ=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Z);const isF2=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=(0,_dom.hasControlKey)(evnt);const hasShiftKey=evnt.shiftKey;const isAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=(0,_utils.isEnableConf)(editConfig)&&actived.column&&actived.row;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectRow=selected.row;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
647
- evnt.preventDefault();if(ctxMenuStore.showChild&&(0,_utils.hasChildrenList)(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
648
- if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
647
+ evnt.preventDefault();if(ctxMenuStore.showChild&&(0,_utils.hasChildrenList)(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
648
+ if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
649
649
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
650
- if(mouseOpts.selected){(0,_vue.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}else if(isSpacebar&&keyboardConfig&&keyboardOpts.isChecked&&selectRow&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
650
+ if(mouseOpts.selected){(0,_vue.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}else if(isSpacebar&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isChecked&&selectRow&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
651
651
  evnt.preventDefault();if(selectColumn.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&(0,_utils.isEnableConf)(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
652
652
  if(selectRow&&selectColumn){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
653
- internalData._keyCtx=selectRow&&selectColumn&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!isAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selectRow||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
653
+ internalData._keyCtx=selectRow&&selectColumn&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!isAltKey&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isEnter&&(selectRow||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
654
654
  if(isControlKey){// 如果是激活编辑状态,则取消编辑
655
655
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
656
656
  if(mouseOpts.selected){(0,_vue.nextTick)(()=>{$xeTable.handleSelected(params,evnt);});}}}else{// 如果是激活状态,退则出到上一行/下一行
657
657
  if(selectRow||actived.row){const activeRow=selectRow||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selectRow?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
658
658
  if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected(Object.assign(Object.assign({},activeParams),{row:newRow,column:newColumn}),evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}else{const etrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeEnterMethod||beforeEnterMethod(etrParams)!==false){evnt.preventDefault();// 最后一行按下回车键,自动追加一行
659
659
  if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,activeColumn);$xeTable.handleSelected(Object.assign(Object.assign({},activeParams),{row:newRow}),evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}if(enterMethod){enterMethod(etrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);}}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果是树形表格当前行回车移动到子节点
660
- const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:$xeTable.getRowIndex(targetRow),$rowIndex:$xeTable.getVMRowIndex(targetRow)};$xeTable.setTreeExpand(currentRow,true).then(()=>$xeTable.scrollToRow(targetRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&keyboardConfig&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
660
+ const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:$xeTable.getRowIndex(targetRow),$rowIndex:$xeTable.getVMRowIndex(targetRow)};$xeTable.setTreeExpand(currentRow,true).then(()=>$xeTable.scrollToRow(targetRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
661
661
  if(mouseOpts.selected&&selectRow&&selectColumn){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
662
662
  if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
663
- if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
663
+ if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
664
664
  if(selectRow||actived.row){const activeRow=selectRow||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selectRow?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
665
- if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected(Object.assign(Object.assign({},activeParams),{row:newRow,column:newColumn}),evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&(0,_utils.isEnableConf)(editConfig)&&(selectRow||selectColumn)){// 如果是删除键
665
+ if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected(Object.assign(Object.assign({},activeParams),{row:newRow,column:newColumn}),evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}}else if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isDel&&hasDeleteKey&&(0,_utils.isEnableConf)(editConfig)&&(selectRow||selectColumn)){// 如果是删除键
666
666
  if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
667
667
  if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{const selectCellValue=(0,_util.getCellValue)(selectRow,selectColumn);if(selectCellValue!==null){$xeTable.handlePushStack();(0,_util.setCellValue)(selectRow,selectColumn,null);}}// 如果按下 del 键,更新表尾数据
668
- $xeTable.updateFooter();dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&(0,_utils.isEnableConf)(editConfig)&&(selectRow||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
668
+ $xeTable.updateFooter();dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isBack&&(0,_utils.isEnableConf)(editConfig)&&(selectRow||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
669
669
  if(keyboardOpts.isDel&&(0,_utils.isEnableConf)(editConfig)&&(selectRow||selectColumn)){const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
670
- if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{$xeTable.handleEdit(params,evnt,{isClear:true});}dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&keyboardConfig&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
671
- const{parent:parentRow}=_xeUtils.default.findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!(0,_dom.hasAxternalInputTarget)(evnt.target)){if(evnt.target){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
670
+ if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{$xeTable.handleEdit(params,evnt,{isClear:true});}dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&(0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
671
+ const{parent:parentRow}=_xeUtils.default.findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!(0,_dom.hasAxternalInputTarget)(evnt.target)){if(evnt.target){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
672
672
  evnt.preventDefault();$xeTable.handleRedoStackEvent(evnt);}else if(isZ){// ‌撤销上一步操作‌:Ctrl + Z
673
- evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}}else if(keyboardConfig&&(0,_utils.isEnableConf)(editConfig)&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||isProcess||evnt.key==='Process'||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
673
+ evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}}else if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&(0,_utils.isEnableConf)(editConfig)&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||isProcess||evnt.key==='Process'||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
674
674
  // if (isSpacebar) {
675
675
  // evnt.preventDefault()
676
676
  // }
677
677
  // 如果是按下非功能键之外允许直接编辑
678
678
  if(selectColumn&&selectRow&&(0,_utils.isEnableConf)(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
679
- if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}dispatchEvent('keydown',{},evnt);});}};const handleGlobalPasteEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}dispatchEvent('paste',{},evnt);}};const handleGlobalCopyEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}dispatchEvent('copy',{},evnt);}};const handleGlobalCutEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}dispatchEvent('cut',{},evnt);}};const handleGlobalResizeEvent=()=>{const{filterStore}=reactData;if(filterStore.visible){$xeTable.handleFilterStyle();}if($xeTable.closeMenu){$xeTable.closeMenu();}const el=refElem.value;if(!el||!el.clientWidth){return;}if(internalData.rsePending){return;}handleResizeEvent();};const handleTargetEnterEvent=isClear=>{const $tooltip=refTooltip.value;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}};const clearCrossTableDragStatus=()=>{crossTableDragRowObj=null;crossTableDragRowInfo.row=null;};const clearDragStatus=()=>{const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin();clearRowDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;}};const handleRowDragEndClearStatus=()=>{clearRowDragData();clearCrossTableDragStatus();handleRecalculateStyle(false,true,true);};const handleColDragEndClearStatus=()=>{clearColDragData();clearCrossTableDragStatus();handleRecalculateStyle(true,true,true);};const clearRowDropOrigin=()=>{const el=refElem.value;if(el){const clss='row--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;(0,_dom.removeClass)(elem,clss);});}};const updateRowDropOrigin=row=>{const el=refElem.value;if(el){const clss='row--drag-origin';const rowid=(0,_util.getRowid)($xeTable,row);_xeUtils.default.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{(0,_dom.addClass)(elem,clss);});}};const updateRowDropTipContent=tdEl=>{const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=computeRowDragOpts.value;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=getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const updateColDropOrigin=column=>{const el=refElem.value;if(el){const colQuerys=[];_xeUtils.default.eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{(0,_dom.addClass)(elem,clss);});}};const clearColDropOrigin=()=>{const el=refElem.value;if(el){const clss='col--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;(0,_dom.removeClass)(elem,clss);});}};const updateColDropTipContent=tdEl=>{const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const showDropTip=(evnt,trEl,thEl,showLine,dragPos)=>{let wrapperEl=refElem.value;if($xeGantt&&trEl){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;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=refDragRowLineElem.value;if(rdLineEl){if(showLine){const scrollbarYToLeft=computeScrollbarYToLeft.value;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=refDragColLineElem.value;if(cdLineEl){if(showLine){const scrollbarXToTop=computeScrollbarXToTop.value;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;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=refDragTipElem.value;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');}};const hideDropTip=()=>{const rdTipEl=refDragTipElem.value;const rdLineEl=refDragRowLineElem.value;const cdLineEl=refDragColLineElem.value;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}};const clearRowDragData=()=>{let wrapperEl=refElem.value;const dtClss=['.vxe-body--row'];if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip();clearRowDropOrigin();(0,_anime.clearRowAnimate)(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};const clearColDragData=()=>{const el=refElem.value;hideDropTip();clearColDropOrigin();(0,_anime.clearColAnimate)(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};/**
679
+ if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}dispatchEvent('keydown',{},evnt);});}};const handleGlobalPasteEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isClip&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}dispatchEvent('paste',{},evnt);}};const handleGlobalCopyEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isClip&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}dispatchEvent('copy',{},evnt);}};const handleGlobalCutEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if((0,_utils.hasEnableConf)(keyboardConfig,keyboardOpts)&&keyboardOpts.isClip&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}dispatchEvent('cut',{},evnt);}};const handleGlobalResizeEvent=()=>{const{filterStore}=reactData;if(filterStore.visible){$xeTable.handleFilterStyle();}if($xeTable.closeMenu){$xeTable.closeMenu();}const el=refElem.value;if(!el||!el.clientWidth){return;}if(internalData.rsePending){return;}handleResizeEvent();};const handleTargetEnterEvent=isClear=>{const $tooltip=refTooltip.value;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}};const clearCrossTableDragStatus=()=>{crossTableDragRowObj=null;crossTableDragRowInfo.row=null;};const clearDragStatus=()=>{const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin();clearRowDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;}};const handleRowDragEndClearStatus=()=>{clearRowDragData();clearCrossTableDragStatus();handleRecalculateStyle(false,true,true);};const handleColDragEndClearStatus=()=>{clearColDragData();clearCrossTableDragStatus();handleRecalculateStyle(true,true,true);};const clearRowDropOrigin=()=>{const el=refElem.value;if(el){const clss='row--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;(0,_dom.removeClass)(elem,clss);});}};const updateRowDropOrigin=row=>{const el=refElem.value;if(el){const clss='row--drag-origin';const rowid=(0,_util.getRowid)($xeTable,row);_xeUtils.default.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{(0,_dom.addClass)(elem,clss);});}};const updateRowDropTipContent=tdEl=>{const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=computeRowDragOpts.value;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=getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const updateColDropOrigin=column=>{const el=refElem.value;if(el){const colQuerys=[];_xeUtils.default.eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{(0,_dom.addClass)(elem,clss);});}};const clearColDropOrigin=()=>{const el=refElem.value;if(el){const clss='col--drag-origin';_xeUtils.default.arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;(0,_dom.removeClass)(elem,clss);});}};const updateColDropTipContent=tdEl=>{const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const showDropTip=(evnt,trEl,thEl,showLine,dragPos)=>{let wrapperEl=refElem.value;if($xeGantt&&trEl){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;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=refDragRowLineElem.value;if(rdLineEl){if(showLine){const scrollbarYToLeft=computeScrollbarYToLeft.value;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=refDragColLineElem.value;if(cdLineEl){if(showLine){const scrollbarXToTop=computeScrollbarXToTop.value;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;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=refDragTipElem.value;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');}};const hideDropTip=()=>{const rdTipEl=refDragTipElem.value;const rdLineEl=refDragRowLineElem.value;const cdLineEl=refDragColLineElem.value;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}};const clearRowDragData=()=>{let wrapperEl=refElem.value;const dtClss=['.vxe-body--row'];if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip();clearRowDropOrigin();(0,_anime.clearRowAnimate)(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};const clearColDragData=()=>{const el=refElem.value;hideDropTip();clearColDropOrigin();(0,_anime.clearColAnimate)(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};/**
680
680
  * 处理显示 tooltip
681
681
  * @param {Event} evnt 事件
682
682
  * @param {Row} row 行对象
@@ -696,9 +696,11 @@ if(_xeUtils.default.isFunction(slotFunc)){return(0,_vn.getSlotVNs)(slotFunc(para
696
696
  * 内部方法
697
697
  */tablePrivateMethods={getSetupOptions(){return getConfig();},updateAfterDataIndex,callSlot,/**
698
698
  * 获取父容器元素
699
- */getParentElem(){const el=refElem.value;if($xeGGWrapper){const gridEl=$xeGGWrapper.getRefMaps().refElem.value;return gridEl?gridEl.parentNode:null;}return el?el.parentNode:null;},/**
699
+ */getParentElem(){const el=refElem.value;if(!el){return null;}const parentEl=el.parentElement;if(!parentEl){return null;}if($xeGantt&&(0,_dom.hasClass)(parentEl,'vxe-gantt--table-wrapper')){return $xeGantt.getParentElem();}else if($xeGrid&&(0,_dom.hasClass)(parentEl,'vxe-grid--table-wrapper')){return $xeGrid.getParentElem();}// 如果是虚拟滚动条
700
+ if(parentEl&&(0,_dom.hasClass)(parentEl,'vxe-scrollbar--view-inner')){return parentEl.parentElement;}return parentEl;},/**
700
701
  * 获取父容器的高度
701
- */getParentHeight(){const{height}=props;const el=refElem.value;if(el){const parentElem=el.parentNode;let parentPaddingSize=0;let parentWrapperHeight=0;if(parentElem){if($xeGantt&&(0,_dom.hasClass)(parentElem,'vxe-gantt--table-wrapper')){parentWrapperHeight=$xeGantt.getParentHeight();}else if($xeGrid&&(0,_dom.hasClass)(parentElem,'vxe-grid--table-wrapper')){parentWrapperHeight=$xeGrid.getParentHeight();}else{parentWrapperHeight=parentElem.clientHeight;parentPaddingSize=height==='100%'||height==='auto'?(0,_dom.getPaddingTopBottomSize)(parentElem):0;}}return Math.floor(parentWrapperHeight-parentPaddingSize);}return 0;},/**
702
+ */getParentHeight(){const{height}=props;const el=refElem.value;if(!el){return 0;}let parentEl=el.parentElement;let parentPaddingSize=0;let parentWrapperHeight=0;if(!parentEl){return 0;}if($xeGantt&&(0,_dom.hasClass)(parentEl,'vxe-gantt--table-wrapper')){parentWrapperHeight=$xeGantt.getParentHeight();}else if($xeGrid&&(0,_dom.hasClass)(parentEl,'vxe-grid--table-wrapper')){parentWrapperHeight=$xeGrid.getParentHeight();}else{// 如果是虚拟滚动条
703
+ if(parentEl&&(0,_dom.hasClass)(parentEl,'vxe-scrollbar--view-inner')){parentEl=parentEl.parentElement;}if(parentEl){parentWrapperHeight=parentEl.clientHeight;parentPaddingSize=height==='100%'||height==='auto'?(0,_dom.getPaddingTopBottomSize)(parentEl):0;}}return Math.floor(parentWrapperHeight-parentPaddingSize);},/**
702
704
  * 获取需要排除的高度
703
705
  * 但渲染表格高度时,需要排除工具栏或分页等相关组件的高度
704
706
  * 如果存在表尾合计滚动条,则需要排除滚动条高度
@@ -731,7 +733,7 @@ const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWi
731
733
  */saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage}=customOpts;const{isCustomAlign,isCustomHeaderAlign,isCustomFooterAlign,isCustomResizable,isCustomVisible,isCustomFixed,isCustomSort,isCustomAggGroup,isCustomAggFunc,isCustomPager}=(0,_util.handleCustomStoreConfig)($xeTable);if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
732
734
  reactData.isCustomStatus=true;}if(storage&&(customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomAlign||isCustomHeaderAlign||isCustomFooterAlign||isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc||isCustomPager)){if(!tableId){errLog('vxe.error.reqProp',['id']);return(0,_vue.nextTick)();}const storeData=type==='reset'?{pagerData:{},alignData:{},headerAlignData:{},footerAlignData:{},resizableData:{},sortData:[],visibleData:{},fixedData:{},aggGroupData:{},aggFuncData:{}}:$xeTable.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return(0,_vue.nextTick)();},/**
733
735
  * @private
734
- */handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}$xeTable.analyColumnWidth();return $xeTable.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},handleFilterOptions(column){if(column){const{filterStore}=reactData;const{filterRender,filters}=column;const rendererOpts=computeRendererOpts.value;const filterOptions=filters||[];const compConf=(0,_utils.isEnableConf)(filterRender)&&filterRender.name?rendererOpts[filterRender.name]||renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.column=column;// 复原状态
736
+ */handleCustom(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}$xeTable.analyColumnWidth();return $xeTable.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},handleFilterOptions(column){if(column){const{filterStore}=reactData;const{filterRender,filters}=column;const rendererOpts=computeRendererOpts.value;const filterOptions=filters||[];const compConf=(0,_utils.isEnableConf)(filterRender)&&filterRender.name?rendererOpts[filterRender.name]||renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.column=column;// 复原状态
735
737
  filterOptions.forEach(option=>{const{_checked,checked}=option;option._checked=checked;if(!checked&&_checked!==checked){if(frMethod){frMethod({option,column,$table:$xeTable});}}});$xeTable.checkFilterOptions();}},preventEvent(evnt,type,args,next,end){let evntList=interceptor.get(type);// 兼容老版本
736
738
  if(!evntList.length&&type==='event.clearEdit'){evntList=interceptor.get('event.clearActived');if(evntList.length){warnLog('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}// 兼容老版本
737
739
  let rest=null;let isStop=false;for(let i=0;i<evntList.length;i++){const func=evntList[i];const fnRest=func(Object.assign({$table:$xeTable,$grid:$xeGrid,gantt:$xeGantt,$event:evnt},args));if(fnRest===false){isStop=true;break;}else if(fnRest&&fnRest.status===false){rest=fnRest.result;isStop=true;break;}}if(!isStop){if(next){rest=next();}}if(end){end();}return rest;},updateCheckboxStatus(){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{afterTreeFullData,afterGroupFullData,selectCheckboxMaps,treeIndeterminateRowMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,indeterminateField,checkStrictly,checkMethod}=checkboxOpts;if(checkStrictly){return;}if(isRowGroupStatus||treeConfig){const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const childRowMaps={};const childRowList=[];if(isRowGroupStatus){// 行分组
@@ -808,11 +810,11 @@ dispatchEvent('current-change',Object.assign({oldValue,newValue},params),evnt);}
808
810
  * 行分组事件
809
811
  */triggerRowGroupExpandEvent(evnt,params){const{rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const{row,column}=params;const{trigger}=aggregateOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=(0,_util.getRowid)($xeTable,row);const expanded=!rowGroupExpandedMaps[rowid];const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);$xeTable.setRowGroupExpand(row,expanded);dispatchEvent('toggle-row-group-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);},/**
810
812
  * 展开树节点事件
811
- */triggerTreeExpandEvent(evnt,params){const{treeExpandLazyLoadedMaps,treeEATime}=internalData;const treeOpts=computeTreeOpts.value;const{row,column}=params;const{lazy,trigger,accordion}=treeOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=(0,_util.getRowid)($xeTable,row);if(!lazy||!treeExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isTreeExpandByRow(row);const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);if(treeEATime){clearTimeout(treeEATime);}$xeTable.setTreeExpand(row,expanded).then(()=>{if(accordion){internalData.treeEATime=setTimeout(()=>{internalData.treeEATime=undefined;$xeTable.scrollToRow(row);},30);}});dispatchEvent('toggle-tree-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);}},handleColumnSortEvent(evnt,column){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const{field,sortable,order}=column;if(sortable){const params={$table:$xeTable,$event:evnt,column,field,property:field,order,sortList:$xeTable.getSortColumns(),sortTime:column.sortTime};if(mouseConfig&&mouseOpts.area&&$xeTable.handleSortEvent){$xeTable.handleSortEvent(evnt,params);}if(!order){dispatchEvent('clear-sort',params,evnt);}dispatchEvent('sort-change',params,evnt);}},/**
813
+ */triggerTreeExpandEvent(evnt,params){const{treeExpandLazyLoadedMaps,treeEATime}=internalData;const treeOpts=computeTreeOpts.value;const{row,column}=params;const{lazy,trigger,accordion}=treeOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=(0,_util.getRowid)($xeTable,row);if(!lazy||!treeExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isTreeExpandByRow(row);const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);if(treeEATime){clearTimeout(treeEATime);}$xeTable.setTreeExpand(row,expanded).then(()=>{if(accordion){internalData.treeEATime=setTimeout(()=>{internalData.treeEATime=undefined;$xeTable.scrollToRow(row);},30);}});dispatchEvent('toggle-tree-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);}},handleColumnSortEvent(evnt,column){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const{field,sortable,order}=column;if(sortable){const params={$table:$xeTable,$event:evnt,column,field,property:field,order,sortList:$xeTable.getSortColumns(),sortTime:column.sortTime};if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleSortEvent){$xeTable.handleSortEvent(evnt,params);}if(!order){dispatchEvent('clear-sort',params,evnt);}dispatchEvent('sort-change',params,evnt);}},/**
812
814
  * 点击排序事件
813
815
  */triggerSortEvent(evnt,column,order){const sortOpts=computeSortOpts.value;const{multiple,allowClear}=sortOpts;const{field,sortable}=column;if(sortable){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{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=!_xeUtils.default.isUndefined(cellValue);return $xeTable.validCellRules(type,row,column,cellValue).then(()=>{if(customVal&&validStore.visible){(0,_util.setCellValue)(row,column,cellValue);}$xeTable.clearValidate(row,column);}).catch(({rule})=>{if(customVal){(0,_util.setCellValue)(row,column,cellValue);}$xeTable.showValidTooltip({rule,row,column,cell});});}}}return(0,_vue.nextTick)();},/**
814
816
  * 表头单元格按下事件
815
- */triggerHeaderCellMousedownEvent(evnt,params){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=(0,_dom.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&&mouseConfig&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
817
+ */triggerHeaderCellMousedownEvent(evnt,params){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=(0,_dom.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&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
816
818
  * 单元格按下事件
817
819
  */triggerCellMousedownEvent(evnt,params){const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=computeRowOpts.value;const rowDragOpts=computeRowDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){clearDragStatus();},/**
818
820
  * 行拖拽
@@ -846,7 +848,7 @@ if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj
846
848
  const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=computeRowDragOpts.value;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=(0,_dom.hasControlKey)(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
847
849
  if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
848
850
  * 列拖拽
849
- */handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
851
+ */handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const mouseOpts=computeMouseOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
850
852
  if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};let dragTargetColumn=null;const dragAllTargetCols=[];let dragColWidth=0;if(animation){_xeUtils.default.eachTree([dragColumn],column=>{if(!dragTargetColumn&&(!column.children||!column.children.length)){dragTargetColumn=column;dragColWidth+=column.renderWidth;}dragAllTargetCols.push(column);});}if(!dragTargetColumn){dragTargetColumn=dragColumn;}const dragColRest=fullColumnIdData[dragTargetColumn.id]||{};const _dragColIndex=dragColRest._index;let dragOffsetLeft=-1;if(animation){const oldTrEl=el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);if(oldTrEl){dragOffsetLeft=oldTrEl.offsetLeft;}}let oafIndex=-1;let nafIndex=-1;const oldAllMaps={};_xeUtils.default.eachTree([dragColumn],column=>{oldAllMaps[column.id]=column;});let isSelfToChildStatus=false;if(dragColumn.parentId&&newColumn.parentId){// 子到子
851
853
  if(isPeerDrag&&!isCrossDrag){if(dragColumn.parentId!==newColumn.parentId){// 非同级
852
854
  handleColDragEndClearStatus();return Promise.resolve(errRest);}}else{if(!isCrossDrag){handleColDragEndClearStatus();return Promise.resolve(errRest);}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.error.treeDragChild')});}handleColDragEndClearStatus();return Promise.resolve(errRest);}}}}else if(dragColumn.parentId){// 子到根
@@ -854,7 +856,7 @@ if(!isCrossDrag){handleColDragEndClearStatus();return Promise.resolve(errRest);}
854
856
  if(!isCrossDrag){handleColDragEndClearStatus();return Promise.resolve(errRest);}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.error.treeDragChild')});}handleColDragEndClearStatus();return Promise.resolve(errRest);}}}else{// 根到根
855
857
  }const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}const oldewMatchRest=_xeUtils.default.findTree(collectColumn,item=>item.id===dragColumn.id);// 改变层级
856
858
  if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){if(oldewMatchRest){const{items:oCols,index:oIndex}=oldewMatchRest;const childList=dragColumn.children||[];childList.forEach(column=>{column.parentId=dragColumn.parentId;});oCols.splice(oIndex,1,...childList);dragColumn.children=[];}}else{if(oldewMatchRest){const{items:oCols,index:oIndex,parent:oParent}=oldewMatchRest;oCols.splice(oIndex,1);if(!oParent){oafIndex=oIndex;}}}const newMatchRest=_xeUtils.default.findTree(collectColumn,item=>item.id===newColumn.id);if(newMatchRest){const{items:nCols,index:nIndex,parent:nParent}=newMatchRest;// 转子级
857
- if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});$xeTable.handleClearStack();if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}if(evnt){dispatchEvent('column-dragend',{oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return(0,_vue.nextTick)().then(()=>{if(isSyncColumn){return $xeTable.handleColDragSwapColumn();}}).then(()=>{if(animation){const{tableColumn}=reactData;const{visibleColumn,fullColumnIdData}=internalData;let dragNewColumn=null;const dragNewColMaps={};_xeUtils.default.eachTree([dragColumn],column=>{if(!dragNewColumn&&(!column.children||!column.children.length)){dragNewColumn=column;}dragNewColMaps[column.id]=column;});if(!dragNewColumn){dragNewColumn=dragColumn;}if(dragColWidth&&dragAllTargetCols.length){const _newColIndex=_xeUtils.default.findIndexOf(visibleColumn,column=>!!dragNewColumn&&column.id===dragNewColumn.id);const firstCol=tableColumn[0];const firstColRest=fullColumnIdData[firstCol.id];if(firstColRest){const _firstColIndex=firstColRest._index;const _lastColIndex=_firstColIndex+tableColumn.length;let csIndex=-1;let ceIndex=-1;let offsetRate=1;if(_dragColIndex<_firstColIndex){// 从左往右虚拟拖拽
859
+ if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});$xeTable.handleClearStack();if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}if(evnt){dispatchEvent('column-dragend',{oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return(0,_vue.nextTick)().then(()=>{if(isSyncColumn){return $xeTable.handleColDragSwapColumn();}}).then(()=>{if(animation){const{tableColumn}=reactData;const{visibleColumn,fullColumnIdData}=internalData;let dragNewColumn=null;const dragNewColMaps={};_xeUtils.default.eachTree([dragColumn],column=>{if(!dragNewColumn&&(!column.children||!column.children.length)){dragNewColumn=column;}dragNewColMaps[column.id]=column;});if(!dragNewColumn){dragNewColumn=dragColumn;}if(dragColWidth&&dragAllTargetCols.length){const _newColIndex=_xeUtils.default.findIndexOf(visibleColumn,column=>!!dragNewColumn&&column.id===dragNewColumn.id);const firstCol=tableColumn[0];const firstColRest=fullColumnIdData[firstCol.id];if(firstColRest){const _firstColIndex=firstColRest._index;const _lastColIndex=_firstColIndex+tableColumn.length;let csIndex=-1;let ceIndex=-1;let offsetRate=1;if(_dragColIndex<_firstColIndex){// 从左往右虚拟拖拽
858
860
  csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColIndex){// 从右往左虚拟拖拽
859
861
  const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
860
862
  csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
@@ -911,7 +913,7 @@ Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
911
913
  * 表体
912
914
  */(0,_vue.h)(_body.default,{ref:refTableBody,tableData,tableColumn}),/**
913
915
  * 表尾
914
- */showFooter?(0,_vue.h)(_footer.default,{ref:refTableFooter,footerTableData,tableColumn}):renderEmptyElement($xeTable)]),(0,_vue.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderViewFixed('left'):renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderViewFixed('right'):renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return(0,_vue.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore,tooltipStore}=reactData;const{teleportToWrapperElem,popupToWrapperElem,customPopupToElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const tipSlots={header:slots.headerTooltip||slots['header-tooltip'],body:slots.tooltip,footer:slots.footerTooltip||slots['footer-tooltip']};const currTooltipSlot=tooltipStore.visible&&tooltipStore.type?tipSlots[tooltipStore.type]:null;const tableStyle=computeTableStyle.value;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isContentMenu=computeIsContentMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent,onContextmenu:contextMenuEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return(0,_vue.h)('div',Object.assign({ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'not--header':!showHeader,'is--footer':showFooter,'not--footer':!showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'not--scroll-y':!overflowY,'is--scroll-x':overflowX,'not--scroll-x':!overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],style:tableStyle,spellcheck:false},tbOns),[/**
916
+ */showFooter?(0,_vue.h)(_footer.default,{ref:refTableFooter,footerTableData,tableColumn}):renderEmptyElement($xeTable)]),(0,_vue.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderViewFixed('left'):renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderViewFixed('right'):renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return(0,_vue.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules,importConfig,exportConfig,printConfig}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore,tooltipStore}=reactData;const{teleportToWrapperElem,popupToWrapperElem,customPopupToElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const tipSlots={header:slots.headerTooltip||slots['header-tooltip'],body:slots.tooltip,footer:slots.footerTooltip||slots['footer-tooltip']};const currTooltipSlot=tooltipStore.visible&&tooltipStore.type?tipSlots[tooltipStore.type]:null;const tableStyle=computeTableStyle.value;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isContentMenu=computeIsContentMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const exportOpts=computeExportOpts.value;const importOpts=computeImportOpts.value;const printOpts=computePrintOpts.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent,onContextmenu:contextMenuEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return(0,_vue.h)('div',Object.assign({ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'not--header':!showHeader,'is--footer':showFooter,'not--footer':!showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'not--scroll-y':!overflowY,'is--scroll-x':overflowX,'not--scroll-x':!overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],style:tableStyle,spellcheck:false},tbOns),[/**
915
917
  * 隐藏列
916
918
  */(0,_vue.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,_vue.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,_vue.h)('div',{class:'vxe-table-var-default'}),(0,_vue.h)('div',{class:'vxe-table-var-medium'}),(0,_vue.h)('div',{class:'vxe-table-var-small'}),(0,_vue.h)('div',{class:'vxe-table-var-mini'})]),(0,_vue.h)('div',{key:'tw',class:'vxe-table--render-wrapper'},scrollbarXToTop?[renderScrollX(),renderBody()]:[renderBody(),renderScrollX()]),/**
917
919
  * 空数据
@@ -933,9 +935,9 @@ Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
933
935
  * 快捷菜单
934
936
  */isContentMenu?(0,_vue.h)(_panel3.default,{key:'tm',ref:refTableMenu}):renderEmptyElement($xeTable)])])]),/**
935
937
  * 导入
936
- */initStore.import&&props.importConfig?(0,_vue.h)(_importPanel.default,{key:'it',defaultOptions:reactData.importParams,storeData:reactData.importStore}):renderEmptyElement($xeTable),/**
938
+ */initStore.import&&(0,_utils.hasEnableConf)(importConfig,importOpts)?(0,_vue.h)(_importPanel.default,{key:'it',defaultOptions:reactData.importParams,storeData:reactData.importStore}):renderEmptyElement($xeTable),/**
937
939
  * 导出
938
- */initStore.export&&(props.exportConfig||props.printConfig)?(0,_vue.h)(_exportPanel.default,{key:'et',defaultOptions:reactData.exportParams,storeData:reactData.exportStore}):renderEmptyElement($xeTable),/**
940
+ */initStore.export&&((0,_utils.hasEnableConf)(exportConfig,exportOpts)||(0,_utils.hasEnableConf)(printConfig,printOpts))?(0,_vue.h)(_exportPanel.default,{key:'et',defaultOptions:reactData.exportParams,storeData:reactData.exportStore}):renderEmptyElement($xeTable),/**
939
941
  * 提示相关
940
942
  */VxeUITooltipComponent?(0,_vue.h)('div',{},[/**
941
943
  * 通用提示
@@ -950,7 +952,7 @@ useHTML:_xeUtils.default.isBoolean(tableTipConfig.useHTML)?tableTipConfig.useHTM
950
952
  // warnLog('vxe.error.checkProp', ['checkbox-config.checkField'])
951
953
  // }
952
954
  if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.recalculate();});});const staticColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.staticColumns.length,()=>{staticColumnFlag.value++;});(0,_vue.watch)(()=>reactData.staticColumns,()=>{staticColumnFlag.value++;});(0,_vue.watch)(staticColumnFlag,()=>{(0,_vue.nextTick)(()=>handleInitColumn(_xeUtils.default.clone(reactData.staticColumns)));});const tableColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.tableColumn.length,()=>{tableColumnFlag.value++;});(0,_vue.watch)(()=>reactData.tableColumn,()=>{tableColumnFlag.value++;});(0,_vue.watch)(tableColumnFlag,()=>{$xeTable.analyColumnWidth();});(0,_vue.watch)(()=>reactData.upDataFlag,()=>{(0,_vue.nextTick)(()=>{$xeTable.updateData();});});(0,_vue.watch)(()=>reactData.reColumnFlag,()=>{(0,_vue.nextTick)(()=>{$xeTable.refreshColumn();});});const reLayoutFlag=(0,_vue.ref)(0);(0,_vue.watch)(computeSize,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.showHeader,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.showFooter,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.showHeaderOverflow,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.showOverflow,()=>{updateColumnAllOverflow();reLayoutFlag.value++;});(0,_vue.watch)(()=>props.showFooterOverflow,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>reactData.overflowX,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>reactData.overflowY,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.height,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.maxHeight,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarXToTop,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarYToLeft,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>_ui.VxeUI.getLanguage(),()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>{const scrollbarXOpts=computeScrollbarXOpts.value;return scrollbarXOpts.visible;},()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>{const scrollbarYOpts=computeScrollbarYOpts.value;return scrollbarYOpts.visible;},()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>{const cellOpts=computeCellOpts.value;return cellOpts.height;},()=>{reLayoutFlag.value++;});(0,_vue.watch)(reLayoutFlag,()=>{$xeTable.recalculate(true);});const footFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.footerData?props.footerData.length:-1,()=>{footFlag.value++;});(0,_vue.watch)(()=>props.footerData,()=>{footFlag.value++;});(0,_vue.watch)(footFlag,()=>{internalData.footerFullDataRowData={};$xeTable.updateFooter();});(0,_vue.watch)(()=>props.syncResize,value=>{if(value){handleUpdateResize();(0,_vue.nextTick)(()=>{handleUpdateResize();setTimeout(()=>handleUpdateResize());});}});const mergeCellFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeCells?props.mergeCells.length:-1,()=>{mergeCellFlag.value++;});(0,_vue.watch)(()=>props.mergeCells,()=>{mergeCellFlag.value++;});(0,_vue.watch)(mergeCellFlag,()=>{handleUpdateMergeBodyCells(props.mergeCells||[]);});const mergeHeaderItemFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeHeaderCells?props.mergeHeaderCells.length:-1,()=>{mergeHeaderItemFlag.value++;});(0,_vue.watch)(()=>props.mergeHeaderCells,()=>{mergeHeaderItemFlag.value++;});(0,_vue.watch)(mergeHeaderItemFlag,()=>{handleUpdateMergeHeaderCells(props.mergeHeaderCells||[]);});const mergeFooteCellFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeFooterCells?props.mergeFooterCells.length:-1,()=>{mergeFooteCellFlag.value++;});(0,_vue.watch)(()=>props.mergeFooterCells,()=>{mergeFooteCellFlag.value++;});(0,_vue.watch)(()=>props.mergeFooterItems?props.mergeFooterItems.length:-1,()=>{mergeFooteCellFlag.value++;});(0,_vue.watch)(()=>props.mergeFooterItems,()=>{mergeFooteCellFlag.value++;});(0,_vue.watch)(mergeFooteCellFlag,()=>{const mFooterCells=props.mergeFooterCells||props.mergeFooterItems;handleUpdateMergeFooterCells(mFooterCells||[]);});(0,_vue.watch)(computeRowGroupFields,val=>{handleUpdateRowGroup(val);});(0,_vue.watch)(computeRowField,()=>{const{inited,tableFullData}=internalData;// 行主键被改变,重载表格
953
- if(inited){handleKeyField();reactData.tableData=[];(0,_vue.nextTick)(()=>{$xeTable.reloadData(tableFullData);});}});const kfFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.updateColFlag,()=>{kfFlag.value++;});(0,_vue.watch)(computeKeepFields,()=>{kfFlag.value++;});(0,_vue.watch)(kfFlag,()=>{const keepFields=computeKeepFields.value;const kpfMaps={};keepFields.forEach(field=>{kpfMaps[field]=1;});internalData.keepUpdateFieldMaps=kpfMaps;});(0,_vue.watch)(computeAggregateMode,()=>{if(reactData.isRowGroupStatus){loadTableData(internalData.tableSynchData,false,true);}});const layoutReFlag=(0,_vue.ref)(0);(0,_vue.watch)(combineTabsResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(combineModalResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(combineSplitterResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(layoutReFlag,()=>{handleGlobalResizeEvent();});handleKeyField();hooks.forEach(options=>{const{setupTable}=options;if(setupTable){const hookRest=setupTable($xeTable);if(hookRest&&_xeUtils.default.isObject(hookRest)){Object.assign($xeTable,hookRest);}}});$xeTable.preventEvent(null,'created',{$table:$xeTable});let resizeObserver;(0,_vue.onActivated)(()=>{$xeTable.recalculate().then(()=>$xeTable.refreshScroll());$xeTable.preventEvent(null,'activated',{$table:$xeTable});});(0,_vue.onDeactivated)(()=>{const{filterStore}=reactData;if(filterStore.visible){$xeTable.clearFilter();}$xeTable.closeTooltip();internalData.isActivated=false;$xeTable.preventEvent(null,'deactivated',{$table:$xeTable});});(0,_vue.onMounted)(()=>{const{editConfig,exportConfig,importConfig,treeConfig,minHeight,keepSource}=props;const{scrollXStore,scrollYStore}=internalData;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const aggregateOpts=computeAggregateOpts.value;const virtualYOpts=computeVirtualYOpts.value;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const mouseOpts=computeMouseOpts.value;const exportOpts=computeExportOpts.value;const importOpts=computeImportOpts.value;// const currentRowOpts = computeCurrentRowOpts.value
955
+ if(inited){handleKeyField();reactData.tableData=[];(0,_vue.nextTick)(()=>{$xeTable.reloadData(tableFullData);});}});const kfFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.updateColFlag,()=>{kfFlag.value++;});(0,_vue.watch)(computeKeepFields,()=>{kfFlag.value++;});(0,_vue.watch)(kfFlag,()=>{const keepFields=computeKeepFields.value;const kpfMaps={};keepFields.forEach(field=>{kpfMaps[field]=1;});internalData.keepUpdateFieldMaps=kpfMaps;});(0,_vue.watch)(computeAggregateMode,()=>{if(reactData.isRowGroupStatus){loadTableData(internalData.tableSynchData,false,true);}});const layoutReFlag=(0,_vue.ref)(0);(0,_vue.watch)(combineTabsResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(combineModalResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(combineSplitterResizeFlag,()=>{layoutReFlag.value++;});(0,_vue.watch)(layoutReFlag,()=>{handleGlobalResizeEvent();});handleKeyField();hooks.forEach(options=>{const{setupTable}=options;if(setupTable){const hookRest=setupTable($xeTable);if(hookRest&&_xeUtils.default.isObject(hookRest)){Object.assign($xeTable,hookRest);}}});$xeTable.preventEvent(null,'created',{$table:$xeTable});let resizeObserver;(0,_vue.onActivated)(()=>{$xeTable.recalculate().then(()=>$xeTable.refreshScroll());$xeTable.preventEvent(null,'activated',{$table:$xeTable});});(0,_vue.onDeactivated)(()=>{const{filterStore}=reactData;if(filterStore.visible){$xeTable.clearFilter();}$xeTable.closeTooltip();internalData.isActivated=false;$xeTable.preventEvent(null,'deactivated',{$table:$xeTable});});(0,_vue.onMounted)(()=>{const{editConfig,exportConfig,importConfig,treeConfig,minHeight,keepSource,areaConfig}=props;const{scrollXStore,scrollYStore}=internalData;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const aggregateOpts=computeAggregateOpts.value;const virtualYOpts=computeVirtualYOpts.value;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const mouseOpts=computeMouseOpts.value;const exportOpts=computeExportOpts.value;const importOpts=computeImportOpts.value;// const currentRowOpts = computeCurrentRowOpts.value
954
956
  // const currentColumnOpts = computeCurrentColumnOpts.value
955
957
  // const keyboardOpts = computeKeyboardOpts.value
956
958
  const rowDragOpts=computeRowDragOpts.value;const areaOpts=computeAreaOpts.value;const sortOpts=computeSortOpts.value;const filterOpts=computeFilterOpts.value;const{groupFields}=aggregateOpts;if($xeGantt){const{refClassifyWrapperElem}=$xeGantt.getRefMaps();const classifyWrapperEl=refClassifyWrapperElem.value;if(classifyWrapperEl){internalData.teleportToWrapperElem=classifyWrapperEl;}}if($xeGGWrapper){const{refPopupContainerElem}=$xeGGWrapper.getRefMaps();const popupContainerEl=refPopupContainerElem.value;if(popupContainerEl){internalData.popupToWrapperElem=popupContainerEl;}}if(columnOpts.drag||rowOpts.drag||customOpts.allowSort){(0,_dom.initTpImg)();}if(props.rowId){warnLog('vxe.error.delProp',['row-id','row-config.keyField']);}if(props.rowKey){warnLog('vxe.error.delProp',['row-key','row-config.useKey']);}if(props.columnKey){warnLog('vxe.error.delProp',['column-id','column-config.useKey']);}if(!(props.rowId||rowOpts.keyField)&&(checkboxOpts.reserve||checkboxOpts.checkRowKeys||radioOpts.reserve||radioOpts.checkRowKey||expandOpts.expandRowKeys||treeOpts.expandRowKeys)){warnLog('vxe.error.reqProp',['row-config.keyField']);}if(editConfig){if(!keepSource){if(editOpts.showStatus||editOpts.showUpdateStatus||editOpts.showInsertStatus){warnLog('vxe.error.reqSupportProp',['edit-config.showStatus | showUpdateStatus | showInsertStatus','keep-source']);}// if (keyboardOpts.isUndoRedo) {
@@ -975,10 +977,10 @@ if(props.aggregateConfig&&props.rowGroupConfig){warnLog('vxe.error.notSupportPro
975
977
  // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
976
978
  // }
977
979
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
978
- if(importConfig&&importOpts.types&&!importOpts.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(importOpts._typeMaps),importOpts.types)){warnLog('vxe.error.errProp',[`export-config.types=${importOpts.types.join(',')}`,importOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(importOpts._typeMaps).join(',')]);}if(exportConfig&&exportOpts.types&&!exportOpts.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(exportOpts._typeMaps),exportOpts.types)){warnLog('vxe.error.errProp',[`export-config.types=${exportOpts.types.join(',')}`,exportOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(exportOpts._typeMaps).join(',')]);}if(exportConfig&&_xeUtils.default.isBoolean(exportOpts.isAllExpand)){warnLog('vxe.error.delProp',['isAllExpand','isTreeAllExpanded']);}if(!props.id){if((props.customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&customOpts.storage){errLog('vxe.error.reqProp',['id']);}}if(props.treeConfig&&checkboxOpts.range){errLog('vxe.error.noTree',['checkbox-config.range']);}if(rowOpts.height&&!props.showOverflow){warnLog('vxe.error.notProp',['table.show-overflow']);}if(!$xeTable.triggerClAreaMnEvent){if(props.areaConfig){warnLog('vxe.error.notProp',['area-config']);}if(props.clipConfig){warnLog('vxe.error.notProp',['clip-config']);}if(props.fnrConfig){warnLog('vxe.error.notProp',['fnr-config']);}if(mouseOpts.area){errLog('vxe.error.notProp',['mouse-config.area']);return;}if(mouseOpts.area&&areaOpts.selectCellByHeader&&columnOpts.drag&&columnDragOpts.trigger==='cell'){errLog('vxe.error.notSupportProp',['area-config.selectCellByHeader & column-config.drag','column-drag-config.trigger=cell','column-drag-config.trigger=default | area-config.selectCellByHeader=false']);}if(mouseOpts.area&&props.spanMethod){errLog('vxe.error.notSupportProp',['mouse-config.area','span-method','merge-cells']);}}if(!$xeTable.handlePivotTableAggData){if(customOpts.allowGroup){errLog('vxe.error.notProp',['custom-config.allowGroup']);return;}if(customOpts.allowValues){errLog('vxe.error.notProp',['custom-config.allowValues']);return;}}if(treeConfig&&rowOpts.drag&&!treeOpts.transform){errLog('vxe.error.notSupportProp',['row-config.drag','tree-config.transform=false','tree-config.transform=true']);}if(treeConfig&&rowDragOpts.isCrossTableDrag&&!rowDragOpts.isCrossDrag){errLog('vxe.error.reqSupportProp',['tree-config & row-drag-config.isCrossTableDrag','row-drag-config.isCrossDrag']);}if(props.dragConfig){warnLog('vxe.error.delProp',['drag-config','row-drag-config']);}if(props.rowGroupConfig){warnLog('vxe.error.delProp',['row-group-config','aggregate-config']);}if(aggregateOpts.countFields){warnLog('vxe.error.delProp',['row-group-config.countFields','column.agg-func']);}if(aggregateOpts.aggregateMethod){warnLog('vxe.error.delProp',['row-group-config.aggregateMethod','aggregate-config.calcValuesMethod']);}if(aggregateOpts.countMethod){warnLog('vxe.error.delProp',['aggregate-config.countMethod','aggregate-config.calcValuesMethod']);}if(props.treeConfig&&treeOpts.children){warnLog('vxe.error.delProp',['tree-config.children','tree-config.childrenField']);}if(props.treeConfig&&treeOpts.line){warnLog('vxe.error.delProp',['tree-config.line','tree-config.showLine']);}if(mouseOpts.area&&mouseOpts.selected){warnLog('vxe.error.errConflicts',['mouse-config.area','mouse-config.selected']);}if(mouseOpts.area&&props.treeConfig&&!treeOpts.transform){errLog('vxe.error.notSupportProp',['mouse-config.area','tree-config.transform=false','tree-config.transform=true']);}if(props.editConfig&&editOpts.activeMethod){warnLog('vxe.error.delProp',['edit-config.activeMethod','edit-config.beforeEditMethod']);}if(checkboxOpts.halfField){warnLog('vxe.error.delProp',['checkbox-config.halfField','checkbox-config.indeterminateField']);}if(props.editConfig&&(0,_utils.isEnableConf)(editOpts)&&props.editRules&&(minHeight===0||minHeight==='0')){warnLog('vxe.error.reqSupportProp',['edit-config & edit-rules','min-height']);}if(treeConfig){_xeUtils.default.arrayEach(['rowField','parentField','childrenField','hasChildField','mapChildrenField'],key=>{const val=treeOpts[key];if(val&&val.indexOf('.')>-1){errLog('vxe.error.errProp',[`${key}=${val}`,`${key}=${val.split('.')[0]}`]);}});}if(rowOpts.currentMethod){warnLog('vxe.error.delProp',['row-config.currentMethod','current-row-config.beforeSelectMethod']);}if(columnOpts.currentMethod){warnLog('vxe.error.delProp',['row-config.currentMethod','current-column-config.beforeSelectMethod']);}// if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
980
+ if((0,_utils.hasEnableConf)(importConfig,importOpts)&&importOpts.types&&!importOpts.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(importOpts._typeMaps),importOpts.types)){warnLog('vxe.error.errProp',[`export-config.types=${importOpts.types.join(',')}`,importOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(importOpts._typeMaps).join(',')]);}if((0,_utils.hasEnableConf)(exportConfig,exportOpts)&&exportOpts.types&&!exportOpts.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(exportOpts._typeMaps),exportOpts.types)){warnLog('vxe.error.errProp',[`export-config.types=${exportOpts.types.join(',')}`,exportOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(exportOpts._typeMaps).join(',')]);}if((0,_utils.hasEnableConf)(exportConfig,exportOpts)&&_xeUtils.default.isBoolean(exportOpts.isAllExpand)){warnLog('vxe.error.delProp',['isAllExpand','isTreeAllExpanded']);}if(!props.id){if((props.customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&customOpts.storage){errLog('vxe.error.reqProp',['id']);}}if(props.treeConfig&&checkboxOpts.range){errLog('vxe.error.noTree',['checkbox-config.range']);}if(rowOpts.height&&!props.showOverflow){warnLog('vxe.error.notProp',['table.show-overflow']);}if(!$xeTable.triggerClAaMnEvent){if((0,_utils.hasEnableConf)(areaConfig,areaOpts)){warnLog('vxe.error.notProp',['area-config']);}if(props.clipConfig){warnLog('vxe.error.notProp',['clip-config']);}if(props.fnrConfig){warnLog('vxe.error.notProp',['fnr-config']);}if(mouseOpts.area){errLog('vxe.error.notProp',['mouse-config.area']);return;}if(mouseOpts.area&&areaOpts.selectCellByHeader&&columnOpts.drag&&columnDragOpts.trigger==='cell'){errLog('vxe.error.notSupportProp',['area-config.selectCellByHeader & column-config.drag','column-drag-config.trigger=cell','column-drag-config.trigger=default | area-config.selectCellByHeader=false']);}if(mouseOpts.area&&props.spanMethod){errLog('vxe.error.notSupportProp',['mouse-config.area','span-method','merge-cells']);}}if(!$xeTable.handlePivotTableAggData){if(customOpts.allowGroup){errLog('vxe.error.notProp',['custom-config.allowGroup']);return;}if(customOpts.allowValues){errLog('vxe.error.notProp',['custom-config.allowValues']);return;}}if(treeConfig&&rowOpts.drag&&!treeOpts.transform){errLog('vxe.error.notSupportProp',['row-config.drag','tree-config.transform=false','tree-config.transform=true']);}if(treeConfig&&rowDragOpts.isCrossTableDrag&&!rowDragOpts.isCrossDrag){errLog('vxe.error.reqSupportProp',['tree-config & row-drag-config.isCrossTableDrag','row-drag-config.isCrossDrag']);}if(props.dragConfig){warnLog('vxe.error.delProp',['drag-config','row-drag-config']);}if(props.rowGroupConfig){warnLog('vxe.error.delProp',['row-group-config','aggregate-config']);}if(aggregateOpts.countFields){warnLog('vxe.error.delProp',['row-group-config.countFields','column.agg-func']);}if(aggregateOpts.aggregateMethod){warnLog('vxe.error.delProp',['row-group-config.aggregateMethod','aggregate-config.calcValuesMethod']);}if(aggregateOpts.countMethod){warnLog('vxe.error.delProp',['aggregate-config.countMethod','aggregate-config.calcValuesMethod']);}if(props.treeConfig&&treeOpts.children){warnLog('vxe.error.delProp',['tree-config.children','tree-config.childrenField']);}if(props.treeConfig&&treeOpts.line){warnLog('vxe.error.delProp',['tree-config.line','tree-config.showLine']);}if(mouseOpts.area&&mouseOpts.selected){warnLog('vxe.error.errConflicts',['mouse-config.area','mouse-config.selected']);}if(mouseOpts.area&&props.treeConfig&&!treeOpts.transform){errLog('vxe.error.notSupportProp',['mouse-config.area','tree-config.transform=false','tree-config.transform=true']);}if(props.editConfig&&editOpts.activeMethod){warnLog('vxe.error.delProp',['edit-config.activeMethod','edit-config.beforeEditMethod']);}if(checkboxOpts.halfField){warnLog('vxe.error.delProp',['checkbox-config.halfField','checkbox-config.indeterminateField']);}if(props.editConfig&&(0,_utils.isEnableConf)(editOpts)&&props.editRules&&(minHeight===0||minHeight==='0')){warnLog('vxe.error.reqSupportProp',['edit-config & edit-rules','min-height']);}if(treeConfig){_xeUtils.default.arrayEach(['rowField','parentField','childrenField','hasChildField','mapChildrenField'],key=>{const val=treeOpts[key];if(val&&val.indexOf('.')>-1){errLog('vxe.error.errProp',[`${key}=${val}`,`${key}=${val.split('.')[0]}`]);}});}if(rowOpts.currentMethod){warnLog('vxe.error.delProp',['row-config.currentMethod','current-row-config.beforeSelectMethod']);}if(columnOpts.currentMethod){warnLog('vxe.error.delProp',['row-config.currentMethod','current-column-config.beforeSelectMethod']);}// if ((rowOpts.isCurrent || highlightCurrentRow) && hasEnableConf(keyboardConfig, keyboardOpts) && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
979
981
  // warnLog('vxe.error.notConflictProp', ['row-config.isCurrent & keyboard-config.isArrow', 'current-row-config.isFollowSelected'])
980
982
  // }
981
- // if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
983
+ // if ((columnOpts.isCurrent || highlightCurrentColumn) && hasEnableConf(keyboardConfig, keyboardOpts) && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
982
984
  // warnLog('vxe.error.notConflictProp', ['column-config.isCurrent & keyboard-config.isArrow', 'current-column-config.isFollowSelected'])
983
985
  // }
984
986
  // 如果不支持虚拟滚动
@@ -1002,10 +1004,10 @@ if(importConfig&&importOpts.types&&!importOpts.importMethod&&!_xeUtils.default.i
1002
1004
  // if (props.editRules && !$xeTable.validate) {
1003
1005
  // errLog('vxe.error.reqModule', ['Validator'])
1004
1006
  // }
1005
- // if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
1007
+ // if ((checkboxOpts.range || hasEnableConf(keyboardConfig, keyboardOpts) || hasEnableConf(mouseConfig, mouseOpts)) && !$xeTable.handleCellMousedownEvent) {
1006
1008
  // errLog('vxe.error.reqModule', ['Keyboard'])
1007
1009
  // }
1008
- // if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
1010
+ // if (hasEnableConf(printConfig, printOpts) || hasEnableConf(importConfig, importOpts) || hasEnableConf(exportConfig, exportOpts)) && !$xeTable.exportData) {
1009
1011
  // errLog('vxe.error.reqModule', ['Export'])
1010
1012
  // }
1011
- Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});handleUpdateRowGroup(groupFields);initData();(0,_vue.nextTick)(()=>{if(props.autoResize){const el=refElem.value;const parentEl=$xeTable.getParentElem();resizeObserver=globalResize.create(()=>{if(props.autoResize){handleResizeEvent();}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);globalEvents.on($xeTable,'cut',handleGlobalCutEvent);globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);globalEvents.on($xeTable,'scroll',handleGlobalScrollEvent);globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent);$xeTable.preventEvent(null,'mounted',{$table:$xeTable});});(0,_vue.onBeforeUnmount)(()=>{const{_sToTime}=internalData;if(_sToTime){clearTimeout(_sToTime);}const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.removeEventListener('wheel',$xeTable.triggerBodyWheelEvent);}internalData.cvCacheMaps={};internalData.prevDragRow=null;internalData.prevDragCol=null;if(resizeObserver){resizeObserver.disconnect();}$xeTable.closeTooltip();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}globalEvents.off($xeTable,'paste');globalEvents.off($xeTable,'copy');globalEvents.off($xeTable,'cut');globalEvents.off($xeTable,'mousedown');globalEvents.off($xeTable,'blur');globalEvents.off($xeTable,'mousewheel');globalEvents.off($xeTable,'keydown');globalEvents.off($xeTable,'resize');globalEvents.off($xeTable,'scroll');globalEvents.off($xeTable,'contextmenu');$xeTable.preventEvent(null,'beforeUnmount',{$table:$xeTable});_xeUtils.default.assign(reactData,(0,_util.createReactData)());_xeUtils.default.assign(internalData,(0,_util.createInternalData)());});(0,_vue.onUnmounted)(()=>{$xeTable.preventEvent(null,'unmounted',{$table:$xeTable});});(0,_vue.nextTick)(()=>{const{showOverflow,showHeaderOverflow,showFooterOverflow}=props;const tooltipOpts=computeTooltipOpts.value;const headerTooltipOpts=computeHeaderTooltipOpts.value;const footerTooltipOpts=computeFooterTooltipOpts.value;if(props.loading){if(!VxeUILoadingComponent&&!slots.loading){errLog('vxe.error.reqComp',['vxe-loading']);errLog('vxe.error.errProp',['loading=true','loading=false | <template #loading>...</template>']);}}if(!VxeUITooltipComponent){let useOvTip=false;if(showOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-overflow='+showOverflow,'show-overflow=false,title,ellipsis']);}if(showOverflow===true&&tooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-overflow='+showOverflow,'tooltip-config.mode=tooltip','tooltip-config.mode=title,ellipsis']);}if(showHeaderOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-header-overflow='+showHeaderOverflow,'show-header-overflow=false,title,ellipsis']);}if(showHeaderOverflow===true&&headerTooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-header-overflow='+showHeaderOverflow,'header-tooltip-config.mode=tooltip','header-tooltip-config.mode=title,ellipsis']);}if(showFooterOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-footer-overflow='+showFooterOverflow,'show-footer-overflow=false,title,ellipsis']);}if(showFooterOverflow===true&&footerTooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-footer-overflow='+showFooterOverflow,'footer-tooltip-config.mode=tooltip','footer-tooltip-config.mode=title,ellipsis']);}if(useOvTip){errLog('vxe.error.reqComp',['vxe-tooltip']);}}});(0,_vue.provide)('$xeColgroup',null);(0,_vue.provide)('$xeTable',$xeTable);$xeTable.renderVN=renderVN;return $xeTable;},render(){return this.renderVN();}});
1013
+ Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});handleUpdateRowGroup(groupFields);initData();(0,_vue.nextTick)(()=>{if(props.autoResize){const el=refElem.value;const parentEl=$xeTable.getParentElem();resizeObserver=globalResize.create(()=>{if(props.autoResize){layoutReFlag.value++;}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);globalEvents.on($xeTable,'cut',handleGlobalCutEvent);globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);globalEvents.on($xeTable,'scroll',handleGlobalScrollEvent);globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent);$xeTable.preventEvent(null,'mounted',{$table:$xeTable});});(0,_vue.onBeforeUnmount)(()=>{const{_sToTime}=internalData;if(_sToTime){clearTimeout(_sToTime);}const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.removeEventListener('wheel',$xeTable.triggerBodyWheelEvent);}internalData.cvCacheMaps={};internalData.prevDragRow=null;internalData.prevDragCol=null;if(resizeObserver){resizeObserver.disconnect();}$xeTable.closeTooltip();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}globalEvents.off($xeTable,'paste');globalEvents.off($xeTable,'copy');globalEvents.off($xeTable,'cut');globalEvents.off($xeTable,'mousedown');globalEvents.off($xeTable,'blur');globalEvents.off($xeTable,'mousewheel');globalEvents.off($xeTable,'keydown');globalEvents.off($xeTable,'resize');globalEvents.off($xeTable,'scroll');globalEvents.off($xeTable,'contextmenu');$xeTable.preventEvent(null,'beforeUnmount',{$table:$xeTable});_xeUtils.default.assign(reactData,(0,_util.createReactData)());_xeUtils.default.assign(internalData,(0,_util.createInternalData)());});(0,_vue.onUnmounted)(()=>{$xeTable.preventEvent(null,'unmounted',{$table:$xeTable});});(0,_vue.nextTick)(()=>{const{showOverflow,showHeaderOverflow,showFooterOverflow}=props;const tooltipOpts=computeTooltipOpts.value;const headerTooltipOpts=computeHeaderTooltipOpts.value;const footerTooltipOpts=computeFooterTooltipOpts.value;if(props.loading){if(!VxeUILoadingComponent&&!slots.loading){errLog('vxe.error.reqComp',['vxe-loading']);errLog('vxe.error.errProp',['loading=true','loading=false | <template #loading>...</template>']);}}if(!VxeUITooltipComponent){let useOvTip=false;if(showOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-overflow='+showOverflow,'show-overflow=false,title,ellipsis']);}if(showOverflow===true&&tooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-overflow='+showOverflow,'tooltip-config.mode=tooltip','tooltip-config.mode=title,ellipsis']);}if(showHeaderOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-header-overflow='+showHeaderOverflow,'show-header-overflow=false,title,ellipsis']);}if(showHeaderOverflow===true&&headerTooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-header-overflow='+showHeaderOverflow,'header-tooltip-config.mode=tooltip','header-tooltip-config.mode=title,ellipsis']);}if(showFooterOverflow==='tooltip'){useOvTip=true;errLog('vxe.error.errProp',['show-footer-overflow='+showFooterOverflow,'show-footer-overflow=false,title,ellipsis']);}if(showFooterOverflow===true&&footerTooltipOpts.mode==='tooltip'){useOvTip=true;errLog('vxe.error.notSupportProp',['show-footer-overflow='+showFooterOverflow,'footer-tooltip-config.mode=tooltip','footer-tooltip-config.mode=title,ellipsis']);}if(useOvTip){errLog('vxe.error.reqComp',['vxe-tooltip']);}}});(0,_vue.provide)('$xeColgroup',null);(0,_vue.provide)('$xeTable',$xeTable);$xeTable.renderVN=renderVN;return $xeTable;},render(){return this.renderVN();}});