vxe-table 4.12.0-beta.22 → 4.12.0-beta.23
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/keyboard/hook.js +53 -31
- package/es/table/src/table.js +4 -13
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +60 -37
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/keyboard/hook.js +54 -29
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/table.js +4 -14
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -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 +2 -2
- package/packages/table/module/keyboard/hook.ts +51 -28
- package/packages/table/src/table.ts +4 -13
- /package/es/{iconfont.1742525007622.ttf → iconfont.1742535213785.ttf} +0 -0
- /package/es/{iconfont.1742525007622.woff → iconfont.1742535213785.woff} +0 -0
- /package/es/{iconfont.1742525007622.woff2 → iconfont.1742535213785.woff2} +0 -0
- /package/lib/{iconfont.1742525007622.ttf → iconfont.1742535213785.ttf} +0 -0
- /package/lib/{iconfont.1742525007622.woff → iconfont.1742535213785.woff} +0 -0
- /package/lib/{iconfont.1742525007622.woff2 → iconfont.1742535213785.woff2} +0 -0
|
@@ -281,6 +281,38 @@ hooks.add('tableKeyboardModule', {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
};
|
|
284
|
+
const handleMoveSelected = (evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow) => {
|
|
285
|
+
const { afterFullData, visibleColumn } = internalData;
|
|
286
|
+
const params = Object.assign({}, args);
|
|
287
|
+
const _rowIndex = $xeTable.getVTRowIndex(params.row);
|
|
288
|
+
const _columnIndex = $xeTable.getVTColumnIndex(params.column);
|
|
289
|
+
evnt.preventDefault();
|
|
290
|
+
if (isUpArrow && _rowIndex > 0) {
|
|
291
|
+
// 移动到上一行
|
|
292
|
+
params.rowIndex = _rowIndex - 1;
|
|
293
|
+
params.row = afterFullData[params.rowIndex];
|
|
294
|
+
}
|
|
295
|
+
else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
296
|
+
// 移动到下一行
|
|
297
|
+
params.rowIndex = _rowIndex + 1;
|
|
298
|
+
params.row = afterFullData[params.rowIndex];
|
|
299
|
+
}
|
|
300
|
+
else if (isLeftArrow && _columnIndex) {
|
|
301
|
+
// 移动到左侧单元格
|
|
302
|
+
params.columnIndex = _columnIndex - 1;
|
|
303
|
+
params.column = visibleColumn[params.columnIndex];
|
|
304
|
+
}
|
|
305
|
+
else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
306
|
+
// 移动到右侧单元格
|
|
307
|
+
params.columnIndex = _columnIndex + 1;
|
|
308
|
+
params.column = visibleColumn[params.columnIndex];
|
|
309
|
+
}
|
|
310
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
311
|
+
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
312
|
+
$xeTable.handleSelected(params, evnt);
|
|
313
|
+
});
|
|
314
|
+
return params;
|
|
315
|
+
};
|
|
284
316
|
const keyboardMethods = {
|
|
285
317
|
// 处理 Tab 键移动
|
|
286
318
|
moveTabSelected(args, isLeft, evnt) {
|
|
@@ -437,46 +469,36 @@ hooks.add('tableKeyboardModule', {
|
|
|
437
469
|
}
|
|
438
470
|
},
|
|
439
471
|
// 处理可编辑方向键移动
|
|
440
|
-
|
|
441
|
-
const {
|
|
472
|
+
moveArrowSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
473
|
+
const { highlightCurrentRow, highlightCurrentColumn } = props;
|
|
442
474
|
const rowOpts = computeRowOpts.value;
|
|
443
|
-
const currentRowOpts = computeCurrentRowOpts.value;
|
|
444
475
|
const columnOpts = computeColumnOpts.value;
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
evnt.preventDefault();
|
|
450
|
-
if (isUpArrow && _rowIndex > 0) {
|
|
451
|
-
// 移动到上一行
|
|
452
|
-
params.rowIndex = _rowIndex - 1;
|
|
453
|
-
params.row = afterFullData[params.rowIndex];
|
|
454
|
-
}
|
|
455
|
-
else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
456
|
-
// 移动到下一行
|
|
457
|
-
params.rowIndex = _rowIndex + 1;
|
|
458
|
-
params.row = afterFullData[params.rowIndex];
|
|
459
|
-
}
|
|
460
|
-
else if (isLeftArrow && _columnIndex) {
|
|
461
|
-
// 移动到左侧单元格
|
|
462
|
-
params.columnIndex = _columnIndex - 1;
|
|
463
|
-
params.column = visibleColumn[params.columnIndex];
|
|
476
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
477
|
+
// 当前行按键上下移动
|
|
478
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
479
|
+
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
464
480
|
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
params.column = visibleColumn[params.columnIndex];
|
|
481
|
+
// 当前行按键左右移动
|
|
482
|
+
if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
|
|
483
|
+
$xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
|
|
469
484
|
}
|
|
470
|
-
|
|
485
|
+
},
|
|
486
|
+
moveEnterSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
487
|
+
const rowOpts = computeRowOpts.value;
|
|
488
|
+
const currentRowOpts = computeCurrentRowOpts.value;
|
|
489
|
+
const columnOpts = computeColumnOpts.value;
|
|
490
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
491
|
+
const params = handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
492
|
+
if ((rowOpts.isCurrent && currentRowOpts.isFollowSelected)) {
|
|
471
493
|
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
472
494
|
}
|
|
473
495
|
if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
|
|
474
496
|
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
475
497
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
498
|
+
},
|
|
499
|
+
// 已废弃,待删除
|
|
500
|
+
moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
501
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
480
502
|
},
|
|
481
503
|
handleCellMousedownEvent
|
|
482
504
|
};
|
package/es/table/src/table.js
CHANGED
|
@@ -6170,7 +6170,7 @@ export default defineComponent({
|
|
|
6170
6170
|
// 该行为只对当前激活的表格有效
|
|
6171
6171
|
if (internalData.isActivated) {
|
|
6172
6172
|
tablePrivateMethods.preventEvent(evnt, 'event.keydown', null, () => {
|
|
6173
|
-
const { mouseConfig, keyboardConfig, treeConfig, editConfig, highlightCurrentRow
|
|
6173
|
+
const { mouseConfig, keyboardConfig, treeConfig, editConfig, highlightCurrentRow } = props;
|
|
6174
6174
|
const { ctxMenuStore, editStore, currentRow } = reactData;
|
|
6175
6175
|
const { afterFullData } = internalData;
|
|
6176
6176
|
const isMenu = computeIsMenu.value;
|
|
@@ -6181,7 +6181,6 @@ export default defineComponent({
|
|
|
6181
6181
|
const treeOpts = computeTreeOpts.value;
|
|
6182
6182
|
const menuList = computeMenuList.value;
|
|
6183
6183
|
const rowOpts = computeRowOpts.value;
|
|
6184
|
-
const columnOpts = computeColumnOpts.value;
|
|
6185
6184
|
const { selected, actived } = editStore;
|
|
6186
6185
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
6187
6186
|
const keyCode = evnt.keyCode;
|
|
@@ -6288,7 +6287,7 @@ export default defineComponent({
|
|
|
6288
6287
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
6289
6288
|
}
|
|
6290
6289
|
else {
|
|
6291
|
-
$xeTable.
|
|
6290
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
|
|
6292
6291
|
}
|
|
6293
6292
|
}
|
|
6294
6293
|
else {
|
|
@@ -6322,7 +6321,7 @@ export default defineComponent({
|
|
|
6322
6321
|
return;
|
|
6323
6322
|
}
|
|
6324
6323
|
}
|
|
6325
|
-
$xeTable.
|
|
6324
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
|
|
6326
6325
|
if (enterMethod) {
|
|
6327
6326
|
enterMethod(etrParams);
|
|
6328
6327
|
}
|
|
@@ -6353,15 +6352,7 @@ export default defineComponent({
|
|
|
6353
6352
|
if (!isEditStatus) {
|
|
6354
6353
|
// 如果按下了方向键
|
|
6355
6354
|
if (selected.row && selected.column) {
|
|
6356
|
-
$xeTable.
|
|
6357
|
-
}
|
|
6358
|
-
// 当前行按键上下移动
|
|
6359
|
-
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
6360
|
-
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
6361
|
-
}
|
|
6362
|
-
// 当前行按键左右移动
|
|
6363
|
-
if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
|
|
6364
|
-
$xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
|
|
6355
|
+
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
6365
6356
|
}
|
|
6366
6357
|
}
|
|
6367
6358
|
}
|
package/es/ui/index.js
CHANGED
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.12.0-beta.
|
|
3141
|
+
const version = "4.12.0-beta.23";
|
|
3142
3142
|
core_.VxeUI.version = version;
|
|
3143
3143
|
core_.VxeUI.tableVersion = version;
|
|
3144
3144
|
core_.VxeUI.setConfig({
|
|
@@ -3587,7 +3587,7 @@ var esnext_iterator_some = __webpack_require__(7550);
|
|
|
3587
3587
|
const {
|
|
3588
3588
|
log: log_log
|
|
3589
3589
|
} = core_.VxeUI;
|
|
3590
|
-
const log_version = `table v${"4.12.0-beta.
|
|
3590
|
+
const log_version = `table v${"4.12.0-beta.23"}`;
|
|
3591
3591
|
const warnLog = log_log.create('warn', log_version);
|
|
3592
3592
|
const errLog = log_log.create('error', log_version);
|
|
3593
3593
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -10993,7 +10993,7 @@ if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如
|
|
|
10993
10993
|
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}dispatchEvent('keydown',{},evnt);dispatchEvent('keydown-end',{},evnt);});}};/**
|
|
10994
10994
|
* 全局键盘事件
|
|
10995
10995
|
*/const handleGlobalKeydownEvent=evnt=>{// 该行为只对当前激活的表格有效
|
|
10996
|
-
if(internalData.isActivated){tablePrivateMethods.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow
|
|
10996
|
+
if(internalData.isActivated){tablePrivateMethods.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow}=props;const{ctxMenuStore,editStore,currentRow}=reactData;const{afterFullData}=internalData;const isMenu=computeIsMenu.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{selected,actived}=editStore;const childrenField=treeOpts.children||treeOpts.childrenField;const keyCode=evnt.keyCode;const isEsc=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isF2=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=table_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const hasMetaKey=evnt.metaKey;const hasCtrlKey=evnt.ctrlKey;const hasShiftKey=evnt.shiftKey;const isAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
10997
10997
|
evnt.preventDefault();if(ctxMenuStore.showChild&&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.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
10998
10998
|
if($xeTable.closeMenu){$xeTable.closeMenu();}tableMethods.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
|
|
10999
10999
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
@@ -11004,12 +11004,10 @@ internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout
|
|
|
11004
11004
|
if(hasCtrlKey){// 如果是激活编辑状态,则取消编辑
|
|
11005
11005
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
11006
11006
|
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{$xeTable.handleSelected(params,evnt);});}}}else{// 如果是激活状态,退则出到上一行/下一行
|
|
11007
|
-
if(selected.row||actived.row){const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.
|
|
11008
|
-
if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,activeColumn);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}$xeTable.
|
|
11007
|
+
if(selected.row||actived.row){const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const etrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex:$xeTable.getVTColumnIndex(activeColumn),$table:$xeTable};if(!beforeEnterMethod||beforeEnterMethod(etrParams)!==false){// 最后一行按下回车键,自动追加一行
|
|
11008
|
+
if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,activeColumn);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);if(enterMethod){enterMethod(etrParams);}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow){// 如果是树形表格当前行回车移动到子节点
|
|
11009
11009
|
const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:tableMethods.getRowIndex(targetRow),$rowIndex:tableMethods.getVMRowIndex(targetRow)};tableMethods.setTreeExpand(currentRow,true).then(()=>tableMethods.scrollToRow(targetRow)).then(()=>tablePrivateMethods.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&keyboardConfig&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
|
|
11010
|
-
if(selected.row&&selected.column){$xeTable.
|
|
11011
|
-
if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
|
|
11012
|
-
if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
|
|
11010
|
+
if(selected.row&&selected.column){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
|
|
11013
11011
|
if(selected.row||selected.column){$xeTable.moveTabSelected(selected.args,hasShiftKey,evnt);}else if(actived.row||actived.column){$xeTable.moveTabSelected(actived.args,hasShiftKey,evnt);}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selected.row||selected.column)){// 如果是删除键
|
|
11014
11012
|
if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:tableMethods.getRowIndex(selected.row),column:selected.column,columnIndex:tableMethods.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid};// 是否被禁用
|
|
11015
11013
|
if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{setCellValue(selected.row,selected.column,null);}// 如果按下 del 键,更新表尾数据
|
|
@@ -15505,6 +15503,38 @@ keyboard_hook_hooks.add('tableKeyboardModule', {
|
|
|
15505
15503
|
}
|
|
15506
15504
|
}
|
|
15507
15505
|
};
|
|
15506
|
+
const handleMoveSelected = (evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow) => {
|
|
15507
|
+
const {
|
|
15508
|
+
afterFullData,
|
|
15509
|
+
visibleColumn
|
|
15510
|
+
} = internalData;
|
|
15511
|
+
const params = Object.assign({}, args);
|
|
15512
|
+
const _rowIndex = $xeTable.getVTRowIndex(params.row);
|
|
15513
|
+
const _columnIndex = $xeTable.getVTColumnIndex(params.column);
|
|
15514
|
+
evnt.preventDefault();
|
|
15515
|
+
if (isUpArrow && _rowIndex > 0) {
|
|
15516
|
+
// 移动到上一行
|
|
15517
|
+
params.rowIndex = _rowIndex - 1;
|
|
15518
|
+
params.row = afterFullData[params.rowIndex];
|
|
15519
|
+
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
15520
|
+
// 移动到下一行
|
|
15521
|
+
params.rowIndex = _rowIndex + 1;
|
|
15522
|
+
params.row = afterFullData[params.rowIndex];
|
|
15523
|
+
} else if (isLeftArrow && _columnIndex) {
|
|
15524
|
+
// 移动到左侧单元格
|
|
15525
|
+
params.columnIndex = _columnIndex - 1;
|
|
15526
|
+
params.column = visibleColumn[params.columnIndex];
|
|
15527
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
15528
|
+
// 移动到右侧单元格
|
|
15529
|
+
params.columnIndex = _columnIndex + 1;
|
|
15530
|
+
params.column = visibleColumn[params.columnIndex];
|
|
15531
|
+
}
|
|
15532
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
15533
|
+
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
15534
|
+
$xeTable.handleSelected(params, evnt);
|
|
15535
|
+
});
|
|
15536
|
+
return params;
|
|
15537
|
+
};
|
|
15508
15538
|
const keyboardMethods = {
|
|
15509
15539
|
// 处理 Tab 键移动
|
|
15510
15540
|
moveTabSelected(args, isLeft, evnt) {
|
|
@@ -15665,46 +15695,39 @@ keyboard_hook_hooks.add('tableKeyboardModule', {
|
|
|
15665
15695
|
}
|
|
15666
15696
|
},
|
|
15667
15697
|
// 处理可编辑方向键移动
|
|
15668
|
-
|
|
15698
|
+
moveArrowSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
15669
15699
|
const {
|
|
15670
|
-
|
|
15671
|
-
|
|
15672
|
-
} =
|
|
15700
|
+
highlightCurrentRow,
|
|
15701
|
+
highlightCurrentColumn
|
|
15702
|
+
} = props;
|
|
15703
|
+
const rowOpts = computeRowOpts.value;
|
|
15704
|
+
const columnOpts = computeColumnOpts.value;
|
|
15705
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
15706
|
+
// 当前行按键上下移动
|
|
15707
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
15708
|
+
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
15709
|
+
}
|
|
15710
|
+
// 当前行按键左右移动
|
|
15711
|
+
if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
|
|
15712
|
+
$xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
|
|
15713
|
+
}
|
|
15714
|
+
},
|
|
15715
|
+
moveEnterSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
15673
15716
|
const rowOpts = computeRowOpts.value;
|
|
15674
15717
|
const currentRowOpts = computeCurrentRowOpts.value;
|
|
15675
15718
|
const columnOpts = computeColumnOpts.value;
|
|
15676
15719
|
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
15677
|
-
const params =
|
|
15678
|
-
const _rowIndex = $xeTable.getVTRowIndex(params.row);
|
|
15679
|
-
const _columnIndex = $xeTable.getVTColumnIndex(params.column);
|
|
15680
|
-
evnt.preventDefault();
|
|
15681
|
-
if (isUpArrow && _rowIndex > 0) {
|
|
15682
|
-
// 移动到上一行
|
|
15683
|
-
params.rowIndex = _rowIndex - 1;
|
|
15684
|
-
params.row = afterFullData[params.rowIndex];
|
|
15685
|
-
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
15686
|
-
// 移动到下一行
|
|
15687
|
-
params.rowIndex = _rowIndex + 1;
|
|
15688
|
-
params.row = afterFullData[params.rowIndex];
|
|
15689
|
-
} else if (isLeftArrow && _columnIndex) {
|
|
15690
|
-
// 移动到左侧单元格
|
|
15691
|
-
params.columnIndex = _columnIndex - 1;
|
|
15692
|
-
params.column = visibleColumn[params.columnIndex];
|
|
15693
|
-
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
15694
|
-
// 移动到右侧单元格
|
|
15695
|
-
params.columnIndex = _columnIndex + 1;
|
|
15696
|
-
params.column = visibleColumn[params.columnIndex];
|
|
15697
|
-
}
|
|
15720
|
+
const params = handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
15698
15721
|
if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
|
|
15699
15722
|
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
15700
15723
|
}
|
|
15701
15724
|
if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
|
|
15702
15725
|
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
15703
15726
|
}
|
|
15704
|
-
|
|
15705
|
-
|
|
15706
|
-
|
|
15707
|
-
|
|
15727
|
+
},
|
|
15728
|
+
// 已废弃,待删除
|
|
15729
|
+
moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
15730
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
15708
15731
|
},
|
|
15709
15732
|
handleCellMousedownEvent
|
|
15710
15733
|
};
|