vxe-table 3.11.21 → 3.11.22

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 (150) hide show
  1. package/es/{iconfont.1733469864818.ttf → iconfont.1733702408214.ttf} +0 -0
  2. package/es/iconfont.1733702408214.woff +0 -0
  3. package/es/iconfont.1733702408214.woff2 +0 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +2 -0
  7. package/es/locale/lang/de-DE.js +2 -0
  8. package/es/locale/lang/en-US.js +3 -1
  9. package/es/locale/lang/es-ES.js +2 -0
  10. package/es/locale/lang/fr-FR.js +2 -0
  11. package/es/locale/lang/hu-HU.js +2 -0
  12. package/es/locale/lang/hy-AM.js +2 -0
  13. package/es/locale/lang/ja-JP.js +2 -0
  14. package/es/locale/lang/ko-KR.js +2 -0
  15. package/es/locale/lang/nb-NO.js +2 -0
  16. package/es/locale/lang/pt-BR.js +2 -0
  17. package/es/locale/lang/ru-RU.js +2 -0
  18. package/es/locale/lang/ug-CN.js +2 -0
  19. package/es/locale/lang/uk-UA.js +2 -0
  20. package/es/locale/lang/vi-VN.js +2 -0
  21. package/es/locale/lang/zh-CHT.js +2 -0
  22. package/es/locale/lang/zh-CN.js +2 -0
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/table/module/custom/mixin.js +8 -3
  26. package/es/table/module/custom/panel.js +44 -27
  27. package/es/table/src/body.js +2 -2
  28. package/es/table/src/cell.js +7 -2
  29. package/es/table/src/header.js +1 -1
  30. package/es/table/src/methods.js +175 -43
  31. package/es/table/src/table.js +31 -4
  32. package/es/table/style.css +62 -4
  33. package/es/table/style.min.css +1 -1
  34. package/es/ui/index.js +4 -1
  35. package/es/ui/src/log.js +1 -1
  36. package/es/vxe-table/style.css +62 -4
  37. package/es/vxe-table/style.min.css +1 -1
  38. package/lib/{iconfont.1733469864818.ttf → iconfont.1733702408214.ttf} +0 -0
  39. package/lib/iconfont.1733702408214.woff +0 -0
  40. package/lib/iconfont.1733702408214.woff2 +0 -0
  41. package/lib/index.css +1 -1
  42. package/lib/index.min.css +1 -1
  43. package/lib/index.umd.js +297 -92
  44. package/lib/index.umd.min.js +1 -1
  45. package/lib/locale/lang/ar-EG.js +2 -0
  46. package/lib/locale/lang/ar-EG.min.js +1 -1
  47. package/lib/locale/lang/de-DE.js +2 -0
  48. package/lib/locale/lang/de-DE.min.js +1 -1
  49. package/lib/locale/lang/en-US.js +3 -1
  50. package/lib/locale/lang/en-US.min.js +1 -1
  51. package/lib/locale/lang/en-US.umd.js +3 -1
  52. package/lib/locale/lang/es-ES.js +2 -0
  53. package/lib/locale/lang/es-ES.min.js +1 -1
  54. package/lib/locale/lang/es-ES.umd.js +2 -0
  55. package/lib/locale/lang/fr-FR.js +2 -0
  56. package/lib/locale/lang/fr-FR.min.js +1 -1
  57. package/lib/locale/lang/hu-HU.js +2 -0
  58. package/lib/locale/lang/hu-HU.min.js +1 -1
  59. package/lib/locale/lang/hu-HU.umd.js +2 -0
  60. package/lib/locale/lang/hy-AM.js +2 -0
  61. package/lib/locale/lang/hy-AM.min.js +1 -1
  62. package/lib/locale/lang/ja-JP.js +2 -0
  63. package/lib/locale/lang/ja-JP.min.js +1 -1
  64. package/lib/locale/lang/ja-JP.umd.js +2 -0
  65. package/lib/locale/lang/ko-KR.js +2 -0
  66. package/lib/locale/lang/ko-KR.min.js +1 -1
  67. package/lib/locale/lang/ko-KR.umd.js +2 -0
  68. package/lib/locale/lang/nb-NO.js +2 -0
  69. package/lib/locale/lang/nb-NO.min.js +1 -1
  70. package/lib/locale/lang/pt-BR.js +2 -0
  71. package/lib/locale/lang/pt-BR.min.js +1 -1
  72. package/lib/locale/lang/pt-BR.umd.js +2 -0
  73. package/lib/locale/lang/ru-RU.js +2 -0
  74. package/lib/locale/lang/ru-RU.min.js +1 -1
  75. package/lib/locale/lang/ru-RU.umd.js +2 -0
  76. package/lib/locale/lang/ug-CN.js +2 -0
  77. package/lib/locale/lang/ug-CN.min.js +1 -1
  78. package/lib/locale/lang/uk-UA.js +2 -0
  79. package/lib/locale/lang/uk-UA.min.js +1 -1
  80. package/lib/locale/lang/uk-UA.umd.js +2 -0
  81. package/lib/locale/lang/vi-VN.js +2 -0
  82. package/lib/locale/lang/vi-VN.min.js +1 -1
  83. package/lib/locale/lang/zh-CHT.js +2 -0
  84. package/lib/locale/lang/zh-CHT.min.js +1 -1
  85. package/lib/locale/lang/zh-CHT.umd.js +2 -0
  86. package/lib/locale/lang/zh-CN.js +2 -0
  87. package/lib/locale/lang/zh-CN.min.js +1 -1
  88. package/lib/locale/lang/zh-CN.umd.js +2 -0
  89. package/lib/style.css +1 -1
  90. package/lib/style.min.css +1 -1
  91. package/lib/table/module/custom/mixin.js +8 -3
  92. package/lib/table/module/custom/mixin.min.js +1 -1
  93. package/lib/table/module/custom/panel.js +49 -37
  94. package/lib/table/module/custom/panel.min.js +1 -1
  95. package/lib/table/src/body.js +2 -2
  96. package/lib/table/src/body.min.js +1 -1
  97. package/lib/table/src/cell.js +6 -1
  98. package/lib/table/src/cell.min.js +1 -1
  99. package/lib/table/src/header.js +1 -1
  100. package/lib/table/src/header.min.js +1 -1
  101. package/lib/table/src/methods.js +199 -43
  102. package/lib/table/src/methods.min.js +1 -1
  103. package/lib/table/src/table.js +25 -3
  104. package/lib/table/src/table.min.js +1 -1
  105. package/lib/table/style/style.css +62 -4
  106. package/lib/table/style/style.min.css +1 -1
  107. package/lib/ui/index.js +4 -1
  108. package/lib/ui/index.min.js +1 -1
  109. package/lib/ui/src/log.js +1 -1
  110. package/lib/ui/src/log.min.js +1 -1
  111. package/lib/vxe-table/style/style.css +62 -4
  112. package/lib/vxe-table/style/style.min.css +1 -1
  113. package/package.json +2 -2
  114. package/packages/locale/lang/ar-EG.ts +2 -0
  115. package/packages/locale/lang/de-DE.ts +2 -0
  116. package/packages/locale/lang/en-US.ts +3 -1
  117. package/packages/locale/lang/es-ES.ts +2 -0
  118. package/packages/locale/lang/fr-FR.ts +2 -0
  119. package/packages/locale/lang/hu-HU.ts +2 -0
  120. package/packages/locale/lang/hy-AM.ts +2 -0
  121. package/packages/locale/lang/ja-JP.ts +2 -0
  122. package/packages/locale/lang/ko-KR.ts +2 -0
  123. package/packages/locale/lang/nb-NO.ts +2 -0
  124. package/packages/locale/lang/pt-BR.ts +2 -0
  125. package/packages/locale/lang/ru-RU.ts +2 -0
  126. package/packages/locale/lang/ug-CN.ts +2 -0
  127. package/packages/locale/lang/uk-UA.ts +2 -0
  128. package/packages/locale/lang/vi-VN.ts +2 -0
  129. package/packages/locale/lang/zh-CHT.ts +2 -0
  130. package/packages/locale/lang/zh-CN.ts +2 -0
  131. package/packages/table/module/custom/mixin.ts +9 -3
  132. package/packages/table/module/custom/panel.ts +48 -27
  133. package/packages/table/src/body.ts +2 -2
  134. package/packages/table/src/cell.ts +8 -2
  135. package/packages/table/src/header.ts +1 -1
  136. package/packages/table/src/methods.ts +187 -45
  137. package/packages/table/src/table.ts +34 -4
  138. package/packages/ui/index.ts +3 -0
  139. package/styles/components/icon.scss +13 -1
  140. package/styles/components/table.scss +53 -3
  141. package/styles/icon/iconfont.ttf +0 -0
  142. package/styles/icon/iconfont.woff +0 -0
  143. package/styles/icon/iconfont.woff2 +0 -0
  144. package/styles/theme/dark.scss +1 -0
  145. package/styles/theme/light.scss +1 -0
  146. package/styles/variable.scss +1 -0
  147. package/es/iconfont.1733469864818.woff +0 -0
  148. package/es/iconfont.1733469864818.woff2 +0 -0
  149. package/lib/iconfont.1733469864818.woff +0 -0
  150. package/lib/iconfont.1733469864818.woff2 +0 -0
