vxe-table 3.14.2 → 3.14.3

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/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "3.14.2";
16
+ const version = exports.version = "3.14.3";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.14.2",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.14.3",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"3.14.2"}`;
11
+ const version = `table v${"3.14.3"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.14.2",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.14.3",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.14.2",
3
+ "version": "3.14.3",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^3.5.4"
31
+ "vxe-pc-ui": "^3.5.8"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -6,7 +6,7 @@ import { warnLog } from '../../../ui/src/log'
6
6
 
7
7
  import type { VxeTableConstructor, VxeTablePrivateMethods, VxeGridConstructor, GridPrivateMethods, TableInternalData } from '../../../../types'
8
8
 
9
- const { menus } = VxeUI
9
+ const { menus, globalEvents, GLOBAL_EVENT_KEYS } = VxeUI
10
10
 
11
11
  export default {
12
12
  methods: {
@@ -23,17 +23,19 @@ export default {
23
23
  return this.$nextTick()
24
24
  },
25
25
  // 处理菜单的移动
26
- moveCtxMenu (evnt: any, keyCode: any, ctxMenuStore: any, property: any, operKey: any, operRest: any, menuList: any) {
26
+ moveCtxMenu (evnt: KeyboardEvent, ctxMenuStore: any, property: 'selectChild' | 'selected', hasOper: boolean, operRest: any, menuList: any[]) {
27
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
28
+
27
29
  let selectItem
28
30
  const selectIndex = XEUtils.findIndexOf(menuList, item => ctxMenuStore[property] === item)
29
- if (keyCode === operKey) {
31
+ if (hasOper) {
30
32
  if (operRest && hasChildrenList(ctxMenuStore.selected)) {
31
33
  ctxMenuStore.showChild = true
32
34
  } else {
33
35
  ctxMenuStore.showChild = false
34
36
  ctxMenuStore.selectChild = null
35
37
  }
36
- } else if (keyCode === 38) {
38
+ } else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
37
39
  for (let len = selectIndex - 1; len >= 0; len--) {
38
40
  if (menuList[len].visible !== false) {
39
41
  selectItem = menuList[len]
@@ -41,7 +43,7 @@ export default {
41
43
  }
42
44
  }
43
45
  ctxMenuStore[property] = selectItem || menuList[menuList.length - 1]
44
- } else if (keyCode === 40) {
46
+ } else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
45
47
  for (let index = selectIndex + 1; index < menuList.length; index++) {
46
48
  if (menuList[index].visible !== false) {
47
49
  selectItem = menuList[index]
@@ -49,8 +51,8 @@ export default {
49
51
  }
50
52
  }
51
53
  ctxMenuStore[property] = selectItem || menuList[0]
52
- } else if (ctxMenuStore[property] && (keyCode === 13 || keyCode === 32)) {
53
- this.ctxMenuLinkEvent(evnt, ctxMenuStore[property])
54
+ } else if (ctxMenuStore[property] && (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER) || globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR))) {
55
+ $xeTable.ctxMenuLinkEvent(evnt, ctxMenuStore[property])
54
56
  }
55
57
  },
56
58
  /**
@@ -500,11 +500,11 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
500
500
  }
501
501
  if (xLeftCornerEl) {
502
502
  xLeftCornerEl.style.width = scrollbarXToTop ? `${osbWidth}px` : ''
503
- xLeftCornerEl.style.display = scrollbarXToTop ? (osbWidth && osbHeight ? 'block' : '') : ''
503
+ xLeftCornerEl.style.display = scrollbarXToTop ? (overflowX && osbHeight ? 'block' : '') : ''
504
504
  }
505
505
  if (xRightCornerEl) {
506
506
  xRightCornerEl.style.width = scrollbarXToTop ? '' : `${osbWidth}px`
507
- xRightCornerEl.style.display = scrollbarXToTop ? '' : (osbWidth && osbHeight ? 'block' : '')
507
+ xRightCornerEl.style.display = scrollbarXToTop ? '' : (overflowX && osbHeight ? 'block' : '')
508
508
  }
509
509
 
510
510
  const scrollYVirtualEl = $xeTable.$refs.refScrollYVirtualElem as HTMLDivElement
@@ -516,7 +516,7 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
516
516
  const yTopCornerEl = $xeTable.$refs.refScrollYTopCornerElem as HTMLDivElement
517
517
  if (yTopCornerEl) {
518
518
  yTopCornerEl.style.height = `${headerHeight}px`
519
- yTopCornerEl.style.display = headerHeight ? 'block' : ''
519
+ yTopCornerEl.style.display = overflowY && headerHeight ? 'block' : ''
520
520
  }
521
521
  const yWrapperEl = $xeTable.$refs.refScrollYWrapperElem as HTMLDivElement
522
522
  if (yWrapperEl) {
@@ -527,7 +527,7 @@ function updateStyle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
527
527
  if (yBottomCornerEl) {
528
528
  yBottomCornerEl.style.height = `${footerHeight}px`
529
529
  yBottomCornerEl.style.top = `${headerHeight + bodyHeight}px`
530
- yBottomCornerEl.style.display = footerHeight ? 'block' : ''
530
+ yBottomCornerEl.style.display = overflowY && footerHeight ? 'block' : ''
531
531
  }
532
532
 
533
533
  const rowExpandEl = $xeTable.$refs.refRowExpandElem as HTMLDivElement
@@ -5349,14 +5349,26 @@ const Methods = {
5349
5349
  */
5350
5350
  handleGlobalKeydownEvent (evnt: any) {
5351
5351
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
5352
+ const props = $xeTable
5352
5353
  const internalData = $xeTable as unknown as TableInternalData
5354
+ const reactData = $xeTable as unknown as TableReactData
5353
5355
  const $xeGrid = $xeTable.$xeGrid as VxeGridConstructor & GridPrivateMethods
5354
5356
 
5355
5357
  // 该行为只对当前激活的表格有效
5356
- if (this.isActivated) {
5357
- this.preventEvent(evnt, 'event.keydown', null, () => {
5358
+ if (internalData.isActivated) {
5359
+ $xeTable.preventEvent(evnt, 'event.keydown', null, () => {
5360
+ const { mouseConfig, keyboardConfig, treeConfig, editConfig, highlightCurrentRow, highlightCurrentColumn } = props
5361
+ const { ctxMenuStore, editStore, currentRow } = reactData
5358
5362
  const { afterFullData } = internalData
5359
- const { filterStore, isCtxMenu, ctxMenuStore, editStore, editOpts, editConfig, mouseConfig, mouseOpts, keyboardConfig, keyboardOpts, treeConfig, treeOpts, highlightCurrentRow, currentRow, bodyCtxMenu, rowOpts } = this
5363
+ const isMenu = $xeTable.computeIsMenu
5364
+ const bodyMenu = $xeTable.computeBodyMenu
5365
+ const keyboardOpts = $xeTable.computeKeyboardOpts
5366
+ const mouseOpts = $xeTable.computeMouseOpts
5367
+ const editOpts = $xeTable.computeEditOpts
5368
+ const treeOpts = $xeTable.computeTreeOpts
5369
+ const menuList = $xeTable.computeMenuList
5370
+ const rowOpts = $xeTable.computeRowOpts
5371
+ const columnOpts = $xeTable.computeColumnOpts
5360
5372
  const { selected, actived } = editStore
5361
5373
  const { keyCode } = evnt
5362
5374
  const hasBackspaceKey = keyCode === 8
@@ -5376,33 +5388,44 @@ const Methods = {
5376
5388
  const hasShiftKey = evnt.shiftKey
5377
5389
  const hasAltKey = evnt.altKey
5378
5390
  const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow
5379
- const operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow)
5391
+ const operCtxMenu = isMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow)
5380
5392
  const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row
5381
5393
  const childrenField = treeOpts.children || treeOpts.childrenField
5382
5394
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
5383
- if (filterStore.visible) {
5384
- if (isEsc) {
5385
- this.closeFilter()
5386
- }
5387
- return
5388
- }
5389
5395
  if (operCtxMenu) {
5390
5396
  // 如果配置了右键菜单; 支持方向键操作、回车
5391
5397
  evnt.preventDefault()
5392
5398
  if (ctxMenuStore.showChild && hasChildrenList(ctxMenuStore.selected)) {
5393
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children)
5399
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selectChild', isLeftArrow, false, ctxMenuStore.selected.children)
5394
5400
  } else {
5395
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, this.ctxMenuList)
5401
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList)
5402
+ }
5403
+ } else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKeyboardCellAreaEvent) {
5404
+ $xeTable.handleKeyboardCellAreaEvent(evnt)
5405
+ } else if (isEsc) {
5406
+ // 如果按下了 Esc 键,关闭快捷菜单、筛选
5407
+ if ($xeTable.closeMenu) {
5408
+ $xeTable.closeMenu()
5409
+ }
5410
+ $xeTable.closeFilter()
5411
+ if (keyboardConfig && keyboardOpts.isEsc) {
5412
+ // 如果是激活编辑状态,则取消编辑
5413
+ if (actived.row) {
5414
+ const params = actived.args
5415
+ $xeTable.handleClearEdit(evnt)
5416
+ // 如果配置了选中功能,则为选中状态
5417
+ if (mouseOpts.selected) {
5418
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt))
5419
+ }
5420
+ }
5396
5421
  }
5397
- } else if (keyboardConfig && mouseConfig && mouseOpts.area && this.handleKeyboardCellAreaEvent) {
5398
- this.handleKeyboardCellAreaEvent(evnt)
5399
5422
  } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'radio')) {
5400
5423
  // 空格键支持选中复选框
5401
5424
  evnt.preventDefault()
5402
5425
  if (selected.column.type === 'checkbox') {
5403
- this.handleToggleCheckRowEvent(evnt, selected.args)
5426
+ $xeTable.handleToggleCheckRowEvent(evnt, selected.args)
5404
5427
  } else {
5405
- this.triggerRadioRowEvent(evnt, selected.args)
5428
+ $xeTable.triggerRadioRowEvent(evnt, selected.args)
5406
5429
  }
5407
5430
  } else if (isF2 && isEnableConf(editConfig)) {
5408
5431
  if (!isEditStatus) {
@@ -5410,12 +5433,12 @@ const Methods = {
5410
5433
  if (selected.row && selected.column) {
5411
5434
  evnt.stopPropagation()
5412
5435
  evnt.preventDefault()
5413
- this.handleEdit(selected.args, evnt)
5436
+ $xeTable.handleEdit(selected.args, evnt)
5414
5437
  }
5415
5438
  }
5416
5439
  } else if (isContextMenu) {
5417
5440
  // 如果按下上下文键
5418
- internalData._keyCtx = selected.row && selected.column && bodyCtxMenu.length
5441
+ internalData._keyCtx = selected.row && selected.column && bodyMenu.length
5419
5442
  clearTimeout(internalData.keyCtxTimeout)
5420
5443
  internalData.keyCtxTimeout = setTimeout(() => {
5421
5444
  internalData._keyCtx = false
@@ -5427,10 +5450,10 @@ const Methods = {
5427
5450
  // 如果是激活编辑状态,则取消编辑
5428
5451
  if (actived.row) {
5429
5452
  const params = actived.args
5430
- this.handleClearEdit(evnt)
5453
+ $xeTable.handleClearEdit(evnt)
5431
5454
  // 如果配置了选中功能,则为选中状态
5432
5455
  if (mouseConfig && mouseOpts.selected) {
5433
- this.$nextTick(() => this.handleSelected(params, evnt))
5456
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt))
5434
5457
  }
5435
5458
  }
5436
5459
  } else {
@@ -5439,13 +5462,13 @@ const Methods = {
5439
5462
  const activeParams = selected.row ? selected.args : actived.args
5440
5463
  if (hasShiftKey) {
5441
5464
  if (keyboardOpts.enterToTab) {
5442
- this.moveTabSelected(activeParams, hasShiftKey, evnt)
5465
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt)
5443
5466
  } else {
5444
- this.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt)
5467
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt)
5445
5468
  }
5446
5469
  } else {
5447
5470
  if (keyboardOpts.enterToTab) {
5448
- this.moveTabSelected(activeParams, hasShiftKey, evnt)
5471
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt)
5449
5472
  } else {
5450
5473
  const activeRow = selected.row || actived.row
5451
5474
  const activeColumn = selected.column || actived.column
@@ -5473,7 +5496,7 @@ const Methods = {
5473
5496
  return
5474
5497
  }
5475
5498
  }
5476
- this.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt)
5499
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt)
5477
5500
  if (enterMethod) {
5478
5501
  enterMethod(etrParams)
5479
5502
  }
