vxe-table 3.24.3 → 3.25.0-beta.0

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.
Files changed (73) hide show
  1. package/es/grid/src/grid.js +26 -7
  2. package/es/style.css +1 -1
  3. package/es/table/module/custom/panel.js +3 -2
  4. package/es/table/module/edit/mixin.js +5 -4
  5. package/es/table/module/export/mixin.js +6 -4
  6. package/es/table/module/filter/mixin.js +2 -2
  7. package/es/table/module/keyboard/mixin.js +4 -3
  8. package/es/table/module/menu/mixin.js +3 -3
  9. package/es/table/render/index.js +5 -3
  10. package/es/table/src/body.js +4 -4
  11. package/es/table/src/header.js +4 -3
  12. package/es/table/src/methods.js +77 -49
  13. package/es/table/src/table.js +30 -27
  14. package/es/table/src/util.js +6 -3
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/log.js +1 -1
  17. package/es/ui/src/utils.js +9 -0
  18. package/lib/grid/src/grid.js +28 -6
  19. package/lib/grid/src/grid.min.js +1 -1
  20. package/lib/index.umd.js +5202 -5144
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/table/module/custom/panel.js +2 -1
  24. package/lib/table/module/custom/panel.min.js +1 -1
  25. package/lib/table/module/edit/mixin.js +4 -3
  26. package/lib/table/module/edit/mixin.min.js +1 -1
  27. package/lib/table/module/export/mixin.js +9 -3
  28. package/lib/table/module/export/mixin.min.js +1 -1
  29. package/lib/table/module/filter/mixin.js +1 -1
  30. package/lib/table/module/filter/mixin.min.js +1 -1
  31. package/lib/table/module/keyboard/mixin.js +4 -3
  32. package/lib/table/module/keyboard/mixin.min.js +1 -1
  33. package/lib/table/module/menu/mixin.js +2 -2
  34. package/lib/table/module/menu/mixin.min.js +1 -1
  35. package/lib/table/render/index.js +4 -2
  36. package/lib/table/render/index.min.js +1 -1
  37. package/lib/table/src/body.js +3 -3
  38. package/lib/table/src/body.min.js +1 -1
  39. package/lib/table/src/header.js +3 -2
  40. package/lib/table/src/header.min.js +1 -1
  41. package/lib/table/src/methods.js +33 -31
  42. package/lib/table/src/methods.min.js +1 -1
  43. package/lib/table/src/table.js +33 -26
  44. package/lib/table/src/table.min.js +1 -1
  45. package/lib/table/src/util.js +8 -2
  46. package/lib/table/src/util.min.js +1 -1
  47. package/lib/ui/index.js +1 -1
  48. package/lib/ui/index.min.js +1 -1
  49. package/lib/ui/src/log.js +1 -1
  50. package/lib/ui/src/log.min.js +1 -1
  51. package/lib/ui/src/utils.js +10 -0
  52. package/lib/ui/src/utils.min.js +1 -1
  53. package/package.json +2 -2
  54. package/packages/grid/src/grid.ts +28 -7
  55. package/packages/table/module/custom/panel.ts +3 -2
  56. package/packages/table/module/edit/mixin.ts +5 -4
  57. package/packages/table/module/export/mixin.ts +6 -4
  58. package/packages/table/module/filter/mixin.ts +2 -2
  59. package/packages/table/module/keyboard/mixin.ts +4 -3
  60. package/packages/table/module/menu/mixin.ts +3 -3
  61. package/packages/table/render/index.ts +5 -3
  62. package/packages/table/src/body.ts +4 -4
  63. package/packages/table/src/header.ts +4 -3
  64. package/packages/table/src/methods.ts +74 -47
  65. package/packages/table/src/table.ts +30 -27
  66. package/packages/table/src/util.ts +6 -3
  67. package/packages/ui/src/utils.ts +10 -0
  68. /package/es/{iconfont.1790757586395.ttf → iconfont.1791880417274.ttf} +0 -0
  69. /package/es/{iconfont.1790757586395.woff → iconfont.1791880417274.woff} +0 -0
  70. /package/es/{iconfont.1790757586395.woff2 → iconfont.1791880417274.woff2} +0 -0
  71. /package/lib/{iconfont.1790757586395.ttf → iconfont.1791880417274.ttf} +0 -0
  72. /package/lib/{iconfont.1790757586395.woff → iconfont.1791880417274.woff} +0 -0
  73. /package/lib/{iconfont.1790757586395.woff2 → iconfont.1791880417274.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.eqEmptyValue=eqEmptyValue,exports.formatText=formatText,exports.getClass=getClass,exports.getDefaultConfig=getDefaultConfig,exports.getFuncText=getFuncText,exports.getLastZIndex=getLastZIndex,exports.hasChildrenList=hasChildrenList,exports.isEmptyValue=isEmptyValue,exports.isEnableConf=isEnableConf,exports.nextZIndex=nextZIndex,exports.parseFile=parseFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_domZindex=_interopRequireDefault(require("dom-zindex"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getConfig=_core.VxeUI.getConfig;function isEnableConf(e){return e&&!1!==e.enabled}function isEmptyValue(e){return null==e||""===e}function parseFile(e){var e=e.name,t=_xeUtils.default.lastIndexOf(e,"."),n=e.substring(t+1,e.length).toLowerCase();return{filename:e.substring(0,t),type:n}}function nextZIndex(){return _domZindex.default.getNext()}function getLastZIndex(){return _domZindex.default.getCurrent()}function hasChildrenList(e){return e&&e.children&&0<e.children.length}function getFuncText(e,t){var n;return _xeUtils.default.eqNull(e)?"":""+((n=getConfig().translate)?n(""+e,t):e)}function formatText(e,t){return""+(isEmptyValue(e)?t?getConfig().emptyCell:"":e)}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}function getClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getDefaultConfig(e,t){return _xeUtils.default.eqNull(e)?t:e}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.eqEmptyValue=eqEmptyValue,exports.formatText=formatText,exports.getClass=getClass,exports.getDefaultConfig=getDefaultConfig,exports.getFuncText=getFuncText,exports.getLastZIndex=getLastZIndex,exports.hasChildrenList=hasChildrenList,exports.hasEnableConf=hasEnableConf,exports.isEmptyValue=isEmptyValue,exports.isEnableConf=isEnableConf,exports.nextZIndex=nextZIndex,exports.parseFile=parseFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_domZindex=_interopRequireDefault(require("dom-zindex"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getConfig=_core.VxeUI.getConfig;function isEnableConf(e){return e&&!1!==e.enabled}function hasEnableConf(e,t){return t&&(e?!1!==t.enabled:t.enabled)}function isEmptyValue(e){return null==e||""===e}function parseFile(e){var e=e.name,t=_xeUtils.default.lastIndexOf(e,"."),n=e.substring(t+1,e.length).toLowerCase();return{filename:e.substring(0,t),type:n}}function nextZIndex(){return _domZindex.default.getNext()}function getLastZIndex(){return _domZindex.default.getCurrent()}function hasChildrenList(e){return e&&e.children&&0<e.children.length}function getFuncText(e,t){var n;return _xeUtils.default.eqNull(e)?"":""+((n=getConfig().translate)?n(""+e,t):e)}function formatText(e,t){return""+(isEmptyValue(e)?t?getConfig().emptyCell:"":e)}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}function getClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getDefaultConfig(e,t){return _xeUtils.default.eqNull(e)?t:e}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.24.3",
3
+ "version": "3.25.0-beta.0",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -65,7 +65,7 @@
65
65
  "vue-i18n": "^8.15.1",
66
66
  "vue-router": "^3.5.1",
67
67
  "vue-template-compiler": "2.6.14",
68
- "vxe-pc-ui": "3.18.21"
68
+ "vxe-pc-ui": "3.20.0"
69
69
  },
70
70
  "vetur": {
71
71
  "tags": "helper/vetur/tags.json",
@@ -2,13 +2,13 @@ import { CreateElement, VNode, PropType } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
5
- import { getOffsetHeight, getPaddingTopBottomSize, getDomNode, toCssUnit } from '../../ui/src/dom'
5
+ import { getOffsetHeight, getPaddingTopBottomSize, getDomNode, toCssUnit, hasClass } from '../../ui/src/dom'
6
6
  import { VxeUI } from '../../ui'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { createComponentLog } from '../../ui/src/log'
9
9
  import { tableProps } from '../../table/src/props'
10
- import VxeTableComponent from '../../table/src/table'
11
- import VxeToolbarComponent from '../../toolbar/src/toolbar'
10
+ import VxeTableComponent from '../../table'
11
+ import VxeToolbarComponent from '../../toolbar'
12
12
 
13
13
  import type { VxeFormItemProps, VxeFormDefines, VxeComponentStyleType, VxeComponentSizeType, ValueOf, VxeFormInstance, VxeFormItemPropTypes, VxePagerInstance } from 'vxe-pc-ui'
14
14
  import type { GridReactData, VxeTablePropTypes, VxeGridConstructor, VxeToolbarPropTypes, VxeToolbarInstance, VxeGridPropTypes, VxeTableMethods, GridInternalData, VxeGridEmits, VxePagerDefines, VxeTableConstructor, VxeTableDefines, VxeTablePrivateMethods, TableInternalData, VxeTableProps, VxeGridDefines } from '../../../types'
@@ -184,6 +184,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
184
184
 
185
185
  return Object.assign({}, getConfig().grid.pagerConfig, props.pagerConfig)
186
186
  },
187
+ computePagerProps () {
188
+ const $xeGrid = this
189
+
190
+ const pagerOpts = $xeGrid.computePagerOpts
191
+ return Object.assign({}, pagerOpts, { enabled: undefined, slots: undefined })
192
+ },
187
193
  formOpts () {
188
194
  const $xeGrid = this
189
195
 
@@ -477,13 +483,27 @@ export default /* define-vxe-component start */ defineVxeComponent({
477
483
  }
478
484
  return 0
479
485
  },
486
+ getParentElem () {
487
+ const $xeGrid = this
488
+
489
+ const el = $xeGrid.$refs.refElem as HTMLDivElement
490
+ if (!el) {
491
+ return null
492
+ }
493
+ let parentEl = el.parentElement
494
+ // 如果是虚拟滚动条
495
+ if (parentEl && hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
496
+ parentEl = parentEl.parentElement
497
+ }
498
+ return parentEl
499
+ },
480
500
  getParentHeight () {
481
501
  const $xeGrid = this
482
502
  const reactData = $xeGrid.reactData
483
503
 
484
504
  const el = $xeGrid.$refs.refElem as HTMLDivElement
485
505
  if (el) {
486
- const parentEl = el.parentElement as HTMLElement
506
+ const parentEl = $xeGrid.getParentElem()
487
507
  return (reactData.isZMax ? getDomNode().visibleHeight : (parentEl ? XEUtils.toNumber(getComputedStyle(parentEl).height) : 0)) - $xeGrid.getExcludeHeight()
488
508
  }
489
509
  return 0
@@ -1223,7 +1243,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1223
1243
  if ($form) {
1224
1244
  return $form.validate()
1225
1245
  }
1226
- return $xeGrid.$nextTick() as unknown as Promise<VxeFormDefines.ValidateErrorMapParams>
1246
+ return Promise.resolve()
1227
1247
  },
1228
1248
  validateFormField (field: VxeFormItemPropTypes.Field | VxeFormItemPropTypes.Field[] | VxeFormDefines.ItemInfo | VxeFormDefines.ItemInfo[] | null) {
1229
1249
  const $xeGrid = this
@@ -1232,7 +1252,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1232
1252
  if ($form) {
1233
1253
  return $form.validateField(field)
1234
1254
  }
1235
- return $xeGrid.$nextTick() as unknown as Promise<VxeFormDefines.ValidateErrorMapParams>
1255
+ return Promise.resolve()
1236
1256
  },
1237
1257
  clearFormValidate (field?: VxeFormItemPropTypes.Field | VxeFormItemPropTypes.Field[] | VxeFormDefines.ItemInfo | VxeFormDefines.ItemInfo[] | null) {
1238
1258
  const $xeGrid = this
@@ -1886,6 +1906,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1886
1906
  const { proxyConfig, pagerConfig } = props
1887
1907
  const proxyOpts = $xeGrid.computeProxyOpts
1888
1908
  const pagerOpts = $xeGrid.computePagerOpts
1909
+ const pagerProps = $xeGrid.computePagerProps
1889
1910
  const pagerSlot = slots.pager
1890
1911
  if ((pagerConfig && isEnableConf(pagerOpts)) || slots.pager) {
1891
1912
  return h('div', {
@@ -1899,7 +1920,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1899
1920
  ? h(VxeUIPagerComponent, {
1900
1921
  ref: 'refPager',
1901
1922
  props: {
1902
- ...pagerOpts,
1923
+ ...pagerProps,
1903
1924
  ...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {})
1904
1925
  },
1905
1926
  on: {
@@ -1,7 +1,7 @@
1
1
  import { CreateElement, VNode, PropType } from 'vue'
2
2
  import { defineVxeComponent } from '../../../ui/src/comp'
3
3
  import { VxeUI } from '../../../ui'
4
- import { formatText } from '../../../ui/src/utils'
4
+ import { formatText, hasEnableConf } from '../../../ui/src/utils'
5
5
  import { getTpImg, addClass, removeClass, hasControlKey } from '../../../ui/src/dom'
6
6
  import { createComponentLog } from '../../../ui/src/log'
7
7
  import XEUtils from 'xe-utils'
@@ -443,6 +443,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
443
443
  const { customColumnList } = tableReactData
444
444
  const { collectColumn } = tableInternalData
445
445
  const customOpts = $xeTable.computeCustomOpts
446
+ const mouseOpts = $xeTable.computeMouseOpts
446
447
  const { immediate } = customOpts
447
448
  const trEl = evnt.currentTarget as HTMLElement
448
449
  const columnDragOpts = $xeTable.computeColumnDragOpts
@@ -595,7 +596,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
595
596
  customColumnList.splice(nafIndex + dragOffsetIndex, 0, dragColumn)
596
597
  }
597
598
 
598
- if (mouseConfig) {
599
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
599
600
  if ($xeTable.clearSelected) {
600
601
  $xeTable.clearSelected()
601
602
  }
@@ -1,6 +1,6 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import { VxeUI } from '../../../ui'
3
- import { isEnableConf } from '../../../ui/src/utils'
3
+ import { hasEnableConf, isEnableConf } from '../../../ui/src/utils'
4
4
  import { getCellValue, setCellValue, getRowid } from '../../src/util'
5
5
  import { removeClass, addClass } from '../../../ui/src/dom'
6
6
  import { createComponentLog } from '../../../ui/src/log'
@@ -411,6 +411,7 @@ function handleEditActive ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
411
411
  const { editConfig, mouseConfig } = props
412
412
  const { editStore, tableColumn } = reactData
413
413
  const editOpts = $xeTable.computeEditOpts
414
+ const mouseOpts = $xeTable.computeMouseOpts
414
415
  const { mode } = editOpts
415
416
  const { actived, focused } = editStore
416
417
  const { row, column } = params
@@ -426,7 +427,7 @@ function handleEditActive ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
426
427
  // 判断是否禁用编辑
427
428
  let type: 'edit-disabled' | 'edit-activated' = 'edit-disabled'
428
429
  if (!beforeEditMethod || beforeEditMethod({ ...editParams, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt })) {
429
- if (mouseConfig) {
430
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
430
431
  $xeTable.clearSelected()
431
432
  if ($xeTable.clearCellAreas) {
432
433
  $xeTable.clearCellAreas()
@@ -483,7 +484,7 @@ function handleEditActive ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
483
484
  }
484
485
  } else {
485
486
  const { column: oldColumn } = actived
486
- if (mouseConfig) {
487
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
487
488
  $xeTable.clearSelected()
488
489
  if ($xeTable.clearCellAreas) {
489
490
  $xeTable.clearCellAreas()
@@ -1145,7 +1146,7 @@ export default {
1145
1146
  const editOpts = $xeTable.computeEditOpts
1146
1147
  const { actived, selected } = editStore
1147
1148
  const { row, column } = params
1148
- const isMouseSelected = mouseConfig && mouseOpts.selected
1149
+ const isMouseSelected = hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected
1149
1150
  const selectMethod = () => {
1150
1151
  if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
1151
1152
  if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import { VxeUI } from '../../../ui'
3
3
  import { isColumnInfo, getCellValue, createHandleGetRowId } from '../../src/util'
4
- import { parseFile, formatText, eqEmptyValue } from '../../../ui/src/utils'
4
+ import { parseFile, formatText, eqEmptyValue, hasEnableConf } from '../../../ui/src/utils'
5
5
  import { hasClass, toCssUnit } from '../../../ui/src/dom'
6
6
  import { createHtmlPage, getExportBlobByContent } from './util'
7
7
  import { createComponentLog } from '../../../ui/src/log'
@@ -2029,7 +2029,7 @@ export default {
2029
2029
  }
2030
2030
  return
2031
2031
  }
2032
- if (!importConfig) {
2032
+ if (!hasEnableConf(importConfig, importOpts)) {
2033
2033
  errLog('vxe.error.reqProp', ['import-config'])
2034
2034
  }
2035
2035
  // 处理类型
@@ -2070,12 +2070,13 @@ export default {
2070
2070
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
2071
2071
  const props = $xeTable
2072
2072
 
2073
+ const { exportConfig } = props
2073
2074
  const exportOpts = $xeTable.computeExportOpts
2074
2075
  const defOpts = Object.assign({
2075
2076
  message: true,
2076
2077
  types: XEUtils.keys(exportOpts._typeMaps)
2077
2078
  }, exportOpts, options)
2078
- if (!props.exportConfig) {
2079
+ if (!hasEnableConf(exportConfig, exportOpts)) {
2079
2080
  errLog('vxe.error.reqProp', ['export-config'])
2080
2081
  }
2081
2082
  return handleExportAndPrint($xeTable, defOpts)
@@ -2085,11 +2086,12 @@ export default {
2085
2086
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
2086
2087
  const props = $xeTable
2087
2088
 
2089
+ const { printConfig } = props
2088
2090
  const printOpts = $xeTable.computePrintOpts
2089
2091
  const defOpts = Object.assign({
2090
2092
  message: true
2091
2093
  }, printOpts, options)
2092
- if (!props.printConfig) {
2094
+ if (!hasEnableConf(printConfig, printOpts)) {
2093
2095
  errLog('vxe.error.reqProp', ['print-config'])
2094
2096
  }
2095
2097
  return handleExportAndPrint($xeTable, defOpts, true)
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
2
2
  import { VxeUI } from '../../../ui'
3
3
  import { toFilters, handleFieldOrColumn, getRefElem } from '../../src/util'
4
4
  import { toCssUnit, triggerEvent, updatePanelPlacement } from '../../../ui/src/dom'
5
- import { isEnableConf } from '../../../ui/src/utils'
5
+ import { hasEnableConf, isEnableConf } from '../../../ui/src/utils'
6
6
 
7
7
  import type { VxeTableConstructor, VxeTableDefines, TableReactData, TableInternalData, VxeColumnPropTypes, VxeTablePrivateMethods } from '../../../../types'
8
8
 
@@ -428,7 +428,7 @@ export default {
428
428
  $xeTable.handleTableData(true)
429
429
  $xeTable.checkSelectionStatus()
430
430
  }
431
- if (mouseConfig && mouseOpts.area && $xeTable.handleFilterEvent) {
431
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && $xeTable.handleFilterEvent) {
432
432
  $xeTable.handleFilterEvent(evnt as Event, params)
433
433
  }
434
434
  if (evnt) {
@@ -1,6 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import { getRefElem } from '../../src/util'
3
3
  import { getAbsolutePos, addClass, removeClass, hasControlKey } from '../../../ui/src/dom'
4
+ import { hasEnableConf } from '../../../ui/src/utils'
4
5
 
5
6
  import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, TableReactData, TableInternalData } from '../../../../types'
6
7
 
@@ -492,13 +493,13 @@ export default {
492
493
  const checkboxOpts = $xeTable.computeCheckboxOpts
493
494
  const mouseOpts = $xeTable.computeMouseOpts
494
495
  const editOpts = $xeTable.computeEditOpts
495
- if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaMnEvent) {
496
- return $xeTable.triggerClAreaMnEvent(evnt, params)
496
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && $xeTable.triggerClAaMnEvent) {
497
+ return $xeTable.triggerClAaMnEvent(evnt, params)
497
498
  } else {
498
499
  if (checkboxConfig && checkboxOpts.range) {
499
500
  handleCheckboxRangeEvent($xeTable, evnt, params)
500
501
  }
501
- if (mouseConfig && mouseOpts.selected) {
502
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected) {
502
503
  if (!editConfig || editOpts.mode === 'cell') {
503
504
  $xeTable.handleSelected(params, evnt)
504
505
  }
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import { VxeUI } from '../../../ui'
3
3
  import { getDomNode, getAbsolutePos, getEventTargetNode, toCssUnit } from '../../../ui/src/dom'
4
- import { isEnableConf, hasChildrenList } from '../../../ui/src/utils'
4
+ import { isEnableConf, hasChildrenList, hasEnableConf } from '../../../ui/src/utils'
5
5
  import { createComponentLog } from '../../../ui/src/log'
6
6
 
7
7
  import type { VxeComponentStyleType } from 'vxe-pc-ui'
@@ -93,7 +93,7 @@ export default {
93
93
  const type = 'body'
94
94
  const params: any = { source: 'table', type, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, keyboard: true, columns: visibleColumn.slice(0), $event: evnt }
95
95
  // 如果开启单元格区域
96
- if (mouseConfig && mouseOpts.area) {
96
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area) {
97
97
  const activeArea = $xeTable.getActiveCellArea()
98
98
  if (activeArea && activeArea.row && activeArea.column) {
99
99
  params.row = activeArea.row
@@ -101,7 +101,7 @@ export default {
101
101
  $xeTable.handleOpenMenuEvent(evnt, type, params)
102
102
  return
103
103
  }
104
- } else if (mouseConfig && mouseOpts.selected) {
104
+ } else if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected) {
105
105
  // 如果启用键盘导航且已选中单元格
106
106
  if (selected.row && selected.column) {
107
107
  params.row = selected.row
@@ -2,7 +2,7 @@ import { CreateElement, VNode } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { VxeUI } from '../../ui'
4
4
  import { getCellValue, setCellValue } from '../src/util'
5
- import { getFuncText, formatText, isEmptyValue } from '../../ui/src/utils'
5
+ import { getFuncText, formatText, isEmptyValue, hasEnableConf } from '../../ui/src/utils'
6
6
  import { getOnName, getModelEvent, getChangeEvent, hasInputType } from '../../ui/src/vn'
7
7
  import { createComponentLog } from '../../ui/src/log'
8
8
 
@@ -919,9 +919,10 @@ function getNativeInputRenderCellVNs (h: CreateElement, cellValue: any, labelVNs
919
919
  const { name } = renderOpts
920
920
  const tableProps = $table
921
921
  const { editConfig, mouseConfig } = tableProps
922
+ const mouseOpts = $table.computeMouseOpts
922
923
  let isColSelected = false
923
924
  let isActiveCellArea = false
924
- if (editConfig && mouseConfig) {
925
+ if (editConfig && hasEnableConf(mouseConfig, mouseOpts)) {
925
926
  const tableReactData = $table as unknown as TableReactData
926
927
  const { editStore } = tableReactData
927
928
  const { selected } = editStore
@@ -954,9 +955,10 @@ function getInputRenderCellVNs (h: CreateElement, cellValue: any, labelVNs: VNod
954
955
  const { $table, row, column } = renderParams
955
956
  const tableProps = $table
956
957
  const { editConfig, mouseConfig } = tableProps
958
+ const mouseOpts = $table.computeMouseOpts
957
959
  let isColSelected = false
958
960
  let isActiveCellArea = false
959
- if (editConfig && mouseConfig) {
961
+ if (editConfig && hasEnableConf(mouseConfig, mouseOpts)) {
960
962
  const tableReactData = $table as unknown as TableReactData
961
963
  const { editStore } = tableReactData
962
964
  const editOpts = $table.computeEditOpts
@@ -2,7 +2,7 @@ import { PropType, CreateElement } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { VxeUI } from '../../ui'
4
4
  import { defineVxeComponent } from '../../ui/src/comp'
5
- import { isEnableConf, getClass, getDefaultConfig } from '../../ui/src/utils'
5
+ import { isEnableConf, getClass, getDefaultConfig, hasEnableConf } from '../../ui/src/utils'
6
6
  import { getRowid, createHandleGetRowId, getCellRestHeight } from './util'
7
7
  import { updateCellTitle } from '../../ui/src/dom'
8
8
  import { getSlotVNs } from '../../ui/src/vn'
@@ -227,7 +227,7 @@ function renderTdColumn (
227
227
  }
228
228
  }
229
229
  // 按下事件处理
230
- if (isRowDragCell || checkboxOpts.range || mouseConfig) {
230
+ if (isRowDragCell || checkboxOpts.range || hasEnableConf(mouseConfig, mouseOpts)) {
231
231
  tdOns.mousedown = (evnt: MouseEvent) => {
232
232
  $xeTable.triggerCellMousedownEvent(evnt, cellParams)
233
233
  }
@@ -422,7 +422,7 @@ function renderTdColumn (
422
422
  }
423
423
 
424
424
  let showAreaRowStatus = false
425
- if (mouseConfig && mouseOpts.area && !_columnIndex && selectCellToRow) {
425
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && !_columnIndex && selectCellToRow) {
426
426
  showAreaRowStatus = true
427
427
  }
428
428
 
@@ -936,7 +936,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
936
936
  h('div', {
937
937
  class: 'vxe-table--checkbox-range'
938
938
  }),
939
- mouseConfig && mouseOpts.area
939
+ hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area
940
940
  ? h('div', {
941
941
  class: 'vxe-table--cell-area',
942
942
  attrs: {
@@ -2,7 +2,7 @@ import { PropType, CreateElement } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { VxeUI } from '../../ui'
4
4
  import { defineVxeComponent } from '../../ui/src/comp'
5
- import { isEnableConf, getClass, getDefaultConfig } from '../../ui/src/utils'
5
+ import { isEnableConf, getClass, getDefaultConfig, hasEnableConf } from '../../ui/src/utils'
6
6
  import { getCalcHeight, convertHeaderColumnToRows, convertHeaderToGridRows } from './util'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
 
@@ -34,6 +34,7 @@ function renderRows (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMod
34
34
  const defaultRowHeight = $xeTable.computeDefaultRowHeight
35
35
  const headerCellOpts = $xeTable.computeHeaderCellOpts
36
36
  const rendererOpts = $xeTable.computeRendererOpts
37
+ const mouseOpts = $xeTable.computeMouseOpts
37
38
  const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight
38
39
  const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts
39
40
  const isLastRow = _rowIndex === headerGroups.length - 1
@@ -125,7 +126,7 @@ function renderRows (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMod
125
126
  isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams))
126
127
  }
127
128
  // 按下事件处理
128
- if (mouseConfig || isColDragCell) {
129
+ if (hasEnableConf(mouseConfig, mouseOpts) || isColDragCell) {
129
130
  thOns.mousedown = (evnt: any) => $xeTable.triggerHeaderCellMousedownEvent(evnt, cellParams)
130
131
  }
131
132
  // 拖拽列事件
@@ -567,7 +568,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
567
568
  ref: 'refHeaderTHead'
568
569
  }, renderHeads(h, _vm, isGroup, isOptimizeMode, renderHeaderList, renderColumnList))
569
570
  ]),
570
- mouseConfig && mouseOpts.area
571
+ hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area
571
572
  ? h('div', {
572
573
  class: 'vxe-table--cell-area',
573
574
  attrs: {