vxe-table 4.13.36 → 4.13.38

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 (34) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/edit/hook.js +2 -2
  3. package/es/table/module/keyboard/hook.js +4 -1
  4. package/es/table/src/table.js +33 -11
  5. package/es/toolbar/src/toolbar.js +0 -6
  6. package/es/ui/index.js +2 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/index.umd.js +16 -18
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/module/edit/hook.js +2 -2
  12. package/lib/table/module/edit/hook.min.js +1 -1
  13. package/lib/table/module/keyboard/hook.js +2 -2
  14. package/lib/table/module/keyboard/hook.min.js +1 -1
  15. package/lib/table/src/table.js +9 -8
  16. package/lib/table/src/table.min.js +1 -1
  17. package/lib/toolbar/src/toolbar.js +0 -4
  18. package/lib/toolbar/src/toolbar.min.js +1 -1
  19. package/lib/ui/index.js +2 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +1 -1
  24. package/packages/table/module/edit/hook.ts +2 -2
  25. package/packages/table/module/keyboard/hook.ts +4 -1
  26. package/packages/table/src/table.ts +34 -11
  27. package/packages/toolbar/src/toolbar.ts +0 -4
  28. package/packages/ui/index.ts +1 -0
  29. /package/es/{iconfont.1749440132931.ttf → iconfont.1749796903898.ttf} +0 -0
  30. /package/es/{iconfont.1749440132931.woff → iconfont.1749796903898.woff} +0 -0
  31. /package/es/{iconfont.1749440132931.woff2 → iconfont.1749796903898.woff2} +0 -0
  32. /package/lib/{iconfont.1749440132931.ttf → iconfont.1749796903898.ttf} +0 -0
  33. /package/lib/{iconfont.1749440132931.woff → iconfont.1749796903898.woff} +0 -0
  34. /package/lib/{iconfont.1749440132931.woff2 → iconfont.1749796903898.woff2} +0 -0
