vxe-table 4.16.0-beta.6 → 4.16.0-beta.8

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 (154) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +30 -0
  4. package/es/locale/lang/de-DE.js +30 -0
  5. package/es/locale/lang/en-US.js +30 -0
  6. package/es/locale/lang/es-ES.js +30 -0
  7. package/es/locale/lang/fr-FR.js +30 -0
  8. package/es/locale/lang/hu-HU.js +30 -0
  9. package/es/locale/lang/hy-AM.js +30 -0
  10. package/es/locale/lang/id-ID.js +30 -0
  11. package/es/locale/lang/it-IT.js +30 -0
  12. package/es/locale/lang/ja-JP.js +30 -0
  13. package/es/locale/lang/ko-KR.js +30 -0
  14. package/es/locale/lang/ms-MY.js +30 -0
  15. package/es/locale/lang/nb-NO.js +30 -0
  16. package/es/locale/lang/pt-BR.js +30 -0
  17. package/es/locale/lang/ru-RU.js +30 -0
  18. package/es/locale/lang/th-TH.js +30 -0
  19. package/es/locale/lang/ug-CN.js +30 -0
  20. package/es/locale/lang/uk-UA.js +30 -0
  21. package/es/locale/lang/uz-UZ.js +30 -0
  22. package/es/locale/lang/vi-VN.js +30 -0
  23. package/es/locale/lang/zh-CHT.js +30 -0
  24. package/es/locale/lang/zh-CN.js +32 -0
  25. package/es/style.css +1 -1
  26. package/es/style.min.css +1 -1
  27. package/es/table/module/custom/panel.js +119 -125
  28. package/es/table/src/anime.js +4 -4
  29. package/es/table/src/table.js +147 -71
  30. package/es/table/style.css +178 -163
  31. package/es/table/style.min.css +1 -1
  32. package/es/ui/index.js +1 -1
  33. package/es/ui/src/log.js +1 -1
  34. package/es/vxe-table/style.css +178 -163
  35. package/es/vxe-table/style.min.css +1 -1
  36. package/lib/index.css +1 -1
  37. package/lib/index.min.css +1 -1
  38. package/lib/index.umd.js +64 -37
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/locale/lang/ar-EG.js +30 -0
  41. package/lib/locale/lang/ar-EG.min.js +1 -1
  42. package/lib/locale/lang/ar-EG.umd.js +30 -0
  43. package/lib/locale/lang/de-DE.js +30 -0
  44. package/lib/locale/lang/de-DE.min.js +1 -1
  45. package/lib/locale/lang/de-DE.umd.js +30 -0
  46. package/lib/locale/lang/en-US.js +30 -0
  47. package/lib/locale/lang/en-US.min.js +1 -1
  48. package/lib/locale/lang/en-US.umd.js +30 -0
  49. package/lib/locale/lang/es-ES.js +30 -0
  50. package/lib/locale/lang/es-ES.min.js +1 -1
  51. package/lib/locale/lang/es-ES.umd.js +30 -0
  52. package/lib/locale/lang/fr-FR.js +30 -0
  53. package/lib/locale/lang/fr-FR.min.js +1 -1
  54. package/lib/locale/lang/fr-FR.umd.js +30 -0
  55. package/lib/locale/lang/hu-HU.js +30 -0
  56. package/lib/locale/lang/hu-HU.min.js +1 -1
  57. package/lib/locale/lang/hu-HU.umd.js +30 -0
  58. package/lib/locale/lang/hy-AM.js +30 -0
  59. package/lib/locale/lang/hy-AM.min.js +1 -1
  60. package/lib/locale/lang/hy-AM.umd.js +30 -0
  61. package/lib/locale/lang/id-ID.js +30 -0
  62. package/lib/locale/lang/id-ID.min.js +1 -1
  63. package/lib/locale/lang/id-ID.umd.js +30 -0
  64. package/lib/locale/lang/it-IT.js +30 -0
  65. package/lib/locale/lang/it-IT.min.js +1 -1
  66. package/lib/locale/lang/it-IT.umd.js +30 -0
  67. package/lib/locale/lang/ja-JP.js +30 -0
  68. package/lib/locale/lang/ja-JP.min.js +1 -1
  69. package/lib/locale/lang/ja-JP.umd.js +30 -0
  70. package/lib/locale/lang/ko-KR.js +30 -0
  71. package/lib/locale/lang/ko-KR.min.js +1 -1
  72. package/lib/locale/lang/ko-KR.umd.js +30 -0
  73. package/lib/locale/lang/ms-MY.js +30 -0
  74. package/lib/locale/lang/ms-MY.min.js +1 -1
  75. package/lib/locale/lang/ms-MY.umd.js +30 -0
  76. package/lib/locale/lang/nb-NO.js +30 -0
  77. package/lib/locale/lang/nb-NO.min.js +1 -1
  78. package/lib/locale/lang/nb-NO.umd.js +30 -0
  79. package/lib/locale/lang/pt-BR.js +30 -0
  80. package/lib/locale/lang/pt-BR.min.js +1 -1
  81. package/lib/locale/lang/pt-BR.umd.js +30 -0
  82. package/lib/locale/lang/ru-RU.js +30 -0
  83. package/lib/locale/lang/ru-RU.min.js +1 -1
  84. package/lib/locale/lang/ru-RU.umd.js +30 -0
  85. package/lib/locale/lang/th-TH.js +30 -0
  86. package/lib/locale/lang/th-TH.min.js +1 -1
  87. package/lib/locale/lang/th-TH.umd.js +30 -0
  88. package/lib/locale/lang/ug-CN.js +30 -0
  89. package/lib/locale/lang/ug-CN.min.js +1 -1
  90. package/lib/locale/lang/ug-CN.umd.js +30 -0
  91. package/lib/locale/lang/uk-UA.js +30 -0
  92. package/lib/locale/lang/uk-UA.min.js +1 -1
  93. package/lib/locale/lang/uk-UA.umd.js +30 -0
  94. package/lib/locale/lang/uz-UZ.js +30 -0
  95. package/lib/locale/lang/uz-UZ.min.js +1 -1
  96. package/lib/locale/lang/uz-UZ.umd.js +30 -0
  97. package/lib/locale/lang/vi-VN.js +30 -0
  98. package/lib/locale/lang/vi-VN.min.js +1 -1
  99. package/lib/locale/lang/vi-VN.umd.js +30 -0
  100. package/lib/locale/lang/zh-CHT.js +30 -0
  101. package/lib/locale/lang/zh-CHT.min.js +1 -1
  102. package/lib/locale/lang/zh-CHT.umd.js +30 -0
  103. package/lib/locale/lang/zh-CN.js +32 -0
  104. package/lib/locale/lang/zh-CN.min.js +1 -1
  105. package/lib/locale/lang/zh-CN.umd.js +32 -0
  106. package/lib/style.css +1 -1
  107. package/lib/style.min.css +1 -1
  108. package/lib/table/module/custom/panel.js +2 -8
  109. package/lib/table/module/custom/panel.min.js +1 -1
  110. package/lib/table/src/anime.js +4 -4
  111. package/lib/table/src/anime.min.js +1 -1
  112. package/lib/table/src/table.js +23 -23
  113. package/lib/table/src/table.min.js +1 -1
  114. package/lib/table/style/style.css +178 -163
  115. package/lib/table/style/style.min.css +1 -1
  116. package/lib/ui/index.js +1 -1
  117. package/lib/ui/index.min.js +1 -1
  118. package/lib/ui/src/log.js +1 -1
  119. package/lib/ui/src/log.min.js +1 -1
  120. package/lib/vxe-table/style/style.css +178 -163
  121. package/lib/vxe-table/style/style.min.css +1 -1
  122. package/package.json +3 -2
  123. package/packages/locale/lang/ar-EG.ts +30 -0
  124. package/packages/locale/lang/de-DE.ts +30 -0
  125. package/packages/locale/lang/en-US.ts +30 -0
  126. package/packages/locale/lang/es-ES.ts +30 -0
  127. package/packages/locale/lang/fr-FR.ts +30 -0
  128. package/packages/locale/lang/hu-HU.ts +30 -0
  129. package/packages/locale/lang/hy-AM.ts +30 -0
  130. package/packages/locale/lang/id-ID.ts +30 -0
  131. package/packages/locale/lang/it-IT.ts +30 -0
  132. package/packages/locale/lang/ja-JP.ts +30 -0
  133. package/packages/locale/lang/ko-KR.ts +30 -0
  134. package/packages/locale/lang/ms-MY.ts +30 -0
  135. package/packages/locale/lang/nb-NO.ts +30 -0
  136. package/packages/locale/lang/pt-BR.ts +30 -0
  137. package/packages/locale/lang/ru-RU.ts +30 -0
  138. package/packages/locale/lang/th-TH.ts +30 -0
  139. package/packages/locale/lang/ug-CN.ts +30 -0
  140. package/packages/locale/lang/uk-UA.ts +30 -0
  141. package/packages/locale/lang/uz-UZ.ts +30 -0
  142. package/packages/locale/lang/vi-VN.ts +30 -0
  143. package/packages/locale/lang/zh-CHT.ts +30 -0
  144. package/packages/locale/lang/zh-CN.ts +32 -0
  145. package/packages/table/module/custom/panel.ts +128 -134
  146. package/packages/table/src/anime.ts +4 -4
  147. package/packages/table/src/table.ts +150 -72
  148. package/styles/components/table.scss +166 -165
  149. /package/es/{iconfont.1755597300201.ttf → iconfont.1755775667994.ttf} +0 -0
  150. /package/es/{iconfont.1755597300201.woff → iconfont.1755775667994.woff} +0 -0
  151. /package/es/{iconfont.1755597300201.woff2 → iconfont.1755775667994.woff2} +0 -0
  152. /package/lib/{iconfont.1755597300201.ttf → iconfont.1755775667994.ttf} +0 -0
  153. /package/lib/{iconfont.1755597300201.woff → iconfont.1755775667994.woff} +0 -0
  154. /package/lib/{iconfont.1755597300201.woff2 → iconfont.1755775667994.woff2} +0 -0