@@ -5486,26 +5509,40 @@ const Methods = {
5486
5509
  if (childrens && childrens.length) {
5487
5510
  evnt.preventDefault()
5488
5511
  const targetRow = childrens[0]
5489
- const params = { $table: this, row: targetRow }
5490
- this.setTreeExpand(currentRow, true)
5491
- .then(() => this.scrollToRow(targetRow))
5492
- .then(() => this.triggerCurrentRowEvent(evnt, params))
5512
+ const params = {
5513
+ $table: $xeTable,
5514
+ row: targetRow,
5515
+ rowIndex: $xeTable.getRowIndex(targetRow),
5516
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
5517
+ }
5518
+ $xeTable.setTreeExpand(currentRow, true)
5519
+ .then(() => $xeTable.scrollToRow(targetRow))
5520
+ .then(() => $xeTable.triggerCurrentRowEvent(evnt, params))
5493
5521
  }
5494
5522
  }
5495
5523
  }
5496
5524
  } else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
5497
5525
  if (!isEditStatus) {
5498
5526
  // 如果按下了方向键
5499
- if (selected.row && selected.column) {
5527
+ if (mouseOpts.selected && selected.row && selected.column) {
5500
5528
  $xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt)
5529
+ } else {
5530
+ // 当前行按键上下移动
5531
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
5532
+ $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt)
5533
+ }
5534
+ // 当前行按键左右移动
5535
+ if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
5536
+ $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt)
5537
+ }
5501
5538
  }