@@ -3370,7 +3370,6 @@ export default defineComponent({
3370
3370
  const centerList = [];
3371
3371
  const rightList = [];
3372
3372
  const { isGroup, columnStore } = reactData;
3373
- const virtualXOpts = computeVirtualXOpts.value;
3374
3373
  const { collectColumn, tableFullColumn, scrollXStore, fullColumnIdData } = internalData;
3375
3374
  // 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
3376
3375
  if (isGroup) {
@@ -3433,11 +3432,12 @@ export default defineComponent({
3433
3432
  });
3434
3433
  }
3435
3434
  const visibleColumn = leftList.concat(centerList).concat(rightList);
3436
- // 如果gt为0,则总是启用
3437
- const scrollXLoad = !!virtualXOpts.enabled && virtualXOpts.gt > -1 && (virtualXOpts.gt === 0 || virtualXOpts.gt < tableFullColumn.length);
3435
+ internalData.visibleColumn = visibleColumn;
3436
+ updateColumnOffsetLeft();
3437
+ const sXLoad = updateScrollXStatus();
3438
3438
  reactData.hasFixedColumn = leftList.length > 0 || rightList.length > 0;
3439
3439
  Object.assign(columnStore, { leftList, centerList, rightList });
3440
- if (scrollXLoad) {
3440
+ if (sXLoad) {
3441
3441
  // if (showOverflow) {
3442
3442
  // if (!rowOpts.height) {
3443
3443
  // const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
@@ -3473,7 +3473,6 @@ export default defineComponent({
3473
3473
  $xeTable.clearMergeCells();
3474
3474
  $xeTable.clearMergeFooterItems();
3475
3475
  }
3476
- reactData.scrollXLoad = scrollXLoad;
3477
3476
  visibleColumn.forEach((column, index) => {
3478
3477
  const colid = column.id;
3479
3478
  const colRest = fullColumnIdData[colid];
@@ -3481,7 +3480,6 @@ export default defineComponent({
3481
3480
  colRest._index = index;
3482
3481
  }
3483
3482
  });
3484
- internalData.visibleColumn = visibleColumn;
3485
3483
  handleTableColumn();
3486
3484
  if (isReset) {
3487
3485
  updateColumnOffsetLeft();
@@ -3540,6 +3538,14 @@ export default defineComponent({
3540
3538
  });
3541
3539
  });
3542
3540
  };
3541
+ const updateScrollXStatus = (fullColumn) => {
3542
+ const virtualXOpts = computeVirtualXOpts.value;
3543
+ const allCols = fullColumn || internalData.tableFullColumn;
3544
+ // 如果gt为0,则总是启用
3545
+ const scrollXLoad = !!virtualXOpts.enabled && virtualXOpts.gt > -1 && (virtualXOpts.gt === 0 || virtualXOpts.gt < allCols.length);
3546
+ reactData.scrollXLoad = scrollXLoad;
3547
+ return scrollXLoad;
3548
+ };
3543
3549
  const updateScrollYStatus = (fullData) => {
3544
3550
  const { treeConfig } = props;
3545
3551
  const virtualYOpts = computeVirtualYOpts.value;
@@ -4204,8 +4210,22 @@ export default defineComponent({
4204
4210
  * @param {ColumnInfo} columns 列配置
4205
4211
  */
4206
4212
  loadColumn(columns) {
4213
+ const { lastScrollLeft, lastScrollTop } = internalData;
4207
4214
  const collectColumn = XEUtils.mapTree(columns, column => reactive(Cell.createColumn($xeTable, column)));
4208
- return handleColumn(collectColumn);
4215
+ return handleColumn(collectColumn).then(() => {
4216
+ let targetScrollLeft = lastScrollLeft;
4217
+ let targetScrollTop = lastScrollTop;
4218
+ const virtualXOpts = computeVirtualXOpts.value;
4219
+ const virtualYOpts = computeVirtualYOpts.value;
4220
+ // 是否在更新数据之后自动滚动重置滚动条
4221
+ if (virtualXOpts.scrollToLeftOnChange) {
4222
+ targetScrollLeft = 0;
4223
+ }
4224
+ if (virtualYOpts.scrollToTopOnChange) {
4225
+ targetScrollTop = 0;
4226
+ }
4227
+ restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop);
4228
+ });
4209
4229
  },
4210
4230
  /**
4211
4231
  * 加载列配置并恢复到初始状态
@@ -5114,7 +5134,7 @@ export default defineComponent({
5114
5134
  return new Promise(resolve => {
5115
5135
  // 还原滚动条位置
5116
5136
  if (lastScrollLeft || lastScrollTop) {
5117
- return restoreScrollLocation($xeTable, lastScrollLeft, lastScrollTop).then().then(() => {
5137
+ return restoreScrollLocation($xeTable, lastScrollLeft, lastScrollTop).then(() => {
5118
5138
  // 存在滚动行为未结束情况
5119
5139
  setTimeout(resolve, 10);
5120
5140
  });
@@ -6340,7 +6360,9 @@ export default defineComponent({
6340
6360
  }, 30);
6341
6361
  });
6342
6362
  }
6343
- return nextTick();
6363
+ return nextTick().then(() => {
6364
+ internalData.intoRunScroll = false;
6365
+ });
6344
6366
  },
6345
6367
  /**
6346
6368
  * 如果有滚动条,则滚动到对应的行
@@ -10463,12 +10485,12 @@ export default defineComponent({
10463
10485
  // 检测对应模块是否安装
10464
10486
  'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
10465
10487
  $xeTable[name] = function () {
10466
- errLog('vxe.error.reqModule', ['VxeTableExportModule']);
10488
+ errLog('vxe.error.reqModule', ['Export']);
10467
10489
  };
10468
10490
  });
10469
10491
  'clearValidate,fullValidate,validate'.split(',').forEach(name => {
10470
10492
  $xeTable[name] = function () {
10471
- errLog('vxe.error.reqModule', ['VxeTableValidatorModule']);
10493
+ errLog('vxe.error.reqModule', ['Validator']);
10472
10494
  };
10473
10495
  });
10474
10496
  Object.assign($xeTable, tableMethods, tablePrivateMethods);
@@ -112,9 +112,6 @@ export default defineComponent({
112
112
  if ($table.triggerCustomEvent) {
113
113
  $table.triggerCustomEvent($event);
114
114
  }
115
- else {
116
- errLog('vxe.error.reqModule', ['VxeTableCustomModule']);
117
- }
118
115
  }
119
116
  };
120
117
  const handleMouseenterSettingEvent = ({ $event }) => {
@@ -123,9 +120,6 @@ export default defineComponent({
123
120
  if ($table) {
124
121
  $table.customOpenEvent($event);
125
122
  }
126
- else {
127
- errLog('vxe.error.reqModule', ['VxeTableCustomModule']);
128
- }
129
123
  };
130
124
  const handleMouseleaveSettingEvent = ({ $event }) => {
131
125
  const { connectTable } = internalData;
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.13.36";
3
+ export const version = "4.13.38";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -177,6 +177,7 @@ VxeUI.setConfig({
177
177
  extension: true
178
178
  },
179
179
  keyboardConfig: {
180
+ isAll: true,
180
181
  isEsc: true
181
182
  },
182
183
  areaConfig: {
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.13.36"}`;
3
+ const version = `table v${"4.13.38"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
3138
3138
  ;// ./packages/ui/index.ts
3139
3139
 
3140
3140
 
3141
- const version = "4.13.36";
3141
+ const version = "4.13.38";
3142
3142
  core_.VxeUI.version = version;
3143
3143
  core_.VxeUI.tableVersion = version;
3144
3144
  core_.VxeUI.setConfig({
@@ -3315,6 +3315,7 @@ core_.VxeUI.setConfig({
3315
3315
  extension: true
3316
3316
  },
3317
3317
  keyboardConfig: {
3318
+ isAll: true,
3318
3319
  isEsc: true
3319
3320
  },
3320
3321
  areaConfig: {
@@ -3599,7 +3600,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3599
3600
  const {
3600
3601
  log: log_log
3601
3602
  } = core_.VxeUI;
3602
- const log_version = `table v${"4.13.36"}`;
3603
+ const log_version = `table v${"4.13.38"}`;
3603
3604
  const warnLog = log_log.create('warn', log_version);
3604
3605
  const errLog = log_log.create('error', log_version);
3605
3606
  ;// ./packages/table/src/columnInfo.ts
@@ -10935,11 +10936,10 @@ if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targ
10935
10936
  */const handleInitDefaults=()=>{handleDefaultSort();};const handleTableColumn=()=>{const{scrollXLoad}=reactData;const{visibleColumn,scrollXStore,fullColumnIdData}=internalData;const tableColumn=scrollXLoad?visibleColumn.slice(scrollXStore.startIndex,scrollXStore.endIndex):visibleColumn.slice(0);tableColumn.forEach((column,$index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.$index=$index;}});reactData.tableColumn=tableColumn;};const handleUpdateColumn=()=>{const columnList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(internalData.collectColumn,'renderSortNumber');internalData.collectColumn=columnList;const tableFullColumn=getColumnList(columnList);internalData.tableFullColumn=tableFullColumn;cacheColumnMap();};const loadScrollXData=()=>{const{isScrollXBig}=reactData;const{mergeBodyList,mergeFooterList,scrollXStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollXStore;const{toVisibleIndex,visibleSize}=handleVirtualXVisible();const offsetItem={startIndex:Math.max(0,isScrollXBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollXBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+offsetSize+preloadSize};scrollXStore.visibleStartIndex=toVisibleIndex-1;scrollXStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList),offsetItem,'col');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollXStore.startIndex=offsetStartIndex;scrollXStore.endIndex=offsetEndIndex;$xeTable.updateScrollXData();}}$xeTable.closeTooltip();};// 获取所有的列,排除分组
10936
10937
  const getColumnList=columns=>{const result=[];columns.forEach(column=>{result.push(...(column.children&&column.children.length?getColumnList(column.children):[column]));});return result;};const parseColumns=isReset=>{// const { showOverflow } = props
10937
10938
  // const rowOpts = computeRowOpts.value
10938
- const leftList=[];const centerList=[];const rightList=[];const{isGroup,columnStore}=reactData;const virtualXOpts=computeVirtualXOpts.value;const{collectColumn,tableFullColumn,scrollXStore,fullColumnIdData}=internalData;// 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
10939
+ const leftList=[];const centerList=[];const rightList=[];const{isGroup,columnStore}=reactData;const{collectColumn,tableFullColumn,scrollXStore,fullColumnIdData}=internalData;// 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
10939
10940
  if(isGroup){const leftGroupList=[];const centerGroupList=[];const rightGroupList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const isColGroup=hasChildrenList(column);// 如果是分组,必须按组设置固定列,不允许给子列设置固定
10940
10941
  if(parentColumn&&parentColumn.fixed){column.fixed=parentColumn.fixed;}if(parentColumn&&column.fixed!==parentColumn.fixed){errLog('vxe.error.groupFixed');}if(isColGroup){column.visible=!!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(column.children,subColumn=>hasChildrenList(subColumn)?false:subColumn.visible);}else if(column.visible){if(column.fixed==='left'){leftList.push(column);}else if(column.fixed==='right'){rightList.push(column);}else{centerList.push(column);}}});collectColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){leftGroupList.push(column);}else if(column.fixed==='right'){rightGroupList.push(column);}else{centerGroupList.push(column);}}});reactData.tableGroupColumn=leftGroupList.concat(centerGroupList).concat(rightGroupList);}else{// 重新分配列
10941
- tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){leftList.push(column);}else if(column.fixed==='right'){rightList.push(column);}else{centerList.push(column);}}});}const visibleColumn=leftList.concat(centerList).concat(rightList);// 如果gt为0,则总是启用
10942
- const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<tableFullColumn.length);reactData.hasFixedColumn=leftList.length>0||rightList.length>0;Object.assign(columnStore,{leftList,centerList,rightList});if(scrollXLoad){// if (showOverflow) {
10942
+ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){leftList.push(column);}else if(column.fixed==='right'){rightList.push(column);}else{centerList.push(column);}}});}const visibleColumn=leftList.concat(centerList).concat(rightList);internalData.visibleColumn=visibleColumn;updateColumnOffsetLeft();const sXLoad=updateScrollXStatus();reactData.hasFixedColumn=leftList.length>0||rightList.length>0;Object.assign(columnStore,{leftList,centerList,rightList});if(sXLoad){// if (showOverflow) {
10943
10943
  // if (!rowOpts.height) {
10944
10944
  // const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
10945
10945
  // if (errColumn) {
@@ -10955,7 +10955,8 @@ const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt==
10955
10955
  // }
10956
10956
  if(props.spanMethod){warnLog('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){warnLog('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible();scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
10957
10957
  // 如果列被设置为固定,则清除合并状态
10958
- if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}reactData.scrollXLoad=scrollXLoad;visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});internalData.visibleColumn=visibleColumn;handleTableColumn();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;reactData.isDragColMove=false;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return $xeTable.recalculate();});});};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
10958
+ if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;reactData.isDragColMove=false;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return $xeTable.recalculate();});});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
10959
+ const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
10959
10960
  const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;return scrollYLoad;};/**
10960
10961
  * 展开与收起树节点
10961
10962
  * @param rows
@@ -11013,7 +11014,8 @@ setTimeout(()=>$xeTable.recalculate(),50);});},/**
11013
11014
  * 加载列配置
11014
11015
  * 对于表格列需要重载、局部递增场景下可能会用到
11015
11016
  * @param {ColumnInfo} columns 列配置
11016
- */loadColumn(columns){const collectColumn=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns,column=>(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(cell.createColumn($xeTable,column)));return handleColumn(collectColumn);},/**
11017
+ */loadColumn(columns){const{lastScrollLeft,lastScrollTop}=internalData;const collectColumn=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns,column=>(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(cell.createColumn($xeTable,column)));return handleColumn(collectColumn).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
11018
+ if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop);});},/**
11017
11019
  * 加载列配置并恢复到初始状态
11018
11020
  * 对于表格列需要重载、局部递增场景下可能会用到
11019
11021
  * @param {ColumnInfo} columns 列配置
@@ -11140,7 +11142,7 @@ if(!targetColumn.fixed&&isMaxFixedColumn){if(core_.VxeUI.modal){core_.VxeUI.moda
11140
11142
  */refreshColumn(initSort){if(initSort){handleUpdateColumn();}return parseColumns(true).then(()=>{return tableMethods.refreshScroll();}).then(()=>{return tableMethods.recalculate();});},setRowHeightConf(heightConf){const{fullAllDataRowIdData}=internalData;let status=false;if(heightConf){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(heightConf,(height,rowid)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(rHeight){rowRest.resizeHeight=rHeight;if(!status){status=true;}}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return{status};});},getRowHeightConf(isFull){const{fullAllDataRowIdData,afterFullData}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rest={};afterFullData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const resizeHeight=rowRest.resizeHeight;if(resizeHeight||isFull){const currCellHeight=resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;rest[rowid]=currCellHeight;}}});return rest;},setRowHeight(rowOrId,height){const{fullAllDataRowIdData}=internalData;let status=false;const rows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowOrId)?rowOrId:[rowOrId];let rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(isScale(height)){const tableBody=refTableBody.value;const bodyElem=tableBody?tableBody.$el:null;const bodyHeight=bodyElem?bodyElem.clientHeight-1:0;rHeight=Math.floor(rHeight*bodyHeight);}if(rHeight){const{handleGetRowId}=createHandleGetRowId($xeTable);rows.forEach(row=>{const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(row)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=rHeight;if(!status){status=true;}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return{status};});},getRowHeight(rowOrId){const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrId)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowOrId)?rowOrId:getRowid($xeTable,rowOrId);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;}return 0;},/**
11141
11143
  * 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
11142
11144
  */refreshScroll(){const{elemStore,lastScrollLeft,lastScrollTop}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;return new Promise(resolve=>{// 还原滚动条位置
11143
- if(lastScrollLeft||lastScrollTop){return restoreScrollLocation($xeTable,lastScrollLeft,lastScrollTop).then().then(()=>{// 存在滚动行为未结束情况
11145
+ if(lastScrollLeft||lastScrollTop){return restoreScrollLocation($xeTable,lastScrollLeft,lastScrollTop).then(()=>{// 存在滚动行为未结束情况
11144
11146
  setTimeout(resolve,10);});}internalData.intoRunScroll=true;// 重置
11145
11147
  setScrollTop(yHandleEl,lastScrollTop);setScrollTop(bodyScrollElem,lastScrollTop);setScrollTop(leftScrollElem,lastScrollTop);setScrollTop(rightScrollElem,lastScrollTop);setScrollLeft(xHandleEl,lastScrollLeft);setScrollLeft(bodyScrollElem,lastScrollLeft);setScrollLeft(headerScrollElem,lastScrollLeft);setScrollLeft(footerScrollElem,lastScrollLeft);// 存在滚动行为未结束情况
11146
11148
  setTimeout(()=>{internalData.intoRunScroll=false;resolve();},10);});},/**
@@ -11263,7 +11265,7 @@ if(transform){return handleVirtualTreeExpand(rows,expanded);}else{return handleB
11263
11265
  * 如果有滚动条,则滚动到对应的位置
11264
11266
  * @param {Number} scrollLeft 左距离
11265
11267
  * @param {Number} scrollTop 上距离
11266
- */scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);loadScrollXData();}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)){setScrollTop(yHandleEl,scrollTop);setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);loadScrollYData();}if(reactData.scrollXLoad||reactData.scrollYLoad){return new Promise(resolve=>{setTimeout(()=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},30);});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
11268
+ */scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);loadScrollXData();}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)){setScrollTop(yHandleEl,scrollTop);setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);loadScrollYData();}if(reactData.scrollXLoad||reactData.scrollYLoad){return new Promise(resolve=>{setTimeout(()=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},30);});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{internalData.intoRunScroll=false;});},/**
11267
11269
  * 如果有滚动条,则滚动到对应的行
11268
11270
  * @param {Row} row 行对象
11269
11271
  * @param {ColumnInfo} fieldOrColumn 列配置
@@ -11516,7 +11518,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
11516
11518
  * 已废弃,被 getCellElement 替换
11517
11519
  * @deprecated
11518
11520
  */getCell(row,column){return tableMethods.getCellElement(row,column);},findRowIndexOf(list,row){return row?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list,item=>$xeTable.eqRow(item,row)):-1;},eqRow(row1,row2){if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;}};// 检测对应模块是否安装
