vxe-table 4.18.0-beta.13 → 4.18.0-beta.14
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/src/emits.js +1 -0
- package/es/table/src/table.js +93 -13
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +10 -8
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/table.js +7 -5
- 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 +1 -1
- package/packages/table/src/emits.ts +1 -0
- package/packages/table/src/table.ts +90 -12
- /package/es/{iconfont.1769156349166.ttf → iconfont.1769169076102.ttf} +0 -0
- /package/es/{iconfont.1769156349166.woff → iconfont.1769169076102.woff} +0 -0
- /package/es/{iconfont.1769156349166.woff2 → iconfont.1769169076102.woff2} +0 -0
- /package/lib/{iconfont.1769156349166.ttf → iconfont.1769169076102.ttf} +0 -0
- /package/lib/{iconfont.1769156349166.woff → iconfont.1769169076102.woff} +0 -0
- /package/lib/{iconfont.1769156349166.woff2 → iconfont.1769169076102.woff2} +0 -0
package/es/table/src/emits.js
CHANGED
package/es/table/src/table.js
CHANGED
|
@@ -7785,7 +7785,7 @@ export default defineVxeComponent({
|
|
|
7785
7785
|
$xeTable.preventEvent(evnt, 'event.keydown', null, () => {
|
|
7786
7786
|
const { mouseConfig, keyboardConfig, treeConfig, editConfig, highlightCurrentRow, highlightCurrentColumn } = props;
|
|
7787
7787
|
const { ctxMenuStore, editStore, currentRow } = reactData;
|
|
7788
|
-
const { afterFullData } = internalData;
|
|
7788
|
+
const { afterFullData, visibleColumn } = internalData;
|
|
7789
7789
|
const isContentMenu = computeIsContentMenu.value;
|
|
7790
7790
|
const bodyMenu = computeBodyMenu.value;
|
|
7791
7791
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
@@ -7795,6 +7795,7 @@ export default defineVxeComponent({
|
|
|
7795
7795
|
const menuList = computeMenuList.value;
|
|
7796
7796
|
const rowOpts = computeRowOpts.value;
|
|
7797
7797
|
const columnOpts = computeColumnOpts.value;
|
|
7798
|
+
const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts;
|
|
7798
7799
|
const { selected, actived } = editStore;
|
|
7799
7800
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7800
7801
|
const keyCode = evnt.keyCode;
|
|
@@ -7876,7 +7877,6 @@ export default defineVxeComponent({
|
|
|
7876
7877
|
}, 1000);
|
|
7877
7878
|
}
|
|
7878
7879
|
else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
7879
|
-
const { isLastEnterAppendRow, beforeEnterMethod, enterMethod } = keyboardOpts;
|
|
7880
7880
|
// 退出选中
|
|
7881
7881
|
if (isControlKey) {
|
|
7882
7882
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -7894,6 +7894,8 @@ export default defineVxeComponent({
|
|
|
7894
7894
|
else {
|
|
7895
7895
|
// 如果是激活状态,退则出到上一行/下一行
|
|
7896
7896
|
if (selected.row || actived.row) {
|
|
7897
|
+
const activeRow = selected.row || actived.row;
|
|
7898
|
+
const activeColumn = selected.column || actived.column;
|
|
7897
7899
|
const activeParams = selected.row ? selected.args : actived.args;
|
|
7898
7900
|
if (hasShiftKey) {
|
|
7899
7901
|
if (keyboardOpts.enterToTab) {
|
|
@@ -7904,13 +7906,46 @@ export default defineVxeComponent({
|
|
|
7904
7906
|
}
|
|
7905
7907
|
}
|
|
7906
7908
|
else {
|
|
7909
|
+
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
7910
|
+
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
|
|
7907
7911
|
if (keyboardOpts.enterToTab) {
|
|
7908
|
-
|
|
7912
|
+
const ttrParams = {
|
|
7913
|
+
row: activeRow,
|
|
7914
|
+
rowIndex: $xeTable.getRowIndex(activeRow),
|
|
7915
|
+
$rowIndex: $xeTable.getVMRowIndex(activeRow),
|
|
7916
|
+
_rowIndex,
|
|
7917
|
+
column: activeColumn,
|
|
7918
|
+
columnIndex: $xeTable.getColumnIndex(activeColumn),
|
|
7919
|
+
$columnIndex: $xeTable.getVMColumnIndex(activeColumn),
|
|
7920
|
+
_columnIndex,
|
|
7921
|
+
$table: $xeTable
|
|
7922
|
+
};
|
|
7923
|
+
if (!beforeTabMethod || beforeTabMethod(ttrParams) !== false) {
|
|
7924
|
+
evnt.preventDefault();
|
|
7925
|
+
// 最后一行按下Tab键,自动追加一行
|
|
7926
|
+
if (isLastTabAppendRow) {
|
|
7927
|
+
const newColumn = visibleColumn[0];
|
|
7928
|
+
if (_rowIndex >= afterFullData.length - 1 && _columnIndex >= visibleColumn.length - 1) {
|
|
7929
|
+
if (actived.row) {
|
|
7930
|
+
$xeTable.handleClearEdit(evnt);
|
|
7931
|
+
}
|
|
7932
|
+
$xeTable.insertAt({}, -1).then(({ row: newRow }) => {
|
|
7933
|
+
$xeTable.scrollToRow(newRow, newColumn);
|
|
7934
|
+
$xeTable.handleSelected(Object.assign(Object.assign({}, activeParams), { row: newRow, column: newColumn }), evnt);
|
|
7935
|
+
});
|
|
7936
|
+
$xeTable.dispatchEvent('tab-append-row', ttrParams, evnt);
|
|
7937
|
+
return;
|
|
7938
|
+
}
|
|
7939
|
+
}
|
|
7940
|
+
if (tabMethod) {
|
|
7941
|
+
tabMethod(ttrParams);
|
|
7942
|
+
}
|
|
7943
|
+
else {
|
|
7944
|
+
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
7945
|
+
}
|
|
7946
|
+
}
|
|
7909
7947
|
}
|
|
7910
7948
|
else {
|
|
7911
|
-
const activeRow = selected.row || actived.row;
|
|
7912
|
-
const activeColumn = selected.column || actived.column;
|
|
7913
|
-
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
7914
7949
|
const etrParams = {
|
|
7915
7950
|
row: activeRow,
|
|
7916
7951
|
rowIndex: $xeTable.getRowIndex(activeRow),
|
|
@@ -7919,10 +7954,11 @@ export default defineVxeComponent({
|
|
|
7919
7954
|
column: activeColumn,
|
|
7920
7955
|
columnIndex: $xeTable.getColumnIndex(activeColumn),
|
|
7921
7956
|
$columnIndex: $xeTable.getVMColumnIndex(activeColumn),
|
|
7922
|
-
_columnIndex
|
|
7957
|
+
_columnIndex,
|
|
7923
7958
|
$table: $xeTable
|
|
7924
7959
|
};
|
|
7925
7960
|
if (!beforeEnterMethod || beforeEnterMethod(etrParams) !== false) {
|
|
7961
|
+
evnt.preventDefault();
|
|
7926
7962
|
// 最后一行按下回车键,自动追加一行
|
|
7927
7963
|
if (isLastEnterAppendRow) {
|
|
7928
7964
|
if (_rowIndex >= afterFullData.length - 1) {
|
|
@@ -7934,10 +7970,15 @@ export default defineVxeComponent({
|
|
|
7934
7970
|
return;
|
|
7935
7971
|
}
|
|
7936
7972
|
}
|
|
7937
|
-
$xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
|
|
7938
7973
|
if (enterMethod) {
|
|
7939
7974
|
enterMethod(etrParams);
|
|
7940
7975
|
}
|
|
7976
|
+
else {
|
|
7977
|
+
if (actived.row) {
|
|
7978
|
+
$xeTable.handleClearEdit(evnt);
|
|
7979
|
+
}
|
|
7980
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
|
|
7981
|
+
}
|
|
7941
7982
|
}
|
|
7942
7983
|
}
|
|
7943
7984
|
}
|
|
@@ -7981,11 +8022,50 @@ export default defineVxeComponent({
|
|
|
7981
8022
|
}
|
|
7982
8023
|
else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
7983
8024
|
// 如果按下了 Tab 键切换
|
|
7984
|
-
if (selected.row ||
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
7988
|
-
$xeTable.
|
|
8025
|
+
if (selected.row || actived.row) {
|
|
8026
|
+
const activeRow = selected.row || actived.row;
|
|
8027
|
+
const activeColumn = selected.column || actived.column;
|
|
8028
|
+
const activeParams = selected.row ? selected.args : actived.args;
|
|
8029
|
+
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
8030
|
+
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
|
|
8031
|
+
const ttrParams = {
|
|
8032
|
+
row: activeRow,
|
|
8033
|
+
rowIndex: $xeTable.getRowIndex(activeRow),
|
|
8034
|
+
$rowIndex: $xeTable.getVMRowIndex(activeRow),
|
|
8035
|
+
_rowIndex,
|
|
8036
|
+
column: activeColumn,
|
|
8037
|
+
columnIndex: $xeTable.getColumnIndex(activeColumn),
|
|
8038
|
+
$columnIndex: $xeTable.getVMColumnIndex(activeColumn),
|
|
8039
|
+
_columnIndex,
|
|
8040
|
+
$table: $xeTable
|
|
8041
|
+
};
|
|
8042
|
+
if (!beforeTabMethod || beforeTabMethod(ttrParams) !== false) {
|
|
8043
|
+
evnt.preventDefault();
|
|
8044
|
+
// 最后一行按下Tab键,自动追加一行
|
|
8045
|
+
if (isLastTabAppendRow) {
|
|
8046
|
+
const newColumn = visibleColumn[0];
|
|
8047
|
+
if (_rowIndex >= afterFullData.length - 1 && _columnIndex >= visibleColumn.length - 1) {
|
|
8048
|
+
if (actived.row) {
|
|
8049
|
+
$xeTable.handleClearEdit(evnt);
|
|
8050
|
+
}
|
|
8051
|
+
$xeTable.insertAt({}, -1).then(({ row: newRow }) => {
|
|
8052
|
+
$xeTable.scrollToRow(newRow, newColumn);
|
|
8053
|
+
$xeTable.handleSelected(Object.assign(Object.assign({}, activeParams), { row: newRow, column: newColumn }), evnt);
|
|
8054
|
+
});
|
|
8055
|
+
$xeTable.dispatchEvent('tab-append-row', ttrParams, evnt);
|
|
8056
|
+
return;
|
|
8057
|
+
}
|
|
8058
|
+
}
|
|
8059
|
+
if (tabMethod) {
|
|
8060
|
+
tabMethod(ttrParams);
|
|
8061
|
+
}
|
|
8062
|
+
else {
|
|
8063
|
+
if (actived.row) {
|
|
8064
|
+
$xeTable.handleClearEdit(evnt);
|
|
8065
|
+
}
|
|
8066
|
+
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
8067
|
+
}
|
|
8068
|
+
}
|
|
7989
8069
|
}
|
|
7990
8070
|
}
|
|
7991
8071
|
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/index.umd.js
CHANGED
|
@@ -3144,7 +3144,7 @@ function getDefaultConfig(val1, def1) {
|
|
|
3144
3144
|
;// ./packages/ui/index.ts
|
|
3145
3145
|
|
|
3146
3146
|
|
|
3147
|
-
const version = "4.18.0-beta.
|
|
3147
|
+
const version = "4.18.0-beta.14";
|
|
3148
3148
|
core_.VxeUI.version = version;
|
|
3149
3149
|
core_.VxeUI.tableVersion = version;
|
|
3150
3150
|
core_.VxeUI.setConfig({
|
|
@@ -3662,7 +3662,7 @@ var esnext_iterator_some = __webpack_require__(7550);
|
|
|
3662
3662
|
const {
|
|
3663
3663
|
log: log_log
|
|
3664
3664
|
} = core_.VxeUI;
|
|
3665
|
-
const log_version = `table v${"4.18.0-beta.
|
|
3665
|
+
const log_version = `table v${"4.18.0-beta.14"}`;
|
|
3666
3666
|
const warnLog = log_log.create('warn', log_version);
|
|
3667
3667
|
const errLog = log_log.create('error', log_version);
|
|
3668
3668
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -7416,7 +7416,7 @@ const gridProps = {
|
|
|
7416
7416
|
}
|
|
7417
7417
|
};
|
|
7418
7418
|
;// ./packages/table/src/emits.ts
|
|
7419
|
-
const tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change', 'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-extension-fill', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
|
|
7419
|
+
const tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change', 'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'tab-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-extension-fill', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
|
|
7420
7420
|
;// ./packages/grid/src/emits.ts
|
|
7421
7421
|
|
|
7422
7422
|
const gridEmits = [...tableEmits, 'page-change', 'form-submit', 'form-submit-invalid', 'form-reset', 'form-collapse', 'form-toggle-collapse', 'proxy-query', 'proxy-delete', 'proxy-save', 'toolbar-button-click', 'toolbar-tool-click', 'zoom'];
|
|
@@ -20081,24 +20081,26 @@ if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如
|
|
|
20081
20081
|
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}dispatchEvent('keydown',{},evnt);dispatchEvent('keydown-end',{},evnt);});}};const contextMenuEvent=evnt=>{dispatchEvent('context-menu',{},evnt);};/**
|
|
20082
20082
|
* 全局键盘事件
|
|
20083
20083
|
*/const handleGlobalKeydownEvent=evnt=>{// 该行为只对当前激活的表格有效
|
|
20084
|
-
if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore,currentRow}=reactData;const{afterFullData}=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{selected,actived}=editStore;const childrenField=treeOpts.children||treeOpts.childrenField;const keyCode=evnt.keyCode;const isEsc=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.TAB);const isEnter=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.DELETE);const isF2=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.F2);const isContextMenu=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=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=isEnableConf(editConfig)&&actived.column&&actived.row;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
20084
|
+
if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore,currentRow}=reactData;const{afterFullData,visibleColumn}=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 isEsc=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.TAB);const isEnter=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.DELETE);const isF2=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.F2);const isContextMenu=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=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=isEnableConf(editConfig)&&actived.column&&actived.row;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
20085
20085
|
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 键,关闭快捷菜单、筛选
|
|
20086
20086
|
if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
|
|
20087
20087
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
20088
20088
|
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}else if(isSpacebar&&keyboardConfig&&keyboardOpts.isChecked&&selected.row&&selected.column&&(selected.column.type==='checkbox'||selected.column.type==='radio')){// 空格键支持选中复选框
|
|
20089
20089
|
evnt.preventDefault();if(selected.column.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&isEnableConf(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
|
|
20090
20090
|
if(selected.row&&selected.column){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
|
|
20091
|
-
internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!isAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow)){
|
|
20091
|
+
internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!isAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow)){// 退出选中
|
|
20092
20092
|
if(isControlKey){// 如果是激活编辑状态,则取消编辑
|
|
20093
20093
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
20094
20094
|
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{$xeTable.handleSelected(params,evnt);});}}}else{// 如果是激活状态,退则出到上一行/下一行
|
|
20095
|
-
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{
|
|
20096
|
-
if(
|
|
20095
|
+
if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;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{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键,自动追加一行
|
|
20096
|
+
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({...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();// 最后一行按下回车键,自动追加一行
|
|
20097
|
+
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;}}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)&¤tRow){// 如果是树形表格当前行回车移动到子节点
|
|
20097
20098
|
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){// 如果按下了方向键
|
|
20098
20099
|
if(mouseOpts.selected&&selected.row&&selected.column){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
|
|
20099
20100
|
if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
|
|
20100
20101
|
if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
|
|
20101
|
-
if(selected.row||
|
|
20102
|
+
if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const activeParams=selected.row?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键,自动追加一行
|
|
20103
|
+
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({...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&&isEnableConf(editConfig)&&(selected.row||selected.column)){// 如果是删除键
|
|
20102
20104
|
if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selected.column,columnIndex:$xeTable.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
|
|
20103
20105
|
if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{setCellValue(selected.row,selected.column,null);}// 如果按下 del 键,更新表尾数据
|
|
20104
20106
|
$xeTable.updateFooter();dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selected.row||selected.column)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
|