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.
- package/es/{iconfont.1733469864818.ttf → iconfont.1733702408214.ttf} +0 -0
- package/es/iconfont.1733702408214.woff +0 -0
- package/es/iconfont.1733702408214.woff2 +0 -0
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -0
- package/es/locale/lang/de-DE.js +2 -0
- package/es/locale/lang/en-US.js +3 -1
- package/es/locale/lang/es-ES.js +2 -0
- package/es/locale/lang/fr-FR.js +2 -0
- package/es/locale/lang/hu-HU.js +2 -0
- package/es/locale/lang/hy-AM.js +2 -0
- package/es/locale/lang/ja-JP.js +2 -0
- package/es/locale/lang/ko-KR.js +2 -0
- package/es/locale/lang/nb-NO.js +2 -0
- package/es/locale/lang/pt-BR.js +2 -0
- package/es/locale/lang/ru-RU.js +2 -0
- package/es/locale/lang/ug-CN.js +2 -0
- package/es/locale/lang/uk-UA.js +2 -0
- package/es/locale/lang/vi-VN.js +2 -0
- package/es/locale/lang/zh-CHT.js +2 -0
- package/es/locale/lang/zh-CN.js +2 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +8 -3
- package/es/table/module/custom/panel.js +44 -27
- package/es/table/src/body.js +2 -2
- package/es/table/src/cell.js +7 -2
- package/es/table/src/header.js +1 -1
- package/es/table/src/methods.js +175 -43
- package/es/table/src/table.js +31 -4
- package/es/table/style.css +62 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +62 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/{iconfont.1733469864818.ttf → iconfont.1733702408214.ttf} +0 -0
- package/lib/iconfont.1733702408214.woff +0 -0
- package/lib/iconfont.1733702408214.woff2 +0 -0
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +297 -92
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +3 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -1
- package/lib/locale/lang/es-ES.js +2 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -0
- package/lib/locale/lang/fr-FR.js +2 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -0
- package/lib/locale/lang/hy-AM.js +2 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -0
- package/lib/locale/lang/ko-KR.js +2 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -0
- package/lib/locale/lang/nb-NO.js +2 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -0
- package/lib/locale/lang/ru-RU.js +2 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -0
- package/lib/locale/lang/ug-CN.js +2 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -0
- package/lib/locale/lang/vi-VN.js +2 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -0
- package/lib/locale/lang/zh-CN.js +2 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +8 -3
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +49 -37
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +6 -1
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +199 -43
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +25 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +62 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +62 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -0
- package/packages/locale/lang/de-DE.ts +2 -0
- package/packages/locale/lang/en-US.ts +3 -1
- package/packages/locale/lang/es-ES.ts +2 -0
- package/packages/locale/lang/fr-FR.ts +2 -0
- package/packages/locale/lang/hu-HU.ts +2 -0
- package/packages/locale/lang/hy-AM.ts +2 -0
- package/packages/locale/lang/ja-JP.ts +2 -0
- package/packages/locale/lang/ko-KR.ts +2 -0
- package/packages/locale/lang/nb-NO.ts +2 -0
- package/packages/locale/lang/pt-BR.ts +2 -0
- package/packages/locale/lang/ru-RU.ts +2 -0
- package/packages/locale/lang/ug-CN.ts +2 -0
- package/packages/locale/lang/uk-UA.ts +2 -0
- package/packages/locale/lang/vi-VN.ts +2 -0
- package/packages/locale/lang/zh-CHT.ts +2 -0
- package/packages/locale/lang/zh-CN.ts +2 -0
- package/packages/table/module/custom/mixin.ts +9 -3
- package/packages/table/module/custom/panel.ts +48 -27
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/cell.ts +8 -2
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/methods.ts +187 -45
- package/packages/table/src/table.ts +34 -4
- package/packages/ui/index.ts +3 -0
- package/styles/components/icon.scss +13 -1
- package/styles/components/table.scss +53 -3
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -0
- package/es/iconfont.1733469864818.woff +0 -0
- package/es/iconfont.1733469864818.woff2 +0 -0
- package/lib/iconfont.1733469864818.woff +0 -0
- package/lib/iconfont.1733469864818.woff2 +0 -0
package/lib/table/src/methods.js
CHANGED
|
@@ -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
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
top = Math.
|
|
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
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
left = Math.
|
|
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
|
-
} =
|
|
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
|
-
|
|
2663
|
-
|
|
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
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
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
|
|
6041
|
-
if (
|
|
6042
|
-
|
|
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,
|