11519
- 'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name=>{$xeTable[name]=function(){errLog('vxe.error.reqModule',['VxeTableExportModule']);};});'clearValidate,fullValidate,validate'.split(',').forEach(name=>{$xeTable[name]=function(){errLog('vxe.error.reqModule',['VxeTableValidatorModule']);};});Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
11521
+ 'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name=>{$xeTable[name]=function(){errLog('vxe.error.reqModule',['Export']);};});'clearValidate,fullValidate,validate'.split(',').forEach(name=>{$xeTable[name]=function(){errLog('vxe.error.reqModule',['Validator']);};});Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
11520
11522
  * 渲染浮固定列
11521
11523
  * 分别渲染左边固定列和右边固定列
11522
11524
  * 如果宽度足够情况下,则不需要渲染固定列
@@ -11728,8 +11730,6 @@ const {
11728
11730
  if ($table) {
11729
11731
  if ($table.triggerCustomEvent) {
11730
11732
  $table.triggerCustomEvent($event);
11731
- } else {
11732
- errLog('vxe.error.reqModule', ['VxeTableCustomModule']);
11733
11733
  }
11734
11734
  }
11735
11735
  };
@@ -11742,8 +11742,6 @@ const {
11742
11742
  const $table = connectTable;
11743
11743
  if ($table) {
11744
11744
  $table.customOpenEvent($event);
11745
- } else {
11746
- errLog('vxe.error.reqModule', ['VxeTableCustomModule']);
11747
11745
  }
11748
11746
  };