5502
5539
  }
5503
5540
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
5504
5541
  // 如果按下了 Tab 键切换
5505
5542
  if (selected.row || selected.column) {
5506
- this.moveTabSelected(selected.args, hasShiftKey, evnt)
5543
+ $xeTable.moveTabSelected(selected.args, hasShiftKey, evnt)
5507
5544
  } else if (actived.row || actived.column) {
5508
- this.moveTabSelected(actived.args, hasShiftKey, evnt)
5545
+ $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt)
5509
5546
  }
5510
5547
  } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
5511
5548
  // 如果是删除键
@@ -5513,10 +5550,10 @@ const Methods = {
5513
5550
  const { delMethod } = keyboardOpts
5514
5551
  const params = {
5515
5552
  row: selected.row,
5516
- rowIndex: this.getRowIndex(selected.row),
5553
+ rowIndex: $xeTable.getRowIndex(selected.row),
5517
5554
  column: selected.column,
5518
- columnIndex: this.getColumnIndex(selected.column),
5519
- $table: this,
5555
+ columnIndex: $xeTable.getColumnIndex(selected.column),
5556
+ $table: $xeTable,
5520
5557
  $grid: $xeGrid
5521
5558
  }
5522
5559
  // 是否被禁用
@@ -5527,8 +5564,8 @@ const Methods = {
5527
5564
  setCellValue(selected.row, selected.column, null)
5528
5565
  }
5529
5566
  // 如果按下 del 键,更新表尾数据
5530
- this.updateFooter()
5531
- this.emitEvent('cell-delete-value', params, evnt)
5567
+ $xeTable.updateFooter()
5568
+ $xeTable.dispatchEvent('cell-delete-value', params, evnt)
5532
5569
  }
