vxe-table 4.12.0-beta.2 → 4.12.0-beta.20
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/grid/src/grid.js +61 -44
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +47 -4
- package/es/table/render/index.js +91 -60
- package/es/table/src/body.js +12 -7
- package/es/table/src/cell.js +10 -9
- package/es/table/src/footer.js +9 -4
- package/es/table/src/header.js +2 -2
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +366 -182
- package/es/table/src/util.js +58 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +58 -48
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +1245 -12123
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +51 -4
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/render/index.js +100 -65
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +11 -6
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +15 -8
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/footer.js +9 -3
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +2 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +402 -188
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +65 -6
- package/lib/table/src/util.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 +2 -2
- package/packages/grid/src/grid.ts +65 -50
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +47 -6
- package/packages/table/render/index.ts +90 -59
- package/packages/table/src/body.ts +11 -6
- package/packages/table/src/cell.ts +10 -9
- package/packages/table/src/footer.ts +9 -4
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +373 -183
- package/packages/table/src/util.ts +66 -3
- /package/es/{iconfont.1741080000843.ttf → iconfont.1742353689933.ttf} +0 -0
- /package/es/{iconfont.1741080000843.woff → iconfont.1742353689933.woff} +0 -0
- /package/es/{iconfont.1741080000843.woff2 → iconfont.1742353689933.woff2} +0 -0
- /package/lib/{iconfont.1741080000843.ttf → iconfont.1742353689933.ttf} +0 -0
- /package/lib/{iconfont.1741080000843.woff → iconfont.1742353689933.woff} +0 -0
- /package/lib/{iconfont.1741080000843.woff2 → iconfont.1742353689933.woff2} +0 -0
package/lib/table/src/table.js
CHANGED
|
@@ -39,6 +39,7 @@ const {
|
|
|
39
39
|
useFns,
|
|
40
40
|
renderEmptyElement
|
|
41
41
|
} = _ui.VxeUI;
|
|
42
|
+
const supportMaxRow = 5e6;
|
|
42
43
|
const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
43
44
|
const maxYHeight = 5e6;
|
|
44
45
|
const maxXWidth = 5e6;
|
|
@@ -499,6 +500,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
499
500
|
const computeColumnOpts = (0, _vue.computed)(() => {
|
|
500
501
|
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig);
|
|
501
502
|
});
|
|
503
|
+
const computeCurrentColumnOpts = (0, _vue.computed)(() => {
|
|
504
|
+
return Object.assign({}, getConfig().table.currentColumnConfig, props.currentColumnConfig);
|
|
505
|
+
});
|
|
502
506
|
const computeCellOpts = (0, _vue.computed)(() => {
|
|
503
507
|
return Object.assign({}, getConfig().table.cellConfig, props.cellConfig);
|
|
504
508
|
});
|
|
@@ -511,6 +515,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
511
515
|
const computeRowOpts = (0, _vue.computed)(() => {
|
|
512
516
|
return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
|
|
513
517
|
});
|
|
518
|
+
const computeCurrentRowOpts = (0, _vue.computed)(() => {
|
|
519
|
+
return Object.assign({}, getConfig().table.currentRowConfig, props.currentRowConfig);
|
|
520
|
+
});
|
|
514
521
|
const computeRowDragOpts = (0, _vue.computed)(() => {
|
|
515
522
|
return Object.assign({}, getConfig().table.rowDragConfig, props.rowDragConfig);
|
|
516
523
|
});
|
|
@@ -817,6 +824,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
817
824
|
computeScrollbarXToTop,
|
|
818
825
|
computeScrollbarYToLeft,
|
|
819
826
|
computeColumnOpts,
|
|
827
|
+
computeCurrentColumnOpts,
|
|
820
828
|
computeScrollXThreshold,
|
|
821
829
|
computeScrollYThreshold,
|
|
822
830
|
computeDefaultRowHeight,
|
|
@@ -824,6 +832,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
824
832
|
computeHeaderCellOpts,
|
|
825
833
|
computeFooterCellOpts,
|
|
826
834
|
computeRowOpts,
|
|
835
|
+
computeCurrentRowOpts,
|
|
827
836
|
computeRowDragOpts,
|
|
828
837
|
computeColumnDragOpts,
|
|
829
838
|
computeResizeOpts,
|
|
@@ -1375,7 +1384,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1375
1384
|
fullColumnFieldData[field] = rest;
|
|
1376
1385
|
} else {
|
|
1377
1386
|
if (storage && !type || columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
|
|
1378
|
-
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field
|
|
1387
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field=?`]);
|
|
1379
1388
|
}
|
|
1380
1389
|
}
|
|
1381
1390
|
if (!hasFixed && fixed) {
|
|
@@ -2628,6 +2637,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2628
2637
|
reserve,
|
|
2629
2638
|
checkMethod
|
|
2630
2639
|
} = checkboxOpts;
|
|
2640
|
+
const {
|
|
2641
|
+
handleGetRowId
|
|
2642
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
2643
|
+
// indeterminateField 仅支持读取
|
|
2631
2644
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
2632
2645
|
const selectRowMaps = {};
|
|
2633
2646
|
/**
|
|
@@ -2672,7 +2685,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2672
2685
|
if (isForce || !checkMethod || checkMethod({
|
|
2673
2686
|
row
|
|
2674
2687
|
})) {
|
|
2675
|
-
|
|
2688
|
+
const rowid = handleGetRowId(row);
|
|
2689
|
+
selectRowMaps[rowid] = row;
|
|
2676
2690
|
}
|
|
2677
2691
|
}, {
|
|
2678
2692
|
children: childrenField
|
|
@@ -2684,7 +2698,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2684
2698
|
*/
|
|
2685
2699
|
if (!isForce && checkMethod) {
|
|
2686
2700
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
2687
|
-
const rowid = (
|
|
2701
|
+
const rowid = handleGetRowId(row);
|
|
2688
2702
|
if (checkMethod({
|
|
2689
2703
|
row
|
|
2690
2704
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -2704,7 +2718,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2704
2718
|
*/
|
|
2705
2719
|
if (!isForce && checkMethod) {
|
|
2706
2720
|
afterFullData.forEach(row => {
|
|
2707
|
-
const rowid = (
|
|
2721
|
+
const rowid = handleGetRowId(row);
|
|
2708
2722
|
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
2709
2723
|
row
|
|
2710
2724
|
})) {
|
|
@@ -2713,7 +2727,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2713
2727
|
});
|
|
2714
2728
|
} else {
|
|
2715
2729
|
afterFullData.forEach(row => {
|
|
2716
|
-
|
|
2730
|
+
const rowid = handleGetRowId(row);
|
|
2731
|
+
selectRowMaps[rowid] = row;
|
|
2717
2732
|
});
|
|
2718
2733
|
}
|
|
2719
2734
|
} else {
|
|
@@ -2724,7 +2739,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2724
2739
|
*/
|
|
2725
2740
|
if (!isForce && checkMethod) {
|
|
2726
2741
|
afterFullData.forEach(row => {
|
|
2727
|
-
const rowid = (
|
|
2742
|
+
const rowid = handleGetRowId(row);
|
|
2728
2743
|
if (checkMethod({
|
|
2729
2744
|
row
|
|
2730
2745
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -3120,7 +3135,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3120
3135
|
} = treeOpts;
|
|
3121
3136
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3122
3137
|
let treeData = [];
|
|
3123
|
-
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); //
|
|
3138
|
+
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); // 转为响应式数据
|
|
3139
|
+
if (fullData.length > supportMaxRow) {
|
|
3140
|
+
(0, _log.errLog)('vxe.error.errMaxRow', [supportMaxRow]);
|
|
3141
|
+
}
|
|
3124
3142
|
if (treeConfig) {
|
|
3125
3143
|
if (transform) {
|
|
3126
3144
|
// 树结构自动转换
|
|
@@ -3214,7 +3232,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3214
3232
|
// warnLog('vxe.error.reqProp', ['table.show-overflow'])
|
|
3215
3233
|
// }
|
|
3216
3234
|
if (props.spanMethod) {
|
|
3217
|
-
(0, _log.
|
|
3235
|
+
(0, _log.errLog)('vxe.error.scrollErrProp', ['table.span-method']);
|
|
3218
3236
|
}
|
|
3219
3237
|
}
|
|
3220
3238
|
handleReserveStatus();
|
|
@@ -3661,9 +3679,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3661
3679
|
handleCheckedAllCheckboxRow(value);
|
|
3662
3680
|
if (evnt) {
|
|
3663
3681
|
dispatchEvent('checkbox-all', {
|
|
3664
|
-
records: $xeTable.getCheckboxRecords(),
|
|
3665
|
-
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
3666
|
-
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
3682
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
3683
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
3684
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
3667
3685
|
checked: value
|
|
3668
3686
|
}, evnt);
|
|
3669
3687
|
}
|
|
@@ -4018,6 +4036,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4018
4036
|
};
|
|
4019
4037
|
tableMethods = {
|
|
4020
4038
|
dispatchEvent,
|
|
4039
|
+
getEl() {
|
|
4040
|
+
return refElem.value;
|
|
4041
|
+
},
|
|
4021
4042
|
/**
|
|
4022
4043
|
* 重置表格的一切数据状态
|
|
4023
4044
|
*/
|
|
@@ -4364,20 +4385,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4364
4385
|
keepSource,
|
|
4365
4386
|
treeConfig
|
|
4366
4387
|
} = props;
|
|
4388
|
+
const {
|
|
4389
|
+
editStore
|
|
4390
|
+
} = reactData;
|
|
4367
4391
|
const {
|
|
4368
4392
|
fullAllDataRowIdData,
|
|
4393
|
+
fullDataRowIdData,
|
|
4369
4394
|
tableSourceData,
|
|
4370
4395
|
sourceDataRowIdData,
|
|
4371
4396
|
tableFullData,
|
|
4372
4397
|
afterFullData
|
|
4373
4398
|
} = internalData;
|
|
4399
|
+
const removeTempMaps = Object.assign({}, editStore.removeMaps);
|
|
4374
4400
|
const treeOpts = computeTreeOpts.value;
|
|
4375
4401
|
const {
|
|
4376
4402
|
transform
|
|
4377
4403
|
} = treeOpts;
|
|
4378
4404
|
if (!keepSource) {
|
|
4379
4405
|
if (process.env.NODE_ENV === 'development') {
|
|
4380
|
-
(0, _log.
|
|
4406
|
+
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
4381
4407
|
}
|
|
4382
4408
|
return (0, _vue.nextTick)();
|
|
4383
4409
|
}
|
|
@@ -4391,22 +4417,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4391
4417
|
}
|
|
4392
4418
|
let reDelFlag = false;
|
|
4393
4419
|
if (targetRows.length) {
|
|
4394
|
-
targetRows.forEach(
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4420
|
+
targetRows.forEach(item => {
|
|
4421
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
4422
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4423
|
+
if (rowRest) {
|
|
4424
|
+
const row = rowRest.row;
|
|
4425
|
+
if (!$xeTable.isInsertByRow(row)) {
|
|
4426
|
+
const oRow = sourceDataRowIdData[rowid];
|
|
4427
|
+
if (oRow && row) {
|
|
4428
|
+
if (field) {
|
|
4429
|
+
_xeUtils.default.set(row, field, _xeUtils.default.clone(_xeUtils.default.get(oRow, field), true));
|
|
4430
|
+
} else {
|
|
4431
|
+
_xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
|
|
4432
|
+
}
|
|
4433
|
+
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
4434
|
+
delete removeTempMaps[rowid];
|
|
4435
|
+
tableFullData.unshift(row);
|
|
4436
|
+
afterFullData.unshift(row);
|
|
4410
4437
|
reDelFlag = true;
|
|
4411
4438
|
}
|
|
4412
4439
|
}
|
|
@@ -4416,6 +4443,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4416
4443
|
}
|
|
4417
4444
|
if (rows) {
|
|
4418
4445
|
if (reDelFlag) {
|
|
4446
|
+
editStore.removeMaps = removeTempMaps;
|
|
4419
4447
|
$xeTable.updateFooter();
|
|
4420
4448
|
$xeTable.cacheRowMap(false);
|
|
4421
4449
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -4585,10 +4613,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4585
4613
|
},
|
|
4586
4614
|
/**
|
|
4587
4615
|
* 检查行或列数据是否发生改变
|
|
4588
|
-
* @param {Row}
|
|
4616
|
+
* @param {Row} rowidOrRow 行对象、行主键
|
|
4589
4617
|
* @param {String} field 字段名
|
|
4590
4618
|
*/
|
|
4591
|
-
isUpdateByRow(
|
|
4619
|
+
isUpdateByRow(rowidOrRow, field) {
|
|
4592
4620
|
const {
|
|
4593
4621
|
keepSource
|
|
4594
4622
|
} = props;
|
|
@@ -4598,11 +4626,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4598
4626
|
sourceDataRowIdData
|
|
4599
4627
|
} = internalData;
|
|
4600
4628
|
if (keepSource) {
|
|
4601
|
-
const rowid = (0, _util.getRowid)($xeTable,
|
|
4629
|
+
const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : (0, _util.getRowid)($xeTable, rowidOrRow);
|
|
4630
|
+
const rowRest = fullDataRowIdData[rowid];
|
|
4602
4631
|
// 新增的数据不需要检测
|
|
4603
|
-
if (!
|
|
4632
|
+
if (!rowRest) {
|
|
4604
4633
|
return false;
|
|
4605
4634
|
}
|
|
4635
|
+
const row = rowRest.row;
|
|
4606
4636
|
const oRow = sourceDataRowIdData[rowid];
|
|
4607
4637
|
if (oRow) {
|
|
4608
4638
|
if (arguments.length > 1) {
|
|
@@ -4666,6 +4696,108 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4666
4696
|
tableColumn: reactData.tableColumn.slice(0)
|
|
4667
4697
|
};
|
|
4668
4698
|
},
|
|
4699
|
+
/**
|
|
4700
|
+
* 移动列到指定列的位置
|
|
4701
|
+
* @param fieldOrColumn
|
|
4702
|
+
* @param targetFieldOrColumn
|
|
4703
|
+
* @param options
|
|
4704
|
+
*/
|
|
4705
|
+
moveColumnTo(fieldOrColumn, targetFieldOrColumn, options) {
|
|
4706
|
+
const {
|
|
4707
|
+
fullColumnIdData,
|
|
4708
|
+
visibleColumn
|
|
4709
|
+
} = internalData;
|
|
4710
|
+
const {
|
|
4711
|
+
dragToChild,
|
|
4712
|
+
dragPos,
|
|
4713
|
+
isCrossDrag
|
|
4714
|
+
} = Object.assign({}, options);
|
|
4715
|
+
const dragCol = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
4716
|
+
let prevDragCol = null;
|
|
4717
|
+
const colRest = dragCol ? fullColumnIdData[dragCol.id] : null;
|
|
4718
|
+
let defPos = 'left';
|
|
4719
|
+
if (_xeUtils.default.isNumber(targetFieldOrColumn)) {
|
|
4720
|
+
if (colRest && targetFieldOrColumn) {
|
|
4721
|
+
let currList = colRest.items;
|
|
4722
|
+
let offsetIndex = colRest._index + targetFieldOrColumn;
|
|
4723
|
+
if (isCrossDrag) {
|
|
4724
|
+
currList = visibleColumn;
|
|
4725
|
+
offsetIndex = colRest._index + targetFieldOrColumn;
|
|
4726
|
+
}
|
|
4727
|
+
if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
|
|
4728
|
+
prevDragCol = currList[offsetIndex];
|
|
4729
|
+
}
|
|
4730
|
+
if (targetFieldOrColumn > 0) {
|
|
4731
|
+
defPos = 'right';
|
|
4732
|
+
}
|
|
4733
|
+
}
|
|
4734
|
+
} else {
|
|
4735
|
+
prevDragCol = (0, _util.handleFieldOrColumn)($xeTable, targetFieldOrColumn);
|
|
4736
|
+
const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null;
|
|
4737
|
+
if (colRest && targetColRest) {
|
|
4738
|
+
if (targetColRest._index > colRest._index) {
|
|
4739
|
+
defPos = 'right';
|
|
4740
|
+
}
|
|
4741
|
+
}
|
|
4742
|
+
}
|
|
4743
|
+
return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true);
|
|
4744
|
+
},
|
|
4745
|
+
/**
|
|
4746
|
+
* 移动行到指定行的位置
|
|
4747
|
+
* @param rowidOrRow
|
|
4748
|
+
* @param targetRowidOrRow
|
|
4749
|
+
* @param options
|
|
4750
|
+
*/
|
|
4751
|
+
moveRowTo(rowidOrRow, targetRowidOrRow, options) {
|
|
4752
|
+
const {
|
|
4753
|
+
treeConfig
|
|
4754
|
+
} = props;
|
|
4755
|
+
const {
|
|
4756
|
+
fullAllDataRowIdData,
|
|
4757
|
+
afterFullData
|
|
4758
|
+
} = internalData;
|
|
4759
|
+
const {
|
|
4760
|
+
dragToChild,
|
|
4761
|
+
dragPos,
|
|
4762
|
+
isCrossDrag
|
|
4763
|
+
} = Object.assign({}, options);
|
|
4764
|
+
const treeOpts = computeTreeOpts.value;
|
|
4765
|
+
const dragRow = (0, _util.handleRowidOrRow)($xeTable, rowidOrRow);
|
|
4766
|
+
let prevDragRow = null;
|
|
4767
|
+
let defPos = 'top';
|
|
4768
|
+
const rowRest = dragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, dragRow)] : null;
|
|
4769
|
+
if (_xeUtils.default.isNumber(targetRowidOrRow)) {
|
|
4770
|
+
if (rowRest && targetRowidOrRow) {
|
|
4771
|
+
let currList = afterFullData;
|
|
4772
|
+
let offsetIndex = rowRest._index + targetRowidOrRow;
|
|
4773
|
+
if (treeConfig) {
|
|
4774
|
+
currList = rowRest.items;
|
|
4775
|
+
if (treeOpts.transform) {
|
|
4776
|
+
offsetIndex = rowRest.treeIndex + targetRowidOrRow;
|
|
4777
|
+
if (isCrossDrag) {
|
|
4778
|
+
currList = afterFullData;
|
|
4779
|
+
offsetIndex = rowRest._index + targetRowidOrRow;
|
|
4780
|
+
}
|
|
4781
|
+
}
|
|
4782
|
+
}
|
|
4783
|
+
if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
|
|
4784
|
+
prevDragRow = currList[offsetIndex];
|
|
4785
|
+
}
|
|
4786
|
+
if (targetRowidOrRow > 0) {
|
|
4787
|
+
defPos = 'bottom';
|
|
4788
|
+
}
|
|
4789
|
+
}
|
|
4790
|
+
} else {
|
|
4791
|
+
prevDragRow = (0, _util.handleRowidOrRow)($xeTable, targetRowidOrRow);
|
|
4792
|
+
const targetRowRest = prevDragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, prevDragRow)] : null;
|
|
4793
|
+
if (rowRest && targetRowRest) {
|
|
4794
|
+
if (targetRowRest._index > rowRest._index) {
|
|
4795
|
+
defPos = 'bottom';
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4798
|
+
}
|
|
4799
|
+
return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
|
|
4800
|
+
},
|
|
4669
4801
|
/**
|
|
4670
4802
|
* 获取表格的全量列
|
|
4671
4803
|
*/
|
|
@@ -4689,6 +4821,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4689
4821
|
const {
|
|
4690
4822
|
treeConfig
|
|
4691
4823
|
} = props;
|
|
4824
|
+
const {
|
|
4825
|
+
selectCheckboxMaps
|
|
4826
|
+
} = reactData;
|
|
4692
4827
|
const {
|
|
4693
4828
|
tableFullData,
|
|
4694
4829
|
afterFullData,
|
|
@@ -4708,19 +4843,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4708
4843
|
} = checkboxOpts;
|
|
4709
4844
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
4710
4845
|
let rowList = [];
|
|
4711
|
-
const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
|
|
4712
4846
|
if (checkField) {
|
|
4713
4847
|
if (treeConfig) {
|
|
4848
|
+
const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
|
|
4714
4849
|
rowList = _xeUtils.default.filterTree(currTableData, row => _xeUtils.default.get(row, checkField), {
|
|
4715
4850
|
children: transform ? mapChildrenField : childrenField
|
|
4716
4851
|
});
|
|
4717
4852
|
} else {
|
|
4853
|
+
const currTableData = isFull ? tableFullData : afterFullData;
|
|
4718
4854
|
rowList = currTableData.filter(row => _xeUtils.default.get(row, checkField));
|
|
4719
4855
|
}
|
|
4720
4856
|
} else {
|
|
4721
|
-
const {
|
|
4722
|
-
selectCheckboxMaps
|
|
4723
|
-
} = reactData;
|
|
4724
4857
|
_xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
|
|
4725
4858
|
if (isFull) {
|
|
4726
4859
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -5503,6 +5636,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5503
5636
|
checkField,
|
|
5504
5637
|
reserve
|
|
5505
5638
|
} = checkboxOpts;
|
|
5639
|
+
// indeterminateField 仅支持读取
|
|
5506
5640
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
5507
5641
|
if (checkField) {
|
|
5508
5642
|
const handleClearChecked = item => {
|
|
@@ -5643,13 +5777,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5643
5777
|
* 用于当前列,设置某列行为高亮状态
|
|
5644
5778
|
*/
|
|
5645
5779
|
setCurrentColumn(fieldOrColumn) {
|
|
5780
|
+
const {
|
|
5781
|
+
mouseConfig
|
|
5782
|
+
} = props;
|
|
5783
|
+
const mouseOpts = computeMouseOpts.value;
|
|
5784
|
+
const isMouseSelected = mouseConfig && mouseOpts.selected;
|
|
5646
5785
|
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
5647
5786
|
if (column) {
|
|
5648
|
-
|
|
5649
|
-
tableMethods.clearCurrentColumn();
|
|
5787
|
+
$xeTable.clearCurrentColumn();
|
|
5650
5788
|
reactData.currentColumn = column;
|
|
5651
5789
|
}
|
|
5652
|
-
return (0, _vue.nextTick)()
|
|
5790
|
+
return (0, _vue.nextTick)().then(() => {
|
|
5791
|
+
// 更新状选中态
|
|
5792
|
+
if (isMouseSelected) {
|
|
5793
|
+
$xeTable.addCellSelectedClass();
|
|
5794
|
+
}
|
|
5795
|
+
});
|
|
5653
5796
|
},
|
|
5654
5797
|
/**
|
|
5655
5798
|
* 用于当前列,手动清空当前高亮的状态
|
|
@@ -5911,7 +6054,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5911
6054
|
column,
|
|
5912
6055
|
property: column.field,
|
|
5913
6056
|
field: column.field,
|
|
5914
|
-
filterList: $xeTable.getCheckedFilters(),
|
|
6057
|
+
filterList: () => $xeTable.getCheckedFilters(),
|
|
5915
6058
|
visible: false
|
|
5916
6059
|
}, null);
|
|
5917
6060
|
}
|
|
@@ -6634,8 +6777,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6634
6777
|
collectColumn
|
|
6635
6778
|
} = internalData;
|
|
6636
6779
|
const {
|
|
6780
|
+
storage,
|
|
6637
6781
|
checkMethod
|
|
6638
6782
|
} = customOpts;
|
|
6783
|
+
const isAllCustom = storage === true;
|
|
6784
|
+
const storageOpts = isAllCustom ? {} : Object.assign({}, storage || {});
|
|
6785
|
+
const isCustomResizable = isAllCustom || storageOpts.resizable;
|
|
6786
|
+
const isCustomVisible = isAllCustom || storageOpts.visible;
|
|
6787
|
+
const isCustomFixed = isAllCustom || storageOpts.fixed;
|
|
6788
|
+
const isCustomSort = isAllCustom || storageOpts.sort;
|
|
6639
6789
|
const resizableData = {};
|
|
6640
6790
|
const sortData = {};
|
|
6641
6791
|
const visibleData = {};
|
|
@@ -6655,45 +6805,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6655
6805
|
let hasFixed = 0;
|
|
6656
6806
|
let hasVisible = 0;
|
|
6657
6807
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
6808
|
+
const colKey = column.getKey();
|
|
6809
|
+
if (!colKey) {
|
|
6810
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || column.type || ''} -> column.field=?`]);
|
|
6811
|
+
return;
|
|
6812
|
+
}
|
|
6658
6813
|
// 只支持一级
|
|
6659
6814
|
if (!parentColumn) {
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
hasSort = 1;
|
|
6664
|
-
sortData[colKey] = column.renderSortNumber;
|
|
6665
|
-
}
|
|
6666
|
-
});
|
|
6667
|
-
if (column.fixed !== column.defaultFixed) {
|
|
6668
|
-
const colKey = column.getKey();
|
|
6669
|
-
if (colKey) {
|
|
6670
|
-
hasFixed = 1;
|
|
6671
|
-
fixedData[colKey] = column.fixed;
|
|
6672
|
-
}
|
|
6815
|
+
if (isCustomSort) {
|
|
6816
|
+
hasSort = 1;
|
|
6817
|
+
sortData[colKey] = column.renderSortNumber;
|
|
6673
6818
|
}
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
if (colKey) {
|
|
6678
|
-
hasResizable = 1;
|
|
6679
|
-
resizableData[colKey] = column.renderWidth;
|
|
6819
|
+
if (isCustomFixed && column.fixed !== column.defaultFixed) {
|
|
6820
|
+
hasFixed = 1;
|
|
6821
|
+
fixedData[colKey] = column.fixed;
|
|
6680
6822
|
}
|
|
6681
6823
|
}
|
|
6682
|
-
if (
|
|
6824
|
+
if (isCustomResizable && column.resizeWidth) {
|
|
6825
|
+
hasResizable = 1;
|
|
6826
|
+
resizableData[colKey] = column.renderWidth;
|
|
6827
|
+
}
|
|
6828
|
+
if (isCustomVisible && (!checkMethod || checkMethod({
|
|
6683
6829
|
column
|
|
6684
|
-
})) {
|
|
6830
|
+
}))) {
|
|
6685
6831
|
if (!column.visible && column.defaultVisible) {
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
hasVisible = 1;
|
|
6689
|
-
visibleData[colKey] = false;
|
|
6690
|
-
}
|
|
6832
|
+
hasVisible = 1;
|
|
6833
|
+
visibleData[colKey] = false;
|
|
6691
6834
|
} else if (column.visible && !column.defaultVisible) {
|
|
6692
|
-
|
|
6693
|
-
|
|
6694
|
-
hasVisible = 1;
|
|
6695
|
-
visibleData[colKey] = true;
|
|
6696
|
-
}
|
|
6835
|
+
hasVisible = 1;
|
|
6836
|
+
visibleData[colKey] = true;
|
|
6697
6837
|
}
|
|
6698
6838
|
}
|
|
6699
6839
|
});
|
|
@@ -6957,7 +7097,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6957
7097
|
keyboardConfig,
|
|
6958
7098
|
treeConfig,
|
|
6959
7099
|
editConfig,
|
|
6960
|
-
highlightCurrentRow
|
|
7100
|
+
highlightCurrentRow,
|
|
7101
|
+
highlightCurrentColumn
|
|
6961
7102
|
} = props;
|
|
6962
7103
|
const {
|
|
6963
7104
|
ctxMenuStore,
|
|
@@ -6975,6 +7116,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6975
7116
|
const treeOpts = computeTreeOpts.value;
|
|
6976
7117
|
const menuList = computeMenuList.value;
|
|
6977
7118
|
const rowOpts = computeRowOpts.value;
|
|
7119
|
+
const columnOpts = computeColumnOpts.value;
|
|
6978
7120
|
const {
|
|
6979
7121
|
selected,
|
|
6980
7122
|
actived
|
|
@@ -7142,10 +7284,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7142
7284
|
// 如果按下了方向键
|
|
7143
7285
|
if (selected.row && selected.column) {
|
|
7144
7286
|
$xeTable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
7145
|
-
}
|
|
7146
|
-
|
|
7287
|
+
}
|
|
7288
|
+
// 当前行按键上下移动
|
|
7289
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
7147
7290
|
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
7148
7291
|
}
|
|
7292
|
+
// 当前行按键左右移动
|
|
7293
|
+
if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
|
|
7294
|
+
$xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
|
|
7295
|
+
}
|
|
7149
7296
|
}
|
|
7150
7297
|
} else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
7151
7298
|
// 如果按下了 Tab 键切换
|
|
@@ -7648,7 +7795,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7648
7795
|
if (el) {
|
|
7649
7796
|
const parentElem = el.parentNode;
|
|
7650
7797
|
const parentPaddingSize = height === '100%' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
|
|
7651
|
-
|
|
7798
|
+
let parentWrapperHeight = 0;
|
|
7799
|
+
if (parentElem) {
|
|
7800
|
+
if ($xeGrid && (0, _dom.hasClass)(parentElem, 'vxe-grid--table-wrapper')) {
|
|
7801
|
+
parentWrapperHeight = $xeGrid.getParentHeight();
|
|
7802
|
+
} else {
|
|
7803
|
+
parentWrapperHeight = parentElem.clientHeight;
|
|
7804
|
+
}
|
|
7805
|
+
}
|
|
7806
|
+
return Math.floor(parentWrapperHeight - parentPaddingSize);
|
|
7652
7807
|
}
|
|
7653
7808
|
return 0;
|
|
7654
7809
|
},
|
|
@@ -7761,30 +7916,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7761
7916
|
const treeOpts = computeTreeOpts.value;
|
|
7762
7917
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7763
7918
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
7764
|
-
const
|
|
7919
|
+
const {
|
|
7920
|
+
lazy
|
|
7921
|
+
} = treeOpts;
|
|
7765
7922
|
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7766
7923
|
const fullDataRowIdMaps = {};
|
|
7767
7924
|
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
7768
|
-
const
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
rowid = (0, _util.getRowUniqueId)();
|
|
7774
|
-
_xeUtils.default.set(row, rowkey, rowid);
|
|
7775
|
-
}
|
|
7776
|
-
if (treeConfig && treeOpts.lazy) {
|
|
7777
|
-
const treeExpRest = treeExpandedMaps[rowid];
|
|
7778
|
-
if (row[hasChildField] && _xeUtils.default.isUndefined(row[childrenField])) {
|
|
7779
|
-
row[childrenField] = null;
|
|
7780
|
-
}
|
|
7781
|
-
if (treeExpRest) {
|
|
7782
|
-
if (!row[childrenField] || !row[childrenField].length) {
|
|
7783
|
-
delete treeTempExpandedMaps[rowid];
|
|
7784
|
-
}
|
|
7785
|
-
}
|
|
7786
|
-
}
|
|
7787
|
-
let rowRest = fullAllDataRowIdData[rowid];
|
|
7925
|
+
const {
|
|
7926
|
+
handleUpdateRowId
|
|
7927
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
7928
|
+
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
7929
|
+
let rowRest = fullAllDataRowIdMaps[rowid];
|
|
7788
7930
|
if (!rowRest) {
|
|
7789
7931
|
rowRest = {
|
|
7790
7932
|
row,
|
|
@@ -7802,6 +7944,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7802
7944
|
oTop: 0,
|
|
7803
7945
|
expandHeight: 0
|
|
7804
7946
|
};
|
|
7947
|
+
fullDataRowIdMaps[rowid] = rowRest;
|
|
7948
|
+
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7805
7949
|
}
|
|
7806
7950
|
rowRest.treeLoaded = false;
|
|
7807
7951
|
rowRest.expandLoaded = false;
|
|
@@ -7809,16 +7953,33 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7809
7953
|
rowRest.items = items;
|
|
7810
7954
|
rowRest.parent = parentRow;
|
|
7811
7955
|
rowRest.level = level;
|
|
7812
|
-
rowRest.index =
|
|
7956
|
+
rowRest.index = currIndex;
|
|
7957
|
+
rowRest.treeIndex = index;
|
|
7813
7958
|
fullDataRowIdMaps[rowid] = rowRest;
|
|
7814
7959
|
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7815
7960
|
};
|
|
7816
7961
|
if (treeConfig) {
|
|
7817
|
-
_xeUtils.default.eachTree(tableFullTreeData,
|
|
7962
|
+
_xeUtils.default.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
7963
|
+
const rowid = handleUpdateRowId(row);
|
|
7964
|
+
if (treeConfig && lazy) {
|
|
7965
|
+
const treeExpRest = treeTempExpandedMaps[rowid];
|
|
7966
|
+
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
7967
|
+
row[childrenField] = null;
|
|
7968
|
+
}
|
|
7969
|
+
if (treeExpRest) {
|
|
7970
|
+
if (!row[childrenField] || !row[childrenField].length) {
|
|
7971
|
+
delete treeTempExpandedMaps[rowid];
|
|
7972
|
+
}
|
|
7973
|
+
}
|
|
7974
|
+
}
|
|
7975
|
+
handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, (0, _util.toTreePathSeq)(path));
|
|
7976
|
+
}, {
|
|
7818
7977
|
children: childrenField
|
|
7819
7978
|
});
|
|
7820
7979
|
} else {
|
|
7821
|
-
tableFullData.forEach(
|
|
7980
|
+
tableFullData.forEach((row, index, items) => {
|
|
7981
|
+
handleRowCache(row, index, items, index, null, handleUpdateRowId(row), 0, index + 1);
|
|
7982
|
+
});
|
|
7822
7983
|
}
|
|
7823
7984
|
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7824
7985
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
@@ -7829,19 +7990,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7829
7990
|
treeConfig
|
|
7830
7991
|
} = props;
|
|
7831
7992
|
const treeOpts = computeTreeOpts.value;
|
|
7832
|
-
let {
|
|
7833
|
-
sourceDataRowIdData
|
|
7834
|
-
} = internalData;
|
|
7835
7993
|
const sourceData = _xeUtils.default.clone(fullData, true);
|
|
7836
|
-
const
|
|
7837
|
-
|
|
7994
|
+
const {
|
|
7995
|
+
handleUpdateRowId
|
|
7996
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
7997
|
+
const sourceRowIdData = {};
|
|
7838
7998
|
const handleSourceRow = row => {
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
rowid = (0, _util.getRowUniqueId)();
|
|
7842
|
-
_xeUtils.default.set(row, rowkey, rowid);
|
|
7843
|
-
}
|
|
7844
|
-
sourceDataRowIdData[rowid] = row;
|
|
7999
|
+
const rowid = handleUpdateRowId(row);
|
|
8000
|
+
sourceRowIdData[rowid] = row;
|
|
7845
8001
|
};
|
|
7846
8002
|
// 源数据缓存
|
|
7847
8003
|
if (treeConfig) {
|
|
@@ -7852,6 +8008,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7852
8008
|
} else {
|
|
7853
8009
|
sourceData.forEach(handleSourceRow);
|
|
7854
8010
|
}
|
|
8011
|
+
internalData.sourceDataRowIdData = sourceRowIdData;
|
|
7855
8012
|
internalData.tableSourceData = sourceData;
|
|
7856
8013
|
},
|
|
7857
8014
|
/**
|
|
@@ -8358,12 +8515,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8358
8515
|
}
|
|
8359
8516
|
}
|
|
8360
8517
|
// 兼容老版本
|
|
8361
|
-
let rest;
|
|
8362
|
-
|
|
8363
|
-
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8518
|
+
let rest = null;
|
|
8519
|
+
let isStop = false;
|
|
8520
|
+
for (let i = 0; i < evntList.length; i++) {
|
|
8521
|
+
const func = evntList[i];
|
|
8522
|
+
const fnRest = func(Object.assign({
|
|
8523
|
+
$grid: $xeGrid,
|
|
8524
|
+
$table: $xeTable,
|
|
8525
|
+
$event: evnt
|
|
8526
|
+
}, args));
|
|
8527
|
+
if (fnRest === false) {
|
|
8528
|
+
isStop = true;
|
|
8529
|
+
break;
|
|
8530
|
+
} else if (fnRest && fnRest.status === false) {
|
|
8531
|
+
rest = fnRest.result;
|
|
8532
|
+
isStop = true;
|
|
8533
|
+
break;
|
|
8534
|
+
}
|
|
8535
|
+
}
|
|
8536
|
+
if (!isStop) {
|
|
8367
8537
|
if (next) {
|
|
8368
8538
|
rest = next();
|
|
8369
8539
|
}
|
|
@@ -8403,10 +8573,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8403
8573
|
}
|
|
8404
8574
|
// 树结构
|
|
8405
8575
|
if (treeConfig) {
|
|
8576
|
+
const {
|
|
8577
|
+
handleGetRowId
|
|
8578
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8406
8579
|
const childRowMaps = {};
|
|
8407
8580
|
const childRowList = [];
|
|
8408
8581
|
_xeUtils.default.eachTree(afterTreeFullData, row => {
|
|
8409
|
-
const rowid = (
|
|
8582
|
+
const rowid = handleGetRowId(row);
|
|
8410
8583
|
const childList = row[transform ? mapChildrenField : childrenField];
|
|
8411
8584
|
if (childList && childList.length && !childRowMaps[rowid]) {
|
|
8412
8585
|
childRowMaps[rowid] = 1;
|
|
@@ -8423,7 +8596,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8423
8596
|
let hLen = 0; // 半选
|
|
8424
8597
|
let vLen = 0; // 有效行
|
|
8425
8598
|
childList.forEach(checkMethod ? item => {
|
|
8426
|
-
const childRowid = (
|
|
8599
|
+
const childRowid = handleGetRowId(item);
|
|
8427
8600
|
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectRowMaps[childRowid];
|
|
8428
8601
|
if (checkMethod({
|
|
8429
8602
|
row: item
|
|
@@ -8442,7 +8615,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8442
8615
|
}
|
|
8443
8616
|
}
|
|
8444
8617
|
} : item => {
|
|
8445
|
-
const childRowid = (
|
|
8618
|
+
const childRowid = handleGetRowId(item);
|
|
8446
8619
|
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectRowMaps[childRowid];
|
|
8447
8620
|
if (isSelect) {
|
|
8448
8621
|
sLen++;
|
|
@@ -8501,12 +8674,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8501
8674
|
afterTreeFullData,
|
|
8502
8675
|
checkboxReserveRowMap
|
|
8503
8676
|
} = internalData;
|
|
8677
|
+
const {
|
|
8678
|
+
handleGetRowId
|
|
8679
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8504
8680
|
let sLen = 0; // 已选
|
|
8505
8681
|
let hLen = 0; // 半选
|
|
8506
8682
|
let vLen = 0; // 有效行
|
|
8507
8683
|
const rootList = treeConfig ? afterTreeFullData : afterFullData;
|
|
8508
8684
|
rootList.forEach(checkMethod ? row => {
|
|
8509
|
-
const childRowid = (
|
|
8685
|
+
const childRowid = handleGetRowId(row);
|
|
8510
8686
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8511
8687
|
if (checkMethod({
|
|
8512
8688
|
row
|
|
@@ -8525,7 +8701,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8525
8701
|
}
|
|
8526
8702
|
}
|
|
8527
8703
|
} : row => {
|
|
8528
|
-
const childRowid = (
|
|
8704
|
+
const childRowid = handleGetRowId(row);
|
|
8529
8705
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8530
8706
|
if (selected) {
|
|
8531
8707
|
sLen++;
|
|
@@ -8571,6 +8747,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8571
8747
|
checkStrictly,
|
|
8572
8748
|
checkMethod
|
|
8573
8749
|
} = checkboxOpts;
|
|
8750
|
+
const {
|
|
8751
|
+
handleGetRowId
|
|
8752
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8753
|
+
// indeterminateField 仅支持读取
|
|
8574
8754
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
8575
8755
|
if (checkField) {
|
|
8576
8756
|
// 树结构
|
|
@@ -8609,7 +8789,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8609
8789
|
if (treeConfig && !checkStrictly) {
|
|
8610
8790
|
// 更新子节点状态
|
|
8611
8791
|
_xeUtils.default.eachTree(rows, row => {
|
|
8612
|
-
const rowid = (
|
|
8792
|
+
const rowid = handleGetRowId(row);
|
|
8613
8793
|
if (isForce || !checkMethod || checkMethod({
|
|
8614
8794
|
row
|
|
8615
8795
|
})) {
|
|
@@ -8630,7 +8810,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8630
8810
|
}
|
|
8631
8811
|
// 列表
|
|
8632
8812
|
rows.forEach(row => {
|
|
8633
|
-
const rowid = (
|
|
8813
|
+
const rowid = handleGetRowId(row);
|
|
8634
8814
|
if (isForce || !checkMethod || checkMethod({
|
|
8635
8815
|
row
|
|
8636
8816
|
})) {
|
|
@@ -8784,6 +8964,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8784
8964
|
} = internalData;
|
|
8785
8965
|
const sortOpts = computeSortOpts.value;
|
|
8786
8966
|
const columnOpts = computeColumnOpts.value;
|
|
8967
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8787
8968
|
const {
|
|
8788
8969
|
column
|
|
8789
8970
|
} = params;
|
|
@@ -8792,7 +8973,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8792
8973
|
const triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
|
|
8793
8974
|
const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
|
|
8794
8975
|
if (sortOpts.trigger === 'cell' && !(triggerResizable || triggerSort || triggerFilter)) {
|
|
8795
|
-
|
|
8976
|
+
$xeTable.triggerSortEvent(evnt, column, getNextSortOrder(column));
|
|
8796
8977
|
}
|
|
8797
8978
|
dispatchEvent('header-cell-click', Object.assign({
|
|
8798
8979
|
triggerResizable,
|
|
@@ -8800,8 +8981,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8800
8981
|
triggerFilter,
|
|
8801
8982
|
cell
|
|
8802
8983
|
}, params), evnt);
|
|
8803
|
-
if (columnOpts.isCurrent || props.highlightCurrentColumn) {
|
|
8804
|
-
|
|
8984
|
+
if ((columnOpts.isCurrent || props.highlightCurrentColumn) && (!currentColumnOpts.trigger || ['header', 'default'].includes(currentColumnOpts.trigger))) {
|
|
8985
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
8805
8986
|
}
|
|
8806
8987
|
},
|
|
8807
8988
|
triggerHeaderCellDblclickEvent(evnt, params) {
|
|
@@ -8817,6 +8998,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8817
8998
|
triggerCellClickEvent(evnt, params) {
|
|
8818
8999
|
const {
|
|
8819
9000
|
highlightCurrentRow,
|
|
9001
|
+
highlightCurrentColumn,
|
|
8820
9002
|
editConfig
|
|
8821
9003
|
} = props;
|
|
8822
9004
|
const {
|
|
@@ -8833,6 +9015,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8833
9015
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8834
9016
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
8835
9017
|
const rowOpts = computeRowOpts.value;
|
|
9018
|
+
const columnOpts = computeColumnOpts.value;
|
|
9019
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8836
9020
|
const {
|
|
8837
9021
|
actived,
|
|
8838
9022
|
focused
|
|
@@ -8863,29 +9047,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8863
9047
|
if (!triggerCheckbox && !triggerRadio) {
|
|
8864
9048
|
// 如果是展开行
|
|
8865
9049
|
if (!triggerExpandNode && (expandOpts.trigger === 'row' || isExpandType && expandOpts.trigger === 'cell')) {
|
|
8866
|
-
|
|
9050
|
+
$xeTable.triggerRowExpandEvent(evnt, params);
|
|
8867
9051
|
}
|
|
8868
9052
|
// 如果是树形表格
|
|
8869
9053
|
if (treeOpts.trigger === 'row' || treeNode && treeOpts.trigger === 'cell') {
|
|
8870
|
-
|
|
9054
|
+
$xeTable.triggerTreeExpandEvent(evnt, params);
|
|
8871
9055
|
}
|
|
8872
9056
|
}
|
|
8873
9057
|
// 如果点击了树节点
|
|
8874
9058
|
if (!triggerTreeNode) {
|
|
8875
9059
|
if (!triggerExpandNode) {
|
|
8876
|
-
//
|
|
9060
|
+
// 如果是当前行
|
|
8877
9061
|
if (rowOpts.isCurrent || highlightCurrentRow) {
|
|
8878
9062
|
if (!triggerCheckbox && !triggerRadio) {
|
|
8879
|
-
|
|
9063
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
9064
|
+
}
|
|
9065
|
+
}
|
|
9066
|
+
// 如果是当前列
|
|
9067
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && (!currentColumnOpts.trigger || ['cell', 'default'].includes(currentColumnOpts.trigger))) {
|
|
9068
|
+
if (!triggerCheckbox && !triggerRadio) {
|
|
9069
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
8880
9070
|
}
|
|
8881
9071
|
}
|
|
8882
9072
|
// 如果是单选框
|
|
8883
9073
|
if (!triggerRadio && (radioOpts.trigger === 'row' || isRadioType && radioOpts.trigger === 'cell')) {
|
|
8884
|
-
|
|
9074
|
+
$xeTable.triggerRadioRowEvent(evnt, params);
|
|
8885
9075
|
}
|
|
8886
9076
|
// 如果是复选框
|
|
8887
9077
|
if (!triggerCheckbox && (checkboxOpts.trigger === 'row' || isCheckboxType && checkboxOpts.trigger === 'cell')) {
|
|
8888
|
-
|
|
9078
|
+
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
8889
9079
|
}
|
|
8890
9080
|
}
|
|
8891
9081
|
// 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)
|
|
@@ -8991,13 +9181,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8991
9181
|
}
|
|
8992
9182
|
},
|
|
8993
9183
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
8994
|
-
const checkboxOpts = computeCheckboxOpts.value;
|
|
8995
9184
|
const {
|
|
8996
9185
|
row
|
|
8997
9186
|
} = params;
|
|
8998
9187
|
const {
|
|
8999
9188
|
afterFullData
|
|
9000
9189
|
} = internalData;
|
|
9190
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
9001
9191
|
const {
|
|
9002
9192
|
checkMethod,
|
|
9003
9193
|
trigger
|
|
@@ -9007,15 +9197,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9007
9197
|
}
|
|
9008
9198
|
evnt.stopPropagation();
|
|
9009
9199
|
if (checkboxOpts.isShiftKey && evnt.shiftKey && !props.treeConfig) {
|
|
9010
|
-
const checkboxRecords =
|
|
9200
|
+
const checkboxRecords = $xeTable.getCheckboxRecords();
|
|
9011
9201
|
if (checkboxRecords.length) {
|
|
9012
9202
|
const firstRow = checkboxRecords[0];
|
|
9013
|
-
const _rowIndex =
|
|
9014
|
-
const _firstRowIndex =
|
|
9203
|
+
const _rowIndex = $xeTable.getVTRowIndex(row);
|
|
9204
|
+
const _firstRowIndex = $xeTable.getVTRowIndex(firstRow);
|
|
9015
9205
|
if (_rowIndex !== _firstRowIndex) {
|
|
9016
|
-
|
|
9206
|
+
$xeTable.setAllCheckboxRow(false);
|
|
9017
9207
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
9018
|
-
|
|
9208
|
+
(0, _vue.nextTick)(() => {
|
|
9209
|
+
handleCheckedCheckboxRow(rangeRows, true, false);
|
|
9210
|
+
});
|
|
9019
9211
|
dispatchEvent('checkbox-range-select', Object.assign({
|
|
9020
9212
|
rangeRecords: rangeRows
|
|
9021
9213
|
}, params), evnt);
|
|
@@ -9026,12 +9218,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9026
9218
|
if (!checkMethod || checkMethod({
|
|
9027
9219
|
row
|
|
9028
9220
|
})) {
|
|
9029
|
-
|
|
9030
|
-
|
|
9221
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9222
|
+
$xeTable.checkSelectionStatus();
|
|
9031
9223
|
dispatchEvent('checkbox-change', Object.assign({
|
|
9032
|
-
records:
|
|
9033
|
-
reserves:
|
|
9034
|
-
indeterminates:
|
|
9224
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
9225
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
9226
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
9035
9227
|
checked
|
|
9036
9228
|
}, params), evnt);
|
|
9037
9229
|
}
|
|
@@ -9421,6 +9613,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9421
9613
|
} = internalData;
|
|
9422
9614
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
9423
9615
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
9616
|
+
const errRest = {
|
|
9617
|
+
status: false
|
|
9618
|
+
};
|
|
9424
9619
|
if (prevDragRow && dragRow) {
|
|
9425
9620
|
// 判断是否有拖动
|
|
9426
9621
|
if (prevDragRow !== dragRow) {
|
|
@@ -9435,7 +9630,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9435
9630
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
9436
9631
|
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
|
|
9437
9632
|
if (!status) {
|
|
9438
|
-
return;
|
|
9633
|
+
return errRest;
|
|
9439
9634
|
}
|
|
9440
9635
|
let oafIndex = -1;
|
|
9441
9636
|
let nafIndex = -1;
|
|
@@ -9466,11 +9661,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9466
9661
|
if (isPeerDrag && !isCrossDrag) {
|
|
9467
9662
|
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
9468
9663
|
// 非同级
|
|
9469
|
-
return;
|
|
9664
|
+
return errRest;
|
|
9470
9665
|
}
|
|
9471
9666
|
} else {
|
|
9472
9667
|
if (!isCrossDrag) {
|
|
9473
|
-
return;
|
|
9668
|
+
return errRest;
|
|
9474
9669
|
}
|
|
9475
9670
|
if (oldAllMaps[newRowid]) {
|
|
9476
9671
|
isSelfToChildStatus = true;
|
|
@@ -9481,19 +9676,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9481
9676
|
content: getI18n('vxe.error.treeDragChild')
|
|
9482
9677
|
});
|
|
9483
9678
|
}
|
|
9484
|
-
return;
|
|
9679
|
+
return errRest;
|
|
9485
9680
|
}
|
|
9486
9681
|
}
|
|
9487
9682
|
}
|
|
9488
9683
|
} else if (oldLevel) {
|
|
9489
9684
|
// 子到根
|
|
9490
9685
|
if (!isCrossDrag) {
|
|
9491
|
-
return;
|
|
9686
|
+
return errRest;
|
|
9492
9687
|
}
|
|
9493
9688
|
} else if (newLevel) {
|
|
9494
9689
|
// 根到子
|
|
9495
9690
|
if (!isCrossDrag) {
|
|
9496
|
-
return;
|
|
9691
|
+
return errRest;
|
|
9497
9692
|
}
|
|
9498
9693
|
if (oldAllMaps[newRowid]) {
|
|
9499
9694
|
isSelfToChildStatus = true;
|
|
@@ -9504,7 +9699,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9504
9699
|
content: getI18n('vxe.error.treeDragChild')
|
|
9505
9700
|
});
|
|
9506
9701
|
}
|
|
9507
|
-
return;
|
|
9702
|
+
return errRest;
|
|
9508
9703
|
}
|
|
9509
9704
|
}
|
|
9510
9705
|
} else {
|
|
@@ -9562,26 +9757,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9562
9757
|
if (reactData.scrollYLoad) {
|
|
9563
9758
|
$xeTable.updateScrollYSpace();
|
|
9564
9759
|
}
|
|
9565
|
-
|
|
9760
|
+
if (evnt) {
|
|
9761
|
+
dispatchEvent('row-dragend', {
|
|
9762
|
+
oldRow: dragRow,
|
|
9763
|
+
newRow: prevDragRow,
|
|
9764
|
+
dragRow,
|
|
9765
|
+
dragPos: prevDragPos,
|
|
9766
|
+
dragToChild: isDragToChildFlag,
|
|
9767
|
+
offsetIndex: dragOffsetIndex,
|
|
9768
|
+
_index: {
|
|
9769
|
+
newIndex: nafIndex,
|
|
9770
|
+
oldIndex: oafIndex
|
|
9771
|
+
}
|
|
9772
|
+
}, evnt);
|
|
9773
|
+
}
|
|
9774
|
+
return (0, _vue.nextTick)().then(() => {
|
|
9566
9775
|
$xeTable.updateCellAreas();
|
|
9567
9776
|
$xeTable.recalculate();
|
|
9777
|
+
}).then(() => {
|
|
9778
|
+
return {
|
|
9779
|
+
status: true
|
|
9780
|
+
};
|
|
9568
9781
|
});
|
|
9569
|
-
|
|
9570
|
-
|
|
9571
|
-
|
|
9572
|
-
dragRow,
|
|
9573
|
-
dragPos: prevDragPos,
|
|
9574
|
-
dragToChild: isDragToChildFlag,
|
|
9575
|
-
offsetIndex: dragOffsetIndex,
|
|
9576
|
-
_index: {
|
|
9577
|
-
newIndex: nafIndex,
|
|
9578
|
-
oldIndex: oafIndex
|
|
9579
|
-
}
|
|
9580
|
-
}, evnt);
|
|
9581
|
-
}).catch(() => {});
|
|
9782
|
+
}).catch(() => {
|
|
9783
|
+
return errRest;
|
|
9784
|
+
});
|
|
9582
9785
|
}
|
|
9583
9786
|
}
|
|
9584
|
-
return Promise.resolve();
|
|
9787
|
+
return Promise.resolve(errRest);
|
|
9585
9788
|
},
|
|
9586
9789
|
handleRowDragDragendEvent(evnt) {
|
|
9587
9790
|
const {
|
|
@@ -9750,6 +9953,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9750
9953
|
collectColumn
|
|
9751
9954
|
} = internalData;
|
|
9752
9955
|
const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
|
|
9956
|
+
const errRest = {
|
|
9957
|
+
status: false
|
|
9958
|
+
};
|
|
9753
9959
|
if (prevDragCol && dragCol) {
|
|
9754
9960
|
// 判断是否有拖动
|
|
9755
9961
|
if (prevDragCol !== dragCol) {
|
|
@@ -9766,7 +9972,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9766
9972
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
9767
9973
|
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
|
|
9768
9974
|
if (!status) {
|
|
9769
|
-
return;
|
|
9975
|
+
return errRest;
|
|
9770
9976
|
}
|
|
9771
9977
|
let oafIndex = -1;
|
|
9772
9978
|
let nafIndex = -1;
|
|
@@ -9780,11 +9986,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9780
9986
|
if (isPeerDrag && !isCrossDrag) {
|
|
9781
9987
|
if (dragColumn.parentId !== newColumn.parentId) {
|
|
9782
9988
|
// 非同级
|
|
9783
|
-
return;
|
|
9989
|
+
return errRest;
|
|
9784
9990
|
}
|
|
9785
9991
|
} else {
|
|
9786
9992
|
if (!isCrossDrag) {
|
|
9787
|
-
return;
|
|
9993
|
+
return errRest;
|
|
9788
9994
|
}
|
|
9789
9995
|
if (oldAllMaps[newColumn.id]) {
|
|
9790
9996
|
isSelfToChildStatus = true;
|
|
@@ -9795,19 +10001,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9795
10001
|
content: getI18n('vxe.error.treeDragChild')
|
|
9796
10002
|
});
|
|
9797
10003
|
}
|
|
9798
|
-
return;
|
|
10004
|
+
return errRest;
|
|
9799
10005
|
}
|
|
9800
10006
|
}
|
|
9801
10007
|
}
|
|
9802
10008
|
} else if (dragColumn.parentId) {
|
|
9803
10009
|
// 子到根
|
|
9804
10010
|
if (!isCrossDrag) {
|
|
9805
|
-
return;
|
|
10011
|
+
return errRest;
|
|
9806
10012
|
}
|
|
9807
10013
|
} else if (newColumn.parentId) {
|
|
9808
10014
|
// 根到子
|
|
9809
10015
|
if (!isCrossDrag) {
|
|
9810
|
-
return;
|
|
10016
|
+
return errRest;
|
|
9811
10017
|
}
|
|
9812
10018
|
if (oldAllMaps[newColumn.id]) {
|
|
9813
10019
|
isSelfToChildStatus = true;
|
|
@@ -9818,7 +10024,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9818
10024
|
content: getI18n('vxe.error.treeDragChild')
|
|
9819
10025
|
});
|
|
9820
10026
|
}
|
|
9821
|
-
return;
|
|
10027
|
+
return errRest;
|
|
9822
10028
|
}
|
|
9823
10029
|
}
|
|
9824
10030
|
} else {
|
|
@@ -9887,25 +10093,32 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9887
10093
|
$xeTable.clearCopyCellArea();
|
|
9888
10094
|
}
|
|
9889
10095
|
}
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
10096
|
+
if (evnt) {
|
|
10097
|
+
dispatchEvent('column-dragend', {
|
|
10098
|
+
oldColumn: dragColumn,
|
|
10099
|
+
newColumn,
|
|
10100
|
+
dragColumn,
|
|
10101
|
+
dragPos: prevDragPos,
|
|
10102
|
+
dragToChild: isDragToChildFlag,
|
|
10103
|
+
offsetIndex: dragOffsetIndex,
|
|
10104
|
+
_index: {
|
|
10105
|
+
newIndex: nafIndex,
|
|
10106
|
+
oldIndex: oafIndex
|
|
10107
|
+
}
|
|
10108
|
+
}, evnt);
|
|
10109
|
+
}
|
|
9902
10110
|
if (isSyncColumn) {
|
|
9903
10111
|
$xeTable.handleColDragSwapColumn();
|
|
9904
10112
|
}
|
|
9905
|
-
|
|
10113
|
+
return {
|
|
10114
|
+
status: true
|
|
10115
|
+
};
|
|
10116
|
+
}).catch(() => {
|
|
10117
|
+
return errRest;
|
|
10118
|
+
});
|
|
9906
10119
|
}
|
|
9907
10120
|
}
|
|
9908
|
-
return Promise.resolve();
|
|
10121
|
+
return Promise.resolve(errRest);
|
|
9909
10122
|
},
|
|
9910
10123
|
handleHeaderCellDragDragendEvent(evnt) {
|
|
9911
10124
|
const {
|
|
@@ -10358,11 +10571,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10358
10571
|
} = _props.default;
|
|
10359
10572
|
const {
|
|
10360
10573
|
scrollXLoad,
|
|
10361
|
-
scrollYLoad
|
|
10574
|
+
scrollYLoad,
|
|
10575
|
+
expandColumn
|
|
10362
10576
|
} = reactData;
|
|
10363
10577
|
const leftFixedWidth = computeLeftFixedWidth.value;
|
|
10364
10578
|
const rightFixedWidth = computeRightFixedWidth.value;
|
|
10365
|
-
if (!(scrollYLoad || leftFixedWidth || rightFixedWidth)) {
|
|
10579
|
+
if (!(scrollYLoad || leftFixedWidth || rightFixedWidth || expandColumn)) {
|
|
10366
10580
|
return;
|
|
10367
10581
|
}
|
|
10368
10582
|
const {
|