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.
@@ -64,6 +64,7 @@ export const tableEmits = [
64
64
  'column-dragover',
65
65
  'column-dragend',
66
66
  'enter-append-row',
67
+ 'tab-append-row',
67
68
  'edit-actived',
68
69
  'edit-activated',
69
70
  'edit-disabled',
@@ -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
- $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
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: $xeTable.getVTColumnIndex(activeColumn),
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 || selected.column) {
7985
- $xeTable.moveTabSelected(selected.args, hasShiftKey, evnt);
7986
- }
7987
- else if (actived.row || actived.column) {
7988
- $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt);
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
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.18.0-beta.13";
3
+ export const version = "4.18.0-beta.14";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
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.18.0-beta.13"}`;
3
+ const version = `table v${"4.18.0-beta.14"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
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.13";
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.13"}`;
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)&&currentRow)){const{isLastEnterAppendRow,beforeEnterMethod,enterMethod}=keyboardOpts;// 退出选中
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)&&currentRow)){// 退出选中
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{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){// 最后一行按下回车键,自动追加一行
20096
- 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)&&currentRow){// 如果是树形表格当前行回车移动到子节点
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)&&currentRow){// 如果是树形表格当前行回车移动到子节点
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||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)){// 如果是删除键
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;// 如果是删除键