5533
5570
  }
5534
5571
  } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selected.column)) {
@@ -5538,10 +5575,10 @@ const Methods = {
5538
5575
  if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selected.column)) {
5539
5576
  const params = {
5540
5577
  row: selected.row,
5541
- rowIndex: this.getRowIndex(selected.row),
5578
+ rowIndex: $xeTable.getRowIndex(selected.row),
5542
5579
  column: selected.column,
5543
- columnIndex: this.getColumnIndex(selected.column),
5544
- $table: this,
5580
+ columnIndex: $xeTable.getColumnIndex(selected.column),
5581
+ $table: $xeTable,
5545
5582
  $grid: $xeGrid
5546
5583
  }
5547
5584
  // 是否被禁用
@@ -5553,27 +5590,27 @@ const Methods = {
5553
5590
  if (editMode !== 'insert') {
5554
5591
  setCellValue(selected.row, selected.column, null)
5555
5592
  }
5556
- this.handleEdit(selected.args, evnt)
5593
+ $xeTable.handleEdit(selected.args, evnt)
5557
5594
  }
5558
- this.emitEvent('cell-backspace-value', params, evnt)
5595
+ $xeTable.dispatchEvent('cell-backspace-value', params, evnt)
5559
5596
  }
5560
5597
  }
5561
5598
  }
5562
5599
  } else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
5563
5600
  // 如果树形表格回退键关闭当前行返回父节点