11749
11747
  const handleMouseleaveSettingEvent = ({
@@ -15166,7 +15164,7 @@ edit_hook_hooks.add('tableEditModule', {
15166
15164
  }
15167
15165
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
15168
15166
  $xeTable.updateCellAreas();
15169
- return $xeTable.recalculate();
15167
+ return $xeTable.recalculate(true);
15170
15168
  }).then(() => {
15171
15169
  return {
15172
15170
  row: newRecords.length ? newRecords[newRecords.length - 1] : null,
@@ -15572,7 +15570,7 @@ edit_hook_hooks.add('tableEditModule', {
15572
15570
  }
15573
15571
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
15574
15572
  $xeTable.updateCellAreas();
15575
- return $xeTable.recalculate();
15573
+ return $xeTable.recalculate(true);
15576
15574
  }).then(() => {
15577
15575
  return {
15578
15576
  row: delList.length ? delList[delList.length - 1] : null,
@@ -18002,8 +18000,8 @@ keyboard_hook_hooks.add('tableKeyboardModule', {
18002
18000
  let mouseScrollSpaceSize = 1;
18003
18001
  const triggerEvent = (type, evnt) => {
18004
18002
  $xeTable.dispatchEvent(`checkbox-range-${type}`, {
18005
- records: $xeTable.getCheckboxRecords(),
18006
- reserves: $xeTable.getCheckboxReserveRecords()
18003
+ records: () => $xeTable.getCheckboxRecords(),
18004
+ reserves: () => $xeTable.getCheckboxReserveRecords()
18007
18005
  }, evnt);
18008
18006
  };
18009
18007
  const handleChecked = evnt => {