vxe-table 4.12.0-beta.20 → 4.12.0-beta.21
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/style.css +1 -1
- package/es/table/module/edit/hook.js +8 -10
- package/es/table/module/validator/hook.js +2 -2
- package/es/table/src/body.js +10 -10
- package/es/table/src/cell.js +15 -11
- package/es/table/src/table.js +255 -234
- package/es/table/src/util.js +2 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +127 -117
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +10 -11
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +3 -3
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/body.js +16 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +22 -13
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +333 -265
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +2 -2
- 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/table/module/edit/hook.ts +8 -10
- package/packages/table/module/validator/hook.ts +2 -2
- package/packages/table/src/body.ts +10 -10
- package/packages/table/src/cell.ts +15 -11
- package/packages/table/src/table.ts +257 -233
- package/packages/table/src/util.ts +2 -2
- /package/es/{iconfont.1742353689933.ttf → iconfont.1742437957812.ttf} +0 -0
- /package/es/{iconfont.1742353689933.woff → iconfont.1742437957812.woff} +0 -0
- /package/es/{iconfont.1742353689933.woff2 → iconfont.1742437957812.woff2} +0 -0
- /package/lib/{iconfont.1742353689933.ttf → iconfont.1742437957812.ttf} +0 -0
- /package/lib/{iconfont.1742353689933.woff → iconfont.1742437957812.woff} +0 -0
- /package/lib/{iconfont.1742353689933.woff2 → iconfont.1742437957812.woff2} +0 -0
package/lib/table/src/table.js
CHANGED
|
@@ -94,8 +94,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
94
94
|
isAllSelected: false,
|
|
95
95
|
// 复选框属性,有选中且非全选状态
|
|
96
96
|
isIndeterminate: false,
|
|
97
|
-
// 复选框属性,已选中的行集合
|
|
98
|
-
selectCheckboxMaps: {},
|
|
99
97
|
// 当前行
|
|
100
98
|
currentRow: null,
|
|
101
99
|
// 单选框属性,选中列
|
|
@@ -109,16 +107,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
109
107
|
// 树节点列信息
|
|
110
108
|
treeNodeColumn: null,
|
|
111
109
|
hasFixedColumn: false,
|
|
112
|
-
// 已展开的行集合
|
|
113
|
-
rowExpandedMaps: {},
|
|
114
|
-
// 懒加载中的展开行的集合
|
|
115
|
-
rowExpandLazyLoadedMaps: {},
|
|
116
|
-
// 已展开树节点集合
|
|
117
|
-
treeExpandedMaps: {},
|
|
118
|
-
// 懒加载中的树节点的集合
|
|
119
|
-
treeExpandLazyLoadedMaps: {},
|
|
120
|
-
// 树节点不确定状态的集合
|
|
121
|
-
treeIndeterminateMaps: {},
|
|
122
110
|
// 合并单元格的对象集
|
|
123
111
|
mergeList: [],
|
|
124
112
|
// 合并表尾数据的对象集
|
|
@@ -127,8 +115,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
127
115
|
upDataFlag: 0,
|
|
128
116
|
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
129
117
|
reColumnFlag: 0,
|
|
130
|
-
// 已标记的对象集
|
|
131
|
-
pendingRowMaps: {},
|
|
132
118
|
// 初始化标识
|
|
133
119
|
initStore: {
|
|
134
120
|
filter: false,
|
|
@@ -272,6 +258,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
272
258
|
isHeader: false,
|
|
273
259
|
isFooter: false
|
|
274
260
|
},
|
|
261
|
+
rowExpandedFlag: 1,
|
|
262
|
+
treeExpandedFlag: 1,
|
|
263
|
+
updateCheckboxFlag: 1,
|
|
264
|
+
pendingRowFlag: 1,
|
|
275
265
|
rowHeightStore: {
|
|
276
266
|
default: 48,
|
|
277
267
|
medium: 44,
|
|
@@ -371,6 +361,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
371
361
|
fullColumnIdData: {},
|
|
372
362
|
fullColumnFieldData: {},
|
|
373
363
|
// prevDragRow: null,
|
|
364
|
+
// 已展开的行集合
|
|
365
|
+
rowExpandedMaps: {},
|
|
366
|
+
// 懒加载中的展开行的集合
|
|
367
|
+
rowExpandLazyLoadedMaps: {},
|
|
368
|
+
// 已展开树节点集合
|
|
369
|
+
treeExpandedMaps: {},
|
|
370
|
+
// 懒加载中的树节点的集合
|
|
371
|
+
treeExpandLazyLoadedMaps: {},
|
|
372
|
+
// 复选框属性,已选中的行集合
|
|
373
|
+
selectCheckboxMaps: {},
|
|
374
|
+
// 已标记的对象集
|
|
375
|
+
pendingRowMaps: {},
|
|
374
376
|
inited: false,
|
|
375
377
|
tooltipTimeout: null,
|
|
376
378
|
initStatus: false,
|
|
@@ -504,13 +506,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
504
506
|
return Object.assign({}, getConfig().table.currentColumnConfig, props.currentColumnConfig);
|
|
505
507
|
});
|
|
506
508
|
const computeCellOpts = (0, _vue.computed)(() => {
|
|
507
|
-
|
|
509
|
+
const cellOpts = Object.assign({}, getConfig().table.cellConfig, props.cellConfig);
|
|
510
|
+
if (cellOpts.height) {
|
|
511
|
+
cellOpts.height = _xeUtils.default.toNumber(cellOpts.height);
|
|
512
|
+
}
|
|
513
|
+
return cellOpts;
|
|
508
514
|
});
|
|
509
515
|
const computeHeaderCellOpts = (0, _vue.computed)(() => {
|
|
510
|
-
|
|
516
|
+
const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
517
|
+
if (headerCellOpts.height) {
|
|
518
|
+
headerCellOpts.height = _xeUtils.default.toNumber(headerCellOpts.height);
|
|
519
|
+
}
|
|
520
|
+
return headerCellOpts;
|
|
511
521
|
});
|
|
512
522
|
const computeFooterCellOpts = (0, _vue.computed)(() => {
|
|
513
|
-
|
|
523
|
+
const footerCellOpts = Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
524
|
+
if (footerCellOpts.height) {
|
|
525
|
+
footerCellOpts.height = _xeUtils.default.toNumber(footerCellOpts.height);
|
|
526
|
+
}
|
|
527
|
+
return footerCellOpts;
|
|
514
528
|
});
|
|
515
529
|
const computeRowOpts = (0, _vue.computed)(() => {
|
|
516
530
|
return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
|
|
@@ -675,15 +689,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
675
689
|
});
|
|
676
690
|
const computeTableRowExpandedList = (0, _vue.computed)(() => {
|
|
677
691
|
const {
|
|
678
|
-
|
|
692
|
+
rowExpandedFlag,
|
|
679
693
|
tableData,
|
|
680
694
|
expandColumn
|
|
681
695
|
} = reactData;
|
|
696
|
+
const {
|
|
697
|
+
rowExpandedMaps
|
|
698
|
+
} = internalData;
|
|
699
|
+
const {
|
|
700
|
+
handleGetRowId
|
|
701
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
682
702
|
const expandList = [];
|
|
683
|
-
if (expandColumn) {
|
|
703
|
+
if (expandColumn && rowExpandedFlag) {
|
|
684
704
|
const rowKeys = {};
|
|
685
705
|
tableData.forEach(row => {
|
|
686
|
-
rowKeys[(
|
|
706
|
+
rowKeys[handleGetRowId(row)] = true;
|
|
687
707
|
});
|
|
688
708
|
_xeUtils.default.each(rowExpandedMaps, (row, rowid) => {
|
|
689
709
|
if (rowKeys[rowid]) {
|
|
@@ -827,6 +847,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
827
847
|
computeCurrentColumnOpts,
|
|
828
848
|
computeScrollXThreshold,
|
|
829
849
|
computeScrollYThreshold,
|
|
850
|
+
computeRowHeightMaps,
|
|
830
851
|
computeDefaultRowHeight,
|
|
831
852
|
computeCellOpts,
|
|
832
853
|
computeHeaderCellOpts,
|
|
@@ -1066,12 +1087,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1066
1087
|
toVisibleIndex = Math.floor(startTop / defaultRowHeight) - 1;
|
|
1067
1088
|
visibleSize = Math.ceil(clientHeight / defaultRowHeight) + 1;
|
|
1068
1089
|
} else {
|
|
1090
|
+
const {
|
|
1091
|
+
handleGetRowId
|
|
1092
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1069
1093
|
let leftIndex = 0;
|
|
1070
1094
|
let rightIndex = afterFullData.length;
|
|
1071
1095
|
while (leftIndex < rightIndex) {
|
|
1072
1096
|
const rIndex = Math.floor((leftIndex + rightIndex) / 2);
|
|
1073
1097
|
const row = afterFullData[rIndex];
|
|
1074
|
-
const rowid = (
|
|
1098
|
+
const rowid = handleGetRowId(row);
|
|
1075
1099
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1076
1100
|
if (rowRest.oTop <= startTop) {
|
|
1077
1101
|
leftIndex = rIndex + 1;
|
|
@@ -1082,7 +1106,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1082
1106
|
toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
1083
1107
|
for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
1084
1108
|
const row = afterFullData[rIndex];
|
|
1085
|
-
const rowid = (
|
|
1109
|
+
const rowid = handleGetRowId(row);
|
|
1086
1110
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1087
1111
|
visibleSize++;
|
|
1088
1112
|
if (rowRest.oTop > endTop || visibleSize >= 100) {
|
|
@@ -1673,9 +1697,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1673
1697
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
1674
1698
|
const el = refElem.value;
|
|
1675
1699
|
if (!isAllOverflow && scrollYLoad && el) {
|
|
1700
|
+
const {
|
|
1701
|
+
handleGetRowId
|
|
1702
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1676
1703
|
el.setAttribute('data-calc-row', 'Y');
|
|
1677
1704
|
tableData.forEach(row => {
|
|
1678
|
-
const rowid = (
|
|
1705
|
+
const rowid = handleGetRowId(row);
|
|
1679
1706
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1680
1707
|
if (rowRest) {
|
|
1681
1708
|
const reHeight = calcCellAutoHeight(rowRest, el);
|
|
@@ -1720,9 +1747,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1720
1747
|
fullDataRowIdData,
|
|
1721
1748
|
fullAllDataRowIdData
|
|
1722
1749
|
} = internalData;
|
|
1750
|
+
const {
|
|
1751
|
+
handleGetRowId
|
|
1752
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1723
1753
|
const fullMaps = {};
|
|
1724
1754
|
afterFullData.forEach((row, index) => {
|
|
1725
|
-
const rowid = (
|
|
1755
|
+
const rowid = handleGetRowId(row);
|
|
1726
1756
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1727
1757
|
const seq = index + 1;
|
|
1728
1758
|
if (rowRest) {
|
|
@@ -1774,8 +1804,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1774
1804
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1775
1805
|
const fullMaps = {};
|
|
1776
1806
|
if (treeConfig) {
|
|
1807
|
+
const {
|
|
1808
|
+
handleGetRowId
|
|
1809
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1777
1810
|
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
1778
|
-
const rowid = (
|
|
1811
|
+
const rowid = handleGetRowId(row);
|
|
1779
1812
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1780
1813
|
const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
1781
1814
|
if (rowRest) {
|
|
@@ -1820,19 +1853,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1820
1853
|
treeConfig
|
|
1821
1854
|
} = props;
|
|
1822
1855
|
const {
|
|
1856
|
+
fullAllDataRowIdData,
|
|
1823
1857
|
treeExpandedMaps
|
|
1824
|
-
} = reactData;
|
|
1825
|
-
const {
|
|
1826
|
-
fullAllDataRowIdData
|
|
1827
1858
|
} = internalData;
|
|
1828
1859
|
const treeOpts = computeTreeOpts.value;
|
|
1829
1860
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1830
1861
|
if (treeConfig && treeOpts.transform) {
|
|
1862
|
+
const {
|
|
1863
|
+
handleGetRowId
|
|
1864
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1831
1865
|
const fullData = [];
|
|
1832
1866
|
const expandMaps = {};
|
|
1833
1867
|
_xeUtils.default.eachTree(internalData.afterTreeFullData, (row, index, items, path, parentRow) => {
|
|
1834
|
-
const rowid = (
|
|
1835
|
-
const parentRowid = (
|
|
1868
|
+
const rowid = handleGetRowId(row);
|
|
1869
|
+
const parentRowid = handleGetRowId(parentRow);
|
|
1836
1870
|
if (!parentRow || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
|
|
1837
1871
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1838
1872
|
if (rowRest) {
|
|
@@ -2622,12 +2656,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2622
2656
|
const {
|
|
2623
2657
|
treeConfig
|
|
2624
2658
|
} = props;
|
|
2625
|
-
const {
|
|
2626
|
-
selectCheckboxMaps
|
|
2627
|
-
} = reactData;
|
|
2628
2659
|
const {
|
|
2629
2660
|
afterFullData,
|
|
2630
|
-
checkboxReserveRowMap
|
|
2661
|
+
checkboxReserveRowMap,
|
|
2662
|
+
selectCheckboxMaps
|
|
2631
2663
|
} = internalData;
|
|
2632
2664
|
const treeOpts = computeTreeOpts.value;
|
|
2633
2665
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -2653,7 +2685,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2653
2685
|
row
|
|
2654
2686
|
})) {
|
|
2655
2687
|
if (checked) {
|
|
2656
|
-
selectRowMaps[(
|
|
2688
|
+
selectRowMaps[handleGetRowId(row)] = row;
|
|
2657
2689
|
}
|
|
2658
2690
|
_xeUtils.default.set(row, checkField, checked);
|
|
2659
2691
|
}
|
|
@@ -2759,10 +2791,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2759
2791
|
afterFullData.forEach(row => handleCheckboxReserveRow(row, false));
|
|
2760
2792
|
}
|
|
2761
2793
|
}
|
|
2762
|
-
reactData.
|
|
2794
|
+
reactData.updateCheckboxFlag++;
|
|
2795
|
+
internalData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
2763
2796
|
reactData.isAllSelected = checked;
|
|
2764
2797
|
reactData.isIndeterminate = false;
|
|
2765
|
-
reactData.treeIndeterminateMaps = {};
|
|
2766
2798
|
internalData.treeIndeterminateRowMaps = {};
|
|
2767
2799
|
$xeTable.checkSelectionStatus();
|
|
2768
2800
|
return (0, _vue.nextTick)();
|
|
@@ -2775,15 +2807,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2775
2807
|
const {
|
|
2776
2808
|
expandColumn,
|
|
2777
2809
|
currentRow,
|
|
2778
|
-
|
|
2779
|
-
selectRadioRow,
|
|
2780
|
-
rowExpandedMaps,
|
|
2781
|
-
treeExpandedMaps
|
|
2810
|
+
selectRadioRow
|
|
2782
2811
|
} = reactData;
|
|
2783
2812
|
const {
|
|
2784
2813
|
fullDataRowIdData,
|
|
2785
2814
|
fullAllDataRowIdData,
|
|
2786
|
-
radioReserveRow
|
|
2815
|
+
radioReserveRow,
|
|
2816
|
+
selectCheckboxMaps,
|
|
2817
|
+
treeExpandedMaps,
|
|
2818
|
+
rowExpandedMaps
|
|
2787
2819
|
} = internalData;
|
|
2788
2820
|
const expandOpts = computeExpandOpts.value;
|
|
2789
2821
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -2801,7 +2833,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2801
2833
|
}
|
|
2802
2834
|
}
|
|
2803
2835
|
// 复选框
|
|
2804
|
-
|
|
2836
|
+
internalData.selectCheckboxMaps = getRecoverRowMaps(selectCheckboxMaps); // 刷新多选行状态
|
|
2837
|
+
reactData.updateCheckboxFlag++;
|
|
2805
2838
|
// 还原保留选中状态
|
|
2806
2839
|
if (checkboxOpts.reserve) {
|
|
2807
2840
|
handleCheckedCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true, true);
|
|
@@ -2810,13 +2843,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2810
2843
|
reactData.currentRow = null; // 刷新当前行状态
|
|
2811
2844
|
}
|
|
2812
2845
|
// 行展开
|
|
2813
|
-
|
|
2846
|
+
internalData.rowExpandedMaps = expandColumn ? getRecoverRowMaps(rowExpandedMaps) : {}; // 刷新行展开状态
|
|
2847
|
+
reactData.rowExpandedFlag++;
|
|
2814
2848
|
// 还原保留状态
|
|
2815
2849
|
if (expandColumn && expandOpts.reserve) {
|
|
2816
2850
|
$xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
|
|
2817
2851
|
}
|
|
2818
2852
|
// 树展开
|
|
2819
|
-
|
|
2853
|
+
internalData.treeExpandedMaps = treeConfig ? getRecoverRowMaps(treeExpandedMaps) : {}; // 刷新树展开状态
|
|
2854
|
+
reactData.treeExpandedFlag++;
|
|
2820
2855
|
if (treeConfig && treeOpts.reserve) {
|
|
2821
2856
|
$xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
|
|
2822
2857
|
}
|
|
@@ -2839,7 +2874,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2839
2874
|
} = treeOpts;
|
|
2840
2875
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2841
2876
|
if (expandAll) {
|
|
2842
|
-
|
|
2877
|
+
$xeTable.setAllTreeExpand(true);
|
|
2843
2878
|
} else if (expandRowKeys) {
|
|
2844
2879
|
const defExpandeds = [];
|
|
2845
2880
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
@@ -2851,7 +2886,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2851
2886
|
defExpandeds.push(matchObj.item);
|
|
2852
2887
|
}
|
|
2853
2888
|
});
|
|
2854
|
-
|
|
2889
|
+
$xeTable.setTreeExpand(defExpandeds, true);
|
|
2855
2890
|
}
|
|
2856
2891
|
}
|
|
2857
2892
|
};
|
|
@@ -2868,10 +2903,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2868
2903
|
return new Promise(resolve => {
|
|
2869
2904
|
if (loadMethod) {
|
|
2870
2905
|
const {
|
|
2906
|
+
fullAllDataRowIdData,
|
|
2871
2907
|
treeExpandLazyLoadedMaps
|
|
2872
|
-
} = reactData;
|
|
2873
|
-
const {
|
|
2874
|
-
fullAllDataRowIdData
|
|
2875
2908
|
} = internalData;
|
|
2876
2909
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2877
2910
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
@@ -2890,20 +2923,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2890
2923
|
childRecords = [];
|
|
2891
2924
|
}
|
|
2892
2925
|
if (childRecords) {
|
|
2893
|
-
return
|
|
2926
|
+
return $xeTable.loadTreeChildren(row, childRecords).then(childRows => {
|
|
2894
2927
|
const {
|
|
2895
2928
|
treeExpandedMaps
|
|
2896
|
-
} =
|
|
2929
|
+
} = internalData;
|
|
2897
2930
|
if (childRows.length && !treeExpandedMaps[rowid]) {
|
|
2898
2931
|
treeExpandedMaps[rowid] = row;
|
|
2899
2932
|
}
|
|
2933
|
+
reactData.treeExpandedFlag++;
|
|
2900
2934
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
2901
|
-
if (!checkStrictly &&
|
|
2935
|
+
if (!checkStrictly && $xeTable.isCheckedByCheckboxRow(row)) {
|
|
2902
2936
|
handleCheckedCheckboxRow(childRows, true);
|
|
2903
2937
|
}
|
|
2904
2938
|
return (0, _vue.nextTick)().then(() => {
|
|
2905
2939
|
if (transform) {
|
|
2906
|
-
|
|
2940
|
+
$xeTable.handleTableData();
|
|
2907
2941
|
updateAfterDataIndex();
|
|
2908
2942
|
return (0, _vue.nextTick)();
|
|
2909
2943
|
}
|
|
@@ -2913,7 +2947,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2913
2947
|
}).catch(() => {
|
|
2914
2948
|
const {
|
|
2915
2949
|
treeExpandLazyLoadedMaps
|
|
2916
|
-
} =
|
|
2950
|
+
} = internalData;
|
|
2917
2951
|
if (rowRest) {
|
|
2918
2952
|
rowRest.treeLoaded = false;
|
|
2919
2953
|
}
|
|
@@ -2921,7 +2955,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2921
2955
|
delete treeExpandLazyLoadedMaps[rowid];
|
|
2922
2956
|
}
|
|
2923
2957
|
}).finally(() => {
|
|
2924
|
-
|
|
2958
|
+
reactData.treeExpandedFlag++;
|
|
2959
|
+
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => resolve());
|
|
2925
2960
|
});
|
|
2926
2961
|
} else {
|
|
2927
2962
|
resolve();
|
|
@@ -2950,35 +2985,38 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2950
2985
|
} = expandOpts;
|
|
2951
2986
|
if (loadMethod) {
|
|
2952
2987
|
const {
|
|
2953
|
-
fullAllDataRowIdData
|
|
2988
|
+
fullAllDataRowIdData,
|
|
2989
|
+
rowExpandLazyLoadedMaps
|
|
2954
2990
|
} = internalData;
|
|
2955
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
2956
2991
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2957
2992
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2958
|
-
|
|
2959
|
-
reactData.rowExpandLazyLoadedMaps = rExpandLazyLoadedMaps;
|
|
2993
|
+
rowExpandLazyLoadedMaps[rowid] = row;
|
|
2960
2994
|
loadMethod({
|
|
2961
2995
|
$table: $xeTable,
|
|
2962
2996
|
row,
|
|
2963
|
-
rowIndex:
|
|
2964
|
-
$rowIndex:
|
|
2997
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
2998
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
2965
2999
|
}).then(() => {
|
|
2966
|
-
const
|
|
3000
|
+
const {
|
|
3001
|
+
rowExpandedMaps
|
|
3002
|
+
} = internalData;
|
|
2967
3003
|
if (rowRest) {
|
|
2968
3004
|
rowRest.expandLoaded = true;
|
|
2969
3005
|
}
|
|
2970
|
-
|
|
2971
|
-
reactData.
|
|
3006
|
+
rowExpandedMaps[rowid] = row;
|
|
3007
|
+
reactData.rowExpandedFlag++;
|
|
2972
3008
|
}).catch(() => {
|
|
2973
3009
|
if (rowRest) {
|
|
2974
3010
|
rowRest.expandLoaded = false;
|
|
2975
3011
|
}
|
|
2976
3012
|
}).finally(() => {
|
|
2977
|
-
const
|
|
2978
|
-
|
|
2979
|
-
|
|
3013
|
+
const {
|
|
3014
|
+
rowExpandLazyLoadedMaps
|
|
3015
|
+
} = internalData;
|
|
3016
|
+
if (rowExpandLazyLoadedMaps[rowid]) {
|
|
3017
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
2980
3018
|
}
|
|
2981
|
-
reactData.
|
|
3019
|
+
reactData.rowExpandedFlag++;
|
|
2982
3020
|
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => $xeTable.updateCellAreas()).then(() => resolve());
|
|
2983
3021
|
});
|
|
2984
3022
|
} else {
|
|
@@ -3092,9 +3130,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3092
3130
|
calcCellWidth();
|
|
3093
3131
|
autoCellWidth();
|
|
3094
3132
|
updateStyle();
|
|
3095
|
-
if (reFull) {
|
|
3096
|
-
updateRowOffsetTop();
|
|
3097
|
-
}
|
|
3098
3133
|
updateRowExpandStyle();
|
|
3099
3134
|
return computeScrollLoad().then(() => {
|
|
3100
3135
|
if (reFull === true) {
|
|
@@ -3577,14 +3612,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3577
3612
|
*/
|
|
3578
3613
|
const handleBaseTreeExpand = (rows, expanded) => {
|
|
3579
3614
|
const {
|
|
3580
|
-
treeExpandedMaps,
|
|
3581
|
-
treeExpandLazyLoadedMaps,
|
|
3582
3615
|
treeNodeColumn
|
|
3583
3616
|
} = reactData;
|
|
3584
|
-
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
3585
3617
|
const {
|
|
3586
3618
|
fullAllDataRowIdData,
|
|
3587
|
-
tableFullData
|
|
3619
|
+
tableFullData,
|
|
3620
|
+
treeExpandedMaps,
|
|
3621
|
+
treeExpandLazyLoadedMaps
|
|
3588
3622
|
} = internalData;
|
|
3589
3623
|
const treeOpts = computeTreeOpts.value;
|
|
3590
3624
|
const {
|
|
@@ -3598,6 +3632,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3598
3632
|
const result = [];
|
|
3599
3633
|
const columnIndex = tableMethods.getColumnIndex(treeNodeColumn);
|
|
3600
3634
|
const $columnIndex = tableMethods.getVMColumnIndex(treeNodeColumn);
|
|
3635
|
+
const {
|
|
3636
|
+
handleGetRowId
|
|
3637
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3601
3638
|
let validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
3602
3639
|
$table: $xeTable,
|
|
3603
3640
|
expanded,
|
|
@@ -3614,17 +3651,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3614
3651
|
});
|
|
3615
3652
|
if (matchObj) {
|
|
3616
3653
|
matchObj.items.forEach(item => {
|
|
3617
|
-
const rowid = (
|
|
3618
|
-
if (
|
|
3619
|
-
delete
|
|
3654
|
+
const rowid = handleGetRowId(item);
|
|
3655
|
+
if (treeExpandedMaps[rowid]) {
|
|
3656
|
+
delete treeExpandedMaps[rowid];
|
|
3620
3657
|
}
|
|
3621
3658
|
});
|
|
3622
3659
|
}
|
|
3623
3660
|
}
|
|
3624
3661
|
if (expanded) {
|
|
3625
3662
|
validRows.forEach(row => {
|
|
3626
|
-
const rowid = (
|
|
3627
|
-
if (!
|
|
3663
|
+
const rowid = handleGetRowId(row);
|
|
3664
|
+
if (!treeExpandedMaps[rowid]) {
|
|
3628
3665
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3629
3666
|
if (rowRest) {
|
|
3630
3667
|
const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
|
|
@@ -3633,7 +3670,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3633
3670
|
result.push(handleAsyncTreeExpandChilds(row));
|
|
3634
3671
|
} else {
|
|
3635
3672
|
if (row[childrenField] && row[childrenField].length) {
|
|
3636
|
-
|
|
3673
|
+
treeExpandedMaps[rowid] = row;
|
|
3637
3674
|
}
|
|
3638
3675
|
}
|
|
3639
3676
|
}
|
|
@@ -3641,16 +3678,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3641
3678
|
});
|
|
3642
3679
|
} else {
|
|
3643
3680
|
validRows.forEach(item => {
|
|
3644
|
-
const rowid = (
|
|
3645
|
-
if (
|
|
3646
|
-
delete
|
|
3681
|
+
const rowid = handleGetRowId(item);
|
|
3682
|
+
if (treeExpandedMaps[rowid]) {
|
|
3683
|
+
delete treeExpandedMaps[rowid];
|
|
3647
3684
|
}
|
|
3648
3685
|
});
|
|
3649
3686
|
}
|
|
3650
3687
|
if (reserve) {
|
|
3651
3688
|
validRows.forEach(row => handleTreeExpandReserve(row, expanded));
|
|
3652
3689
|
}
|
|
3653
|
-
reactData.
|
|
3690
|
+
reactData.treeExpandedFlag++;
|
|
3654
3691
|
return Promise.all(result).then(() => {
|
|
3655
3692
|
return tableMethods.recalculate();
|
|
3656
3693
|
});
|
|
@@ -3729,12 +3766,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3729
3766
|
}
|
|
3730
3767
|
};
|
|
3731
3768
|
const createGetRowCacheProp = prop => {
|
|
3769
|
+
const {
|
|
3770
|
+
handleGetRowId
|
|
3771
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3732
3772
|
return function (row) {
|
|
3733
3773
|
const {
|
|
3734
3774
|
fullAllDataRowIdData
|
|
3735
3775
|
} = internalData;
|
|
3736
3776
|
if (row) {
|
|
3737
|
-
const rowid = (
|
|
3777
|
+
const rowid = handleGetRowId(row);
|
|
3738
3778
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3739
3779
|
if (rowRest) {
|
|
3740
3780
|
return rowRest[prop];
|
|
@@ -3904,7 +3944,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3904
3944
|
};
|
|
3905
3945
|
const handleUpdateColResize = (evnt, params) => {
|
|
3906
3946
|
$xeTable.analyColumnWidth();
|
|
3907
|
-
$xeTable.recalculate(
|
|
3947
|
+
$xeTable.recalculate().then(() => {
|
|
3908
3948
|
$xeTable.saveCustomStore('update:width');
|
|
3909
3949
|
$xeTable.updateCellAreas();
|
|
3910
3950
|
$xeTable.dispatchEvent('column-resizable-change', params, evnt);
|
|
@@ -3915,7 +3955,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3915
3955
|
};
|
|
3916
3956
|
const handleUpdateRowResize = (evnt, params) => {
|
|
3917
3957
|
reactData.resizeHeightFlag++;
|
|
3918
|
-
$xeTable.recalculate(
|
|
3958
|
+
$xeTable.recalculate().then(() => {
|
|
3919
3959
|
$xeTable.updateCellAreas();
|
|
3920
3960
|
$xeTable.dispatchEvent('row-resizable-change', params, evnt);
|
|
3921
3961
|
setTimeout(() => $xeTable.recalculate(true), 300);
|
|
@@ -3937,21 +3977,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3937
3977
|
};
|
|
3938
3978
|
const updateRowOffsetTop = () => {
|
|
3939
3979
|
const {
|
|
3940
|
-
expandColumn
|
|
3941
|
-
rowExpandedMaps
|
|
3980
|
+
expandColumn
|
|
3942
3981
|
} = reactData;
|
|
3943
3982
|
const {
|
|
3944
3983
|
afterFullData,
|
|
3945
|
-
fullAllDataRowIdData
|
|
3984
|
+
fullAllDataRowIdData,
|
|
3985
|
+
rowExpandedMaps
|
|
3946
3986
|
} = internalData;
|
|
3947
3987
|
const expandOpts = computeExpandOpts.value;
|
|
3948
3988
|
const rowOpts = computeRowOpts.value;
|
|
3949
3989
|
const cellOpts = computeCellOpts.value;
|
|
3950
3990
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
3991
|
+
const {
|
|
3992
|
+
handleGetRowId
|
|
3993
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3951
3994
|
let offsetTop = 0;
|
|
3952
3995
|
for (let rIndex = 0, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
3953
3996
|
const row = afterFullData[rIndex];
|
|
3954
|
-
const rowid = (
|
|
3997
|
+
const rowid = handleGetRowId(row);
|
|
3955
3998
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
3956
3999
|
rowRest.oTop = offsetTop;
|
|
3957
4000
|
offsetTop += rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
@@ -4401,6 +4444,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4401
4444
|
const {
|
|
4402
4445
|
transform
|
|
4403
4446
|
} = treeOpts;
|
|
4447
|
+
const {
|
|
4448
|
+
handleGetRowId
|
|
4449
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
4404
4450
|
if (!keepSource) {
|
|
4405
4451
|
if (process.env.NODE_ENV === 'development') {
|
|
4406
4452
|
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
@@ -4418,7 +4464,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4418
4464
|
let reDelFlag = false;
|
|
4419
4465
|
if (targetRows.length) {
|
|
4420
4466
|
targetRows.forEach(item => {
|
|
4421
|
-
const rowid = (
|
|
4467
|
+
const rowid = handleGetRowId(item);
|
|
4422
4468
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
4423
4469
|
if (rowRest) {
|
|
4424
4470
|
const row = rowRest.row;
|
|
@@ -4821,16 +4867,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4821
4867
|
const {
|
|
4822
4868
|
treeConfig
|
|
4823
4869
|
} = props;
|
|
4824
|
-
const {
|
|
4825
|
-
selectCheckboxMaps
|
|
4826
|
-
} = reactData;
|
|
4827
4870
|
const {
|
|
4828
4871
|
tableFullData,
|
|
4829
4872
|
afterFullData,
|
|
4830
4873
|
afterTreeFullData,
|
|
4831
4874
|
tableFullTreeData,
|
|
4832
4875
|
fullDataRowIdData,
|
|
4833
|
-
afterFullRowMaps
|
|
4876
|
+
afterFullRowMaps,
|
|
4877
|
+
selectCheckboxMaps
|
|
4834
4878
|
} = internalData;
|
|
4835
4879
|
const treeOpts = computeTreeOpts.value;
|
|
4836
4880
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -5206,12 +5250,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5206
5250
|
fullAllDataRowIdData,
|
|
5207
5251
|
afterFullData
|
|
5208
5252
|
} = internalData;
|
|
5253
|
+
const {
|
|
5254
|
+
handleGetRowId
|
|
5255
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5209
5256
|
const rowOpts = computeRowOpts.value;
|
|
5210
5257
|
const cellOpts = computeCellOpts.value;
|
|
5211
5258
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
5212
5259
|
const rest = {};
|
|
5213
5260
|
afterFullData.forEach(row => {
|
|
5214
|
-
const rowid = (
|
|
5261
|
+
const rowid = handleGetRowId(row);
|
|
5215
5262
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5216
5263
|
if (rowRest) {
|
|
5217
5264
|
const resizeHeight = rowRest.resizeHeight;
|
|
@@ -5237,8 +5284,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5237
5284
|
rHeight = Math.floor(rHeight * bodyHeight);
|
|
5238
5285
|
}
|
|
5239
5286
|
if (rHeight) {
|
|
5287
|
+
const {
|
|
5288
|
+
handleGetRowId
|
|
5289
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5240
5290
|
rows.forEach(row => {
|
|
5241
|
-
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : (
|
|
5291
|
+
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
5242
5292
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5243
5293
|
if (rowRest) {
|
|
5244
5294
|
rowRest.resizeHeight = rHeight;
|
|
@@ -5401,15 +5451,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5401
5451
|
treeConfig
|
|
5402
5452
|
} = props;
|
|
5403
5453
|
const {
|
|
5404
|
-
fullDataRowIdData
|
|
5454
|
+
fullDataRowIdData,
|
|
5455
|
+
treeIndeterminateRowMaps
|
|
5405
5456
|
} = internalData;
|
|
5406
|
-
const {
|
|
5407
|
-
treeIndeterminateMaps
|
|
5408
|
-
} = reactData;
|
|
5409
5457
|
if (treeConfig) {
|
|
5410
5458
|
const fullRest = [];
|
|
5411
5459
|
const defRest = [];
|
|
5412
|
-
_xeUtils.default.each(
|
|
5460
|
+
_xeUtils.default.each(treeIndeterminateRowMaps, (item, rowid) => {
|
|
5413
5461
|
if (item) {
|
|
5414
5462
|
fullRest.push(item);
|
|
5415
5463
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -5453,8 +5501,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5453
5501
|
},
|
|
5454
5502
|
isCheckedByCheckboxRow(row) {
|
|
5455
5503
|
const {
|
|
5456
|
-
|
|
5504
|
+
updateCheckboxFlag
|
|
5457
5505
|
} = reactData;
|
|
5506
|
+
const {
|
|
5507
|
+
selectCheckboxMaps
|
|
5508
|
+
} = internalData;
|
|
5458
5509
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5459
5510
|
const {
|
|
5460
5511
|
checkField
|
|
@@ -5462,14 +5513,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5462
5513
|
if (checkField) {
|
|
5463
5514
|
return _xeUtils.default.get(row, checkField);
|
|
5464
5515
|
}
|
|
5465
|
-
return !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5516
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5466
5517
|
},
|
|
5467
5518
|
isCheckedByCheckboxRowKey(rowid) {
|
|
5468
5519
|
const {
|
|
5469
|
-
|
|
5520
|
+
updateCheckboxFlag
|
|
5470
5521
|
} = reactData;
|
|
5471
5522
|
const {
|
|
5472
|
-
fullAllDataRowIdData
|
|
5523
|
+
fullAllDataRowIdData,
|
|
5524
|
+
selectCheckboxMaps
|
|
5473
5525
|
} = internalData;
|
|
5474
5526
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5475
5527
|
const {
|
|
@@ -5482,19 +5534,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5482
5534
|
}
|
|
5483
5535
|
return false;
|
|
5484
5536
|
}
|
|
5485
|
-
return !!selectCheckboxMaps[rowid];
|
|
5537
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
|
|
5486
5538
|
},
|
|
5487
5539
|
isIndeterminateByCheckboxRow(row) {
|
|
5488
5540
|
const {
|
|
5489
|
-
|
|
5490
|
-
} =
|
|
5491
|
-
return !!
|
|
5541
|
+
treeIndeterminateRowMaps
|
|
5542
|
+
} = internalData;
|
|
5543
|
+
return !!treeIndeterminateRowMaps[(0, _util.getRowid)($xeTable, row)] && !$xeTable.isCheckedByCheckboxRow(row);
|
|
5492
5544
|
},
|
|
5493
5545
|
isIndeterminateByCheckboxRowKey(rowid) {
|
|
5494
5546
|
const {
|
|
5495
|
-
|
|
5496
|
-
} =
|
|
5497
|
-
return !!
|
|
5547
|
+
treeIndeterminateRowMaps
|
|
5548
|
+
} = internalData;
|
|
5549
|
+
return !!treeIndeterminateRowMaps[rowid] && !$xeTable.isCheckedByCheckboxRowKey(rowid);
|
|
5498
5550
|
},
|
|
5499
5551
|
/**
|
|
5500
5552
|
* 多选,切换某一行的选中状态
|
|
@@ -5502,7 +5554,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5502
5554
|
toggleCheckboxRow(row) {
|
|
5503
5555
|
const {
|
|
5504
5556
|
selectCheckboxMaps
|
|
5505
|
-
} =
|
|
5557
|
+
} = internalData;
|
|
5506
5558
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5507
5559
|
const {
|
|
5508
5560
|
checkField
|
|
@@ -5579,16 +5631,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5579
5631
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5580
5632
|
const reserveSelection = [];
|
|
5581
5633
|
if (checkboxOpts.reserve) {
|
|
5634
|
+
const {
|
|
5635
|
+
handleGetRowId
|
|
5636
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5582
5637
|
const afterFullIdMaps = {};
|
|
5583
5638
|
if (treeConfig) {
|
|
5584
5639
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
5585
|
-
afterFullIdMaps[(
|
|
5640
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5586
5641
|
}, {
|
|
5587
5642
|
children: childrenField
|
|
5588
5643
|
});
|
|
5589
5644
|
} else {
|
|
5590
5645
|
afterFullData.forEach(row => {
|
|
5591
|
-
afterFullIdMaps[(
|
|
5646
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5592
5647
|
});
|
|
5593
5648
|
}
|
|
5594
5649
|
_xeUtils.default.each(checkboxReserveRowMap, (oldRow, oldRowid) => {
|
|
@@ -5658,8 +5713,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5658
5713
|
}
|
|
5659
5714
|
reactData.isAllSelected = false;
|
|
5660
5715
|
reactData.isIndeterminate = false;
|
|
5661
|
-
|
|
5662
|
-
|
|
5716
|
+
internalData.selectCheckboxMaps = {};
|
|
5717
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
5718
|
+
reactData.updateCheckboxFlag++;
|
|
5663
5719
|
return (0, _vue.nextTick)();
|
|
5664
5720
|
},
|
|
5665
5721
|
/**
|
|
@@ -5802,44 +5858,54 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5802
5858
|
return (0, _vue.nextTick)();
|
|
5803
5859
|
},
|
|
5804
5860
|
setPendingRow(rows, status) {
|
|
5805
|
-
const
|
|
5861
|
+
const {
|
|
5862
|
+
handleGetRowId
|
|
5863
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5864
|
+
const {
|
|
5865
|
+
pendingRowMaps
|
|
5866
|
+
} = internalData;
|
|
5806
5867
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5807
5868
|
rows = [rows];
|
|
5808
5869
|
}
|
|
5809
5870
|
if (status) {
|
|
5810
5871
|
rows.forEach(row => {
|
|
5811
|
-
const rowid = (
|
|
5812
|
-
if (rowid && !
|
|
5813
|
-
|
|
5872
|
+
const rowid = handleGetRowId(row);
|
|
5873
|
+
if (rowid && !pendingRowMaps[rowid]) {
|
|
5874
|
+
pendingRowMaps[rowid] = row;
|
|
5814
5875
|
}
|
|
5815
5876
|
});
|
|
5816
5877
|
} else {
|
|
5817
5878
|
rows.forEach(row => {
|
|
5818
|
-
const rowid = (
|
|
5819
|
-
if (rowid &&
|
|
5820
|
-
delete
|
|
5879
|
+
const rowid = handleGetRowId(row);
|
|
5880
|
+
if (rowid && pendingRowMaps[rowid]) {
|
|
5881
|
+
delete pendingRowMaps[rowid];
|
|
5821
5882
|
}
|
|
5822
5883
|
});
|
|
5823
5884
|
}
|
|
5824
|
-
reactData.
|
|
5885
|
+
reactData.pendingRowFlag++;
|
|
5825
5886
|
return (0, _vue.nextTick)();
|
|
5826
5887
|
},
|
|
5827
5888
|
togglePendingRow(rows) {
|
|
5828
|
-
const
|
|
5889
|
+
const {
|
|
5890
|
+
handleGetRowId
|
|
5891
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5892
|
+
const {
|
|
5893
|
+
pendingRowMaps
|
|
5894
|
+
} = internalData;
|
|
5829
5895
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5830
5896
|
rows = [rows];
|
|
5831
5897
|
}
|
|
5832
5898
|
rows.forEach(row => {
|
|
5833
|
-
const rowid = (
|
|
5899
|
+
const rowid = handleGetRowId(row);
|
|
5834
5900
|
if (rowid) {
|
|
5835
|
-
if (
|
|
5836
|
-
delete
|
|
5901
|
+
if (pendingRowMaps[rowid]) {
|
|
5902
|
+
delete pendingRowMaps[rowid];
|
|
5837
5903
|
} else {
|
|
5838
|
-
|
|
5904
|
+
pendingRowMaps[rowid] = row;
|
|
5839
5905
|
}
|
|
5840
5906
|
}
|
|
5841
5907
|
});
|
|
5842
|
-
reactData.
|
|
5908
|
+
reactData.pendingRowFlag++;
|
|
5843
5909
|
return (0, _vue.nextTick)();
|
|
5844
5910
|
},
|
|
5845
5911
|
hasPendingByRow(row) {
|
|
@@ -5848,16 +5914,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5848
5914
|
isPendingByRow(row) {
|
|
5849
5915
|
const {
|
|
5850
5916
|
pendingRowMaps
|
|
5851
|
-
} =
|
|
5917
|
+
} = internalData;
|
|
5852
5918
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
5853
5919
|
return !!pendingRowMaps[rowid];
|
|
5854
5920
|
},
|
|
5855
5921
|
getPendingRecords() {
|
|
5856
5922
|
const {
|
|
5923
|
+
fullAllDataRowIdData,
|
|
5857
5924
|
pendingRowMaps
|
|
5858
|
-
} = reactData;
|
|
5859
|
-
const {
|
|
5860
|
-
fullAllDataRowIdData
|
|
5861
5925
|
} = internalData;
|
|
5862
5926
|
const insertRecords = [];
|
|
5863
5927
|
_xeUtils.default.each(pendingRowMaps, (row, rowid) => {
|
|
@@ -5868,7 +5932,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5868
5932
|
return insertRecords;
|
|
5869
5933
|
},
|
|
5870
5934
|
clearPendingRow() {
|
|
5871
|
-
|
|
5935
|
+
internalData.pendingRowMaps = {};
|
|
5936
|
+
reactData.pendingRowFlag++;
|
|
5872
5937
|
return (0, _vue.nextTick)();
|
|
5873
5938
|
},
|
|
5874
5939
|
sort(sortConfs, sortOrder) {
|
|
@@ -6086,9 +6151,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6086
6151
|
return rowRest && !!rowRest.expandLoaded;
|
|
6087
6152
|
},
|
|
6088
6153
|
clearRowExpandLoaded(row) {
|
|
6089
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
6090
6154
|
const {
|
|
6091
|
-
fullAllDataRowIdData
|
|
6155
|
+
fullAllDataRowIdData,
|
|
6156
|
+
rowExpandLazyLoadedMaps
|
|
6092
6157
|
} = internalData;
|
|
6093
6158
|
const expandOpts = computeExpandOpts.value;
|
|
6094
6159
|
const {
|
|
@@ -6098,9 +6163,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6098
6163
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6099
6164
|
if (lazy && rowRest) {
|
|
6100
6165
|
rowRest.expandLoaded = false;
|
|
6101
|
-
delete
|
|
6166
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
6102
6167
|
}
|
|
6103
|
-
reactData.
|
|
6168
|
+
reactData.rowExpandedFlag++;
|
|
6104
6169
|
return (0, _vue.nextTick)();
|
|
6105
6170
|
},
|
|
6106
6171
|
/**
|
|
@@ -6110,14 +6175,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6110
6175
|
reloadRowExpand(row) {
|
|
6111
6176
|
const {
|
|
6112
6177
|
rowExpandLazyLoadedMaps
|
|
6113
|
-
} =
|
|
6178
|
+
} = internalData;
|
|
6114
6179
|
const expandOpts = computeExpandOpts.value;
|
|
6115
6180
|
const {
|
|
6116
6181
|
lazy
|
|
6117
6182
|
} = expandOpts;
|
|
6118
6183
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6119
6184
|
if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
|
|
6120
|
-
|
|
6185
|
+
$xeTable.clearRowExpandLoaded(row).then(() => handleAsyncRowExpand(row));
|
|
6121
6186
|
}
|
|
6122
6187
|
return (0, _vue.nextTick)();
|
|
6123
6188
|
},
|
|
@@ -6126,13 +6191,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6126
6191
|
(0, _log.warnLog)('vxe.error.delFunc', ['reloadExpandContent', 'reloadRowExpand']);
|
|
6127
6192
|
}
|
|
6128
6193
|
// 即将废弃
|
|
6129
|
-
return
|
|
6194
|
+
return $xeTable.reloadRowExpand(row);
|
|
6130
6195
|
},
|
|
6131
6196
|
/**
|
|
6132
6197
|
* 切换展开行
|
|
6133
6198
|
*/
|
|
6134
6199
|
toggleRowExpand(row) {
|
|
6135
|
-
return
|
|
6200
|
+
return $xeTable.setRowExpand(row, !$xeTable.isRowExpandByRow(row));
|
|
6136
6201
|
},
|
|
6137
6202
|
/**
|
|
6138
6203
|
* 设置所有行的展开与否
|
|
@@ -6166,14 +6231,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6166
6231
|
*/
|
|
6167
6232
|
setRowExpand(rows, expanded) {
|
|
6168
6233
|
const {
|
|
6169
|
-
rowExpandedMaps,
|
|
6170
|
-
rowExpandLazyLoadedMaps,
|
|
6171
6234
|
expandColumn
|
|
6172
6235
|
} = reactData;
|
|
6173
|
-
|
|
6174
|
-
fullAllDataRowIdData
|
|
6236
|
+
let {
|
|
6237
|
+
fullAllDataRowIdData,
|
|
6238
|
+
rowExpandedMaps,
|
|
6239
|
+
rowExpandLazyLoadedMaps
|
|
6175
6240
|
} = internalData;
|
|
6176
|
-
|
|
6241
|
+
const {
|
|
6242
|
+
handleGetRowId
|
|
6243
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
6177
6244
|
const expandOpts = computeExpandOpts.value;
|
|
6178
6245
|
const {
|
|
6179
6246
|
reserve,
|
|
@@ -6190,7 +6257,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6190
6257
|
}
|
|
6191
6258
|
if (accordion) {
|
|
6192
6259
|
// 只能同时展开一个
|
|
6193
|
-
|
|
6260
|
+
rowExpandedMaps = {};
|
|
6261
|
+
internalData.rowExpandedMaps = rowExpandedMaps;
|
|
6194
6262
|
rows = rows.slice(rows.length - 1, rows.length);
|
|
6195
6263
|
}
|
|
6196
6264
|
const validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
@@ -6205,22 +6273,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6205
6273
|
})) : rows;
|
|
6206
6274
|
if (expanded) {
|
|
6207
6275
|
validRows.forEach(row => {
|
|
6208
|
-
const rowid = (
|
|
6209
|
-
if (!
|
|
6276
|
+
const rowid = handleGetRowId(row);
|
|
6277
|
+
if (!rowExpandedMaps[rowid]) {
|
|
6210
6278
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6211
6279
|
const isLoad = lazy && !rowRest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
|
|
6212
6280
|
if (isLoad) {
|
|
6213
6281
|
lazyRests.push(handleAsyncRowExpand(row));
|
|
6214
6282
|
} else {
|
|
6215
|
-
|
|
6283
|
+
rowExpandedMaps[rowid] = row;
|
|
6216
6284
|
}
|
|
6217
6285
|
}
|
|
6218
6286
|
});
|
|
6219
6287
|
} else {
|
|
6220
6288
|
validRows.forEach(item => {
|
|
6221
|
-
const rowid = (
|
|
6222
|
-
if (
|
|
6223
|
-
delete
|
|
6289
|
+
const rowid = handleGetRowId(item);
|
|
6290
|
+
if (rowExpandedMaps[rowid]) {
|
|
6291
|
+
delete rowExpandedMaps[rowid];
|
|
6224
6292
|
}
|
|
6225
6293
|
});
|
|
6226
6294
|
}
|
|
@@ -6228,7 +6296,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6228
6296
|
validRows.forEach(row => handleRowExpandReserve(row, expanded));
|
|
6229
6297
|
}
|
|
6230
6298
|
}
|
|
6231
|
-
reactData.
|
|
6299
|
+
reactData.rowExpandedFlag++;
|
|
6232
6300
|
return Promise.all(lazyRests).then(() => (0, _vue.nextTick)()).then(() => $xeTable.recalculate(true)).then(() => {
|
|
6233
6301
|
updateRowOffsetTop();
|
|
6234
6302
|
updateRowExpandStyle();
|
|
@@ -6242,10 +6310,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6242
6310
|
*/
|
|
6243
6311
|
isRowExpandByRow(row) {
|
|
6244
6312
|
const {
|
|
6245
|
-
|
|
6313
|
+
rowExpandedFlag
|
|
6246
6314
|
} = reactData;
|
|
6315
|
+
const {
|
|
6316
|
+
rowExpandedMaps
|
|
6317
|
+
} = internalData;
|
|
6247
6318
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6248
|
-
return !!rowExpandedMaps[rowid];
|
|
6319
|
+
return !!rowExpandedFlag && !!rowExpandedMaps[rowid];
|
|
6249
6320
|
},
|
|
6250
6321
|
isExpandByRow(row) {
|
|
6251
6322
|
// 已废弃
|
|
@@ -6266,7 +6337,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6266
6337
|
reserve
|
|
6267
6338
|
} = expandOpts;
|
|
6268
6339
|
const expList = $xeTable.getRowExpandRecords();
|
|
6269
|
-
|
|
6340
|
+
internalData.rowExpandedMaps = {};
|
|
6341
|
+
reactData.rowExpandedFlag++;
|
|
6270
6342
|
if (reserve) {
|
|
6271
6343
|
tableFullData.forEach(row => handleRowExpandReserve(row, false));
|
|
6272
6344
|
}
|
|
@@ -6287,7 +6359,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6287
6359
|
},
|
|
6288
6360
|
getRowExpandRecords() {
|
|
6289
6361
|
const rest = [];
|
|
6290
|
-
_xeUtils.default.each(
|
|
6362
|
+
_xeUtils.default.each(internalData.rowExpandedMaps, item => {
|
|
6291
6363
|
if (item) {
|
|
6292
6364
|
rest.push(item);
|
|
6293
6365
|
}
|
|
@@ -6296,7 +6368,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6296
6368
|
},
|
|
6297
6369
|
getTreeExpandRecords() {
|
|
6298
6370
|
const rest = [];
|
|
6299
|
-
_xeUtils.default.each(
|
|
6371
|
+
_xeUtils.default.each(internalData.treeExpandedMaps, item => {
|
|
6300
6372
|
if (item) {
|
|
6301
6373
|
rest.push(item);
|
|
6302
6374
|
}
|
|
@@ -6316,15 +6388,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6316
6388
|
},
|
|
6317
6389
|
clearTreeExpandLoaded(rows) {
|
|
6318
6390
|
const {
|
|
6319
|
-
fullAllDataRowIdData
|
|
6391
|
+
fullAllDataRowIdData,
|
|
6392
|
+
treeExpandedMaps
|
|
6320
6393
|
} = internalData;
|
|
6321
6394
|
const treeOpts = computeTreeOpts.value;
|
|
6322
6395
|
const {
|
|
6323
6396
|
transform
|
|
6324
6397
|
} = treeOpts;
|
|
6325
|
-
let tExpandedMaps = {};
|
|
6326
6398
|
if (rows) {
|
|
6327
|
-
tExpandedMaps = Object.assign({}, reactData.treeExpandedMaps);
|
|
6328
6399
|
if (!_xeUtils.default.isArray(rows)) {
|
|
6329
6400
|
rows = [rows];
|
|
6330
6401
|
}
|
|
@@ -6333,8 +6404,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6333
6404
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6334
6405
|
if (rowRest) {
|
|
6335
6406
|
rowRest.treeLoaded = false;
|
|
6336
|
-
if (
|
|
6337
|
-
delete
|
|
6407
|
+
if (treeExpandedMaps[rowid]) {
|
|
6408
|
+
delete treeExpandedMaps[rowid];
|
|
6338
6409
|
}
|
|
6339
6410
|
}
|
|
6340
6411
|
});
|
|
@@ -6343,7 +6414,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6343
6414
|
rowRest.treeLoaded = false;
|
|
6344
6415
|
});
|
|
6345
6416
|
}
|
|
6346
|
-
|
|
6417
|
+
internalData.treeExpandedMaps = {};
|
|
6418
|
+
reactData.treeExpandedFlag++;
|
|
6347
6419
|
if (transform) {
|
|
6348
6420
|
handleVirtualTreeToList();
|
|
6349
6421
|
return $xeTable.handleTableData();
|
|
@@ -6357,7 +6429,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6357
6429
|
reloadTreeExpand(row) {
|
|
6358
6430
|
const {
|
|
6359
6431
|
treeExpandLazyLoadedMaps
|
|
6360
|
-
} =
|
|
6432
|
+
} = internalData;
|
|
6361
6433
|
const treeOpts = computeTreeOpts.value;
|
|
6362
6434
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
6363
6435
|
const {
|
|
@@ -6455,9 +6527,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6455
6527
|
*/
|
|
6456
6528
|
isTreeExpandByRow(row) {
|
|
6457
6529
|
const {
|
|
6458
|
-
|
|
6530
|
+
treeExpandedFlag
|
|
6459
6531
|
} = reactData;
|
|
6460
|
-
|
|
6532
|
+
const {
|
|
6533
|
+
treeExpandedMaps
|
|
6534
|
+
} = internalData;
|
|
6535
|
+
return !!treeExpandedFlag && !!treeExpandedMaps[(0, _util.getRowid)($xeTable, row)];
|
|
6461
6536
|
},
|
|
6462
6537
|
/**
|
|
6463
6538
|
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
@@ -6472,21 +6547,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6472
6547
|
transform,
|
|
6473
6548
|
reserve
|
|
6474
6549
|
} = treeOpts;
|
|
6475
|
-
const expList =
|
|
6476
|
-
|
|
6550
|
+
const expList = $xeTable.getTreeExpandRecords();
|
|
6551
|
+
internalData.treeExpandedMaps = {};
|
|
6552
|
+
reactData.treeExpandedFlag++;
|
|
6477
6553
|
if (reserve) {
|
|
6478
6554
|
_xeUtils.default.eachTree(tableFullTreeData, row => handleTreeExpandReserve(row, false), {
|
|
6479
6555
|
children: childrenField
|
|
6480
6556
|
});
|
|
6481
6557
|
}
|
|
6482
|
-
return
|
|
6558
|
+
return $xeTable.handleTableData().then(() => {
|
|
6483
6559
|
if (transform) {
|
|
6484
6560
|
handleVirtualTreeToList();
|
|
6485
|
-
return
|
|
6561
|
+
return $xeTable.handleTableData();
|
|
6486
6562
|
}
|
|
6487
6563
|
}).then(() => {
|
|
6488
6564
|
if (expList.length) {
|
|
6489
|
-
return
|
|
6565
|
+
return $xeTable.recalculate();
|
|
6490
6566
|
}
|
|
6491
6567
|
});
|
|
6492
6568
|
},
|
|
@@ -7905,13 +7981,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7905
7981
|
const {
|
|
7906
7982
|
treeConfig
|
|
7907
7983
|
} = props;
|
|
7908
|
-
const {
|
|
7909
|
-
treeExpandedMaps
|
|
7910
|
-
} = reactData;
|
|
7911
7984
|
const {
|
|
7912
7985
|
fullAllDataRowIdData,
|
|
7913
7986
|
tableFullData,
|
|
7914
|
-
tableFullTreeData
|
|
7987
|
+
tableFullTreeData,
|
|
7988
|
+
treeExpandedMaps
|
|
7915
7989
|
} = internalData;
|
|
7916
7990
|
const treeOpts = computeTreeOpts.value;
|
|
7917
7991
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -7921,7 +7995,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7921
7995
|
} = treeOpts;
|
|
7922
7996
|
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7923
7997
|
const fullDataRowIdMaps = {};
|
|
7924
|
-
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
7925
7998
|
const {
|
|
7926
7999
|
handleUpdateRowId
|
|
7927
8000
|
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
@@ -7962,13 +8035,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7962
8035
|
_xeUtils.default.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
7963
8036
|
const rowid = handleUpdateRowId(row);
|
|
7964
8037
|
if (treeConfig && lazy) {
|
|
7965
|
-
const treeExpRest = treeTempExpandedMaps[rowid];
|
|
7966
8038
|
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
7967
8039
|
row[childrenField] = null;
|
|
7968
8040
|
}
|
|
7969
|
-
if (
|
|
8041
|
+
if (treeExpandedMaps[rowid]) {
|
|
7970
8042
|
if (!row[childrenField] || !row[childrenField].length) {
|
|
7971
|
-
delete
|
|
8043
|
+
delete treeExpandedMaps[rowid];
|
|
7972
8044
|
}
|
|
7973
8045
|
}
|
|
7974
8046
|
}
|
|
@@ -7983,7 +8055,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7983
8055
|
}
|
|
7984
8056
|
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7985
8057
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7986
|
-
reactData.
|
|
8058
|
+
reactData.treeExpandedFlag++;
|
|
7987
8059
|
},
|
|
7988
8060
|
cacheSourceMap(fullData) {
|
|
7989
8061
|
const {
|
|
@@ -8549,10 +8621,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8549
8621
|
} = props;
|
|
8550
8622
|
const {
|
|
8551
8623
|
selectCheckboxMaps,
|
|
8552
|
-
|
|
8553
|
-
} =
|
|
8554
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8555
|
-
const halfRowMaps = Object.assign({}, treeIndeterminateMaps);
|
|
8624
|
+
treeIndeterminateRowMaps
|
|
8625
|
+
} = internalData;
|
|
8556
8626
|
const treeOpts = computeTreeOpts.value;
|
|
8557
8627
|
const {
|
|
8558
8628
|
transform,
|
|
@@ -8597,29 +8667,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8597
8667
|
let vLen = 0; // 有效行
|
|
8598
8668
|
childList.forEach(checkMethod ? item => {
|
|
8599
8669
|
const childRowid = handleGetRowId(item);
|
|
8600
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8670
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8601
8671
|
if (checkMethod({
|
|
8602
8672
|
row: item
|
|
8603
8673
|
})) {
|
|
8604
8674
|
if (isSelect) {
|
|
8605
8675
|
sLen++;
|
|
8606
|
-
} else if (
|
|
8676
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8607
8677
|
hLen++;
|
|
8608
8678
|
}
|
|
8609
8679
|
vLen++;
|
|
8610
8680
|
} else {
|
|
8611
8681
|
if (isSelect) {
|
|
8612
8682
|
sLen++;
|
|
8613
|
-
} else if (
|
|
8683
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8614
8684
|
hLen++;
|
|
8615
8685
|
}
|
|
8616
8686
|
}
|
|
8617
8687
|
} : item => {
|
|
8618
8688
|
const childRowid = handleGetRowId(item);
|
|
8619
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8689
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8620
8690
|
if (isSelect) {
|
|
8621
8691
|
sLen++;
|
|
8622
|
-
} else if (
|
|
8692
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8623
8693
|
hLen++;
|
|
8624
8694
|
}
|
|
8625
8695
|
vLen++;
|
|
@@ -8631,49 +8701,46 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8631
8701
|
}
|
|
8632
8702
|
if (isSelected) {
|
|
8633
8703
|
if (!checkField) {
|
|
8634
|
-
|
|
8704
|
+
selectCheckboxMaps[rowid] = row;
|
|
8635
8705
|
}
|
|
8636
|
-
if (
|
|
8637
|
-
delete
|
|
8706
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8707
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8638
8708
|
}
|
|
8639
8709
|
} else {
|
|
8640
8710
|
if (!checkField) {
|
|
8641
|
-
if (
|
|
8642
|
-
delete
|
|
8711
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8712
|
+
delete selectCheckboxMaps[rowid];
|
|
8643
8713
|
}
|
|
8644
8714
|
}
|
|
8645
8715
|
if (halfSelect) {
|
|
8646
|
-
|
|
8716
|
+
treeIndeterminateRowMaps[rowid] = row;
|
|
8647
8717
|
} else {
|
|
8648
|
-
if (
|
|
8649
|
-
delete
|
|
8718
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8719
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8650
8720
|
}
|
|
8651
8721
|
}
|
|
8652
8722
|
}
|
|
8653
8723
|
});
|
|
8654
8724
|
}
|
|
8655
|
-
reactData.
|
|
8656
|
-
reactData.treeIndeterminateMaps = halfRowMaps;
|
|
8725
|
+
reactData.updateCheckboxFlag++;
|
|
8657
8726
|
},
|
|
8658
8727
|
updateAllCheckboxStatus() {
|
|
8659
8728
|
const {
|
|
8660
8729
|
treeConfig
|
|
8661
8730
|
} = props;
|
|
8662
8731
|
const {
|
|
8732
|
+
afterFullData,
|
|
8733
|
+
afterTreeFullData,
|
|
8734
|
+
checkboxReserveRowMap,
|
|
8663
8735
|
selectCheckboxMaps,
|
|
8664
|
-
|
|
8665
|
-
} =
|
|
8736
|
+
treeIndeterminateRowMaps
|
|
8737
|
+
} = internalData;
|
|
8666
8738
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8667
8739
|
const {
|
|
8668
8740
|
checkField,
|
|
8669
8741
|
checkMethod,
|
|
8670
8742
|
showReserveStatus
|
|
8671
8743
|
} = checkboxOpts;
|
|
8672
|
-
const {
|
|
8673
|
-
afterFullData,
|
|
8674
|
-
afterTreeFullData,
|
|
8675
|
-
checkboxReserveRowMap
|
|
8676
|
-
} = internalData;
|
|
8677
8744
|
const {
|
|
8678
8745
|
handleGetRowId
|
|
8679
8746
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
@@ -8689,14 +8756,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8689
8756
|
})) {
|
|
8690
8757
|
if (selected) {
|
|
8691
8758
|
sLen++;
|
|
8692
|
-
} else if (
|
|
8759
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8693
8760
|
hLen++;
|
|
8694
8761
|
}
|
|
8695
8762
|
vLen++;
|
|
8696
8763
|
} else {
|
|
8697
8764
|
if (selected) {
|
|
8698
8765
|
sLen++;
|
|
8699
|
-
} else if (
|
|
8766
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8700
8767
|
hLen++;
|
|
8701
8768
|
}
|
|
8702
8769
|
}
|
|
@@ -8705,7 +8772,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8705
8772
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8706
8773
|
if (selected) {
|
|
8707
8774
|
sLen++;
|
|
8708
|
-
} else if (
|
|
8775
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8709
8776
|
hLen++;
|
|
8710
8777
|
}
|
|
8711
8778
|
vLen++;
|
|
@@ -8733,8 +8800,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8733
8800
|
} = props;
|
|
8734
8801
|
const {
|
|
8735
8802
|
selectCheckboxMaps
|
|
8736
|
-
} =
|
|
8737
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8803
|
+
} = internalData;
|
|
8738
8804
|
const treeOpts = computeTreeOpts.value;
|
|
8739
8805
|
const {
|
|
8740
8806
|
transform,
|
|
@@ -8769,20 +8835,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8769
8835
|
}, {
|
|
8770
8836
|
children: transform ? mapChildrenField : childrenField
|
|
8771
8837
|
});
|
|
8772
|
-
reactData.
|
|
8838
|
+
reactData.updateCheckboxFlag++;
|
|
8773
8839
|
return;
|
|
8774
|
-
} else {
|
|
8775
|
-
// 列表
|
|
8776
|
-
rows.forEach(row => {
|
|
8777
|
-
if (isForce || !checkMethod || checkMethod({
|
|
8778
|
-
row
|
|
8779
|
-
})) {
|
|
8780
|
-
_xeUtils.default.set(row, checkField, checked);
|
|
8781
|
-
handleCheckboxReserveRow(row, checked);
|
|
8782
|
-
}
|
|
8783
|
-
});
|
|
8784
8840
|
}
|
|
8785
|
-
|
|
8841
|
+
// 列表
|
|
8842
|
+
rows.forEach(row => {
|
|
8843
|
+
if (isForce || !checkMethod || checkMethod({
|
|
8844
|
+
row
|
|
8845
|
+
})) {
|
|
8846
|
+
_xeUtils.default.set(row, checkField, checked);
|
|
8847
|
+
handleCheckboxReserveRow(row, checked);
|
|
8848
|
+
}
|
|
8849
|
+
});
|
|
8850
|
+
reactData.updateCheckboxFlag++;
|
|
8786
8851
|
return;
|
|
8787
8852
|
}
|
|
8788
8853
|
// 树结构
|
|
@@ -8794,10 +8859,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8794
8859
|
row
|
|
8795
8860
|
})) {
|
|
8796
8861
|
if (checked) {
|
|
8797
|
-
|
|
8862
|
+
selectCheckboxMaps[rowid] = row;
|
|
8798
8863
|
} else {
|
|
8799
|
-
if (
|
|
8800
|
-
delete
|
|
8864
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8865
|
+
delete selectCheckboxMaps[rowid];
|
|
8801
8866
|
}
|
|
8802
8867
|
}
|
|
8803
8868
|
handleCheckboxReserveRow(row, checked);
|
|
@@ -8805,7 +8870,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8805
8870
|
}, {
|
|
8806
8871
|
children: transform ? mapChildrenField : childrenField
|
|
8807
8872
|
});
|
|
8808
|
-
reactData.
|
|
8873
|
+
reactData.updateCheckboxFlag++;
|
|
8809
8874
|
return;
|
|
8810
8875
|
}
|
|
8811
8876
|
// 列表
|
|
@@ -8815,18 +8880,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8815
8880
|
row
|
|
8816
8881
|
})) {
|
|
8817
8882
|
if (checked) {
|
|
8818
|
-
if (!
|
|
8819
|
-
|
|
8883
|
+
if (!selectCheckboxMaps[rowid]) {
|
|
8884
|
+
selectCheckboxMaps[rowid] = row;
|
|
8820
8885
|
}
|
|
8821
8886
|
} else {
|
|
8822
|
-
if (
|
|
8823
|
-
delete
|
|
8887
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8888
|
+
delete selectCheckboxMaps[rowid];
|
|
8824
8889
|
}
|
|
8825
8890
|
}
|
|
8826
8891
|
handleCheckboxReserveRow(row, checked);
|
|
8892
|
+
reactData.updateCheckboxFlag++;
|
|
8827
8893
|
}
|
|
8828
8894
|
});
|
|
8829
|
-
reactData.selectCheckboxMaps = selectRowMaps;
|
|
8830
8895
|
},
|
|
8831
8896
|
/**
|
|
8832
8897
|
* 即将移除
|
|
@@ -9155,7 +9220,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9155
9220
|
handleToggleCheckRowEvent(evnt, params) {
|
|
9156
9221
|
const {
|
|
9157
9222
|
selectCheckboxMaps
|
|
9158
|
-
} =
|
|
9223
|
+
} = internalData;
|
|
9159
9224
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
9160
9225
|
const {
|
|
9161
9226
|
checkField,
|
|
@@ -9174,10 +9239,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9174
9239
|
checked = !selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
9175
9240
|
}
|
|
9176
9241
|
if (evnt) {
|
|
9177
|
-
|
|
9242
|
+
$xeTable.triggerCheckRowEvent(evnt, params, checked);
|
|
9178
9243
|
} else {
|
|
9179
|
-
|
|
9180
|
-
|
|
9244
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9245
|
+
$xeTable.checkSelectionStatus();
|
|
9181
9246
|
}
|
|
9182
9247
|
},
|
|
9183
9248
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
@@ -9323,9 +9388,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9323
9388
|
*/
|
|
9324
9389
|
triggerRowExpandEvent(evnt, params) {
|
|
9325
9390
|
const {
|
|
9326
|
-
rowExpandLazyLoadedMaps,
|
|
9327
9391
|
expandColumn: column
|
|
9328
9392
|
} = reactData;
|
|
9393
|
+
const {
|
|
9394
|
+
rowExpandLazyLoadedMaps
|
|
9395
|
+
} = internalData;
|
|
9329
9396
|
const expandOpts = computeExpandOpts.value;
|
|
9330
9397
|
const {
|
|
9331
9398
|
row
|
|
@@ -9340,18 +9407,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9340
9407
|
evnt.stopPropagation();
|
|
9341
9408
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9342
9409
|
if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
|
|
9343
|
-
const expanded =
|
|
9344
|
-
const columnIndex =
|
|
9345
|
-
const $columnIndex =
|
|
9346
|
-
|
|
9410
|
+
const expanded = !$xeTable.isRowExpandByRow(row);
|
|
9411
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9412
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9413
|
+
$xeTable.setRowExpand(row, expanded);
|
|
9347
9414
|
dispatchEvent('toggle-row-expand', {
|
|
9348
9415
|
expanded,
|
|
9349
9416
|
column,
|
|
9350
9417
|
columnIndex,
|
|
9351
9418
|
$columnIndex,
|
|
9352
9419
|
row,
|
|
9353
|
-
rowIndex:
|
|
9354
|
-
$rowIndex:
|
|
9420
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
9421
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
9355
9422
|
}, evnt);
|
|
9356
9423
|
}
|
|
9357
9424
|
},
|
|
@@ -9361,7 +9428,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9361
9428
|
triggerTreeExpandEvent(evnt, params) {
|
|
9362
9429
|
const {
|
|
9363
9430
|
treeExpandLazyLoadedMaps
|
|
9364
|
-
} =
|
|
9431
|
+
} = internalData;
|
|
9365
9432
|
const treeOpts = computeTreeOpts.value;
|
|
9366
9433
|
const {
|
|
9367
9434
|
row,
|
|
@@ -9377,10 +9444,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9377
9444
|
evnt.stopPropagation();
|
|
9378
9445
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9379
9446
|
if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
|
|
9380
|
-
const expanded =
|
|
9381
|
-
const columnIndex =
|
|
9382
|
-
const $columnIndex =
|
|
9383
|
-
|
|
9447
|
+
const expanded = !$xeTable.isTreeExpandByRow(row);
|
|
9448
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9449
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9450
|
+
$xeTable.setTreeExpand(row, expanded);
|
|
9384
9451
|
dispatchEvent('toggle-tree-expand', {
|
|
9385
9452
|
expanded,
|
|
9386
9453
|
column,
|
|
@@ -9590,6 +9657,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9590
9657
|
} = props;
|
|
9591
9658
|
const rowDragOpts = computeRowDragOpts.value;
|
|
9592
9659
|
const {
|
|
9660
|
+
afterFullData,
|
|
9661
|
+
tableFullData,
|
|
9593
9662
|
fullAllDataRowIdData
|
|
9594
9663
|
} = internalData;
|
|
9595
9664
|
const {
|
|
@@ -9607,10 +9676,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9607
9676
|
parentField
|
|
9608
9677
|
} = treeOpts;
|
|
9609
9678
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9610
|
-
const {
|
|
9611
|
-
afterFullData,
|
|
9612
|
-
tableFullData
|
|
9613
|
-
} = internalData;
|
|
9614
9679
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
9615
9680
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
9616
9681
|
const errRest = {
|
|
@@ -10862,15 +10927,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10862
10927
|
const {
|
|
10863
10928
|
isAllOverflow,
|
|
10864
10929
|
scrollYLoad,
|
|
10865
|
-
expandColumn
|
|
10866
|
-
rowExpandedMaps
|
|
10930
|
+
expandColumn
|
|
10867
10931
|
} = reactData;
|
|
10868
10932
|
const {
|
|
10869
10933
|
scrollYStore,
|
|
10870
10934
|
elemStore,
|
|
10871
10935
|
isResizeCellHeight,
|
|
10872
10936
|
afterFullData,
|
|
10873
|
-
fullAllDataRowIdData
|
|
10937
|
+
fullAllDataRowIdData,
|
|
10938
|
+
rowExpandedMaps
|
|
10874
10939
|
} = internalData;
|
|
10875
10940
|
const {
|
|
10876
10941
|
startIndex
|
|
@@ -11222,6 +11287,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11222
11287
|
ref: refRowExpandYSpaceElem
|
|
11223
11288
|
})];
|
|
11224
11289
|
if (expandColumn) {
|
|
11290
|
+
const {
|
|
11291
|
+
handleGetRowId
|
|
11292
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
11225
11293
|
tableRowExpandedList.forEach(row => {
|
|
11226
11294
|
const expandOpts = computeExpandOpts.value;
|
|
11227
11295
|
const {
|
|
@@ -11237,7 +11305,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11237
11305
|
seqMode
|
|
11238
11306
|
} = treeOpts;
|
|
11239
11307
|
const cellStyle = {};
|
|
11240
|
-
const rowid = (
|
|
11308
|
+
const rowid = handleGetRowId(row);
|
|
11241
11309
|
const rest = fullAllDataRowIdData[rowid];
|
|
11242
11310
|
let rowLevel = 0;
|
|
11243
11311
|
let seq = -1;
|