vxe-table 3.19.27 → 3.19.29
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/locale/lang/ar-EG.js +16 -11
- package/es/locale/lang/de-DE.js +16 -11
- package/es/locale/lang/en-US.js +19 -14
- package/es/locale/lang/es-ES.js +16 -11
- package/es/locale/lang/fr-FR.js +16 -11
- package/es/locale/lang/hu-HU.js +16 -11
- package/es/locale/lang/hy-AM.js +16 -11
- package/es/locale/lang/id-ID.js +16 -11
- package/es/locale/lang/it-IT.js +16 -11
- package/es/locale/lang/ja-JP.js +16 -11
- package/es/locale/lang/ko-KR.js +16 -11
- package/es/locale/lang/ms-MY.js +16 -11
- package/es/locale/lang/nb-NO.js +16 -11
- package/es/locale/lang/pt-BR.js +16 -11
- package/es/locale/lang/ru-RU.js +16 -11
- package/es/locale/lang/th-TH.js +16 -11
- package/es/locale/lang/ug-CN.js +16 -11
- package/es/locale/lang/uk-UA.js +16 -11
- package/es/locale/lang/uz-UZ.js +16 -11
- package/es/locale/lang/vi-VN.js +16 -11
- package/es/locale/lang/zh-CHT.js +16 -11
- package/es/locale/lang/zh-CN.js +15 -12
- package/es/style.css +1 -1
- package/es/table/src/methods.js +230 -188
- package/es/table/src/table.js +14 -4
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +71 -55
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +16 -11
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +16 -11
- package/lib/locale/lang/de-DE.js +16 -11
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +16 -11
- package/lib/locale/lang/en-US.js +19 -14
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +19 -14
- package/lib/locale/lang/es-ES.js +16 -11
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +16 -11
- package/lib/locale/lang/fr-FR.js +16 -11
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +16 -11
- package/lib/locale/lang/hu-HU.js +16 -11
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +16 -11
- package/lib/locale/lang/hy-AM.js +16 -11
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +16 -11
- package/lib/locale/lang/id-ID.js +16 -11
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +16 -11
- package/lib/locale/lang/it-IT.js +16 -11
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +16 -11
- package/lib/locale/lang/ja-JP.js +16 -11
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +16 -11
- package/lib/locale/lang/ko-KR.js +16 -11
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +16 -11
- package/lib/locale/lang/ms-MY.js +16 -11
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +16 -11
- package/lib/locale/lang/nb-NO.js +16 -11
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +16 -11
- package/lib/locale/lang/pt-BR.js +16 -11
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +16 -11
- package/lib/locale/lang/ru-RU.js +16 -11
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +16 -11
- package/lib/locale/lang/th-TH.js +16 -11
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +16 -11
- package/lib/locale/lang/ug-CN.js +16 -11
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +16 -11
- package/lib/locale/lang/uk-UA.js +16 -11
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +16 -11
- package/lib/locale/lang/uz-UZ.js +16 -11
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +16 -11
- package/lib/locale/lang/vi-VN.js +16 -11
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +16 -11
- package/lib/locale/lang/zh-CHT.js +16 -11
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +16 -11
- package/lib/locale/lang/zh-CN.js +15 -12
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +15 -12
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +234 -190
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +19 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -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/package.json +1 -1
- package/packages/locale/lang/ar-EG.ts +16 -11
- package/packages/locale/lang/de-DE.ts +16 -11
- package/packages/locale/lang/en-US.ts +19 -14
- package/packages/locale/lang/es-ES.ts +16 -11
- package/packages/locale/lang/fr-FR.ts +16 -11
- package/packages/locale/lang/hu-HU.ts +16 -11
- package/packages/locale/lang/hy-AM.ts +16 -11
- package/packages/locale/lang/id-ID.ts +16 -11
- package/packages/locale/lang/it-IT.ts +16 -11
- package/packages/locale/lang/ja-JP.ts +16 -11
- package/packages/locale/lang/ko-KR.ts +16 -11
- package/packages/locale/lang/ms-MY.ts +16 -11
- package/packages/locale/lang/nb-NO.ts +16 -11
- package/packages/locale/lang/pt-BR.ts +16 -11
- package/packages/locale/lang/ru-RU.ts +16 -11
- package/packages/locale/lang/th-TH.ts +16 -11
- package/packages/locale/lang/ug-CN.ts +16 -11
- package/packages/locale/lang/uk-UA.ts +16 -11
- package/packages/locale/lang/uz-UZ.ts +16 -11
- package/packages/locale/lang/vi-VN.ts +16 -11
- package/packages/locale/lang/zh-CHT.ts +16 -11
- package/packages/locale/lang/zh-CN.ts +15 -12
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/methods.ts +235 -191
- package/packages/table/src/table.ts +15 -4
- /package/es/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
- /package/es/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
- /package/es/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
- /package/es/{table → ui}/src/anime.js +0 -0
- /package/lib/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
- /package/lib/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
- /package/lib/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
- /package/lib/{table → ui}/src/anime.js +0 -0
- /package/lib/{table → ui}/src/anime.min.js +0 -0
- /package/packages/{table → ui}/src/anime.ts +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -5,7 +5,7 @@ import { VxeUI } from '../../ui';
|
|
|
5
5
|
import Cell from './cell';
|
|
6
6
|
import { getRowUniqueId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn } from './util';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
|
-
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '
|
|
8
|
+
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime';
|
|
9
9
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
10
10
|
import { getCrossTableDragRowInfo } from './store';
|
|
11
11
|
const { getConfig, getI18n, renderer, formats, interceptor, createEvent } = VxeUI;
|
|
@@ -2540,6 +2540,16 @@ function clearDragStatus($xeTable) {
|
|
|
2540
2540
|
reactData.dragCol = null;
|
|
2541
2541
|
}
|
|
2542
2542
|
}
|
|
2543
|
+
function handleRowDragEndClearStatus($xeTable) {
|
|
2544
|
+
clearRowDragData($xeTable);
|
|
2545
|
+
clearCrossTableDragStatus($xeTable);
|
|
2546
|
+
handleRecalculateStyle($xeTable, false, true, true);
|
|
2547
|
+
}
|
|
2548
|
+
function handleColDragEndClearStatus($xeTable) {
|
|
2549
|
+
clearColDragData($xeTable);
|
|
2550
|
+
clearCrossTableDragStatus($xeTable);
|
|
2551
|
+
handleRecalculateStyle($xeTable, true, true, true);
|
|
2552
|
+
}
|
|
2543
2553
|
function clearRowDropOrigin($xeTable) {
|
|
2544
2554
|
const el = $xeTable.$el;
|
|
2545
2555
|
if (el) {
|
|
@@ -3215,13 +3225,13 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3215
3225
|
* 加载表格数据
|
|
3216
3226
|
* @param {Array} datas 数据
|
|
3217
3227
|
*/
|
|
3218
|
-
function loadTableData($xeTable, datas, isReset) {
|
|
3228
|
+
function loadTableData($xeTable, datas, isReload, isReset) {
|
|
3219
3229
|
const props = $xeTable;
|
|
3220
3230
|
const reactData = $xeTable;
|
|
3221
3231
|
const internalData = $xeTable;
|
|
3222
3232
|
const { keepSource, treeConfig, aggregateConfig, rowGroupConfig } = props;
|
|
3223
3233
|
const { rowGroupList, scrollYLoad: oldScrollYLoad } = reactData;
|
|
3224
|
-
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData;
|
|
3234
|
+
const { initStatus, scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData;
|
|
3225
3235
|
const rowOpts = $xeTable.computeRowOpts;
|
|
3226
3236
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
3227
3237
|
const expandOpts = $xeTable.computeExpandOpts;
|
|
@@ -3359,6 +3369,19 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3359
3369
|
}
|
|
3360
3370
|
handleReserveStatus($xeTable);
|
|
3361
3371
|
$xeTable.checkSelectionStatus();
|
|
3372
|
+
if (initStatus) {
|
|
3373
|
+
$xeTable.dispatchEvent('data-rendered', {
|
|
3374
|
+
isReload,
|
|
3375
|
+
visibleColumn: internalData.visibleColumn,
|
|
3376
|
+
visibleData: internalData.afterFullData
|
|
3377
|
+
}, null);
|
|
3378
|
+
}
|
|
3379
|
+
else {
|
|
3380
|
+
$xeTable.dispatchEvent('init-rendered', {
|
|
3381
|
+
visibleColumn: internalData.visibleColumn,
|
|
3382
|
+
visibleData: internalData.afterFullData
|
|
3383
|
+
}, null);
|
|
3384
|
+
}
|
|
3362
3385
|
$xeTable.dispatchEvent('data-change', {
|
|
3363
3386
|
visibleColumn: internalData.visibleColumn,
|
|
3364
3387
|
visibleData: internalData.afterFullData
|
|
@@ -3430,7 +3453,14 @@ function handleLoadDefaults($xeTable) {
|
|
|
3430
3453
|
handleDefaultMergeCells($xeTable);
|
|
3431
3454
|
handleDefaultMergeHeaderItems($xeTable);
|
|
3432
3455
|
handleDefaultMergeFooterItems($xeTable);
|
|
3433
|
-
$xeTable.$nextTick(() =>
|
|
3456
|
+
$xeTable.$nextTick(() => {
|
|
3457
|
+
const internalData = $xeTable;
|
|
3458
|
+
$xeTable.dispatchEvent('init-rendered', {
|
|
3459
|
+
visibleColumn: internalData.visibleColumn,
|
|
3460
|
+
visibleData: internalData.afterFullData
|
|
3461
|
+
}, null);
|
|
3462
|
+
setTimeout(() => $xeTable.recalculate());
|
|
3463
|
+
});
|
|
3434
3464
|
}
|
|
3435
3465
|
/**
|
|
3436
3466
|
* 处理初始化的默认行为
|
|
@@ -4316,7 +4346,7 @@ const tableMethods = {
|
|
|
4316
4346
|
errLog('vxe.error.delFunc', ['syncData', 'getData']);
|
|
4317
4347
|
return $xeTable.$nextTick().then(() => {
|
|
4318
4348
|
reactData.tableData = [];
|
|
4319
|
-
return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true));
|
|
4349
|
+
return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true, true));
|
|
4320
4350
|
});
|
|
4321
4351
|
},
|
|
4322
4352
|
/**
|
|
@@ -4384,7 +4414,8 @@ const tableMethods = {
|
|
|
4384
4414
|
const reactData = $xeTable;
|
|
4385
4415
|
const internalData = $xeTable;
|
|
4386
4416
|
const { data } = props;
|
|
4387
|
-
|
|
4417
|
+
$xeTable.dispatchEvent('ready', {}, null);
|
|
4418
|
+
loadTableData($xeTable, data || [], true, true).then(() => {
|
|
4388
4419
|
if (data && data.length) {
|
|
4389
4420
|
internalData.inited = true;
|
|
4390
4421
|
internalData.initStatus = true;
|
|
@@ -4402,9 +4433,9 @@ const tableMethods = {
|
|
|
4402
4433
|
* 加载表格数据
|
|
4403
4434
|
* @param {Array} datas 数据
|
|
4404
4435
|
*/
|
|
4405
|
-
loadTableData(datas, isReset) {
|
|
4436
|
+
loadTableData(datas, isReload, isReset) {
|
|
4406
4437
|
const $xeTable = this;
|
|
4407
|
-
return loadTableData($xeTable, datas, isReset);
|
|
4438
|
+
return loadTableData($xeTable, datas, isReload, isReset);
|
|
4408
4439
|
},
|
|
4409
4440
|
/**
|
|
4410
4441
|
* 重新加载数据,不会清空表格状态
|
|
@@ -4412,11 +4443,12 @@ const tableMethods = {
|
|
|
4412
4443
|
*/
|
|
4413
4444
|
loadData(datas) {
|
|
4414
4445
|
const $xeTable = this;
|
|
4415
|
-
const
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4446
|
+
const internalData = $xeTable;
|
|
4447
|
+
const { initStatus } = internalData;
|
|
4448
|
+
return loadTableData($xeTable, datas, false, false).then(() => {
|
|
4449
|
+
internalData.inited = true;
|
|
4450
|
+
internalData.initStatus = true;
|
|
4451
|
+
if (initStatus) {
|
|
4420
4452
|
handleLoadDefaults($xeTable);
|
|
4421
4453
|
}
|
|
4422
4454
|
return handleLazyRecalculate($xeTable, false, true, true);
|
|
@@ -4428,11 +4460,12 @@ const tableMethods = {
|
|
|
4428
4460
|
*/
|
|
4429
4461
|
reloadData(datas) {
|
|
4430
4462
|
const $xeTable = this;
|
|
4431
|
-
|
|
4463
|
+
const internalData = $xeTable;
|
|
4464
|
+
return $xeTable.clearAll()
|
|
4432
4465
|
.then(() => {
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
return loadTableData($xeTable, datas, true);
|
|
4466
|
+
internalData.inited = true;
|
|
4467
|
+
internalData.initStatus = true;
|
|
4468
|
+
return loadTableData($xeTable, datas, true, true);
|
|
4436
4469
|
})
|
|
4437
4470
|
.then(() => {
|
|
4438
4471
|
handleLoadDefaults($xeTable);
|
|
@@ -4443,6 +4476,7 @@ const tableMethods = {
|
|
|
4443
4476
|
* 修改行数据
|
|
4444
4477
|
*/
|
|
4445
4478
|
setRow(rows, record) {
|
|
4479
|
+
const $xeTable = this;
|
|
4446
4480
|
if (record) {
|
|
4447
4481
|
let rest = rows;
|
|
4448
4482
|
if (!XEUtils.isArray(rows)) {
|
|
@@ -4450,7 +4484,7 @@ const tableMethods = {
|
|
|
4450
4484
|
}
|
|
4451
4485
|
rest.forEach((item) => Object.assign(item, record));
|
|
4452
4486
|
}
|
|
4453
|
-
return
|
|
4487
|
+
return $xeTable.$nextTick();
|
|
4454
4488
|
},
|
|
4455
4489
|
/**
|
|
4456
4490
|
* 局部加载行数据并恢复到初始状态
|
|
@@ -5070,7 +5104,7 @@ const tableMethods = {
|
|
|
5070
5104
|
}
|
|
5071
5105
|
}
|
|
5072
5106
|
else if (renderOpts && tcFormatter) {
|
|
5073
|
-
cellLabel =
|
|
5107
|
+
cellLabel = tcFormatter(renderOpts, formatParams);
|
|
5074
5108
|
}
|
|
5075
5109
|
if (formatData) {
|
|
5076
5110
|
formatData[colid] = { value: cellValue, label: cellLabel };
|
|
@@ -8757,76 +8791,43 @@ const tableMethods = {
|
|
|
8757
8791
|
dragToChild: !!prevDragToChild,
|
|
8758
8792
|
offsetIndex: dragOffsetIndex
|
|
8759
8793
|
};
|
|
8760
|
-
const
|
|
8761
|
-
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
const
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
if (
|
|
8789
|
-
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8793
|
-
oldAllMaps[getRowid($xeTable, item)] = item;
|
|
8794
|
-
}, { children: mapChildrenField });
|
|
8795
|
-
let isSelfToChildStatus = false;
|
|
8796
|
-
if (oldLevel && newLevel) {
|
|
8797
|
-
// 子到子
|
|
8798
|
-
if (isPeerDrag && !isCrossDrag) {
|
|
8799
|
-
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
8800
|
-
// 非同级
|
|
8801
|
-
return errRest;
|
|
8802
|
-
}
|
|
8803
|
-
}
|
|
8804
|
-
else {
|
|
8805
|
-
if (!isCrossDrag) {
|
|
8806
|
-
return errRest;
|
|
8807
|
-
}
|
|
8808
|
-
if (oldAllMaps[newRowid]) {
|
|
8809
|
-
isSelfToChildStatus = true;
|
|
8810
|
-
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
8811
|
-
if (VxeUI.modal) {
|
|
8812
|
-
VxeUI.modal.message({
|
|
8813
|
-
status: 'error',
|
|
8814
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
8815
|
-
});
|
|
8816
|
-
}
|
|
8817
|
-
return errRest;
|
|
8818
|
-
}
|
|
8819
|
-
}
|
|
8820
|
-
}
|
|
8821
|
-
}
|
|
8822
|
-
else if (oldLevel) {
|
|
8823
|
-
// 子到根
|
|
8824
|
-
if (!isCrossDrag) {
|
|
8794
|
+
const dragRowid = getRowid($xeTable, dragRow);
|
|
8795
|
+
const dragRowRest = fullAllDataRowIdData[dragRowid] || {};
|
|
8796
|
+
const _dragRowIndex = dragRowRest._index;
|
|
8797
|
+
let dragRowHeight = 0;
|
|
8798
|
+
let dragOffsetTop = -1;
|
|
8799
|
+
if (animation) {
|
|
8800
|
+
dragRowHeight = getCellRestHeight(dragRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
8801
|
+
const oldTrEl = el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);
|
|
8802
|
+
if (oldTrEl) {
|
|
8803
|
+
dragOffsetTop = oldTrEl.offsetTop;
|
|
8804
|
+
}
|
|
8805
|
+
}
|
|
8806
|
+
let oafIndex = -1;
|
|
8807
|
+
let nafIndex = -1;
|
|
8808
|
+
const oldRest = dragRowRest;
|
|
8809
|
+
const newRowid = getRowid($xeTable, prevDragRow);
|
|
8810
|
+
const newRest = fullAllDataRowIdData[newRowid];
|
|
8811
|
+
const oldAllMaps = {};
|
|
8812
|
+
let isSelfToChildStatus = false;
|
|
8813
|
+
// 如果为树结构
|
|
8814
|
+
if (treeConfig) {
|
|
8815
|
+
if (transform) {
|
|
8816
|
+
if (oldRest && newRest) {
|
|
8817
|
+
const { level: oldLevel } = oldRest;
|
|
8818
|
+
const { level: newLevel } = newRest;
|
|
8819
|
+
XEUtils.eachTree([dragRow], item => {
|
|
8820
|
+
oldAllMaps[getRowid($xeTable, item)] = item;
|
|
8821
|
+
}, { children: mapChildrenField });
|
|
8822
|
+
if (oldLevel && newLevel) {
|
|
8823
|
+
// 子到子
|
|
8824
|
+
if (isPeerDrag && !isCrossDrag) {
|
|
8825
|
+
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
8826
|
+
// 非同级
|
|
8825
8827
|
return errRest;
|
|
8826
8828
|
}
|
|
8827
8829
|
}
|
|
8828
|
-
else
|
|
8829
|
-
// 根到子
|
|
8830
|
+
else {
|
|
8830
8831
|
if (!isCrossDrag) {
|
|
8831
8832
|
return errRest;
|
|
8832
8833
|
}
|
|
@@ -8843,9 +8844,47 @@ const tableMethods = {
|
|
|
8843
8844
|
}
|
|
8844
8845
|
}
|
|
8845
8846
|
}
|
|
8846
|
-
|
|
8847
|
-
|
|
8847
|
+
}
|
|
8848
|
+
else if (oldLevel) {
|
|
8849
|
+
// 子到根
|
|
8850
|
+
if (!isCrossDrag) {
|
|
8851
|
+
return errRest;
|
|
8852
|
+
}
|
|
8853
|
+
}
|
|
8854
|
+
else if (newLevel) {
|
|
8855
|
+
// 根到子
|
|
8856
|
+
if (!isCrossDrag) {
|
|
8857
|
+
return errRest;
|
|
8858
|
+
}
|
|
8859
|
+
if (oldAllMaps[newRowid]) {
|
|
8860
|
+
isSelfToChildStatus = true;
|
|
8861
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
8862
|
+
if (VxeUI.modal) {
|
|
8863
|
+
VxeUI.modal.message({
|
|
8864
|
+
status: 'error',
|
|
8865
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
8866
|
+
});
|
|
8867
|
+
}
|
|
8868
|
+
return errRest;
|
|
8869
|
+
}
|
|
8848
8870
|
}
|
|
8871
|
+
}
|
|
8872
|
+
else {
|
|
8873
|
+
// 根到根
|
|
8874
|
+
}
|
|
8875
|
+
}
|
|
8876
|
+
}
|
|
8877
|
+
}
|
|
8878
|
+
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
8879
|
+
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
8880
|
+
if (!status) {
|
|
8881
|
+
return errRest;
|
|
8882
|
+
}
|
|
8883
|
+
// 如果为树结构
|
|
8884
|
+
if (treeConfig) {
|
|
8885
|
+
if (transform) {
|
|
8886
|
+
// 移出源位置
|
|
8887
|
+
if (oldRest && newRest) {
|
|
8849
8888
|
const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, {
|
|
8850
8889
|
key: rowField,
|
|
8851
8890
|
parentKey: parentField,
|
|
@@ -8888,8 +8927,6 @@ const tableMethods = {
|
|
|
8888
8927
|
afterFullData.splice(nafIndex, 0, dragRow);
|
|
8889
8928
|
tableFullData.splice(ntfIndex, 0, dragRow);
|
|
8890
8929
|
}
|
|
8891
|
-
clearRowDragData($xeTable);
|
|
8892
|
-
clearCrossTableDragStatus($xeTable);
|
|
8893
8930
|
$xeTable.handleTableData(treeConfig && transform);
|
|
8894
8931
|
$xeTable.cacheRowMap(false);
|
|
8895
8932
|
updateScrollYStatus($xeTable);
|
|
@@ -8917,6 +8954,7 @@ const tableMethods = {
|
|
|
8917
8954
|
return $xeTable.$nextTick().then(() => {
|
|
8918
8955
|
if (animation) {
|
|
8919
8956
|
const { tableData } = reactData;
|
|
8957
|
+
const { fullAllDataRowIdData } = internalData;
|
|
8920
8958
|
const dragRowRest = fullAllDataRowIdData[dragRowid];
|
|
8921
8959
|
const _newRowIndex = dragRowRest._index;
|
|
8922
8960
|
const firstRow = tableData[0];
|
|
@@ -8994,16 +9032,17 @@ const tableMethods = {
|
|
|
8994
9032
|
});
|
|
8995
9033
|
}).catch(() => {
|
|
8996
9034
|
return errRest;
|
|
9035
|
+
}).then((rest) => {
|
|
9036
|
+
handleRowDragEndClearStatus($xeTable);
|
|
9037
|
+
return rest;
|
|
8997
9038
|
});
|
|
8998
9039
|
}
|
|
8999
|
-
|
|
9000
|
-
clearCrossTableDragStatus($xeTable);
|
|
9040
|
+
handleRowDragEndClearStatus($xeTable);
|
|
9001
9041
|
return Promise.resolve(errRest);
|
|
9002
9042
|
},
|
|
9003
9043
|
handleCrossTableRowDragCancelEvent() {
|
|
9004
9044
|
const $xeTable = this;
|
|
9005
|
-
|
|
9006
|
-
clearCrossTableDragStatus($xeTable);
|
|
9045
|
+
handleRowDragEndClearStatus($xeTable);
|
|
9007
9046
|
},
|
|
9008
9047
|
/**
|
|
9009
9048
|
* 处理跨表拖拽完成
|
|
@@ -9067,8 +9106,7 @@ const tableMethods = {
|
|
|
9067
9106
|
$xeTable.dispatchEvent('row-remove-dragend', {
|
|
9068
9107
|
row: dragRow
|
|
9069
9108
|
}, evnt);
|
|
9070
|
-
|
|
9071
|
-
clearCrossTableDragStatus($xeTable);
|
|
9109
|
+
handleRowDragEndClearStatus($xeTable);
|
|
9072
9110
|
}
|
|
9073
9111
|
}
|
|
9074
9112
|
},
|
|
@@ -9150,8 +9188,7 @@ const tableMethods = {
|
|
|
9150
9188
|
$oldTable.handleCrossTableRowDragCancelEvent(evnt);
|
|
9151
9189
|
}
|
|
9152
9190
|
}
|
|
9153
|
-
|
|
9154
|
-
clearCrossTableDragStatus($xeTable);
|
|
9191
|
+
handleRowDragEndClearStatus($xeTable);
|
|
9155
9192
|
return errRest;
|
|
9156
9193
|
}
|
|
9157
9194
|
let insertRest = Promise.resolve();
|
|
@@ -9310,12 +9347,10 @@ const tableMethods = {
|
|
|
9310
9347
|
const isControlKey = hasControlKey(evnt);
|
|
9311
9348
|
const trEl = evnt.currentTarget;
|
|
9312
9349
|
const rowid = trEl.getAttribute('rowid') || '';
|
|
9313
|
-
const
|
|
9314
|
-
if (
|
|
9350
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
9351
|
+
if (rowRest) {
|
|
9315
9352
|
evnt.preventDefault();
|
|
9316
|
-
const row =
|
|
9317
|
-
const rowid = getRowid($xeTable, row);
|
|
9318
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
9353
|
+
const row = rowRest.row;
|
|
9319
9354
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
9320
9355
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
9321
9356
|
internalData.prevDragToChild = !!(treeConfig && transform && (isCrossDrag && isToChildDrag) && isControlKey);
|
|
@@ -9349,7 +9384,7 @@ const tableMethods = {
|
|
|
9349
9384
|
}
|
|
9350
9385
|
if ($xeTable.eqRow(dragRow, row) ||
|
|
9351
9386
|
(isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded) ||
|
|
9352
|
-
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] :
|
|
9387
|
+
(!isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rowRest.level))) {
|
|
9353
9388
|
showDropTip($xeTable, evnt, trEl, null, false, dragPos);
|
|
9354
9389
|
return;
|
|
9355
9390
|
}
|
|
@@ -9446,80 +9481,50 @@ const tableMethods = {
|
|
|
9446
9481
|
dragToChild: !!prevDragToChild,
|
|
9447
9482
|
offsetIndex: dragOffsetIndex
|
|
9448
9483
|
};
|
|
9449
|
-
|
|
9450
|
-
|
|
9451
|
-
|
|
9452
|
-
|
|
9453
|
-
clearCrossTableDragStatus($xeTable);
|
|
9454
|
-
return errRest;
|
|
9455
|
-
}
|
|
9456
|
-
let dragTargetColumn = null;
|
|
9457
|
-
const dragAllTargetCols = [];
|
|
9458
|
-
let dragColWidth = 0;
|
|
9459
|
-
if (animation) {
|
|
9460
|
-
XEUtils.eachTree([dragColumn], column => {
|
|
9461
|
-
if (!dragTargetColumn && (!column.children || !column.children.length)) {
|
|
9462
|
-
dragTargetColumn = column;
|
|
9463
|
-
dragColWidth += column.renderWidth;
|
|
9464
|
-
}
|
|
9465
|
-
dragAllTargetCols.push(column);
|
|
9466
|
-
});
|
|
9467
|
-
}
|
|
9468
|
-
if (!dragTargetColumn) {
|
|
9469
|
-
dragTargetColumn = dragColumn;
|
|
9470
|
-
}
|
|
9471
|
-
const dragColRest = fullColumnIdData[dragTargetColumn.id] || {};
|
|
9472
|
-
const _dragColIndex = dragColRest._index;
|
|
9473
|
-
let dragOffsetLeft = -1;
|
|
9474
|
-
if (animation) {
|
|
9475
|
-
const oldTrEl = el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);
|
|
9476
|
-
if (oldTrEl) {
|
|
9477
|
-
dragOffsetLeft = oldTrEl.offsetLeft;
|
|
9478
|
-
}
|
|
9479
|
-
}
|
|
9480
|
-
let oafIndex = -1;
|
|
9481
|
-
let nafIndex = -1;
|
|
9482
|
-
const oldAllMaps = {};
|
|
9484
|
+
let dragTargetColumn = null;
|
|
9485
|
+
const dragAllTargetCols = [];
|
|
9486
|
+
let dragColWidth = 0;
|
|
9487
|
+
if (animation) {
|
|
9483
9488
|
XEUtils.eachTree([dragColumn], column => {
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
if (dragColumn.parentId && newColumn.parentId) {
|
|
9488
|
-
// 子到子
|
|
9489
|
-
if (isPeerDrag && !isCrossDrag) {
|
|
9490
|
-
if (dragColumn.parentId !== newColumn.parentId) {
|
|
9491
|
-
// 非同级
|
|
9492
|
-
return errRest;
|
|
9493
|
-
}
|
|
9494
|
-
}
|
|
9495
|
-
else {
|
|
9496
|
-
if (!isCrossDrag) {
|
|
9497
|
-
return errRest;
|
|
9498
|
-
}
|
|
9499
|
-
if (oldAllMaps[newColumn.id]) {
|
|
9500
|
-
isSelfToChildStatus = true;
|
|
9501
|
-
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
9502
|
-
if (VxeUI.modal) {
|
|
9503
|
-
VxeUI.modal.message({
|
|
9504
|
-
status: 'error',
|
|
9505
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
9506
|
-
});
|
|
9507
|
-
}
|
|
9508
|
-
return errRest;
|
|
9509
|
-
}
|
|
9510
|
-
}
|
|
9489
|
+
if (!dragTargetColumn && (!column.children || !column.children.length)) {
|
|
9490
|
+
dragTargetColumn = column;
|
|
9491
|
+
dragColWidth += column.renderWidth;
|
|
9511
9492
|
}
|
|
9493
|
+
dragAllTargetCols.push(column);
|
|
9494
|
+
});
|
|
9495
|
+
}
|
|
9496
|
+
if (!dragTargetColumn) {
|
|
9497
|
+
dragTargetColumn = dragColumn;
|
|
9498
|
+
}
|
|
9499
|
+
const dragColRest = fullColumnIdData[dragTargetColumn.id] || {};
|
|
9500
|
+
const _dragColIndex = dragColRest._index;
|
|
9501
|
+
let dragOffsetLeft = -1;
|
|
9502
|
+
if (animation) {
|
|
9503
|
+
const oldTrEl = el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);
|
|
9504
|
+
if (oldTrEl) {
|
|
9505
|
+
dragOffsetLeft = oldTrEl.offsetLeft;
|
|
9512
9506
|
}
|
|
9513
|
-
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9507
|
+
}
|
|
9508
|
+
let oafIndex = -1;
|
|
9509
|
+
let nafIndex = -1;
|
|
9510
|
+
const oldAllMaps = {};
|
|
9511
|
+
XEUtils.eachTree([dragColumn], column => {
|
|
9512
|
+
oldAllMaps[column.id] = column;
|
|
9513
|
+
});
|
|
9514
|
+
let isSelfToChildStatus = false;
|
|
9515
|
+
if (dragColumn.parentId && newColumn.parentId) {
|
|
9516
|
+
// 子到子
|
|
9517
|
+
if (isPeerDrag && !isCrossDrag) {
|
|
9518
|
+
if (dragColumn.parentId !== newColumn.parentId) {
|
|
9519
|
+
// 非同级
|
|
9520
|
+
handleColDragEndClearStatus($xeTable);
|
|
9521
|
+
return Promise.resolve(errRest);
|
|
9517
9522
|
}
|
|
9518
9523
|
}
|
|
9519
|
-
else
|
|
9520
|
-
// 根到子
|
|
9524
|
+
else {
|
|
9521
9525
|
if (!isCrossDrag) {
|
|
9522
|
-
|
|
9526
|
+
handleColDragEndClearStatus($xeTable);
|
|
9527
|
+
return Promise.resolve(errRest);
|
|
9523
9528
|
}
|
|
9524
9529
|
if (oldAllMaps[newColumn.id]) {
|
|
9525
9530
|
isSelfToChildStatus = true;
|
|
@@ -9530,12 +9535,46 @@ const tableMethods = {
|
|
|
9530
9535
|
content: getI18n('vxe.error.treeDragChild')
|
|
9531
9536
|
});
|
|
9532
9537
|
}
|
|
9533
|
-
|
|
9538
|
+
handleColDragEndClearStatus($xeTable);
|
|
9539
|
+
return Promise.resolve(errRest);
|
|
9534
9540
|
}
|
|
9535
9541
|
}
|
|
9536
9542
|
}
|
|
9537
|
-
|
|
9538
|
-
|
|
9543
|
+
}
|
|
9544
|
+
else if (dragColumn.parentId) {
|
|
9545
|
+
// 子到根
|
|
9546
|
+
if (!isCrossDrag) {
|
|
9547
|
+
handleColDragEndClearStatus($xeTable);
|
|
9548
|
+
return Promise.resolve(errRest);
|
|
9549
|
+
}
|
|
9550
|
+
}
|
|
9551
|
+
else if (newColumn.parentId) {
|
|
9552
|
+
// 根到子
|
|
9553
|
+
if (!isCrossDrag) {
|
|
9554
|
+
handleColDragEndClearStatus($xeTable);
|
|
9555
|
+
return Promise.resolve(errRest);
|
|
9556
|
+
}
|
|
9557
|
+
if (oldAllMaps[newColumn.id]) {
|
|
9558
|
+
isSelfToChildStatus = true;
|
|
9559
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
9560
|
+
if (VxeUI.modal) {
|
|
9561
|
+
VxeUI.modal.message({
|
|
9562
|
+
status: 'error',
|
|
9563
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
9564
|
+
});
|
|
9565
|
+
}
|
|
9566
|
+
handleColDragEndClearStatus($xeTable);
|
|
9567
|
+
return Promise.resolve(errRest);
|
|
9568
|
+
}
|
|
9569
|
+
}
|
|
9570
|
+
}
|
|
9571
|
+
else {
|
|
9572
|
+
// 根到根
|
|
9573
|
+
}
|
|
9574
|
+
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
9575
|
+
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
9576
|
+
if (!status) {
|
|
9577
|
+
return errRest;
|
|
9539
9578
|
}
|
|
9540
9579
|
const oldewMatchRest = XEUtils.findTree(collectColumn, item => item.id === dragColumn.id);
|
|
9541
9580
|
// 改变层级
|
|
@@ -9590,8 +9629,6 @@ const tableMethods = {
|
|
|
9590
9629
|
$xeTable.clearCopyCellArea();
|
|
9591
9630
|
}
|
|
9592
9631
|
}
|
|
9593
|
-
clearColDragData($xeTable);
|
|
9594
|
-
clearCrossTableDragStatus($xeTable);
|
|
9595
9632
|
if (evnt) {
|
|
9596
9633
|
$xeTable.dispatchEvent('column-dragend', {
|
|
9597
9634
|
oldColumn: dragColumn,
|
|
@@ -9696,10 +9733,12 @@ const tableMethods = {
|
|
|
9696
9733
|
});
|
|
9697
9734
|
}).catch(() => {
|
|
9698
9735
|
return errRest;
|
|
9736
|
+
}).then((rest) => {
|
|
9737
|
+
handleColDragEndClearStatus($xeTable);
|
|
9738
|
+
return rest;
|
|
9699
9739
|
});
|
|
9700
9740
|
}
|
|
9701
|
-
|
|
9702
|
-
clearCrossTableDragStatus($xeTable);
|
|
9741
|
+
handleColDragEndClearStatus($xeTable);
|
|
9703
9742
|
return Promise.resolve(errRest);
|
|
9704
9743
|
},
|
|
9705
9744
|
handleHeaderCellDragDragendEvent(evnt) {
|
|
@@ -10425,7 +10464,7 @@ const tableMethods = {
|
|
|
10425
10464
|
handleUpdateRowGroup($xeTable, confList.map(fieldOrColumn => {
|
|
10426
10465
|
return XEUtils.isString(fieldOrColumn) ? fieldOrColumn : fieldOrColumn.field;
|
|
10427
10466
|
}));
|
|
10428
|
-
return loadTableData($xeTable, internalData.tableSynchData, true);
|
|
10467
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true);
|
|
10429
10468
|
}
|
|
10430
10469
|
return $xeTable.$nextTick();
|
|
10431
10470
|
},
|
|
@@ -10462,7 +10501,7 @@ const tableMethods = {
|
|
|
10462
10501
|
return $xeTable.$nextTick();
|
|
10463
10502
|
}
|
|
10464
10503
|
handleUpdateRowGroup($xeTable, []);
|
|
10465
|
-
return loadTableData($xeTable, internalData.tableSynchData, true);
|
|
10504
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true);
|
|
10466
10505
|
},
|
|
10467
10506
|
isRowGroupRecord(row) {
|
|
10468
10507
|
const $xeTable = this;
|
|
@@ -11569,12 +11608,15 @@ const tableMethods = {
|
|
|
11569
11608
|
const lastRow = afterFullData[afterFullData.length - 1];
|
|
11570
11609
|
rowid = getRowid($xeTable, lastRow);
|
|
11571
11610
|
rowRest = fullAllDataRowIdData[rowid] || {};
|
|
11572
|
-
|
|
11573
|
-
|
|
11574
|
-
|
|
11575
|
-
|
|
11576
|
-
|
|
11577
|
-
|
|
11611
|
+
if (rowRest) {
|
|
11612
|
+
const rHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
11613
|
+
// 如果为空时还没计算完数据,保持原高度不变
|
|
11614
|
+
if (rHeight) {
|
|
11615
|
+
sYHeight = (rowRest.oTop || 0) + rHeight;
|
|
11616
|
+
// 是否展开行
|
|
11617
|
+
if (expandColumn && rowExpandedMaps[rowid]) {
|
|
11618
|
+
sYHeight += rowRest.expandHeight || expandOpts.height || 0;
|
|
11619
|
+
}
|
|
11578
11620
|
}
|
|
11579
11621
|
}
|
|
11580
11622
|
if (sYHeight > maxYHeight) {
|
|
@@ -12044,7 +12086,7 @@ const tableMethods = {
|
|
|
12044
12086
|
handleUpdateAggData() {
|
|
12045
12087
|
const $xeTable = this;
|
|
12046
12088
|
const internalData = $xeTable;
|
|
12047
|
-
return loadTableData($xeTable, internalData.tableSynchData, true);
|
|
12089
|
+
return loadTableData($xeTable, internalData.tableSynchData, false, true);
|
|
12048
12090
|
},
|
|
12049
12091
|
updateZindex() {
|
|
12050
12092
|
if (this.zIndex) {
|