@@ -1,4 +1,4 @@
1
- import { h, ComponentPublicInstance, reactive, ref, Ref, provide, inject, nextTick, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue'
1
+ import { h, ComponentPublicInstance, reactive, ref, Ref, provide, inject, nextTick, Teleport, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey } from '../../ui/src/dom'
@@ -30,6 +30,7 @@ import '../module/custom/hook'
30
30
  import '../render'
31
31
 
32
32
  import type { VxeTooltipInstance, VxeTabsConstructor, VxeTabsPrivateMethods, ValueOf, VxeComponentSlotType } from 'vxe-pc-ui'
33
+ import type { VxeGanttConstructor, VxeGanttPrivateMethods } from 'vxe-gantt'
33
34
  import type { VxeGridConstructor, VxeGridPrivateMethods, VxeTableConstructor, TableReactData, VxeTablePropTypes, VxeToolbarConstructor, TablePrivateMethods, VxeTablePrivateRef, VxeTablePrivateComputed, VxeTablePrivateMethods, TableMethods, VxeTableMethods, VxeTableDefines, VxeTableEmits, VxeTableProps, VxeColumnPropTypes, VxeTableCustomPanelConstructor } from '../../../types'
34
35
 
35
36
  const { getConfig, getIcon, getI18n, renderer, formats, createEvent, globalResize, interceptor, hooks, globalEvents, GLOBAL_EVENT_KEYS, useFns, renderEmptyElement } = VxeUI
@@ -55,6 +56,9 @@ export default defineVxeComponent({
55
56
  const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip')
56
57
 
57
58
  const $xeTabs = inject<(VxeTabsConstructor & VxeTabsPrivateMethods) | null>('$xeTabs', null)
59
+ const $xeGrid = inject<(VxeGridConstructor & VxeGridPrivateMethods) | null>('$xeGrid', null)
60
+ const $xeGantt = inject<(VxeGanttConstructor & VxeGanttPrivateMethods) | null>('$xeGantt', null)
61
+ const $xeGGWrapper = $xeGrid || $xeGantt
58
62
 
59
63
  const { computeSize } = useFns.useSize(props)
60
64
 
@@ -334,6 +338,8 @@ export default defineVxeComponent({
334
338
  const refTableRightBody = ref() as Ref<ComponentPublicInstance>
335
339
  const refTableRightFooter = ref() as Ref<ComponentPublicInstance>
336
340
 
341
+ const refTeleportWrapper = ref<HTMLDivElement>()
342
+
337
343
  const refLeftContainer = ref() as Ref<HTMLDivElement>
338
344
  const refRightContainer = ref() as Ref<HTMLDivElement>
339
345
  const refColResizeBar = ref() as Ref<HTMLDivElement>
@@ -360,10 +366,6 @@ export default defineVxeComponent({
360
366
  const refScrollXSpaceElem = ref<HTMLDivElement>()
361
367
  const refScrollYSpaceElem = ref<HTMLDivElement>()
362
368
 
363
- const $xeGrid = inject<(VxeGridConstructor & VxeGridPrivateMethods) | null>('$xeGrid', null)
364
- const $xeGantt = inject('$xeGantt', null)
365
- const $xeGGWrapper = $xeGrid || $xeGantt
366
-
367
369
  let $xeToolbar: VxeToolbarConstructor
368
370
 
369
371
  const computeTableId = computed(() => {
@@ -498,8 +500,18 @@ export default defineVxeComponent({
498
500
 
499
501
  const computeHeaderCellOpts = computed(() => {
500
502
  const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig)
503
+ const defaultRowHeight = computeDefaultRowHeight.value
501
504
  const cellOpts = computeCellOpts.value
502
- headerCellOpts.height = XEUtils.toNumber(getCalcHeight(headerCellOpts.height || cellOpts.height))
505
+ let headCellHeight = XEUtils.toNumber(getCalcHeight(headerCellOpts.height || cellOpts.height))
506
+ if ($xeGantt) {
507
+ const { computeTaskScaleConfs } = $xeGantt.getComputeMaps()
508
+ const taskScaleConfs = computeTaskScaleConfs.value
509
+ if (taskScaleConfs && taskScaleConfs.length > 2) {
510
+ const ganttMinHeadCellHeight = defaultRowHeight / 2 * taskScaleConfs.length
511
+ headCellHeight = Math.max(ganttMinHeadCellHeight, headCellHeight)
512
+ }
513
+ }
514
+ headerCellOpts.height = headCellHeight
503
515
  return headerCellOpts
504
516
  })
505
517
 
@@ -7859,17 +7871,24 @@ export default defineVxeComponent({
7859
7871
  }
7860
7872
 
7861
7873
  const showDropTip = (evnt: DragEvent | MouseEvent, trEl: HTMLElement | null, thEl: HTMLElement | null, showLine: boolean, dragPos: string) => {
7862
- const el = refElem.value
7863
- if (!el) {
7874
+ let wrapperEl = refElem.value
7875
+ if ($xeGantt && trEl) {
7876
+ const { refGanttContainerElem } = $xeGantt.getRefMaps()
7877
+ const ganttContainerElem = refGanttContainerElem.value
7878
+ if (ganttContainerElem) {
7879
+ wrapperEl = ganttContainerElem
7880
+ }
7881
+ }
7882
+ if (!wrapperEl) {
7864
7883
  return
7865
7884
  }
7866
7885
  const { overflowX, scrollbarWidth, overflowY, scrollbarHeight } = reactData
7867
7886
  const { prevDragToChild } = internalData
7868
- const wrapperRect = el.getBoundingClientRect()
7887
+ const wrapperRect = wrapperEl.getBoundingClientRect()
7869
7888
  const osbWidth = overflowY ? scrollbarWidth : 0
7870
7889
  const osbHeight = overflowX ? scrollbarHeight : 0
7871
- const tableWrapperWidth = el.clientWidth
7872
- const tableWrapperHeight = el.clientHeight
7890
+ const tableWrapperWidth = wrapperEl.clientWidth
7891
+ const tableWrapperHeight = wrapperEl.clientHeight
7873
7892
  if (trEl) {
7874
7893
  const rdLineEl = refDragRowLineElem.value
7875
7894
  if (rdLineEl) {
@@ -7933,8 +7952,8 @@ export default defineVxeComponent({
7933
7952
  const rdTipEl = refDragTipElem.value
7934
7953
  if (rdTipEl) {
7935
7954
  rdTipEl.style.display = 'block'
7936
- rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`
7937
- rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`
7955
+ rdTipEl.style.top = `${Math.min(wrapperEl.clientHeight - wrapperEl.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`
7956
+ rdTipEl.style.left = `${Math.min(wrapperEl.clientWidth - wrapperEl.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`
7938
7957
  rdTipEl.setAttribute('drag-status', showLine ? (prevDragToChild ? 'sub' : 'normal') : 'disabled')
7939
7958
  }
7940
7959
  }
@@ -8305,7 +8324,7 @@ export default defineVxeComponent({
8305
8324
  if (!cell) {
8306
8325
  return
8307
8326
  }
8308
- const cellParams = XEUtils.assign(params, { cell })
8327
+ const cellParams = XEUtils.assign(params, { cell, $table: $xeTable })
8309
8328
  let dragLeft = 0
8310
8329
  const tableRect = tableEl.getBoundingClientRect()
8311
8330
  const rightContainerRect = rightContainerElem ? rightContainerElem.getBoundingClientRect() : null
@@ -8439,7 +8458,7 @@ export default defineVxeComponent({
8439
8458
  const colRest = fullColumnIdData[colid]
8440
8459
  const dragBtnElem = evnt.target as HTMLDivElement
8441
8460
  const cell = dragBtnElem.parentNode as HTMLTableCellElement
8442
- const cellParams = Object.assign(params, { cell })
8461
+ const cellParams = Object.assign(params, { cell, $table: $xeTable })
8443
8462
  const colMinWidth = getColReMinWidth(cellParams)
8444
8463
 
8445
8464
  el.setAttribute('data-calc-col', 'Y')
@@ -8474,7 +8493,14 @@ export default defineVxeComponent({
8474
8493
  const resizableOpts = computeResizableOpts.value
8475
8494
  const rowOpts = computeRowOpts.value
8476
8495
  const cellOpts = computeCellOpts.value
8477
- const tableEl = refElem.value
8496
+ let tableEl = refElem.value
8497
+ if ($xeGantt) {
8498
+ const { refGanttContainerElem } = $xeGantt.getRefMaps()
8499
+ const ganttContainerElem = refGanttContainerElem.value
8500
+ if (ganttContainerElem) {
8501
+ tableEl = ganttContainerElem
8502
+ }
8503
+ }
8478
8504
  const resizeBarElem = refRowResizeBar.value
8479
8505
  if (!resizeBarElem) {
8480
8506
  return
@@ -9705,6 +9731,7 @@ export default defineVxeComponent({
9705
9731
  const { treeConfig, dragConfig } = props
9706
9732
  const rowDragOpts = computeRowDragOpts.value
9707
9733
  const { afterFullData, tableFullData, fullAllDataRowIdData } = internalData
9734
+ const $xeGanttView = internalData.xeGanttView
9708
9735
  const { animation, isPeerDrag, isCrossDrag, isSelfToChildDrag, dragEndMethod, dragToChildMethod } = rowDragOpts
9709
9736
  const treeOpts = computeTreeOpts.value
9710
9737
  const cellOpts = computeCellOpts.value
@@ -9903,7 +9930,15 @@ export default defineVxeComponent({
9903
9930
  const _newRowIndex = dragRowRest._index
9904
9931
  const firstRow = tableData[0]
9905
9932
  const firstRowRest = fullAllDataRowIdData[getRowid($xeTable, firstRow)]
9933
+ let wrapperEl = el
9906
9934
 
9935
+ if ($xeGantt && $xeGanttView) {
9936
+ const { refGanttContainerElem } = $xeGantt.getRefMaps()
9937
+ const ganttContainerElem = refGanttContainerElem.value
9938
+ if (ganttContainerElem) {
9939
+ wrapperEl = ganttContainerElem
9940
+ }
9941
+ }
9907
9942
  if (firstRowRest) {
9908
9943
  const _firstRowIndex = firstRowRest._index
9909
9944
  const _lastRowIndex = _firstRowIndex + tableData.length
@@ -9936,15 +9971,27 @@ export default defineVxeComponent({
9936
9971
 
9937
9972
  const dragRangeList = tableData.slice(rsIndex, reIndex)
9938
9973
  if (dragRangeList.length) {
9939
- const dtTrList = el.querySelectorAll<HTMLElement>(dragRangeList.map(row => `.vxe-body--row[rowid="${getRowid($xeTable, row)}"]`).join(','))
9974
+ const dtClss: string[] = []
9975
+ dragRangeList.forEach(row => {
9976
+ const rowid = getRowid($xeTable, row)
9977
+ dtClss.push(`.vxe-body--row[rowid="${rowid}"]`)
9978
+ if ($xeGantt) {
9979
+ dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`, `.vxe-gantt-view--chart-row[rowid="${rowid}"]`)
9980
+ }
9981
+ })
9982
+ const dtTrList = wrapperEl.querySelectorAll<HTMLElement>(dtClss.join(','))
9940
9983
  moveRowAnimateToTb(dtTrList, offsetRate * dragRowHeight)
9941
9984
  }
9942
9985
  }
9943
9986
 
9944
- const newTrList = el.querySelectorAll<HTMLElement>(`.vxe-body--row[rowid="${dragRowid}"]`)
9945
- const newTrEl = newTrList[0]
9987
+ const drClss = [`.vxe-body--row[rowid="${dragRowid}"]`]
9988
+ if ($xeGantt) {
9989
+ drClss.push(`.vxe-gantt-view--body-row[rowid="${dragRowid}"]`, `.vxe-gantt-view--chart-row[rowid="${dragRowid}"]`)
9990
+ }
9991
+ const newDtTrList = wrapperEl.querySelectorAll<HTMLElement>(drClss.join(','))
9992
+ const newTrEl = newDtTrList[0]
9946
9993
  if (dragOffsetTop > -1 && newTrEl) {
9947
- moveRowAnimateToTb(newTrList, dragOffsetTop - newTrEl.offsetTop)
9994
+ moveRowAnimateToTb(newDtTrList, dragOffsetTop - newTrEl.offsetTop)
9948
9995
  }
9949
9996
  }
9950
9997
 
@@ -9971,7 +10018,7 @@ export default defineVxeComponent({
9971
10018
  const { lazy } = treeOpts
9972
10019
  const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
9973
10020
  const { prevDragRow, prevDragPos } = internalData
9974
- const el = refElem.value
10021
+ let wrapperEl = refElem.value
9975
10022
  if (treeConfig && lazy && prevDragToChild) {
9976
10023
  // 懒加载
9977
10024
  const newRowid = getRowid($xeTable, prevDragRow)
@@ -9986,9 +10033,18 @@ export default defineVxeComponent({
9986
10033
  } else {
9987
10034
  $xeTable.handleRowDragSwapEvent(evnt, true, dragRow, prevDragRow, prevDragPos, prevDragToChild)
9988
10035
  }
10036
+ const dtClss = ['.vxe-body--row']
10037
+ if ($xeGantt) {
10038
+ const { refGanttContainerElem } = $xeGantt.getRefMaps()
10039
+ const ganttContainerElem = refGanttContainerElem.value
10040
+ if (ganttContainerElem) {
10041
+ wrapperEl = ganttContainerElem
10042
+ }
10043
+ dtClss.push('.vxe-gantt-view--body-row', '.vxe-gantt-view--chart-row')
10044
+ }
9989
10045
  hideDropTip()
9990
10046
  clearRowDropOrigin()
9991
- clearRowAnimate(el)
10047
+ clearRowAnimate(wrapperEl, dtClss)
9992
10048
  internalData.prevDragToChild = false
9993
10049
  reactData.dragRow = null
9994
10050
  reactData.dragCol = null
@@ -10375,7 +10431,7 @@ export default defineVxeComponent({
10375
10431
  $xeTable.handleColDragSwapEvent(evnt, true, dragCol, prevDragCol, prevDragPos, prevDragToChild)
10376
10432
  hideDropTip()
10377
10433
  clearColDropOrigin()
10378
- clearColAnimate(el)
10434
+ clearColAnimate(el, ['.vxe-table--column'])
10379
10435
  internalData.prevDragToChild = false
10380
10436
  reactData.dragRow = null
10381
10437
  reactData.dragCol = null
@@ -11672,6 +11728,7 @@ export default defineVxeComponent({
11672
11728
  const renderVN = () => {
11673
11729
  const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props
11674
11730
  const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore } = reactData
11731
+ const { teleportToWrapperElem } = internalData
11675
11732
  const { leftList, rightList } = columnStore
11676
11733
  const loadingSlot = slots.loading
11677
11734
  const tableTipConfig = computeTableTipConfig.value
@@ -11797,52 +11854,69 @@ export default defineVxeComponent({
11797
11854
  })
11798
11855
  ]
11799
11856
  : []),
11800
- /**
11801
- * 行高线
11802
- */
11803
11857
  h('div', {
11804
- key: 'trl',
11805
- ref: refRowResizeBar,
11806
- class: 'vxe-table--resizable-row-bar'
11807
- }, resizableOpts.showDragTip
11808
- ? [
11858
+ key: 'ttw'
11859
+ }, [
11860
+ h(Teleport, {
11861
+ to: teleportToWrapperElem,
11862
+ disabled: !($xeGantt && teleportToWrapperElem)
11863
+ }, [
11864
+ h('div', {
11865
+ ref: refTeleportWrapper
11866
+ }, [
11867
+ /**
11868
+ * 行高线
11869
+ */
11809
11870
  h('div', {
11810
- class: 'vxe-table--resizable-number-tip'
11811
- })
11812
- ]
11813
- : []),
11814
- /**
11815
- * 加载中
11816
- */
11817
- VxeUILoadingComponent
11818
- ? h(VxeUILoadingComponent, {
11819
- key: 'lg',
11820
- class: 'vxe-table--loading',
11821
- modelValue: currLoading,
11822
- icon: loadingOpts.icon,
11823
- text: loadingOpts.text
11824
- }, loadingSlot
11825
- ? {
11826
- default: () => callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading })
11827
- }
11828
- : {})
11829
- : loadingSlot
11830
- ? h('div', {
11831
- class: ['vxe-loading--custom-wrapper', {
11832
- 'is--visible': currLoading
11833
- }]
11834
- }, callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading }))
11835
- : renderEmptyElement($xeTable),
11836
- /**
11837
- * 自定义列
11838
- */
11839
- initStore.custom
11840
- ? h(TableCustomPanelComponent, {
11841
- key: 'cs',
11842
- ref: refTableCustom,
11843
- customStore
11844
- })
11845
- : renderEmptyElement($xeTable),
11871
+ key: 'trl',
11872
+ ref: refRowResizeBar,
11873
+ class: 'vxe-table--resizable-row-bar'
11874
+ }, resizableOpts.showDragTip
11875
+ ? [
11876
+ h('div', {
11877
+ class: 'vxe-table--resizable-number-tip'
11878
+ })
11879
+ ]
11880
+ : []),
11881
+ /**
11882
+ * 自定义列
11883
+ */
11884
+ initStore.custom
11885
+ ? h(TableCustomPanelComponent, {
11886
+ key: 'cs',
11887
+ ref: refTableCustom,
11888
+ customStore
11889
+ })
11890
+ : renderEmptyElement($xeTable),
11891
+ /**
11892
+ * 加载中
11893
+ */
11894
+ VxeUILoadingComponent
11895
+ ? h(VxeUILoadingComponent, {
11896
+ key: 'lg',
11897
+ class: 'vxe-table--loading',
11898
+ modelValue: currLoading,
11899
+ icon: loadingOpts.icon,
11900
+ text: loadingOpts.text
11901
+ }, loadingSlot
11902
+ ? {
11903
+ default: () => callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading })
11904
+ }
11905
+ : {})
11906
+ : loadingSlot
11907
+ ? h('div', {
11908
+ class: ['vxe-loading--custom-wrapper', {
11909
+ 'is--visible': currLoading
11910
+ }]
11911
+ }, callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading }))
11912
+ : renderEmptyElement($xeTable),
11913
+ /**
11914
+ * 拖拽排序提示
11915
+ */
11916
+ renderDragTip()
11917
+ ])
11918
+ ])
11919
+ ]),
11846
11920
  /**
11847
11921
  * 筛选
11848
11922
  */
@@ -11882,10 +11956,6 @@ export default defineVxeComponent({
11882
11956
  ref: refTableMenu
11883
11957
  })
11884
11958
  : renderEmptyElement($xeTable),
11885
- /**
11886
- * 拖拽排序提示
11887
- */
11888
- renderDragTip(),
11889
11959
  /**
11890
11960
  * 提示相关
11891
11961
  */
@@ -12127,7 +12197,6 @@ export default defineVxeComponent({
12127
12197
  })
12128
12198
 
12129
12199
  onMounted(() => {
12130
- const $xeGantt = $xeTable.xeGantt
12131
12200
  const columnOpts = computeColumnOpts.value
12132
12201
  const rowOpts = computeRowOpts.value
12133
12202
  const customOpts = computeCustomOpts.value
@@ -12309,6 +12378,15 @@ export default defineVxeComponent({
12309
12378
  warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
12310
12379
  }
12311
12380
 
12381
+ if (treeConfig) {
12382
+ XEUtils.arrayEach(['rowField', 'parentField', 'childrenField', 'hasChildField', 'mapChildrenField'], key => {
12383
+ const val = treeOpts[key as 'rowField']
12384
+ if (val && val.indexOf('.') > -1) {
12385
+ errLog('vxe.error.errProp', [`${key}=${val}`, `${key}=${val.split('.')[0]}`])
12386
+ }
12387
+ })
12388
+ }
12389
+
12312
12390
  if (rowOpts.currentMethod) {
12313
12391
  warnLog('vxe.error.delProp', ['row-config.currentMethod', 'current-row-config.beforeSelectMethod'])
12314
12392
  }