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.
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +2 -2
- package/es/table/module/keyboard/hook.js +4 -1
- package/es/table/src/table.js +33 -11
- package/es/toolbar/src/toolbar.js +0 -6
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +16 -18
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +2 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -2
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/table.js +9 -8
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +0 -4
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +2 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/module/edit/hook.ts +2 -2
- package/packages/table/module/keyboard/hook.ts +4 -1
- package/packages/table/src/table.ts +34 -11
- package/packages/toolbar/src/toolbar.ts +0 -4
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1749440132931.ttf → iconfont.1749796903898.ttf} +0 -0
- /package/es/{iconfont.1749440132931.woff → iconfont.1749796903898.woff} +0 -0
- /package/es/{iconfont.1749440132931.woff2 → iconfont.1749796903898.woff2} +0 -0
- /package/lib/{iconfont.1749440132931.ttf → iconfont.1749796903898.ttf} +0 -0
- /package/lib/{iconfont.1749440132931.woff → iconfont.1749796903898.woff} +0 -0
- /package/lib/{iconfont.1749440132931.woff2 → iconfont.1749796903898.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -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
|
-
|
|
3437
|
-
|
|
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 (
|
|
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(
|
|
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', ['
|
|
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', ['
|
|
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.
|
|
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
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.
|
|
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.
|
|
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
|
|
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)
|
|
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();}
|
|
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(
|
|
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',['
|
|
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 => {
|