5564
- const { parent: parentRow } = XEUtils.findTree(this.afterTreeFullData, item => item === currentRow, { children: childrenField })
5601
+ const { parent: parentRow } = XEUtils.findTree(internalData.afterTreeFullData, item => item === currentRow, { children: childrenField })
5565
5602
  if (parentRow) {
5566
5603
  evnt.preventDefault()
5567
5604
  const params = {
5568
5605
  row: parentRow,
5569
- rowIndex: this.getRowIndex(parentRow),
5570
- $rowIndex: this.getVMRowIndex(parentRow),
5571
- $table: this,
5606
+ rowIndex: $xeTable.getRowIndex(parentRow),
5607
+ $rowIndex: $xeTable.getVMRowIndex(parentRow),
5608
+ $table: $xeTable,
5572
5609
  $grid: $xeGrid
5573
5610
  }
5574
- this.setTreeExpand(parentRow, false)
5575
- .then(() => this.scrollToRow(parentRow))
5576
- .then(() => this.triggerCurrentRowEvent(evnt, params))
5611
+ $xeTable.setTreeExpand(parentRow, false)
5612
+ .then(() => $xeTable.scrollToRow(parentRow))
5613
+ .then(() => $xeTable.triggerCurrentRowEvent(evnt, params))
5577
5614
  }
5578
5615
  } else if (keyboardConfig && keyboardOpts.isEdit && !hasCtrlKey && !hasMetaKey && (isSpacebar || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
5579
5616
  const { editMethod } = keyboardOpts
@@ -5586,10 +5623,10 @@ const Methods = {
5586
5623
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
5587
5624
  const params = {
5588
5625
  row: selected.row,
5589
- rowIndex: this.getRowIndex(selected.row),
5626
+ rowIndex: $xeTable.getRowIndex(selected.row),
5590
5627
  column: selected.column,
5591
- columnIndex: this.getColumnIndex(selected.column),
5592
- $table: this,
5628
+ columnIndex: $xeTable.getColumnIndex(selected.column),
5629
+ $table: $xeTable,
5593
5630
  $grid: $xeGrid
5594
5631
  }
5595
5632
  if (!beforeEditMethod || beforeEditMethod(params)) {
@@ -5597,12 +5634,12 @@ const Methods = {
5597
5634
  editMethod(params)
5598
5635
  } else {
5599
5636
  setCellValue(selected.row, selected.column, null)
5600
- this.handleEdit(selected.args, evnt)
5637
+ $xeTable.handleEdit(selected.args, evnt)
5601
5638
  }
5602
5639
  }
5603
5640
  }
5604
5641
  }
5605
- this.emitEvent('keydown', {}, evnt)
5642
+ $xeTable.dispatchEvent('keydown', {}, evnt)
5606
5643
  })
5607
5644
  }
5608
5645
  },
@@ -8961,6 +8998,7 @@ const Methods = {
8961
8998
 
8962
8999
  const { isGroup, scrollXLoad, overflowX, scrollXWidth } = reactData
8963
9000
  const { visibleColumn, scrollXStore, elemStore, fullColumnIdData } = internalData
9001
+ const mouseOpts = $xeTable.computeMouseOpts
8964
9002
  const tableBody = $xeTable.$refs.refTableBody
8965
9003
  const tableBodyElem = tableBody ? (tableBody as any).$el as HTMLDivElement : null
8966
9004
  if (tableBodyElem) {
@@ -9024,6 +9062,10 @@ const Methods = {
9024
9062
  if (scrollXSpaceEl) {
9025
9063
  scrollXSpaceEl.style.width = `${ySpaceWidth}px`
9026
9064
  }
9065
+
9066
+ if (isScrollXBig && mouseOpts.area) {
9067
+ errLog('vxe.error.notProp', ['mouse-config.area'])
9068
+ }
9027
9069
  $xeTable.$nextTick(() => {
9028
9070
  updateStyle($xeTable)
9029
9071
  })
@@ -9048,6 +9090,7 @@ const Methods = {
9048
9090
  const { isAllOverflow, scrollYLoad, expandColumn } = reactData
9049
9091
  const { scrollYStore, elemStore, isResizeCellHeight, afterFullData, fullAllDataRowIdData, rowExpandedMaps } = internalData
9050
9092
  const { startIndex } = scrollYStore
9093
+ const mouseOpts = $xeTable.computeMouseOpts
9051
9094
  const expandOpts = $xeTable.computeExpandOpts
9052
9095
  const rowOpts = $xeTable.computeRowOpts
9053
9096
  const cellOpts = $xeTable.computeCellOpts
@@ -9129,6 +9172,10 @@ const Methods = {
9129
9172
  reactData.scrollYTop = scrollYTop
9130
9173
  reactData.scrollYHeight = scrollYHeight
9131
9174
  reactData.isScrollYBig = isScrollYBig
9175
+
9176
+ if (isScrollYBig && mouseOpts.area) {
9177
+ errLog('vxe.error.notProp', ['mouse-config.area'])
9178
+ }
9132
9179
  return $xeTable.$nextTick().then(() => {
9133
9180
  updateStyle($xeTable)
9134
9181
  })