@@ -501,7 +501,7 @@ const updateColDropTipContent = ($xeTable, tdEl) => {
501
501
  }
502
502
  reactData.dragTipText = tipContent;
503
503
  };
504
- function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
504
+ function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
505
505
  const reactData = $xeTable;
506
506
  const el = $xeTable.$refs.refElem;
507
507
  if (!el) {
@@ -515,26 +515,30 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
515
515
  if (trEl) {
516
516
  const rdLineEl = $xeTable.$refs.refDragRowLineElem;
517
517
  if (rdLineEl) {
518
- const trRect = trEl.getBoundingClientRect();
519
- let top = Math.max(1, trRect.y - wrapperRect.y);
520
- if (dragPos === 'bottom') {
521
- top = Math.min(wrapperRect.height - 1, trRect.y - wrapperRect.y + trRect.height);
518
+ if (showLine) {
519
+ const trRect = trEl.getBoundingClientRect();
520
+ rdLineEl.style.display = 'block';
521
+ rdLineEl.style.top = `${Math.max(1, trRect.y - wrapperRect.y)}px`;
522
+ rdLineEl.style.height = `${trRect.height}px`;
523
+ rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
524
+ rdLineEl.setAttribute('drag-pos', dragPos);
525
+ } else {
526
+ rdLineEl.style.display = '';
522
527
  }
523
- rdLineEl.style.top = `${top}px`;
524
- rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
525
- rdLineEl.style.display = 'block';
526
528
  }
527
529
  } else if (thEl) {
528
530
  const cdLineEl = $xeTable.$refs.refDragColLineElem;
529
531
  if (cdLineEl) {
530
- const thRect = thEl.getBoundingClientRect();
531
- let left = Math.max(1, thRect.x - wrapperRect.x);
532
- if (dragPos === 'right') {
533
- left = Math.min(wrapperRect.width - 2, thRect.x - wrapperRect.x + thRect.width);
532
+ if (showLine) {
533
+ const thRect = thEl.getBoundingClientRect();
534
+ cdLineEl.style.display = 'block';
535
+ cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`;
536
+ cdLineEl.style.width = `${thRect.width}px`;
537
+ cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
538
+ cdLineEl.setAttribute('drag-pos', dragPos);
539
+ } else {
540
+ cdLineEl.style.display = '';
534
541
  }
535
- cdLineEl.style.left = `${left}px`;
536
- cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
537
- cdLineEl.style.display = 'block';
538
542
  }
539
543
  }
540
544
  const rdTipEl = $xeTable.$refs.refDragTipElem;
@@ -542,6 +546,7 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
542
546
  rdTipEl.style.display = 'block';
543
547
  rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
544
548
  rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`;
549
+ rdTipEl.setAttribute('drag-status', showLine ? 'normal' : 'disabled');
545
550
  }
546
551
  }
547
552
  const hideDropTip = $xeTable => {
@@ -1091,6 +1096,7 @@ const Methods = {
1091
1096
  };
1092
1097
  }
1093
1098
  if (isSource) {
1099
+ cacheItem.level = level;
1094
1100
  cacheItem.index = treeConfig && parent ? -1 : index;
1095
1101
  fullDataRowIdMaps[rowid] = cacheItem;
1096
1102
  }
@@ -1894,6 +1900,17 @@ const Methods = {
1894
1900
  tableColumn: this.tableColumn.slice(0)
1895
1901
  };
1896
1902
  },
1903
+ /**
1904
+ * 获取表格的全量列
1905
+ */
1906
+ getFullColumns() {
1907
+ const $xeTable = this;
1908
+ const internalData = $xeTable;
1909
+ const {
1910
+ collectColumn
1911
+ } = internalData;
1912
+ return collectColumn.slice(0);
1913
+ },
1897
1914
  /**
1898
1915
  * 获取数据,和 data 的行为一致,也可以指定索引获取数据
1899
1916
  */
@@ -2424,6 +2441,38 @@ const Methods = {
2424
2441
  footerData: footerTableData.slice(0)
2425
2442
  };
2426
2443
  },
2444
+ /**
2445
+ * 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
2446
+ */
2447
+ getFullData() {
2448
+ const $xeTable = this;
2449
+ const props = $xeTable;
2450
+ const internalData = $xeTable;
2451
+ const {
2452
+ treeConfig
2453
+ } = props;
2454
+ const {
2455
+ tableFullData,
2456
+ tableFullTreeData
2457
+ } = internalData;
2458
+ if (treeConfig) {
2459
+ const treeOpts = $xeTable.computeTreeOpts;
2460
+ const {
2461
+ transform,
2462
+ mapChildrenField
2463
+ } = treeOpts;
2464
+ const childrenField = treeOpts.children || treeOpts.childrenField;
2465
+ if (transform) {
2466
+ return _xeUtils.default.toArrayTree(_xeUtils.default.toTreeArray(tableFullTreeData, {
2467
+ children: mapChildrenField
2468
+ }), {
2469
+ children: childrenField
2470
+ });
2471
+ }
2472
+ return tableFullTreeData.slice(0);
2473
+ }
2474
+ return tableFullData.slice(0);
2475
+ },
2427
2476
  /**
2428
2477
  * 处理数据加载默认行为
2429
2478
  * 默认执行一次,除非被重置
@@ -2625,9 +2674,12 @@ const Methods = {
2625
2674
  return this.refreshColumn(true);
2626
2675
  },
2627
2676
  handleCustomRestore(storeData) {
2677
+ const $xetable = this;
2678
+ const reactData = $xetable;
2679
+ const internalData = $xetable;
2628
2680
  let {
2629
2681
  collectColumn
2630
- } = this;
2682
+ } = internalData;
2631
2683
  const {
2632
2684
  resizableData,
2633
2685
  sortData,
@@ -2659,9 +2711,12 @@ const Methods = {
2659
2711
  // 如果自定义了顺序
2660
2712
  if (hasCustomSort) {
2661
2713
  collectColumn = _xeUtils.default.orderBy(collectColumn, 'renderSortNumber');
2662
- this.collectColumn = collectColumn;
2663
- this.tableFullColumn = getColumnList(collectColumn);
2714
+ internalData.collectColumn = collectColumn;
2715
+ internalData.tableFullColumn = getColumnList(collectColumn);
2664
2716
  }
2717
+ reactData.isCustomStatus = true;
2718
+ } else {
2719
+ reactData.isCustomStatus = false;
2665
2720
  }
2666
2721
  },
2667
2722
  /**
@@ -5928,20 +5983,26 @@ const Methods = {
5928
5983
  } = props;
5929
5984
  const rowDragOpts = $xeTable.computeRowDragOpts;
5930
5985
  const {
5986
+ fullAllDataRowIdData
5987
+ } = internalData;
5988
+ const {
5989
+ isCrossDrag,
5990
+ isSelfToChildDrag,
5931
5991
  dragEndMethod
5932
5992
  } = rowDragOpts;
5933
5993
  const treeOpts = $xeTable.computeTreeOpts;
5934
5994
  const {
5935
- transform
5995
+ transform,
5996
+ mapChildrenField,
5997
+ parentField
5936
5998
  } = treeOpts;
5999
+ const childrenField = treeOpts.children || treeOpts.childrenField;
5937
6000
  const {
5938
6001
  dragRow
5939
6002
  } = reactData;
5940
6003
  const {
5941
6004
  afterFullData,
5942
- afterTreeFullData,
5943
6005
  tableFullData,
5944
- tableFullTreeData,
5945
6006
  prevDragRow,
5946
6007
  prevDragPos
5947
6008
  } = internalData;
@@ -5961,26 +6022,102 @@ const Methods = {
5961
6022
  }
5962
6023
  let oafIndex = -1;
5963
6024
  let nafIndex = -1;
6025
+ // 如果为树结构
5964
6026
  if (treeConfig) {
5965
- // 移出源位置
5966
- oafIndex = $xeTable.findRowIndexOf(afterTreeFullData, dragRow);
5967
- const otfIndex = $xeTable.findRowIndexOf(tableFullTreeData, dragRow);
5968
- afterTreeFullData.splice(oafIndex, 1);
5969
- tableFullTreeData.splice(otfIndex, 1);
5970
- // 插新位置
5971
- const pafIndex = $xeTable.findRowIndexOf(afterTreeFullData, prevDragRow);
5972
- const ptfIndex = $xeTable.findRowIndexOf(tableFullTreeData, prevDragRow);
5973
- nafIndex = pafIndex + dragOffsetIndex;
5974
- const ntfIndex = ptfIndex + dragOffsetIndex;
5975
- afterTreeFullData.splice(nafIndex, 0, dragRow);
5976
- tableFullTreeData.splice(ntfIndex, 0, dragRow);
6027
+ if (transform) {
6028
+ // 移出源位置
6029
+ const oldRowid = (0, _util.getRowid)($xeTable, dragRow);
6030
+ const oldRest = fullAllDataRowIdData[oldRowid];
6031
+ const newRowid = (0, _util.getRowid)($xeTable, prevDragRow);
6032
+ const newRest = fullAllDataRowIdData[newRowid];
6033
+ if (oldRest && newRest) {
6034
+ const {
6035
+ level: oldLevel
6036
+ } = oldRest;
6037
+ const {
6038
+ level: newLevel
6039
+ } = newRest;
6040
+ const oldAllMaps = {};
6041
+ _xeUtils.default.eachTree([dragRow], item => {
6042
+ oldAllMaps[(0, _util.getRowid)($xeTable, item)] = item;
6043
+ }, {
6044
+ children: mapChildrenField
6045
+ });
6046
+ let isSelfToChildStatus = false;
6047
+ if (oldLevel && newLevel) {
6048
+ // 子到子
6049
+ if (!isCrossDrag) {
6050
+ return;
6051
+ }
6052
+ if (oldAllMaps[newRowid]) {
6053
+ if (!isSelfToChildDrag) {
6054
+ isSelfToChildStatus = true;
6055
+ if (_ui.VxeUI.modal) {
6056
+ _ui.VxeUI.modal.message({
6057
+ status: 'error',
6058
+ content: getI18n('vxe.error.treeDragChild')
6059
+ });
6060
+ }
6061
+ return;
6062
+ }
6063
+ }
6064
+ } else if (oldLevel) {
6065
+ // 子到根
6066
+ if (!isCrossDrag) {
6067
+ return;
6068
+ }
6069
+ } else if (newLevel) {
6070
+ // 根到子
6071
+ if (!isCrossDrag) {
6072
+ return;
6073
+ }
6074
+ if (oldAllMaps[newRowid]) {
6075
+ isSelfToChildStatus = true;
6076
+ if (!isSelfToChildDrag) {
6077
+ if (_ui.VxeUI.modal) {
6078
+ _ui.VxeUI.modal.message({
6079
+ status: 'error',
6080
+ content: getI18n('vxe.error.treeDragChild')
6081
+ });
6082
+ }
6083
+ return;
6084
+ }
6085
+ }
6086
+ } else {
6087
+ // 根到根
6088
+ }
6089
+ const fullList = _xeUtils.default.toTreeArray(internalData.afterTreeFullData, {
6090
+ children: childrenField
6091
+ });
6092
+ // 移出
6093
+ const otfIndex = $xeTable.findRowIndexOf(fullList, dragRow);
6094
+ fullList.splice(otfIndex, 1);
6095
+ // 插入
6096
+ const ptfIndex = $xeTable.findRowIndexOf(fullList, prevDragRow);
6097
+ const ntfIndex = ptfIndex + dragOffsetIndex;
6098
+ fullList.splice(ntfIndex, 0, dragRow);
6099
+ // 改变层级
6100
+ if (isSelfToChildStatus && isSelfToChildDrag) {
6101
+ _xeUtils.default.each(dragRow[childrenField], childRow => {
6102
+ childRow[parentField] = dragRow[parentField];
6103
+ });
6104
+ }
6105
+ dragRow[parentField] = prevDragRow[parentField];
6106
+ internalData.tableFullTreeData = _xeUtils.default.toArrayTree(fullList, {
6107
+ key: treeOpts.rowField,
6108
+ parentKey: treeOpts.parentField,
6109
+ children: childrenField,
6110
+ mapChildren: treeOpts.mapChildrenField
6111
+ });
6112
+ }
6113
+ }
5977
6114
  } else {
5978
- // 移出源位置
6115
+ // 移出
5979
6116
  oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
5980
6117
  const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
5981
6118
  afterFullData.splice(oafIndex, 1);
5982
6119
  tableFullData.splice(otfIndex, 1);
5983
- // 插新位置
6120
+ // 插入
5984
6121
  const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
5985
6122
  const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
5986
6123
  nafIndex = pafIndex + dragOffsetIndex;
@@ -5989,9 +6126,9 @@ const Methods = {
5989
6126
  tableFullData.splice(ntfIndex, 0, dragRow);
5990
6127
  }
5991
6128
  reactData.isDragRowMove = true;
5992
- $xeTable.cacheRowMap();
5993
- $xeTable.updateScrollYStatus();
5994
6129
  $xeTable.handleTableData(treeConfig && transform);
6130
+ $xeTable.cacheRowMap(true);
6131
+ $xeTable.updateScrollYStatus();
5995
6132
  if (!(treeConfig && transform)) {
5996
6133
  $xeTable.updateAfterDataIndex();
5997
6134
  }
@@ -6026,29 +6163,44 @@ const Methods = {
6026
6163
  },
6027
6164
  handleRowDragDragoverEvent(evnt) {
6028
6165
  const $xeTable = this;
6166
+ const props = $xeTable;
6029
6167
  const internalData = $xeTable;
6030
6168
  const reactData = $xeTable;
6169
+ const {
6170
+ treeConfig
6171
+ } = props;
6172
+ const {
6173
+ fullAllDataRowIdData
6174
+ } = internalData;
6031
6175
  const {
6032
6176
  dragRow
6033
6177
  } = reactData;
6178
+ const rowDragOpts = $xeTable.computeRowDragOpts;
6179
+ const {
6180
+ isCrossDrag
6181
+ } = rowDragOpts;
6034
6182
  if (!dragRow) {
6035
6183
  evnt.preventDefault();
6036
6184
  return;
6037
6185
  }
6038
6186
  const trEl = evnt.currentTarget;
6039
- const rowid = trEl.getAttribute('rowid');
6040
- const row = $xeTable.getRowById(rowid);
6041
- if (row) {
6042
- evnt.preventDefault();
6187
+ const rowid = trEl.getAttribute('rowid') || '';
6188
+ const rest = fullAllDataRowIdData[rowid];
6189
+ if (rest) {
6190
+ const row = rest.row;
6043
6191
  evnt.preventDefault();
6044
6192
  const {
6045
6193
  dragRow
6046
6194
  } = reactData;
6047
6195
  const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
6048
6196
  const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
6197
+ if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && rest.level) {
6198
+ showDropTip($xeTable, evnt, trEl, null, false, dragPos);
6199
+ return;
6200
+ }
6049
6201
  internalData.prevDragRow = row;
6050
6202
  internalData.prevDragPos = dragPos;
6051
- showDropTip($xeTable, evnt, trEl, null, dragPos);
6203
+ showDropTip($xeTable, evnt, trEl, null, true, dragPos);
6052
6204
  $xeTable.dispatchEvent('row-dragover', {
6053
6205
  oldRow: dragRow,
6054
6206
  targetRow: row,
@@ -6218,9 +6370,13 @@ const Methods = {
6218
6370
  } = reactData;
6219
6371
  const offsetX = evnt.clientX - thEl.getBoundingClientRect().x;
6220
6372
  const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
6373
+ if (dragCol.id === column.id || column.parentId) {
6374
+ showDropTip($xeTable, evnt, null, thEl, false, dragPos);
6375
+ return;
6376
+ }
6221
6377
  internalData.prevDragCol = column;
6222
6378
  internalData.prevDragPos = dragPos;
6223
- showDropTip($xeTable, evnt, null, thEl, dragPos);
6379
+ showDropTip($xeTable, evnt, null, thEl, true, dragPos);
6224
6380
  $xeTable.dispatchEvent('column-dragover', {
6225
6381
  oldColumn: dragCol,
6226
6382
  targetColumn: column,