vxe-table 4.12.0-beta.8 → 4.12.0
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 +58 -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/custom/hook.js +1 -1
- package/es/table/module/custom/panel.js +4 -2
- package/es/table/module/edit/hook.js +11 -12
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/import-panel.js +3 -2
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +105 -30
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +4 -3
- package/es/table/render/index.js +3 -3
- package/es/table/src/body.js +40 -21
- package/es/table/src/cell.js +43 -24
- package/es/table/src/columnInfo.js +2 -2
- package/es/table/src/footer.js +12 -7
- package/es/table/src/header.js +12 -7
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +444 -423
- package/es/table/src/util.js +34 -6
- package/es/ui/index.js +2 -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 +55 -48
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +515 -302
- 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/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +13 -13
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -2
- package/lib/table/module/export/import-panel.min.js +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 +113 -31
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +5 -4
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +4 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +48 -20
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +49 -25
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +12 -5
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -5
- 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 +534 -459
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +36 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -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 +62 -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/custom/hook.ts +1 -1
- package/packages/table/module/custom/panel.ts +6 -2
- package/packages/table/module/edit/hook.ts +12 -12
- package/packages/table/module/export/export-panel.ts +4 -2
- package/packages/table/module/export/import-panel.ts +4 -2
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +106 -32
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +5 -3
- package/packages/table/render/index.ts +3 -4
- package/packages/table/src/body.ts +41 -21
- package/packages/table/src/cell.ts +43 -24
- package/packages/table/src/columnInfo.ts +3 -2
- package/packages/table/src/footer.ts +13 -7
- package/packages/table/src/header.ts +13 -7
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +451 -421
- package/packages/table/src/util.ts +39 -6
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1741333670965.ttf → iconfont.1742955995631.ttf} +0 -0
- /package/es/{iconfont.1741333670965.woff → iconfont.1742955995631.woff} +0 -0
- /package/es/{iconfont.1741333670965.woff2 → iconfont.1742955995631.woff2} +0 -0
- /package/lib/{iconfont.1741333670965.ttf → iconfont.1742955995631.ttf} +0 -0
- /package/lib/{iconfont.1741333670965.woff → iconfont.1742955995631.woff} +0 -0
- /package/lib/{iconfont.1741333670965.woff2 → iconfont.1742955995631.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;
|
|
@@ -93,8 +94,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
93
94
|
isAllSelected: false,
|
|
94
95
|
// 复选框属性,有选中且非全选状态
|
|
95
96
|
isIndeterminate: false,
|
|
96
|
-
// 复选框属性,已选中的行集合
|
|
97
|
-
selectCheckboxMaps: {},
|
|
98
97
|
// 当前行
|
|
99
98
|
currentRow: null,
|
|
100
99
|
// 单选框属性,选中列
|
|
@@ -108,16 +107,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
108
107
|
// 树节点列信息
|
|
109
108
|
treeNodeColumn: null,
|
|
110
109
|
hasFixedColumn: false,
|
|
111
|
-
// 已展开的行集合
|
|
112
|
-
rowExpandedMaps: {},
|
|
113
|
-
// 懒加载中的展开行的集合
|
|
114
|
-
rowExpandLazyLoadedMaps: {},
|
|
115
|
-
// 已展开树节点集合
|
|
116
|
-
treeExpandedMaps: {},
|
|
117
|
-
// 懒加载中的树节点的集合
|
|
118
|
-
treeExpandLazyLoadedMaps: {},
|
|
119
|
-
// 树节点不确定状态的集合
|
|
120
|
-
treeIndeterminateMaps: {},
|
|
121
110
|
// 合并单元格的对象集
|
|
122
111
|
mergeList: [],
|
|
123
112
|
// 合并表尾数据的对象集
|
|
@@ -126,8 +115,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
126
115
|
upDataFlag: 0,
|
|
127
116
|
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
128
117
|
reColumnFlag: 0,
|
|
129
|
-
// 已标记的对象集
|
|
130
|
-
pendingRowMaps: {},
|
|
131
118
|
// 初始化标识
|
|
132
119
|
initStore: {
|
|
133
120
|
filter: false,
|
|
@@ -271,6 +258,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
271
258
|
isHeader: false,
|
|
272
259
|
isFooter: false
|
|
273
260
|
},
|
|
261
|
+
rowExpandedFlag: 1,
|
|
262
|
+
treeExpandedFlag: 1,
|
|
263
|
+
updateCheckboxFlag: 1,
|
|
264
|
+
pendingRowFlag: 1,
|
|
274
265
|
rowHeightStore: {
|
|
275
266
|
default: 48,
|
|
276
267
|
medium: 44,
|
|
@@ -287,6 +278,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
287
278
|
rowExpandHeightFlag: 1,
|
|
288
279
|
calcCellHeightFlag: 1,
|
|
289
280
|
resizeHeightFlag: 1,
|
|
281
|
+
resizeWidthFlag: 1,
|
|
290
282
|
isCustomStatus: false,
|
|
291
283
|
isDragRowMove: false,
|
|
292
284
|
dragRow: null,
|
|
@@ -370,6 +362,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
370
362
|
fullColumnIdData: {},
|
|
371
363
|
fullColumnFieldData: {},
|
|
372
364
|
// prevDragRow: null,
|
|
365
|
+
// 已展开的行集合
|
|
366
|
+
rowExpandedMaps: {},
|
|
367
|
+
// 懒加载中的展开行的集合
|
|
368
|
+
rowExpandLazyLoadedMaps: {},
|
|
369
|
+
// 已展开树节点集合
|
|
370
|
+
treeExpandedMaps: {},
|
|
371
|
+
// 懒加载中的树节点的集合
|
|
372
|
+
treeExpandLazyLoadedMaps: {},
|
|
373
|
+
// 复选框属性,已选中的行集合
|
|
374
|
+
selectCheckboxMaps: {},
|
|
375
|
+
// 已标记的对象集
|
|
376
|
+
pendingRowMaps: {},
|
|
373
377
|
inited: false,
|
|
374
378
|
tooltipTimeout: null,
|
|
375
379
|
initStatus: false,
|
|
@@ -499,18 +503,36 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
499
503
|
const computeColumnOpts = (0, _vue.computed)(() => {
|
|
500
504
|
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig);
|
|
501
505
|
});
|
|
506
|
+
const computeCurrentColumnOpts = (0, _vue.computed)(() => {
|
|
507
|
+
return Object.assign({}, getConfig().table.currentColumnConfig, props.currentColumnConfig);
|
|
508
|
+
});
|
|
502
509
|
const computeCellOpts = (0, _vue.computed)(() => {
|
|
503
|
-
|
|
510
|
+
const cellOpts = Object.assign({}, getConfig().table.cellConfig, props.cellConfig);
|
|
511
|
+
if (cellOpts.height) {
|
|
512
|
+
cellOpts.height = _xeUtils.default.toNumber(cellOpts.height);
|
|
513
|
+
}
|
|
514
|
+
return cellOpts;
|
|
504
515
|
});
|
|
505
516
|
const computeHeaderCellOpts = (0, _vue.computed)(() => {
|
|
506
|
-
|
|
517
|
+
const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
518
|
+
if (headerCellOpts.height) {
|
|
519
|
+
headerCellOpts.height = _xeUtils.default.toNumber(headerCellOpts.height);
|
|
520
|
+
}
|
|
521
|
+
return headerCellOpts;
|
|
507
522
|
});
|
|
508
523
|
const computeFooterCellOpts = (0, _vue.computed)(() => {
|
|
509
|
-
|
|
524
|
+
const footerCellOpts = Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
525
|
+
if (footerCellOpts.height) {
|
|
526
|
+
footerCellOpts.height = _xeUtils.default.toNumber(footerCellOpts.height);
|
|
527
|
+
}
|
|
528
|
+
return footerCellOpts;
|
|
510
529
|
});
|
|
511
530
|
const computeRowOpts = (0, _vue.computed)(() => {
|
|
512
531
|
return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
|
|
513
532
|
});
|
|
533
|
+
const computeCurrentRowOpts = (0, _vue.computed)(() => {
|
|
534
|
+
return Object.assign({}, getConfig().table.currentRowConfig, props.currentRowConfig);
|
|
535
|
+
});
|
|
514
536
|
const computeRowDragOpts = (0, _vue.computed)(() => {
|
|
515
537
|
return Object.assign({}, getConfig().table.rowDragConfig, props.rowDragConfig);
|
|
516
538
|
});
|
|
@@ -668,15 +690,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
668
690
|
});
|
|
669
691
|
const computeTableRowExpandedList = (0, _vue.computed)(() => {
|
|
670
692
|
const {
|
|
671
|
-
|
|
693
|
+
rowExpandedFlag,
|
|
672
694
|
tableData,
|
|
673
695
|
expandColumn
|
|
674
696
|
} = reactData;
|
|
697
|
+
const {
|
|
698
|
+
rowExpandedMaps
|
|
699
|
+
} = internalData;
|
|
700
|
+
const {
|
|
701
|
+
handleGetRowId
|
|
702
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
675
703
|
const expandList = [];
|
|
676
|
-
if (expandColumn) {
|
|
704
|
+
if (expandColumn && rowExpandedFlag) {
|
|
677
705
|
const rowKeys = {};
|
|
678
706
|
tableData.forEach(row => {
|
|
679
|
-
rowKeys[(
|
|
707
|
+
rowKeys[handleGetRowId(row)] = true;
|
|
680
708
|
});
|
|
681
709
|
_xeUtils.default.each(rowExpandedMaps, (row, rowid) => {
|
|
682
710
|
if (rowKeys[rowid]) {
|
|
@@ -817,13 +845,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
817
845
|
computeScrollbarXToTop,
|
|
818
846
|
computeScrollbarYToLeft,
|
|
819
847
|
computeColumnOpts,
|
|
848
|
+
computeCurrentColumnOpts,
|
|
820
849
|
computeScrollXThreshold,
|
|
821
850
|
computeScrollYThreshold,
|
|
851
|
+
computeRowHeightMaps,
|
|
822
852
|
computeDefaultRowHeight,
|
|
823
853
|
computeCellOpts,
|
|
824
854
|
computeHeaderCellOpts,
|
|
825
855
|
computeFooterCellOpts,
|
|
826
856
|
computeRowOpts,
|
|
857
|
+
computeCurrentRowOpts,
|
|
827
858
|
computeRowDragOpts,
|
|
828
859
|
computeColumnDragOpts,
|
|
829
860
|
computeResizeOpts,
|
|
@@ -871,6 +902,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
871
902
|
internalData,
|
|
872
903
|
getRefMaps: () => refMaps,
|
|
873
904
|
getComputeMaps: () => computeMaps,
|
|
905
|
+
xeGrid: $xeGrid,
|
|
874
906
|
xegrid: $xeGrid
|
|
875
907
|
};
|
|
876
908
|
const eqCellValue = (row1, row2, field) => {
|
|
@@ -1057,12 +1089,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1057
1089
|
toVisibleIndex = Math.floor(startTop / defaultRowHeight) - 1;
|
|
1058
1090
|
visibleSize = Math.ceil(clientHeight / defaultRowHeight) + 1;
|
|
1059
1091
|
} else {
|
|
1092
|
+
const {
|
|
1093
|
+
handleGetRowId
|
|
1094
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1060
1095
|
let leftIndex = 0;
|
|
1061
1096
|
let rightIndex = afterFullData.length;
|
|
1062
1097
|
while (leftIndex < rightIndex) {
|
|
1063
1098
|
const rIndex = Math.floor((leftIndex + rightIndex) / 2);
|
|
1064
1099
|
const row = afterFullData[rIndex];
|
|
1065
|
-
const rowid = (
|
|
1100
|
+
const rowid = handleGetRowId(row);
|
|
1066
1101
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1067
1102
|
if (rowRest.oTop <= startTop) {
|
|
1068
1103
|
leftIndex = rIndex + 1;
|
|
@@ -1073,7 +1108,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1073
1108
|
toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
1074
1109
|
for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
1075
1110
|
const row = afterFullData[rIndex];
|
|
1076
|
-
const rowid = (
|
|
1111
|
+
const rowid = handleGetRowId(row);
|
|
1077
1112
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1078
1113
|
visibleSize++;
|
|
1079
1114
|
if (rowRest.oTop > endTop || visibleSize >= 100) {
|
|
@@ -1375,7 +1410,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1375
1410
|
fullColumnFieldData[field] = rest;
|
|
1376
1411
|
} else {
|
|
1377
1412
|
if (storage && !type || columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
|
|
1378
|
-
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field
|
|
1413
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field=?`]);
|
|
1379
1414
|
}
|
|
1380
1415
|
}
|
|
1381
1416
|
if (!hasFixed && fixed) {
|
|
@@ -1632,6 +1667,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1632
1667
|
internalData.headerHeight = headerHeight;
|
|
1633
1668
|
internalData.footerHeight = footerHeight;
|
|
1634
1669
|
reactData.overflowX = overflowX;
|
|
1670
|
+
reactData.resizeWidthFlag++;
|
|
1635
1671
|
updateColumnOffsetLeft();
|
|
1636
1672
|
updateHeight();
|
|
1637
1673
|
reactData.parentHeight = Math.max(internalData.headerHeight + footerHeight + 20, $xeTable.getParentHeight());
|
|
@@ -1664,9 +1700,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1664
1700
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
1665
1701
|
const el = refElem.value;
|
|
1666
1702
|
if (!isAllOverflow && scrollYLoad && el) {
|
|
1703
|
+
const {
|
|
1704
|
+
handleGetRowId
|
|
1705
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1667
1706
|
el.setAttribute('data-calc-row', 'Y');
|
|
1668
1707
|
tableData.forEach(row => {
|
|
1669
|
-
const rowid = (
|
|
1708
|
+
const rowid = handleGetRowId(row);
|
|
1670
1709
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1671
1710
|
if (rowRest) {
|
|
1672
1711
|
const reHeight = calcCellAutoHeight(rowRest, el);
|
|
@@ -1711,9 +1750,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1711
1750
|
fullDataRowIdData,
|
|
1712
1751
|
fullAllDataRowIdData
|
|
1713
1752
|
} = internalData;
|
|
1753
|
+
const {
|
|
1754
|
+
handleGetRowId
|
|
1755
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1714
1756
|
const fullMaps = {};
|
|
1715
1757
|
afterFullData.forEach((row, index) => {
|
|
1716
|
-
const rowid = (
|
|
1758
|
+
const rowid = handleGetRowId(row);
|
|
1717
1759
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1718
1760
|
const seq = index + 1;
|
|
1719
1761
|
if (rowRest) {
|
|
@@ -1765,8 +1807,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1765
1807
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1766
1808
|
const fullMaps = {};
|
|
1767
1809
|
if (treeConfig) {
|
|
1810
|
+
const {
|
|
1811
|
+
handleGetRowId
|
|
1812
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1768
1813
|
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
1769
|
-
const rowid = (
|
|
1814
|
+
const rowid = handleGetRowId(row);
|
|
1770
1815
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1771
1816
|
const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
1772
1817
|
if (rowRest) {
|
|
@@ -1811,19 +1856,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1811
1856
|
treeConfig
|
|
1812
1857
|
} = props;
|
|
1813
1858
|
const {
|
|
1859
|
+
fullAllDataRowIdData,
|
|
1814
1860
|
treeExpandedMaps
|
|
1815
|
-
} = reactData;
|
|
1816
|
-
const {
|
|
1817
|
-
fullAllDataRowIdData
|
|
1818
1861
|
} = internalData;
|
|
1819
1862
|
const treeOpts = computeTreeOpts.value;
|
|
1820
1863
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1821
1864
|
if (treeConfig && treeOpts.transform) {
|
|
1865
|
+
const {
|
|
1866
|
+
handleGetRowId
|
|
1867
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1822
1868
|
const fullData = [];
|
|
1823
1869
|
const expandMaps = {};
|
|
1824
1870
|
_xeUtils.default.eachTree(internalData.afterTreeFullData, (row, index, items, path, parentRow) => {
|
|
1825
|
-
const rowid = (
|
|
1826
|
-
const parentRowid = (
|
|
1871
|
+
const rowid = handleGetRowId(row);
|
|
1872
|
+
const parentRowid = handleGetRowId(parentRow);
|
|
1827
1873
|
if (!parentRow || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
|
|
1828
1874
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1829
1875
|
if (rowRest) {
|
|
@@ -1865,6 +1911,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1865
1911
|
mapChildrenField
|
|
1866
1912
|
} = treeOpts;
|
|
1867
1913
|
const {
|
|
1914
|
+
isEvery,
|
|
1868
1915
|
remote: allRemoteFilter,
|
|
1869
1916
|
filterMethod: allFilterMethod
|
|
1870
1917
|
} = filterOpts;
|
|
@@ -1977,7 +2024,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1977
2024
|
// 筛选虚拟树
|
|
1978
2025
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, {
|
|
1979
2026
|
original: true,
|
|
1980
|
-
isEvery
|
|
2027
|
+
isEvery,
|
|
1981
2028
|
children: mapChildrenField,
|
|
1982
2029
|
mapChildren: childrenField
|
|
1983
2030
|
});
|
|
@@ -1991,7 +2038,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1991
2038
|
// 还原虚拟树
|
|
1992
2039
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
|
|
1993
2040
|
original: true,
|
|
1994
|
-
isEvery
|
|
2041
|
+
isEvery,
|
|
1995
2042
|
children: mapChildrenField,
|
|
1996
2043
|
mapChildren: childrenField
|
|
1997
2044
|
});
|
|
@@ -2050,7 +2097,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2050
2097
|
// 还原虚拟树
|
|
2051
2098
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
|
|
2052
2099
|
original: true,
|
|
2053
|
-
isEvery
|
|
2100
|
+
isEvery,
|
|
2054
2101
|
children: treeOpts.mapChildrenField,
|
|
2055
2102
|
mapChildren: childrenField
|
|
2056
2103
|
});
|
|
@@ -2091,7 +2138,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2091
2138
|
} = reactData;
|
|
2092
2139
|
const {
|
|
2093
2140
|
visibleColumn,
|
|
2094
|
-
fullColumnIdData,
|
|
2095
2141
|
tableHeight,
|
|
2096
2142
|
headerHeight,
|
|
2097
2143
|
footerHeight,
|
|
@@ -2108,7 +2154,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2108
2154
|
const osbWidth = overflowY ? scrollbarWidth : 0;
|
|
2109
2155
|
const osbHeight = overflowX ? scrollbarHeight : 0;
|
|
2110
2156
|
const emptyPlaceholderElem = refEmptyPlaceholder.value;
|
|
2111
|
-
const cellOffsetWidth = computeCellOffsetWidth.value;
|
|
2112
2157
|
const mouseOpts = computeMouseOpts.value;
|
|
2113
2158
|
const expandOpts = computeExpandOpts.value;
|
|
2114
2159
|
const bodyWrapperElem = (0, _util.getRefElem)(elemStore['main-body-wrapper']);
|
|
@@ -2370,58 +2415,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2370
2415
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2371
2416
|
}
|
|
2372
2417
|
}
|
|
2373
|
-
const colgroupElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-colgroup`]);
|
|
2374
|
-
if (colgroupElem) {
|
|
2375
|
-
_xeUtils.default.arrayEach(colgroupElem.children, colElem => {
|
|
2376
|
-
const colid = colElem.getAttribute('name');
|
|
2377
|
-
if (fullColumnIdData[colid]) {
|
|
2378
|
-
const colRest = fullColumnIdData[colid];
|
|
2379
|
-
const column = colRest.column;
|
|
2380
|
-
const {
|
|
2381
|
-
showHeaderOverflow,
|
|
2382
|
-
showFooterOverflow,
|
|
2383
|
-
showOverflow
|
|
2384
|
-
} = column;
|
|
2385
|
-
let cellOverflow;
|
|
2386
|
-
colElem.style.width = `${column.renderWidth}px`;
|
|
2387
|
-
if (layout === 'header') {
|
|
2388
|
-
cellOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
2389
|
-
} else if (layout === 'footer') {
|
|
2390
|
-
cellOverflow = _xeUtils.default.isUndefined(showFooterOverflow) || _xeUtils.default.isNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
|
|
2391
|
-
} else {
|
|
2392
|
-
cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
|
|
2393
|
-
}
|
|
2394
|
-
const showEllipsis = cellOverflow === 'ellipsis';
|
|
2395
|
-
const showTitle = cellOverflow === 'title';
|
|
2396
|
-
const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
|
|
2397
|
-
let hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
2398
|
-
const listElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-list`]);
|
|
2399
|
-
// 纵向虚拟滚动不支持动态行高
|
|
2400
|
-
if (scrollYLoad && !hasEllipsis) {
|
|
2401
|
-
hasEllipsis = true;
|
|
2402
|
-
}
|
|
2403
|
-
if (listElem) {
|
|
2404
|
-
_xeUtils.default.arrayEach(listElem.querySelectorAll(`.${column.id}`), elem => {
|
|
2405
|
-
const colspan = parseInt(elem.getAttribute('colspan') || 1);
|
|
2406
|
-
const cellElem = elem.querySelector('.vxe-cell');
|
|
2407
|
-
let colWidth = column.renderWidth;
|
|
2408
|
-
if (cellElem) {
|
|
2409
|
-
if (colspan > 1) {
|
|
2410
|
-
const columnIndex = $xeTable.getColumnIndex(column);
|
|
2411
|
-
for (let index = 1; index < colspan; index++) {
|
|
2412
|
-
const nextColumn = $xeTable.getColumns(columnIndex + index);
|
|
2413
|
-
if (nextColumn) {
|
|
2414
|
-
colWidth += nextColumn.renderWidth;
|
|
2415
|
-
}
|
|
2416
|
-
}
|
|
2417
|
-
}
|
|
2418
|
-
cellElem.style.width = hasEllipsis ? `${colWidth - cellOffsetWidth * colspan}px` : '';
|
|
2419
|
-
}
|
|
2420
|
-
});
|
|
2421
|
-
}
|
|
2422
|
-
}
|
|
2423
|
-
});
|
|
2424
|
-
}
|
|
2425
2418
|
});
|
|
2426
2419
|
});
|
|
2427
2420
|
if (currentRow) {
|
|
@@ -2613,12 +2606,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2613
2606
|
const {
|
|
2614
2607
|
treeConfig
|
|
2615
2608
|
} = props;
|
|
2616
|
-
const {
|
|
2617
|
-
selectCheckboxMaps
|
|
2618
|
-
} = reactData;
|
|
2619
2609
|
const {
|
|
2620
2610
|
afterFullData,
|
|
2621
|
-
checkboxReserveRowMap
|
|
2611
|
+
checkboxReserveRowMap,
|
|
2612
|
+
selectCheckboxMaps
|
|
2622
2613
|
} = internalData;
|
|
2623
2614
|
const treeOpts = computeTreeOpts.value;
|
|
2624
2615
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -2628,6 +2619,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2628
2619
|
reserve,
|
|
2629
2620
|
checkMethod
|
|
2630
2621
|
} = checkboxOpts;
|
|
2622
|
+
const {
|
|
2623
|
+
handleGetRowId
|
|
2624
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
2631
2625
|
// indeterminateField 仅支持读取
|
|
2632
2626
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
2633
2627
|
const selectRowMaps = {};
|
|
@@ -2641,7 +2635,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2641
2635
|
row
|
|
2642
2636
|
})) {
|
|
2643
2637
|
if (checked) {
|
|
2644
|
-
selectRowMaps[(
|
|
2638
|
+
selectRowMaps[handleGetRowId(row)] = row;
|
|
2645
2639
|
}
|
|
2646
2640
|
_xeUtils.default.set(row, checkField, checked);
|
|
2647
2641
|
}
|
|
@@ -2673,7 +2667,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2673
2667
|
if (isForce || !checkMethod || checkMethod({
|
|
2674
2668
|
row
|
|
2675
2669
|
})) {
|
|
2676
|
-
|
|
2670
|
+
const rowid = handleGetRowId(row);
|
|
2671
|
+
selectRowMaps[rowid] = row;
|
|
2677
2672
|
}
|
|
2678
2673
|
}, {
|
|
2679
2674
|
children: childrenField
|
|
@@ -2685,7 +2680,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2685
2680
|
*/
|
|
2686
2681
|
if (!isForce && checkMethod) {
|
|
2687
2682
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
2688
|
-
const rowid = (
|
|
2683
|
+
const rowid = handleGetRowId(row);
|
|
2689
2684
|
if (checkMethod({
|
|
2690
2685
|
row
|
|
2691
2686
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -2705,7 +2700,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2705
2700
|
*/
|
|
2706
2701
|
if (!isForce && checkMethod) {
|
|
2707
2702
|
afterFullData.forEach(row => {
|
|
2708
|
-
const rowid = (
|
|
2703
|
+
const rowid = handleGetRowId(row);
|
|
2709
2704
|
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
2710
2705
|
row
|
|
2711
2706
|
})) {
|
|
@@ -2714,7 +2709,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2714
2709
|
});
|
|
2715
2710
|
} else {
|
|
2716
2711
|
afterFullData.forEach(row => {
|
|
2717
|
-
|
|
2712
|
+
const rowid = handleGetRowId(row);
|
|
2713
|
+
selectRowMaps[rowid] = row;
|
|
2718
2714
|
});
|
|
2719
2715
|
}
|
|
2720
2716
|
} else {
|
|
@@ -2725,7 +2721,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2725
2721
|
*/
|
|
2726
2722
|
if (!isForce && checkMethod) {
|
|
2727
2723
|
afterFullData.forEach(row => {
|
|
2728
|
-
const rowid = (
|
|
2724
|
+
const rowid = handleGetRowId(row);
|
|
2729
2725
|
if (checkMethod({
|
|
2730
2726
|
row
|
|
2731
2727
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -2745,10 +2741,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2745
2741
|
afterFullData.forEach(row => handleCheckboxReserveRow(row, false));
|
|
2746
2742
|
}
|
|
2747
2743
|
}
|
|
2748
|
-
reactData.
|
|
2744
|
+
reactData.updateCheckboxFlag++;
|
|
2745
|
+
internalData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
2749
2746
|
reactData.isAllSelected = checked;
|
|
2750
2747
|
reactData.isIndeterminate = false;
|
|
2751
|
-
reactData.treeIndeterminateMaps = {};
|
|
2752
2748
|
internalData.treeIndeterminateRowMaps = {};
|
|
2753
2749
|
$xeTable.checkSelectionStatus();
|
|
2754
2750
|
return (0, _vue.nextTick)();
|
|
@@ -2761,15 +2757,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2761
2757
|
const {
|
|
2762
2758
|
expandColumn,
|
|
2763
2759
|
currentRow,
|
|
2764
|
-
|
|
2765
|
-
selectRadioRow,
|
|
2766
|
-
rowExpandedMaps,
|
|
2767
|
-
treeExpandedMaps
|
|
2760
|
+
selectRadioRow
|
|
2768
2761
|
} = reactData;
|
|
2769
2762
|
const {
|
|
2770
2763
|
fullDataRowIdData,
|
|
2771
2764
|
fullAllDataRowIdData,
|
|
2772
|
-
radioReserveRow
|
|
2765
|
+
radioReserveRow,
|
|
2766
|
+
selectCheckboxMaps,
|
|
2767
|
+
treeExpandedMaps,
|
|
2768
|
+
rowExpandedMaps
|
|
2773
2769
|
} = internalData;
|
|
2774
2770
|
const expandOpts = computeExpandOpts.value;
|
|
2775
2771
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -2787,7 +2783,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2787
2783
|
}
|
|
2788
2784
|
}
|
|
2789
2785
|
// 复选框
|
|
2790
|
-
|
|
2786
|
+
internalData.selectCheckboxMaps = getRecoverRowMaps(selectCheckboxMaps); // 刷新多选行状态
|
|
2787
|
+
reactData.updateCheckboxFlag++;
|
|
2791
2788
|
// 还原保留选中状态
|
|
2792
2789
|
if (checkboxOpts.reserve) {
|
|
2793
2790
|
handleCheckedCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true, true);
|
|
@@ -2796,13 +2793,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2796
2793
|
reactData.currentRow = null; // 刷新当前行状态
|
|
2797
2794
|
}
|
|
2798
2795
|
// 行展开
|
|
2799
|
-
|
|
2796
|
+
internalData.rowExpandedMaps = expandColumn ? getRecoverRowMaps(rowExpandedMaps) : {}; // 刷新行展开状态
|
|
2797
|
+
reactData.rowExpandedFlag++;
|
|
2800
2798
|
// 还原保留状态
|
|
2801
2799
|
if (expandColumn && expandOpts.reserve) {
|
|
2802
2800
|
$xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
|
|
2803
2801
|
}
|
|
2804
2802
|
// 树展开
|
|
2805
|
-
|
|
2803
|
+
internalData.treeExpandedMaps = treeConfig ? getRecoverRowMaps(treeExpandedMaps) : {}; // 刷新树展开状态
|
|
2804
|
+
reactData.treeExpandedFlag++;
|
|
2806
2805
|
if (treeConfig && treeOpts.reserve) {
|
|
2807
2806
|
$xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
|
|
2808
2807
|
}
|
|
@@ -2825,7 +2824,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2825
2824
|
} = treeOpts;
|
|
2826
2825
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2827
2826
|
if (expandAll) {
|
|
2828
|
-
|
|
2827
|
+
$xeTable.setAllTreeExpand(true);
|
|
2829
2828
|
} else if (expandRowKeys) {
|
|
2830
2829
|
const defExpandeds = [];
|
|
2831
2830
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
@@ -2837,7 +2836,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2837
2836
|
defExpandeds.push(matchObj.item);
|
|
2838
2837
|
}
|
|
2839
2838
|
});
|
|
2840
|
-
|
|
2839
|
+
$xeTable.setTreeExpand(defExpandeds, true);
|
|
2841
2840
|
}
|
|
2842
2841
|
}
|
|
2843
2842
|
};
|
|
@@ -2854,10 +2853,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2854
2853
|
return new Promise(resolve => {
|
|
2855
2854
|
if (loadMethod) {
|
|
2856
2855
|
const {
|
|
2856
|
+
fullAllDataRowIdData,
|
|
2857
2857
|
treeExpandLazyLoadedMaps
|
|
2858
|
-
} = reactData;
|
|
2859
|
-
const {
|
|
2860
|
-
fullAllDataRowIdData
|
|
2861
2858
|
} = internalData;
|
|
2862
2859
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2863
2860
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
@@ -2876,20 +2873,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2876
2873
|
childRecords = [];
|
|
2877
2874
|
}
|
|
2878
2875
|
if (childRecords) {
|
|
2879
|
-
return
|
|
2876
|
+
return $xeTable.loadTreeChildren(row, childRecords).then(childRows => {
|
|
2880
2877
|
const {
|
|
2881
2878
|
treeExpandedMaps
|
|
2882
|
-
} =
|
|
2879
|
+
} = internalData;
|
|
2883
2880
|
if (childRows.length && !treeExpandedMaps[rowid]) {
|
|
2884
2881
|
treeExpandedMaps[rowid] = row;
|
|
2885
2882
|
}
|
|
2883
|
+
reactData.treeExpandedFlag++;
|
|
2886
2884
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
2887
|
-
if (!checkStrictly &&
|
|
2885
|
+
if (!checkStrictly && $xeTable.isCheckedByCheckboxRow(row)) {
|
|
2888
2886
|
handleCheckedCheckboxRow(childRows, true);
|
|
2889
2887
|
}
|
|
2890
2888
|
return (0, _vue.nextTick)().then(() => {
|
|
2891
2889
|
if (transform) {
|
|
2892
|
-
|
|
2890
|
+
$xeTable.handleTableData();
|
|
2893
2891
|
updateAfterDataIndex();
|
|
2894
2892
|
return (0, _vue.nextTick)();
|
|
2895
2893
|
}
|
|
@@ -2899,7 +2897,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2899
2897
|
}).catch(() => {
|
|
2900
2898
|
const {
|
|
2901
2899
|
treeExpandLazyLoadedMaps
|
|
2902
|
-
} =
|
|
2900
|
+
} = internalData;
|
|
2903
2901
|
if (rowRest) {
|
|
2904
2902
|
rowRest.treeLoaded = false;
|
|
2905
2903
|
}
|
|
@@ -2907,7 +2905,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2907
2905
|
delete treeExpandLazyLoadedMaps[rowid];
|
|
2908
2906
|
}
|
|
2909
2907
|
}).finally(() => {
|
|
2910
|
-
|
|
2908
|
+
reactData.treeExpandedFlag++;
|
|
2909
|
+
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => resolve());
|
|
2911
2910
|
});
|
|
2912
2911
|
} else {
|
|
2913
2912
|
resolve();
|
|
@@ -2936,35 +2935,38 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2936
2935
|
} = expandOpts;
|
|
2937
2936
|
if (loadMethod) {
|
|
2938
2937
|
const {
|
|
2939
|
-
fullAllDataRowIdData
|
|
2938
|
+
fullAllDataRowIdData,
|
|
2939
|
+
rowExpandLazyLoadedMaps
|
|
2940
2940
|
} = internalData;
|
|
2941
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
2942
2941
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2943
2942
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2944
|
-
|
|
2945
|
-
reactData.rowExpandLazyLoadedMaps = rExpandLazyLoadedMaps;
|
|
2943
|
+
rowExpandLazyLoadedMaps[rowid] = row;
|
|
2946
2944
|
loadMethod({
|
|
2947
2945
|
$table: $xeTable,
|
|
2948
2946
|
row,
|
|
2949
|
-
rowIndex:
|
|
2950
|
-
$rowIndex:
|
|
2947
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
2948
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
2951
2949
|
}).then(() => {
|
|
2952
|
-
const
|
|
2950
|
+
const {
|
|
2951
|
+
rowExpandedMaps
|
|
2952
|
+
} = internalData;
|
|
2953
2953
|
if (rowRest) {
|
|
2954
2954
|
rowRest.expandLoaded = true;
|
|
2955
2955
|
}
|
|
2956
|
-
|
|
2957
|
-
reactData.
|
|
2956
|
+
rowExpandedMaps[rowid] = row;
|
|
2957
|
+
reactData.rowExpandedFlag++;
|
|
2958
2958
|
}).catch(() => {
|
|
2959
2959
|
if (rowRest) {
|
|
2960
2960
|
rowRest.expandLoaded = false;
|
|
2961
2961
|
}
|
|
2962
2962
|
}).finally(() => {
|
|
2963
|
-
const
|
|
2964
|
-
|
|
2965
|
-
|
|
2963
|
+
const {
|
|
2964
|
+
rowExpandLazyLoadedMaps
|
|
2965
|
+
} = internalData;
|
|
2966
|
+
if (rowExpandLazyLoadedMaps[rowid]) {
|
|
2967
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
2966
2968
|
}
|
|
2967
|
-
reactData.
|
|
2969
|
+
reactData.rowExpandedFlag++;
|
|
2968
2970
|
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => $xeTable.updateCellAreas()).then(() => resolve());
|
|
2969
2971
|
});
|
|
2970
2972
|
} else {
|
|
@@ -3078,9 +3080,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3078
3080
|
calcCellWidth();
|
|
3079
3081
|
autoCellWidth();
|
|
3080
3082
|
updateStyle();
|
|
3081
|
-
if (reFull) {
|
|
3082
|
-
updateRowOffsetTop();
|
|
3083
|
-
}
|
|
3084
3083
|
updateRowExpandStyle();
|
|
3085
3084
|
return computeScrollLoad().then(() => {
|
|
3086
3085
|
if (reFull === true) {
|
|
@@ -3122,6 +3121,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3122
3121
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3123
3122
|
let treeData = [];
|
|
3124
3123
|
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); // 转为响应式数据
|
|
3124
|
+
if (fullData.length > supportMaxRow) {
|
|
3125
|
+
(0, _log.errLog)('vxe.error.errMaxRow', [supportMaxRow]);
|
|
3126
|
+
}
|
|
3125
3127
|
if (treeConfig) {
|
|
3126
3128
|
if (transform) {
|
|
3127
3129
|
// 树结构自动转换
|
|
@@ -3346,10 +3348,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3346
3348
|
return result;
|
|
3347
3349
|
};
|
|
3348
3350
|
const parseColumns = isReset => {
|
|
3349
|
-
const {
|
|
3350
|
-
|
|
3351
|
-
} = props;
|
|
3352
|
-
const rowOpts = computeRowOpts.value;
|
|
3351
|
+
// const { showOverflow } = props
|
|
3352
|
+
// const rowOpts = computeRowOpts.value
|
|
3353
3353
|
const leftList = [];
|
|
3354
3354
|
const centerList = [];
|
|
3355
3355
|
const rightList = [];
|
|
@@ -3426,28 +3426,28 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3426
3426
|
rightList
|
|
3427
3427
|
});
|
|
3428
3428
|
if (scrollXLoad) {
|
|
3429
|
-
if (showOverflow) {
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3429
|
+
// if (showOverflow) {
|
|
3430
|
+
// if (!rowOpts.height) {
|
|
3431
|
+
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
3432
|
+
// if (errColumn) {
|
|
3433
|
+
// errLog('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true'])
|
|
3434
|
+
// }
|
|
3435
|
+
// }
|
|
3436
|
+
// }
|
|
3437
|
+
// if (process.env.NODE_ENV === 'development') {
|
|
3438
|
+
// if (props.showHeader && !props.showHeaderOverflow) {
|
|
3439
|
+
// warnLog('vxe.error.reqProp', ['show-header-overflow'])
|
|
3440
|
+
// }
|
|
3441
|
+
// if (props.showFooter && !props.showFooterOverflow) {
|
|
3442
|
+
// warnLog('vxe.error.reqProp', ['show-footer-overflow'])
|
|
3443
|
+
// }
|
|
3444
|
+
if (props.spanMethod) {
|
|
3445
|
+
(0, _log.warnLog)('vxe.error.scrollErrProp', ['span-method']);
|
|
3436
3446
|
}
|
|
3437
|
-
if (
|
|
3438
|
-
|
|
3439
|
-
// warnLog('vxe.error.reqProp', ['show-header-overflow'])
|
|
3440
|
-
// }
|
|
3441
|
-
// if (props.showFooter && !props.showFooterOverflow) {
|
|
3442
|
-
// warnLog('vxe.error.reqProp', ['show-footer-overflow'])
|
|
3443
|
-
// }
|
|
3444
|
-
if (props.spanMethod) {
|
|
3445
|
-
(0, _log.warnLog)('vxe.error.scrollErrProp', ['span-method']);
|
|
3446
|
-
}
|
|
3447
|
-
if (props.footerSpanMethod) {
|
|
3448
|
-
(0, _log.warnLog)('vxe.error.scrollErrProp', ['footer-span-method']);
|
|
3449
|
-
}
|
|
3447
|
+
if (props.footerSpanMethod) {
|
|
3448
|
+
(0, _log.warnLog)('vxe.error.scrollErrProp', ['footer-span-method']);
|
|
3450
3449
|
}
|
|
3450
|
+
// }
|
|
3451
3451
|
if (isReset) {
|
|
3452
3452
|
const {
|
|
3453
3453
|
visibleSize
|
|
@@ -3560,14 +3560,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3560
3560
|
*/
|
|
3561
3561
|
const handleBaseTreeExpand = (rows, expanded) => {
|
|
3562
3562
|
const {
|
|
3563
|
-
treeExpandedMaps,
|
|
3564
|
-
treeExpandLazyLoadedMaps,
|
|
3565
3563
|
treeNodeColumn
|
|
3566
3564
|
} = reactData;
|
|
3567
|
-
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
3568
3565
|
const {
|
|
3569
3566
|
fullAllDataRowIdData,
|
|
3570
|
-
tableFullData
|
|
3567
|
+
tableFullData,
|
|
3568
|
+
treeExpandedMaps,
|
|
3569
|
+
treeExpandLazyLoadedMaps
|
|
3571
3570
|
} = internalData;
|
|
3572
3571
|
const treeOpts = computeTreeOpts.value;
|
|
3573
3572
|
const {
|
|
@@ -3581,6 +3580,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3581
3580
|
const result = [];
|
|
3582
3581
|
const columnIndex = tableMethods.getColumnIndex(treeNodeColumn);
|
|
3583
3582
|
const $columnIndex = tableMethods.getVMColumnIndex(treeNodeColumn);
|
|
3583
|
+
const {
|
|
3584
|
+
handleGetRowId
|
|
3585
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3584
3586
|
let validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
3585
3587
|
$table: $xeTable,
|
|
3586
3588
|
expanded,
|
|
@@ -3597,17 +3599,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3597
3599
|
});
|
|
3598
3600
|
if (matchObj) {
|
|
3599
3601
|
matchObj.items.forEach(item => {
|
|
3600
|
-
const rowid = (
|
|
3601
|
-
if (
|
|
3602
|
-
delete
|
|
3602
|
+
const rowid = handleGetRowId(item);
|
|
3603
|
+
if (treeExpandedMaps[rowid]) {
|
|
3604
|
+
delete treeExpandedMaps[rowid];
|
|
3603
3605
|
}
|
|
3604
3606
|
});
|
|
3605
3607
|
}
|
|
3606
3608
|
}
|
|
3607
3609
|
if (expanded) {
|
|
3608
3610
|
validRows.forEach(row => {
|
|
3609
|
-
const rowid = (
|
|
3610
|
-
if (!
|
|
3611
|
+
const rowid = handleGetRowId(row);
|
|
3612
|
+
if (!treeExpandedMaps[rowid]) {
|
|
3611
3613
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3612
3614
|
if (rowRest) {
|
|
3613
3615
|
const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
|
|
@@ -3616,7 +3618,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3616
3618
|
result.push(handleAsyncTreeExpandChilds(row));
|
|
3617
3619
|
} else {
|
|
3618
3620
|
if (row[childrenField] && row[childrenField].length) {
|
|
3619
|
-
|
|
3621
|
+
treeExpandedMaps[rowid] = row;
|
|
3620
3622
|
}
|
|
3621
3623
|
}
|
|
3622
3624
|
}
|
|
@@ -3624,16 +3626,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3624
3626
|
});
|
|
3625
3627
|
} else {
|
|
3626
3628
|
validRows.forEach(item => {
|
|
3627
|
-
const rowid = (
|
|
3628
|
-
if (
|
|
3629
|
-
delete
|
|
3629
|
+
const rowid = handleGetRowId(item);
|
|
3630
|
+
if (treeExpandedMaps[rowid]) {
|
|
3631
|
+
delete treeExpandedMaps[rowid];
|
|
3630
3632
|
}
|
|
3631
3633
|
});
|
|
3632
3634
|
}
|
|
3633
3635
|
if (reserve) {
|
|
3634
3636
|
validRows.forEach(row => handleTreeExpandReserve(row, expanded));
|
|
3635
3637
|
}
|
|
3636
|
-
reactData.
|
|
3638
|
+
reactData.treeExpandedFlag++;
|
|
3637
3639
|
return Promise.all(result).then(() => {
|
|
3638
3640
|
return tableMethods.recalculate();
|
|
3639
3641
|
});
|
|
@@ -3662,9 +3664,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3662
3664
|
handleCheckedAllCheckboxRow(value);
|
|
3663
3665
|
if (evnt) {
|
|
3664
3666
|
dispatchEvent('checkbox-all', {
|
|
3665
|
-
records: $xeTable.getCheckboxRecords(),
|
|
3666
|
-
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
3667
|
-
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
3667
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
3668
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
3669
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
3668
3670
|
checked: value
|
|
3669
3671
|
}, evnt);
|
|
3670
3672
|
}
|
|
@@ -3712,12 +3714,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3712
3714
|
}
|
|
3713
3715
|
};
|
|
3714
3716
|
const createGetRowCacheProp = prop => {
|
|
3717
|
+
const {
|
|
3718
|
+
handleGetRowId
|
|
3719
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3715
3720
|
return function (row) {
|
|
3716
3721
|
const {
|
|
3717
3722
|
fullAllDataRowIdData
|
|
3718
3723
|
} = internalData;
|
|
3719
3724
|
if (row) {
|
|
3720
|
-
const rowid = (
|
|
3725
|
+
const rowid = handleGetRowId(row);
|
|
3721
3726
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3722
3727
|
if (rowRest) {
|
|
3723
3728
|
return rowRest[prop];
|
|
@@ -3887,7 +3892,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3887
3892
|
};
|
|
3888
3893
|
const handleUpdateColResize = (evnt, params) => {
|
|
3889
3894
|
$xeTable.analyColumnWidth();
|
|
3890
|
-
$xeTable.recalculate(
|
|
3895
|
+
$xeTable.recalculate().then(() => {
|
|
3891
3896
|
$xeTable.saveCustomStore('update:width');
|
|
3892
3897
|
$xeTable.updateCellAreas();
|
|
3893
3898
|
$xeTable.dispatchEvent('column-resizable-change', params, evnt);
|
|
@@ -3898,7 +3903,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3898
3903
|
};
|
|
3899
3904
|
const handleUpdateRowResize = (evnt, params) => {
|
|
3900
3905
|
reactData.resizeHeightFlag++;
|
|
3901
|
-
$xeTable.recalculate(
|
|
3906
|
+
$xeTable.recalculate().then(() => {
|
|
3902
3907
|
$xeTable.updateCellAreas();
|
|
3903
3908
|
$xeTable.dispatchEvent('row-resizable-change', params, evnt);
|
|
3904
3909
|
setTimeout(() => $xeTable.recalculate(true), 300);
|
|
@@ -3920,21 +3925,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3920
3925
|
};
|
|
3921
3926
|
const updateRowOffsetTop = () => {
|
|
3922
3927
|
const {
|
|
3923
|
-
expandColumn
|
|
3924
|
-
rowExpandedMaps
|
|
3928
|
+
expandColumn
|
|
3925
3929
|
} = reactData;
|
|
3926
3930
|
const {
|
|
3927
3931
|
afterFullData,
|
|
3928
|
-
fullAllDataRowIdData
|
|
3932
|
+
fullAllDataRowIdData,
|
|
3933
|
+
rowExpandedMaps
|
|
3929
3934
|
} = internalData;
|
|
3930
3935
|
const expandOpts = computeExpandOpts.value;
|
|
3931
3936
|
const rowOpts = computeRowOpts.value;
|
|
3932
3937
|
const cellOpts = computeCellOpts.value;
|
|
3933
3938
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
3939
|
+
const {
|
|
3940
|
+
handleGetRowId
|
|
3941
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3934
3942
|
let offsetTop = 0;
|
|
3935
3943
|
for (let rIndex = 0, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
3936
3944
|
const row = afterFullData[rIndex];
|
|
3937
|
-
const rowid = (
|
|
3945
|
+
const rowid = handleGetRowId(row);
|
|
3938
3946
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
3939
3947
|
rowRest.oTop = offsetTop;
|
|
3940
3948
|
offsetTop += rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
@@ -4368,6 +4376,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4368
4376
|
keepSource,
|
|
4369
4377
|
treeConfig
|
|
4370
4378
|
} = props;
|
|
4379
|
+
const {
|
|
4380
|
+
editStore
|
|
4381
|
+
} = reactData;
|
|
4371
4382
|
const {
|
|
4372
4383
|
fullAllDataRowIdData,
|
|
4373
4384
|
fullDataRowIdData,
|
|
@@ -4376,10 +4387,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4376
4387
|
tableFullData,
|
|
4377
4388
|
afterFullData
|
|
4378
4389
|
} = internalData;
|
|
4390
|
+
const removeTempMaps = Object.assign({}, editStore.removeMaps);
|
|
4379
4391
|
const treeOpts = computeTreeOpts.value;
|
|
4380
4392
|
const {
|
|
4381
4393
|
transform
|
|
4382
4394
|
} = treeOpts;
|
|
4395
|
+
const {
|
|
4396
|
+
handleGetRowId
|
|
4397
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
4383
4398
|
if (!keepSource) {
|
|
4384
4399
|
if (process.env.NODE_ENV === 'development') {
|
|
4385
4400
|
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
@@ -4397,7 +4412,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4397
4412
|
let reDelFlag = false;
|
|
4398
4413
|
if (targetRows.length) {
|
|
4399
4414
|
targetRows.forEach(item => {
|
|
4400
|
-
const rowid = (
|
|
4415
|
+
const rowid = handleGetRowId(item);
|
|
4401
4416
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
4402
4417
|
if (rowRest) {
|
|
4403
4418
|
const row = rowRest.row;
|
|
@@ -4410,6 +4425,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4410
4425
|
_xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
|
|
4411
4426
|
}
|
|
4412
4427
|
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
4428
|
+
delete removeTempMaps[rowid];
|
|
4413
4429
|
tableFullData.unshift(row);
|
|
4414
4430
|
afterFullData.unshift(row);
|
|
4415
4431
|
reDelFlag = true;
|
|
@@ -4421,6 +4437,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4421
4437
|
}
|
|
4422
4438
|
if (rows) {
|
|
4423
4439
|
if (reDelFlag) {
|
|
4440
|
+
editStore.removeMaps = removeTempMaps;
|
|
4424
4441
|
$xeTable.updateFooter();
|
|
4425
4442
|
$xeTable.cacheRowMap(false);
|
|
4426
4443
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -4590,10 +4607,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4590
4607
|
},
|
|
4591
4608
|
/**
|
|
4592
4609
|
* 检查行或列数据是否发生改变
|
|
4593
|
-
* @param {Row}
|
|
4610
|
+
* @param {Row} rowidOrRow 行对象、行主键
|
|
4594
4611
|
* @param {String} field 字段名
|
|
4595
4612
|
*/
|
|
4596
|
-
isUpdateByRow(
|
|
4613
|
+
isUpdateByRow(rowidOrRow, field) {
|
|
4597
4614
|
const {
|
|
4598
4615
|
keepSource
|
|
4599
4616
|
} = props;
|
|
@@ -4603,7 +4620,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4603
4620
|
sourceDataRowIdData
|
|
4604
4621
|
} = internalData;
|
|
4605
4622
|
if (keepSource) {
|
|
4606
|
-
const rowid = _xeUtils.default.isString(
|
|
4623
|
+
const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : (0, _util.getRowid)($xeTable, rowidOrRow);
|
|
4607
4624
|
const rowRest = fullDataRowIdData[rowid];
|
|
4608
4625
|
// 新增的数据不需要检测
|
|
4609
4626
|
if (!rowRest) {
|
|
@@ -4798,16 +4815,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4798
4815
|
const {
|
|
4799
4816
|
treeConfig
|
|
4800
4817
|
} = props;
|
|
4801
|
-
const {
|
|
4802
|
-
selectCheckboxMaps
|
|
4803
|
-
} = reactData;
|
|
4804
4818
|
const {
|
|
4805
4819
|
tableFullData,
|
|
4806
4820
|
afterFullData,
|
|
4807
4821
|
afterTreeFullData,
|
|
4808
4822
|
tableFullTreeData,
|
|
4809
4823
|
fullDataRowIdData,
|
|
4810
|
-
afterFullRowMaps
|
|
4824
|
+
afterFullRowMaps,
|
|
4825
|
+
selectCheckboxMaps
|
|
4811
4826
|
} = internalData;
|
|
4812
4827
|
const treeOpts = computeTreeOpts.value;
|
|
4813
4828
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -5183,12 +5198,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5183
5198
|
fullAllDataRowIdData,
|
|
5184
5199
|
afterFullData
|
|
5185
5200
|
} = internalData;
|
|
5201
|
+
const {
|
|
5202
|
+
handleGetRowId
|
|
5203
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5186
5204
|
const rowOpts = computeRowOpts.value;
|
|
5187
5205
|
const cellOpts = computeCellOpts.value;
|
|
5188
5206
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
5189
5207
|
const rest = {};
|
|
5190
5208
|
afterFullData.forEach(row => {
|
|
5191
|
-
const rowid = (
|
|
5209
|
+
const rowid = handleGetRowId(row);
|
|
5192
5210
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5193
5211
|
if (rowRest) {
|
|
5194
5212
|
const resizeHeight = rowRest.resizeHeight;
|
|
@@ -5214,8 +5232,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5214
5232
|
rHeight = Math.floor(rHeight * bodyHeight);
|
|
5215
5233
|
}
|
|
5216
5234
|
if (rHeight) {
|
|
5235
|
+
const {
|
|
5236
|
+
handleGetRowId
|
|
5237
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5217
5238
|
rows.forEach(row => {
|
|
5218
|
-
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : (
|
|
5239
|
+
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
5219
5240
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5220
5241
|
if (rowRest) {
|
|
5221
5242
|
rowRest.resizeHeight = rHeight;
|
|
@@ -5378,15 +5399,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5378
5399
|
treeConfig
|
|
5379
5400
|
} = props;
|
|
5380
5401
|
const {
|
|
5381
|
-
fullDataRowIdData
|
|
5402
|
+
fullDataRowIdData,
|
|
5403
|
+
treeIndeterminateRowMaps
|
|
5382
5404
|
} = internalData;
|
|
5383
|
-
const {
|
|
5384
|
-
treeIndeterminateMaps
|
|
5385
|
-
} = reactData;
|
|
5386
5405
|
if (treeConfig) {
|
|
5387
5406
|
const fullRest = [];
|
|
5388
5407
|
const defRest = [];
|
|
5389
|
-
_xeUtils.default.each(
|
|
5408
|
+
_xeUtils.default.each(treeIndeterminateRowMaps, (item, rowid) => {
|
|
5390
5409
|
if (item) {
|
|
5391
5410
|
fullRest.push(item);
|
|
5392
5411
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -5430,8 +5449,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5430
5449
|
},
|
|
5431
5450
|
isCheckedByCheckboxRow(row) {
|
|
5432
5451
|
const {
|
|
5433
|
-
|
|
5452
|
+
updateCheckboxFlag
|
|
5434
5453
|
} = reactData;
|
|
5454
|
+
const {
|
|
5455
|
+
selectCheckboxMaps
|
|
5456
|
+
} = internalData;
|
|
5435
5457
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5436
5458
|
const {
|
|
5437
5459
|
checkField
|
|
@@ -5439,14 +5461,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5439
5461
|
if (checkField) {
|
|
5440
5462
|
return _xeUtils.default.get(row, checkField);
|
|
5441
5463
|
}
|
|
5442
|
-
return !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5464
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5443
5465
|
},
|
|
5444
5466
|
isCheckedByCheckboxRowKey(rowid) {
|
|
5445
5467
|
const {
|
|
5446
|
-
|
|
5468
|
+
updateCheckboxFlag
|
|
5447
5469
|
} = reactData;
|
|
5448
5470
|
const {
|
|
5449
|
-
fullAllDataRowIdData
|
|
5471
|
+
fullAllDataRowIdData,
|
|
5472
|
+
selectCheckboxMaps
|
|
5450
5473
|
} = internalData;
|
|
5451
5474
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5452
5475
|
const {
|
|
@@ -5459,19 +5482,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5459
5482
|
}
|
|
5460
5483
|
return false;
|
|
5461
5484
|
}
|
|
5462
|
-
return !!selectCheckboxMaps[rowid];
|
|
5485
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
|
|
5463
5486
|
},
|
|
5464
5487
|
isIndeterminateByCheckboxRow(row) {
|
|
5465
5488
|
const {
|
|
5466
|
-
|
|
5467
|
-
} =
|
|
5468
|
-
return !!
|
|
5489
|
+
treeIndeterminateRowMaps
|
|
5490
|
+
} = internalData;
|
|
5491
|
+
return !!treeIndeterminateRowMaps[(0, _util.getRowid)($xeTable, row)] && !$xeTable.isCheckedByCheckboxRow(row);
|
|
5469
5492
|
},
|
|
5470
5493
|
isIndeterminateByCheckboxRowKey(rowid) {
|
|
5471
5494
|
const {
|
|
5472
|
-
|
|
5473
|
-
} =
|
|
5474
|
-
return !!
|
|
5495
|
+
treeIndeterminateRowMaps
|
|
5496
|
+
} = internalData;
|
|
5497
|
+
return !!treeIndeterminateRowMaps[rowid] && !$xeTable.isCheckedByCheckboxRowKey(rowid);
|
|
5475
5498
|
},
|
|
5476
5499
|
/**
|
|
5477
5500
|
* 多选,切换某一行的选中状态
|
|
@@ -5479,7 +5502,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5479
5502
|
toggleCheckboxRow(row) {
|
|
5480
5503
|
const {
|
|
5481
5504
|
selectCheckboxMaps
|
|
5482
|
-
} =
|
|
5505
|
+
} = internalData;
|
|
5483
5506
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5484
5507
|
const {
|
|
5485
5508
|
checkField
|
|
@@ -5556,16 +5579,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5556
5579
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5557
5580
|
const reserveSelection = [];
|
|
5558
5581
|
if (checkboxOpts.reserve) {
|
|
5582
|
+
const {
|
|
5583
|
+
handleGetRowId
|
|
5584
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5559
5585
|
const afterFullIdMaps = {};
|
|
5560
5586
|
if (treeConfig) {
|
|
5561
5587
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
5562
|
-
afterFullIdMaps[(
|
|
5588
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5563
5589
|
}, {
|
|
5564
5590
|
children: childrenField
|
|
5565
5591
|
});
|
|
5566
5592
|
} else {
|
|
5567
5593
|
afterFullData.forEach(row => {
|
|
5568
|
-
afterFullIdMaps[(
|
|
5594
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5569
5595
|
});
|
|
5570
5596
|
}
|
|
5571
5597
|
_xeUtils.default.each(checkboxReserveRowMap, (oldRow, oldRowid) => {
|
|
@@ -5635,8 +5661,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5635
5661
|
}
|
|
5636
5662
|
reactData.isAllSelected = false;
|
|
5637
5663
|
reactData.isIndeterminate = false;
|
|
5638
|
-
|
|
5639
|
-
|
|
5664
|
+
internalData.selectCheckboxMaps = {};
|
|
5665
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
5666
|
+
reactData.updateCheckboxFlag++;
|
|
5640
5667
|
return (0, _vue.nextTick)();
|
|
5641
5668
|
},
|
|
5642
5669
|
/**
|
|
@@ -5754,13 +5781,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5754
5781
|
* 用于当前列,设置某列行为高亮状态
|
|
5755
5782
|
*/
|
|
5756
5783
|
setCurrentColumn(fieldOrColumn) {
|
|
5784
|
+
const {
|
|
5785
|
+
mouseConfig
|
|
5786
|
+
} = props;
|
|
5787
|
+
const mouseOpts = computeMouseOpts.value;
|
|
5788
|
+
const isMouseSelected = mouseConfig && mouseOpts.selected;
|
|
5757
5789
|
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
5758
5790
|
if (column) {
|
|
5759
|
-
|
|
5760
|
-
tableMethods.clearCurrentColumn();
|
|
5791
|
+
$xeTable.clearCurrentColumn();
|
|
5761
5792
|
reactData.currentColumn = column;
|
|
5762
5793
|
}
|
|
5763
|
-
return (0, _vue.nextTick)()
|
|
5794
|
+
return (0, _vue.nextTick)().then(() => {
|
|
5795
|
+
// 更新状选中态
|
|
5796
|
+
if (isMouseSelected) {
|
|
5797
|
+
$xeTable.addCellSelectedClass();
|
|
5798
|
+
}
|
|
5799
|
+
});
|
|
5764
5800
|
},
|
|
5765
5801
|
/**
|
|
5766
5802
|
* 用于当前列,手动清空当前高亮的状态
|
|
@@ -5770,44 +5806,54 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5770
5806
|
return (0, _vue.nextTick)();
|
|
5771
5807
|
},
|
|
5772
5808
|
setPendingRow(rows, status) {
|
|
5773
|
-
const
|
|
5809
|
+
const {
|
|
5810
|
+
handleGetRowId
|
|
5811
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5812
|
+
const {
|
|
5813
|
+
pendingRowMaps
|
|
5814
|
+
} = internalData;
|
|
5774
5815
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5775
5816
|
rows = [rows];
|
|
5776
5817
|
}
|
|
5777
5818
|
if (status) {
|
|
5778
5819
|
rows.forEach(row => {
|
|
5779
|
-
const rowid = (
|
|
5780
|
-
if (rowid && !
|
|
5781
|
-
|
|
5820
|
+
const rowid = handleGetRowId(row);
|
|
5821
|
+
if (rowid && !pendingRowMaps[rowid]) {
|
|
5822
|
+
pendingRowMaps[rowid] = row;
|
|
5782
5823
|
}
|
|
5783
5824
|
});
|
|
5784
5825
|
} else {
|
|
5785
5826
|
rows.forEach(row => {
|
|
5786
|
-
const rowid = (
|
|
5787
|
-
if (rowid &&
|
|
5788
|
-
delete
|
|
5827
|
+
const rowid = handleGetRowId(row);
|
|
5828
|
+
if (rowid && pendingRowMaps[rowid]) {
|
|
5829
|
+
delete pendingRowMaps[rowid];
|
|
5789
5830
|
}
|
|
5790
5831
|
});
|
|
5791
5832
|
}
|
|
5792
|
-
reactData.
|
|
5833
|
+
reactData.pendingRowFlag++;
|
|
5793
5834
|
return (0, _vue.nextTick)();
|
|
5794
5835
|
},
|
|
5795
5836
|
togglePendingRow(rows) {
|
|
5796
|
-
const
|
|
5837
|
+
const {
|
|
5838
|
+
handleGetRowId
|
|
5839
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5840
|
+
const {
|
|
5841
|
+
pendingRowMaps
|
|
5842
|
+
} = internalData;
|
|
5797
5843
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5798
5844
|
rows = [rows];
|
|
5799
5845
|
}
|
|
5800
5846
|
rows.forEach(row => {
|
|
5801
|
-
const rowid = (
|
|
5847
|
+
const rowid = handleGetRowId(row);
|
|
5802
5848
|
if (rowid) {
|
|
5803
|
-
if (
|
|
5804
|
-
delete
|
|
5849
|
+
if (pendingRowMaps[rowid]) {
|
|
5850
|
+
delete pendingRowMaps[rowid];
|
|
5805
5851
|
} else {
|
|
5806
|
-
|
|
5852
|
+
pendingRowMaps[rowid] = row;
|
|
5807
5853
|
}
|
|
5808
5854
|
}
|
|
5809
5855
|
});
|
|
5810
|
-
reactData.
|
|
5856
|
+
reactData.pendingRowFlag++;
|
|
5811
5857
|
return (0, _vue.nextTick)();
|
|
5812
5858
|
},
|
|
5813
5859
|
hasPendingByRow(row) {
|
|
@@ -5816,16 +5862,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5816
5862
|
isPendingByRow(row) {
|
|
5817
5863
|
const {
|
|
5818
5864
|
pendingRowMaps
|
|
5819
|
-
} =
|
|
5865
|
+
} = internalData;
|
|
5820
5866
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
5821
5867
|
return !!pendingRowMaps[rowid];
|
|
5822
5868
|
},
|
|
5823
5869
|
getPendingRecords() {
|
|
5824
5870
|
const {
|
|
5871
|
+
fullAllDataRowIdData,
|
|
5825
5872
|
pendingRowMaps
|
|
5826
|
-
} = reactData;
|
|
5827
|
-
const {
|
|
5828
|
-
fullAllDataRowIdData
|
|
5829
5873
|
} = internalData;
|
|
5830
5874
|
const insertRecords = [];
|
|
5831
5875
|
_xeUtils.default.each(pendingRowMaps, (row, rowid) => {
|
|
@@ -5836,7 +5880,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5836
5880
|
return insertRecords;
|
|
5837
5881
|
},
|
|
5838
5882
|
clearPendingRow() {
|
|
5839
|
-
|
|
5883
|
+
internalData.pendingRowMaps = {};
|
|
5884
|
+
reactData.pendingRowFlag++;
|
|
5840
5885
|
return (0, _vue.nextTick)();
|
|
5841
5886
|
},
|
|
5842
5887
|
sort(sortConfs, sortOrder) {
|
|
@@ -6022,7 +6067,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6022
6067
|
column,
|
|
6023
6068
|
property: column.field,
|
|
6024
6069
|
field: column.field,
|
|
6025
|
-
filterList: $xeTable.getCheckedFilters(),
|
|
6070
|
+
filterList: () => $xeTable.getCheckedFilters(),
|
|
6026
6071
|
visible: false
|
|
6027
6072
|
}, null);
|
|
6028
6073
|
}
|
|
@@ -6054,9 +6099,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6054
6099
|
return rowRest && !!rowRest.expandLoaded;
|
|
6055
6100
|
},
|
|
6056
6101
|
clearRowExpandLoaded(row) {
|
|
6057
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
6058
6102
|
const {
|
|
6059
|
-
fullAllDataRowIdData
|
|
6103
|
+
fullAllDataRowIdData,
|
|
6104
|
+
rowExpandLazyLoadedMaps
|
|
6060
6105
|
} = internalData;
|
|
6061
6106
|
const expandOpts = computeExpandOpts.value;
|
|
6062
6107
|
const {
|
|
@@ -6066,9 +6111,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6066
6111
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6067
6112
|
if (lazy && rowRest) {
|
|
6068
6113
|
rowRest.expandLoaded = false;
|
|
6069
|
-
delete
|
|
6114
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
6070
6115
|
}
|
|
6071
|
-
reactData.
|
|
6116
|
+
reactData.rowExpandedFlag++;
|
|
6072
6117
|
return (0, _vue.nextTick)();
|
|
6073
6118
|
},
|
|
6074
6119
|
/**
|
|
@@ -6078,14 +6123,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6078
6123
|
reloadRowExpand(row) {
|
|
6079
6124
|
const {
|
|
6080
6125
|
rowExpandLazyLoadedMaps
|
|
6081
|
-
} =
|
|
6126
|
+
} = internalData;
|
|
6082
6127
|
const expandOpts = computeExpandOpts.value;
|
|
6083
6128
|
const {
|
|
6084
6129
|
lazy
|
|
6085
6130
|
} = expandOpts;
|
|
6086
6131
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6087
6132
|
if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
|
|
6088
|
-
|
|
6133
|
+
$xeTable.clearRowExpandLoaded(row).then(() => handleAsyncRowExpand(row));
|
|
6089
6134
|
}
|
|
6090
6135
|
return (0, _vue.nextTick)();
|
|
6091
6136
|
},
|
|
@@ -6094,13 +6139,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6094
6139
|
(0, _log.warnLog)('vxe.error.delFunc', ['reloadExpandContent', 'reloadRowExpand']);
|
|
6095
6140
|
}
|
|
6096
6141
|
// 即将废弃
|
|
6097
|
-
return
|
|
6142
|
+
return $xeTable.reloadRowExpand(row);
|
|
6098
6143
|
},
|
|
6099
6144
|
/**
|
|
6100
6145
|
* 切换展开行
|
|
6101
6146
|
*/
|
|
6102
6147
|
toggleRowExpand(row) {
|
|
6103
|
-
return
|
|
6148
|
+
return $xeTable.setRowExpand(row, !$xeTable.isRowExpandByRow(row));
|
|
6104
6149
|
},
|
|
6105
6150
|
/**
|
|
6106
6151
|
* 设置所有行的展开与否
|
|
@@ -6134,14 +6179,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6134
6179
|
*/
|
|
6135
6180
|
setRowExpand(rows, expanded) {
|
|
6136
6181
|
const {
|
|
6137
|
-
rowExpandedMaps,
|
|
6138
|
-
rowExpandLazyLoadedMaps,
|
|
6139
6182
|
expandColumn
|
|
6140
6183
|
} = reactData;
|
|
6141
|
-
|
|
6142
|
-
fullAllDataRowIdData
|
|
6184
|
+
let {
|
|
6185
|
+
fullAllDataRowIdData,
|
|
6186
|
+
rowExpandedMaps,
|
|
6187
|
+
rowExpandLazyLoadedMaps
|
|
6143
6188
|
} = internalData;
|
|
6144
|
-
|
|
6189
|
+
const {
|
|
6190
|
+
handleGetRowId
|
|
6191
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
6145
6192
|
const expandOpts = computeExpandOpts.value;
|
|
6146
6193
|
const {
|
|
6147
6194
|
reserve,
|
|
@@ -6158,7 +6205,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6158
6205
|
}
|
|
6159
6206
|
if (accordion) {
|
|
6160
6207
|
// 只能同时展开一个
|
|
6161
|
-
|
|
6208
|
+
rowExpandedMaps = {};
|
|
6209
|
+
internalData.rowExpandedMaps = rowExpandedMaps;
|
|
6162
6210
|
rows = rows.slice(rows.length - 1, rows.length);
|
|
6163
6211
|
}
|
|
6164
6212
|
const validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
@@ -6173,22 +6221,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6173
6221
|
})) : rows;
|
|
6174
6222
|
if (expanded) {
|
|
6175
6223
|
validRows.forEach(row => {
|
|
6176
|
-
const rowid = (
|
|
6177
|
-
if (!
|
|
6224
|
+
const rowid = handleGetRowId(row);
|
|
6225
|
+
if (!rowExpandedMaps[rowid]) {
|
|
6178
6226
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6179
6227
|
const isLoad = lazy && !rowRest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
|
|
6180
6228
|
if (isLoad) {
|
|
6181
6229
|
lazyRests.push(handleAsyncRowExpand(row));
|
|
6182
6230
|
} else {
|
|
6183
|
-
|
|
6231
|
+
rowExpandedMaps[rowid] = row;
|
|
6184
6232
|
}
|
|
6185
6233
|
}
|
|
6186
6234
|
});
|
|
6187
6235
|
} else {
|
|
6188
6236
|
validRows.forEach(item => {
|
|
6189
|
-
const rowid = (
|
|
6190
|
-
if (
|
|
6191
|
-
delete
|
|
6237
|
+
const rowid = handleGetRowId(item);
|
|
6238
|
+
if (rowExpandedMaps[rowid]) {
|
|
6239
|
+
delete rowExpandedMaps[rowid];
|
|
6192
6240
|
}
|
|
6193
6241
|
});
|
|
6194
6242
|
}
|
|
@@ -6196,7 +6244,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6196
6244
|
validRows.forEach(row => handleRowExpandReserve(row, expanded));
|
|
6197
6245
|
}
|
|
6198
6246
|
}
|
|
6199
|
-
reactData.
|
|
6247
|
+
reactData.rowExpandedFlag++;
|
|
6200
6248
|
return Promise.all(lazyRests).then(() => (0, _vue.nextTick)()).then(() => $xeTable.recalculate(true)).then(() => {
|
|
6201
6249
|
updateRowOffsetTop();
|
|
6202
6250
|
updateRowExpandStyle();
|
|
@@ -6210,10 +6258,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6210
6258
|
*/
|
|
6211
6259
|
isRowExpandByRow(row) {
|
|
6212
6260
|
const {
|
|
6213
|
-
|
|
6261
|
+
rowExpandedFlag
|
|
6214
6262
|
} = reactData;
|
|
6263
|
+
const {
|
|
6264
|
+
rowExpandedMaps
|
|
6265
|
+
} = internalData;
|
|
6215
6266
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6216
|
-
return !!rowExpandedMaps[rowid];
|
|
6267
|
+
return !!rowExpandedFlag && !!rowExpandedMaps[rowid];
|
|
6217
6268
|
},
|
|
6218
6269
|
isExpandByRow(row) {
|
|
6219
6270
|
// 已废弃
|
|
@@ -6234,7 +6285,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6234
6285
|
reserve
|
|
6235
6286
|
} = expandOpts;
|
|
6236
6287
|
const expList = $xeTable.getRowExpandRecords();
|
|
6237
|
-
|
|
6288
|
+
internalData.rowExpandedMaps = {};
|
|
6289
|
+
reactData.rowExpandedFlag++;
|
|
6238
6290
|
if (reserve) {
|
|
6239
6291
|
tableFullData.forEach(row => handleRowExpandReserve(row, false));
|
|
6240
6292
|
}
|
|
@@ -6255,7 +6307,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6255
6307
|
},
|
|
6256
6308
|
getRowExpandRecords() {
|
|
6257
6309
|
const rest = [];
|
|
6258
|
-
_xeUtils.default.each(
|
|
6310
|
+
_xeUtils.default.each(internalData.rowExpandedMaps, item => {
|
|
6259
6311
|
if (item) {
|
|
6260
6312
|
rest.push(item);
|
|
6261
6313
|
}
|
|
@@ -6264,7 +6316,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6264
6316
|
},
|
|
6265
6317
|
getTreeExpandRecords() {
|
|
6266
6318
|
const rest = [];
|
|
6267
|
-
_xeUtils.default.each(
|
|
6319
|
+
_xeUtils.default.each(internalData.treeExpandedMaps, item => {
|
|
6268
6320
|
if (item) {
|
|
6269
6321
|
rest.push(item);
|
|
6270
6322
|
}
|
|
@@ -6284,15 +6336,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6284
6336
|
},
|
|
6285
6337
|
clearTreeExpandLoaded(rows) {
|
|
6286
6338
|
const {
|
|
6287
|
-
fullAllDataRowIdData
|
|
6339
|
+
fullAllDataRowIdData,
|
|
6340
|
+
treeExpandedMaps
|
|
6288
6341
|
} = internalData;
|
|
6289
6342
|
const treeOpts = computeTreeOpts.value;
|
|
6290
6343
|
const {
|
|
6291
6344
|
transform
|
|
6292
6345
|
} = treeOpts;
|
|
6293
|
-
let tExpandedMaps = {};
|
|
6294
6346
|
if (rows) {
|
|
6295
|
-
tExpandedMaps = Object.assign({}, reactData.treeExpandedMaps);
|
|
6296
6347
|
if (!_xeUtils.default.isArray(rows)) {
|
|
6297
6348
|
rows = [rows];
|
|
6298
6349
|
}
|
|
@@ -6301,8 +6352,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6301
6352
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6302
6353
|
if (rowRest) {
|
|
6303
6354
|
rowRest.treeLoaded = false;
|
|
6304
|
-
if (
|
|
6305
|
-
delete
|
|
6355
|
+
if (treeExpandedMaps[rowid]) {
|
|
6356
|
+
delete treeExpandedMaps[rowid];
|
|
6306
6357
|
}
|
|
6307
6358
|
}
|
|
6308
6359
|
});
|
|
@@ -6311,7 +6362,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6311
6362
|
rowRest.treeLoaded = false;
|
|
6312
6363
|
});
|
|
6313
6364
|
}
|
|
6314
|
-
|
|
6365
|
+
internalData.treeExpandedMaps = {};
|
|
6366
|
+
reactData.treeExpandedFlag++;
|
|
6315
6367
|
if (transform) {
|
|
6316
6368
|
handleVirtualTreeToList();
|
|
6317
6369
|
return $xeTable.handleTableData();
|
|
@@ -6325,7 +6377,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6325
6377
|
reloadTreeExpand(row) {
|
|
6326
6378
|
const {
|
|
6327
6379
|
treeExpandLazyLoadedMaps
|
|
6328
|
-
} =
|
|
6380
|
+
} = internalData;
|
|
6329
6381
|
const treeOpts = computeTreeOpts.value;
|
|
6330
6382
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
6331
6383
|
const {
|
|
@@ -6423,9 +6475,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6423
6475
|
*/
|
|
6424
6476
|
isTreeExpandByRow(row) {
|
|
6425
6477
|
const {
|
|
6426
|
-
|
|
6478
|
+
treeExpandedFlag
|
|
6427
6479
|
} = reactData;
|
|
6428
|
-
|
|
6480
|
+
const {
|
|
6481
|
+
treeExpandedMaps
|
|
6482
|
+
} = internalData;
|
|
6483
|
+
return !!treeExpandedFlag && !!treeExpandedMaps[(0, _util.getRowid)($xeTable, row)];
|
|
6429
6484
|
},
|
|
6430
6485
|
/**
|
|
6431
6486
|
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
@@ -6440,21 +6495,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6440
6495
|
transform,
|
|
6441
6496
|
reserve
|
|
6442
6497
|
} = treeOpts;
|
|
6443
|
-
const expList =
|
|
6444
|
-
|
|
6498
|
+
const expList = $xeTable.getTreeExpandRecords();
|
|
6499
|
+
internalData.treeExpandedMaps = {};
|
|
6500
|
+
reactData.treeExpandedFlag++;
|
|
6445
6501
|
if (reserve) {
|
|
6446
6502
|
_xeUtils.default.eachTree(tableFullTreeData, row => handleTreeExpandReserve(row, false), {
|
|
6447
6503
|
children: childrenField
|
|
6448
6504
|
});
|
|
6449
6505
|
}
|
|
6450
|
-
return
|
|
6506
|
+
return $xeTable.handleTableData().then(() => {
|
|
6451
6507
|
if (transform) {
|
|
6452
6508
|
handleVirtualTreeToList();
|
|
6453
|
-
return
|
|
6509
|
+
return $xeTable.handleTableData();
|
|
6454
6510
|
}
|
|
6455
6511
|
}).then(() => {
|
|
6456
6512
|
if (expList.length) {
|
|
6457
|
-
return
|
|
6513
|
+
return $xeTable.recalculate();
|
|
6458
6514
|
}
|
|
6459
6515
|
});
|
|
6460
6516
|
},
|
|
@@ -6745,8 +6801,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6745
6801
|
collectColumn
|
|
6746
6802
|
} = internalData;
|
|
6747
6803
|
const {
|
|
6804
|
+
storage,
|
|
6748
6805
|
checkMethod
|
|
6749
6806
|
} = customOpts;
|
|
6807
|
+
const isAllCustom = storage === true;
|
|
6808
|
+
const storageOpts = isAllCustom ? {} : Object.assign({}, storage || {});
|
|
6809
|
+
const isCustomResizable = isAllCustom || storageOpts.resizable;
|
|
6810
|
+
const isCustomVisible = isAllCustom || storageOpts.visible;
|
|
6811
|
+
const isCustomFixed = isAllCustom || storageOpts.fixed;
|
|
6812
|
+
const isCustomSort = isAllCustom || storageOpts.sort;
|
|
6750
6813
|
const resizableData = {};
|
|
6751
6814
|
const sortData = {};
|
|
6752
6815
|
const visibleData = {};
|
|
@@ -6766,45 +6829,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6766
6829
|
let hasFixed = 0;
|
|
6767
6830
|
let hasVisible = 0;
|
|
6768
6831
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
6832
|
+
const colKey = column.getKey();
|
|
6833
|
+
if (!colKey) {
|
|
6834
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || column.type || ''} -> column.field=?`]);
|
|
6835
|
+
return;
|
|
6836
|
+
}
|
|
6769
6837
|
// 只支持一级
|
|
6770
6838
|
if (!parentColumn) {
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
hasSort = 1;
|
|
6775
|
-
sortData[colKey] = column.renderSortNumber;
|
|
6776
|
-
}
|
|
6777
|
-
});
|
|
6778
|
-
if (column.fixed !== column.defaultFixed) {
|
|
6779
|
-
const colKey = column.getKey();
|
|
6780
|
-
if (colKey) {
|
|
6781
|
-
hasFixed = 1;
|
|
6782
|
-
fixedData[colKey] = column.fixed;
|
|
6783
|
-
}
|
|
6839
|
+
if (isCustomSort) {
|
|
6840
|
+
hasSort = 1;
|
|
6841
|
+
sortData[colKey] = column.renderSortNumber;
|
|
6784
6842
|
}
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
if (colKey) {
|
|
6789
|
-
hasResizable = 1;
|
|
6790
|
-
resizableData[colKey] = column.renderWidth;
|
|
6843
|
+
if (isCustomFixed && column.fixed !== column.defaultFixed) {
|
|
6844
|
+
hasFixed = 1;
|
|
6845
|
+
fixedData[colKey] = column.fixed;
|
|
6791
6846
|
}
|
|
6792
6847
|
}
|
|
6793
|
-
if (
|
|
6848
|
+
if (isCustomResizable && column.resizeWidth) {
|
|
6849
|
+
hasResizable = 1;
|
|
6850
|
+
resizableData[colKey] = column.renderWidth;
|
|
6851
|
+
}
|
|
6852
|
+
if (isCustomVisible && (!checkMethod || checkMethod({
|
|
6794
6853
|
column
|
|
6795
|
-
})) {
|
|
6854
|
+
}))) {
|
|
6796
6855
|
if (!column.visible && column.defaultVisible) {
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
hasVisible = 1;
|
|
6800
|
-
visibleData[colKey] = false;
|
|
6801
|
-
}
|
|
6856
|
+
hasVisible = 1;
|
|
6857
|
+
visibleData[colKey] = false;
|
|
6802
6858
|
} else if (column.visible && !column.defaultVisible) {
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
hasVisible = 1;
|
|
6806
|
-
visibleData[colKey] = true;
|
|
6807
|
-
}
|
|
6859
|
+
hasVisible = 1;
|
|
6860
|
+
visibleData[colKey] = true;
|
|
6808
6861
|
}
|
|
6809
6862
|
}
|
|
6810
6863
|
});
|
|
@@ -7189,7 +7242,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7189
7242
|
if (keyboardOpts.enterToTab) {
|
|
7190
7243
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
7191
7244
|
} else {
|
|
7192
|
-
$xeTable.
|
|
7245
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
|
|
7193
7246
|
}
|
|
7194
7247
|
} else {
|
|
7195
7248
|
if (keyboardOpts.enterToTab) {
|
|
@@ -7225,7 +7278,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7225
7278
|
return;
|
|
7226
7279
|
}
|
|
7227
7280
|
}
|
|
7228
|
-
$xeTable.
|
|
7281
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
|
|
7229
7282
|
if (enterMethod) {
|
|
7230
7283
|
enterMethod(etrParams);
|
|
7231
7284
|
}
|
|
@@ -7252,10 +7305,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7252
7305
|
if (!isEditStatus) {
|
|
7253
7306
|
// 如果按下了方向键
|
|
7254
7307
|
if (selected.row && selected.column) {
|
|
7255
|
-
$xeTable.
|
|
7256
|
-
} else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
7257
|
-
// 当前行按键上下移动
|
|
7258
|
-
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
7308
|
+
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
7259
7309
|
}
|
|
7260
7310
|
}
|
|
7261
7311
|
} else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
@@ -7680,8 +7730,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7680
7730
|
* @param {Event} evnt 事件
|
|
7681
7731
|
* @param {Row} row 行对象
|
|
7682
7732
|
*/
|
|
7683
|
-
const handleTooltip = (evnt, tdEl, overflowElem,
|
|
7684
|
-
|
|
7733
|
+
const handleTooltip = (evnt, tdEl, overflowElem, params) => {
|
|
7734
|
+
const tipOverEl = overflowElem || tdEl;
|
|
7735
|
+
if (!tipOverEl) {
|
|
7685
7736
|
return (0, _vue.nextTick)();
|
|
7686
7737
|
}
|
|
7687
7738
|
params.cell = tdEl;
|
|
@@ -7699,9 +7750,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7699
7750
|
} = tooltipOpts;
|
|
7700
7751
|
const customContent = contentMethod ? contentMethod(params) : null;
|
|
7701
7752
|
const useCustom = contentMethod && !_xeUtils.default.eqNull(customContent);
|
|
7702
|
-
const content = useCustom ? customContent : _xeUtils.default.toString(column.type === 'html' ?
|
|
7703
|
-
|
|
7704
|
-
if (content && (showAll || useCustom || isCellOverflow)) {
|
|
7753
|
+
const content = useCustom ? customContent : _xeUtils.default.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
|
|
7754
|
+
if (content && (showAll || useCustom || tipOverEl.scrollWidth > tipOverEl.clientWidth)) {
|
|
7705
7755
|
Object.assign(tooltipStore, {
|
|
7706
7756
|
row,
|
|
7707
7757
|
column,
|
|
@@ -7711,7 +7761,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7711
7761
|
(0, _vue.nextTick)(() => {
|
|
7712
7762
|
const $tooltip = refTooltip.value;
|
|
7713
7763
|
if ($tooltip && $tooltip.open) {
|
|
7714
|
-
$tooltip.open(
|
|
7764
|
+
$tooltip.open(tipOverEl, (0, _utils.formatText)(content));
|
|
7715
7765
|
}
|
|
7716
7766
|
});
|
|
7717
7767
|
}
|
|
@@ -7869,13 +7919,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7869
7919
|
const {
|
|
7870
7920
|
treeConfig
|
|
7871
7921
|
} = props;
|
|
7872
|
-
const {
|
|
7873
|
-
treeExpandedMaps
|
|
7874
|
-
} = reactData;
|
|
7875
7922
|
const {
|
|
7876
7923
|
fullAllDataRowIdData,
|
|
7877
7924
|
tableFullData,
|
|
7878
|
-
tableFullTreeData
|
|
7925
|
+
tableFullTreeData,
|
|
7926
|
+
treeExpandedMaps
|
|
7879
7927
|
} = internalData;
|
|
7880
7928
|
const treeOpts = computeTreeOpts.value;
|
|
7881
7929
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -7883,12 +7931,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7883
7931
|
const {
|
|
7884
7932
|
lazy
|
|
7885
7933
|
} = treeOpts;
|
|
7886
|
-
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
7887
|
-
const isDeepKey = rowkey.indexOf('.') > -1;
|
|
7888
7934
|
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7889
7935
|
const fullDataRowIdMaps = {};
|
|
7890
|
-
const
|
|
7891
|
-
|
|
7936
|
+
const {
|
|
7937
|
+
handleUpdateRowId
|
|
7938
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
7892
7939
|
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
7893
7940
|
let rowRest = fullAllDataRowIdMaps[rowid];
|
|
7894
7941
|
if (!rowRest) {
|
|
@@ -7919,18 +7966,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7919
7966
|
rowRest.level = level;
|
|
7920
7967
|
rowRest.index = currIndex;
|
|
7921
7968
|
rowRest.treeIndex = index;
|
|
7969
|
+
fullDataRowIdMaps[rowid] = rowRest;
|
|
7970
|
+
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7922
7971
|
};
|
|
7923
7972
|
if (treeConfig) {
|
|
7924
7973
|
_xeUtils.default.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
7925
|
-
const rowid =
|
|
7974
|
+
const rowid = handleUpdateRowId(row);
|
|
7926
7975
|
if (treeConfig && lazy) {
|
|
7927
|
-
const treeExpRest = treeTempExpandedMaps[rowid];
|
|
7928
7976
|
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
7929
7977
|
row[childrenField] = null;
|
|
7930
7978
|
}
|
|
7931
|
-
if (
|
|
7979
|
+
if (treeExpandedMaps[rowid]) {
|
|
7932
7980
|
if (!row[childrenField] || !row[childrenField].length) {
|
|
7933
|
-
delete
|
|
7981
|
+
delete treeExpandedMaps[rowid];
|
|
7934
7982
|
}
|
|
7935
7983
|
}
|
|
7936
7984
|
}
|
|
@@ -7940,31 +7988,26 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7940
7988
|
});
|
|
7941
7989
|
} else {
|
|
7942
7990
|
tableFullData.forEach((row, index, items) => {
|
|
7943
|
-
handleRowCache(row, index, items, index, null,
|
|
7991
|
+
handleRowCache(row, index, items, index, null, handleUpdateRowId(row), 0, index + 1);
|
|
7944
7992
|
});
|
|
7945
7993
|
}
|
|
7946
7994
|
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7947
7995
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7948
|
-
reactData.
|
|
7996
|
+
reactData.treeExpandedFlag++;
|
|
7949
7997
|
},
|
|
7950
7998
|
cacheSourceMap(fullData) {
|
|
7951
7999
|
const {
|
|
7952
8000
|
treeConfig
|
|
7953
8001
|
} = props;
|
|
7954
8002
|
const treeOpts = computeTreeOpts.value;
|
|
7955
|
-
let {
|
|
7956
|
-
sourceDataRowIdData
|
|
7957
|
-
} = internalData;
|
|
7958
8003
|
const sourceData = _xeUtils.default.clone(fullData, true);
|
|
7959
|
-
const
|
|
7960
|
-
|
|
8004
|
+
const {
|
|
8005
|
+
handleUpdateRowId
|
|
8006
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
8007
|
+
const sourceRowIdData = {};
|
|
7961
8008
|
const handleSourceRow = row => {
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
rowid = (0, _util.getRowUniqueId)();
|
|
7965
|
-
_xeUtils.default.set(row, rowkey, rowid);
|
|
7966
|
-
}
|
|
7967
|
-
sourceDataRowIdData[rowid] = row;
|
|
8009
|
+
const rowid = handleUpdateRowId(row);
|
|
8010
|
+
sourceRowIdData[rowid] = row;
|
|
7968
8011
|
};
|
|
7969
8012
|
// 源数据缓存
|
|
7970
8013
|
if (treeConfig) {
|
|
@@ -7975,6 +8018,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7975
8018
|
} else {
|
|
7976
8019
|
sourceData.forEach(handleSourceRow);
|
|
7977
8020
|
}
|
|
8021
|
+
internalData.sourceDataRowIdData = sourceRowIdData;
|
|
7978
8022
|
internalData.tableSourceData = sourceData;
|
|
7979
8023
|
},
|
|
7980
8024
|
/**
|
|
@@ -8481,12 +8525,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8481
8525
|
}
|
|
8482
8526
|
}
|
|
8483
8527
|
// 兼容老版本
|
|
8484
|
-
let rest;
|
|
8485
|
-
|
|
8486
|
-
|
|
8487
|
-
|
|
8488
|
-
|
|
8489
|
-
|
|
8528
|
+
let rest = null;
|
|
8529
|
+
let isStop = false;
|
|
8530
|
+
for (let i = 0; i < evntList.length; i++) {
|
|
8531
|
+
const func = evntList[i];
|
|
8532
|
+
const fnRest = func(Object.assign({
|
|
8533
|
+
$grid: $xeGrid,
|
|
8534
|
+
$table: $xeTable,
|
|
8535
|
+
$event: evnt
|
|
8536
|
+
}, args));
|
|
8537
|
+
if (fnRest === false) {
|
|
8538
|
+
isStop = true;
|
|
8539
|
+
break;
|
|
8540
|
+
} else if (fnRest && fnRest.status === false) {
|
|
8541
|
+
rest = fnRest.result;
|
|
8542
|
+
isStop = true;
|
|
8543
|
+
break;
|
|
8544
|
+
}
|
|
8545
|
+
}
|
|
8546
|
+
if (!isStop) {
|
|
8490
8547
|
if (next) {
|
|
8491
8548
|
rest = next();
|
|
8492
8549
|
}
|
|
@@ -8502,10 +8559,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8502
8559
|
} = props;
|
|
8503
8560
|
const {
|
|
8504
8561
|
selectCheckboxMaps,
|
|
8505
|
-
|
|
8506
|
-
} =
|
|
8507
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8508
|
-
const halfRowMaps = Object.assign({}, treeIndeterminateMaps);
|
|
8562
|
+
treeIndeterminateRowMaps
|
|
8563
|
+
} = internalData;
|
|
8509
8564
|
const treeOpts = computeTreeOpts.value;
|
|
8510
8565
|
const {
|
|
8511
8566
|
transform,
|
|
@@ -8526,10 +8581,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8526
8581
|
}
|
|
8527
8582
|
// 树结构
|
|
8528
8583
|
if (treeConfig) {
|
|
8584
|
+
const {
|
|
8585
|
+
handleGetRowId
|
|
8586
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8529
8587
|
const childRowMaps = {};
|
|
8530
8588
|
const childRowList = [];
|
|
8531
8589
|
_xeUtils.default.eachTree(afterTreeFullData, row => {
|
|
8532
|
-
const rowid = (
|
|
8590
|
+
const rowid = handleGetRowId(row);
|
|
8533
8591
|
const childList = row[transform ? mapChildrenField : childrenField];
|
|
8534
8592
|
if (childList && childList.length && !childRowMaps[rowid]) {
|
|
8535
8593
|
childRowMaps[rowid] = 1;
|
|
@@ -8546,30 +8604,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8546
8604
|
let hLen = 0; // 半选
|
|
8547
8605
|
let vLen = 0; // 有效行
|
|
8548
8606
|
childList.forEach(checkMethod ? item => {
|
|
8549
|
-
const childRowid = (
|
|
8550
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8607
|
+
const childRowid = handleGetRowId(item);
|
|
8608
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8551
8609
|
if (checkMethod({
|
|
8552
8610
|
row: item
|
|
8553
8611
|
})) {
|
|
8554
8612
|
if (isSelect) {
|
|
8555
8613
|
sLen++;
|
|
8556
|
-
} else if (
|
|
8614
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8557
8615
|
hLen++;
|
|
8558
8616
|
}
|
|
8559
8617
|
vLen++;
|
|
8560
8618
|
} else {
|
|
8561
8619
|
if (isSelect) {
|
|
8562
8620
|
sLen++;
|
|
8563
|
-
} else if (
|
|
8621
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8564
8622
|
hLen++;
|
|
8565
8623
|
}
|
|
8566
8624
|
}
|
|
8567
8625
|
} : item => {
|
|
8568
|
-
const childRowid = (
|
|
8569
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8626
|
+
const childRowid = handleGetRowId(item);
|
|
8627
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8570
8628
|
if (isSelect) {
|
|
8571
8629
|
sLen++;
|
|
8572
|
-
} else if (
|
|
8630
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8573
8631
|
hLen++;
|
|
8574
8632
|
}
|
|
8575
8633
|
vLen++;
|
|
@@ -8581,38 +8639,40 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8581
8639
|
}
|
|
8582
8640
|
if (isSelected) {
|
|
8583
8641
|
if (!checkField) {
|
|
8584
|
-
|
|
8642
|
+
selectCheckboxMaps[rowid] = row;
|
|
8585
8643
|
}
|
|
8586
|
-
if (
|
|
8587
|
-
delete
|
|
8644
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8645
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8588
8646
|
}
|
|
8589
8647
|
} else {
|
|
8590
8648
|
if (!checkField) {
|
|
8591
|
-
if (
|
|
8592
|
-
delete
|
|
8649
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8650
|
+
delete selectCheckboxMaps[rowid];
|
|
8593
8651
|
}
|
|
8594
8652
|
}
|
|
8595
8653
|
if (halfSelect) {
|
|
8596
|
-
|
|
8654
|
+
treeIndeterminateRowMaps[rowid] = row;
|
|
8597
8655
|
} else {
|
|
8598
|
-
if (
|
|
8599
|
-
delete
|
|
8656
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8657
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8600
8658
|
}
|
|
8601
8659
|
}
|
|
8602
8660
|
}
|
|
8603
8661
|
});
|
|
8604
8662
|
}
|
|
8605
|
-
reactData.
|
|
8606
|
-
reactData.treeIndeterminateMaps = halfRowMaps;
|
|
8663
|
+
reactData.updateCheckboxFlag++;
|
|
8607
8664
|
},
|
|
8608
8665
|
updateAllCheckboxStatus() {
|
|
8609
8666
|
const {
|
|
8610
8667
|
treeConfig
|
|
8611
8668
|
} = props;
|
|
8612
8669
|
const {
|
|
8670
|
+
afterFullData,
|
|
8671
|
+
afterTreeFullData,
|
|
8672
|
+
checkboxReserveRowMap,
|
|
8613
8673
|
selectCheckboxMaps,
|
|
8614
|
-
|
|
8615
|
-
} =
|
|
8674
|
+
treeIndeterminateRowMaps
|
|
8675
|
+
} = internalData;
|
|
8616
8676
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8617
8677
|
const {
|
|
8618
8678
|
checkField,
|
|
@@ -8620,39 +8680,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8620
8680
|
showReserveStatus
|
|
8621
8681
|
} = checkboxOpts;
|
|
8622
8682
|
const {
|
|
8623
|
-
|
|
8624
|
-
|
|
8625
|
-
checkboxReserveRowMap
|
|
8626
|
-
} = internalData;
|
|
8683
|
+
handleGetRowId
|
|
8684
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8627
8685
|
let sLen = 0; // 已选
|
|
8628
8686
|
let hLen = 0; // 半选
|
|
8629
8687
|
let vLen = 0; // 有效行
|
|
8630
8688
|
const rootList = treeConfig ? afterTreeFullData : afterFullData;
|
|
8631
8689
|
rootList.forEach(checkMethod ? row => {
|
|
8632
|
-
const childRowid = (
|
|
8690
|
+
const childRowid = handleGetRowId(row);
|
|
8633
8691
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8634
8692
|
if (checkMethod({
|
|
8635
8693
|
row
|
|
8636
8694
|
})) {
|
|
8637
8695
|
if (selected) {
|
|
8638
8696
|
sLen++;
|
|
8639
|
-
} else if (
|
|
8697
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8640
8698
|
hLen++;
|
|
8641
8699
|
}
|
|
8642
8700
|
vLen++;
|
|
8643
8701
|
} else {
|
|
8644
8702
|
if (selected) {
|
|
8645
8703
|
sLen++;
|
|
8646
|
-
} else if (
|
|
8704
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8647
8705
|
hLen++;
|
|
8648
8706
|
}
|
|
8649
8707
|
}
|
|
8650
8708
|
} : row => {
|
|
8651
|
-
const childRowid = (
|
|
8709
|
+
const childRowid = handleGetRowId(row);
|
|
8652
8710
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8653
8711
|
if (selected) {
|
|
8654
8712
|
sLen++;
|
|
8655
|
-
} else if (
|
|
8713
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8656
8714
|
hLen++;
|
|
8657
8715
|
}
|
|
8658
8716
|
vLen++;
|
|
@@ -8680,8 +8738,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8680
8738
|
} = props;
|
|
8681
8739
|
const {
|
|
8682
8740
|
selectCheckboxMaps
|
|
8683
|
-
} =
|
|
8684
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8741
|
+
} = internalData;
|
|
8685
8742
|
const treeOpts = computeTreeOpts.value;
|
|
8686
8743
|
const {
|
|
8687
8744
|
transform,
|
|
@@ -8694,6 +8751,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8694
8751
|
checkStrictly,
|
|
8695
8752
|
checkMethod
|
|
8696
8753
|
} = checkboxOpts;
|
|
8754
|
+
const {
|
|
8755
|
+
handleGetRowId
|
|
8756
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8697
8757
|
// indeterminateField 仅支持读取
|
|
8698
8758
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
8699
8759
|
if (checkField) {
|
|
@@ -8713,35 +8773,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8713
8773
|
}, {
|
|
8714
8774
|
children: transform ? mapChildrenField : childrenField
|
|
8715
8775
|
});
|
|
8716
|
-
reactData.
|
|
8776
|
+
reactData.updateCheckboxFlag++;
|
|
8717
8777
|
return;
|
|
8718
|
-
} else {
|
|
8719
|
-
// 列表
|
|
8720
|
-
rows.forEach(row => {
|
|
8721
|
-
if (isForce || !checkMethod || checkMethod({
|
|
8722
|
-
row
|
|
8723
|
-
})) {
|
|
8724
|
-
_xeUtils.default.set(row, checkField, checked);
|
|
8725
|
-
handleCheckboxReserveRow(row, checked);
|
|
8726
|
-
}
|
|
8727
|
-
});
|
|
8728
8778
|
}
|
|
8729
|
-
|
|
8779
|
+
// 列表
|
|
8780
|
+
rows.forEach(row => {
|
|
8781
|
+
if (isForce || !checkMethod || checkMethod({
|
|
8782
|
+
row
|
|
8783
|
+
})) {
|
|
8784
|
+
_xeUtils.default.set(row, checkField, checked);
|
|
8785
|
+
handleCheckboxReserveRow(row, checked);
|
|
8786
|
+
}
|
|
8787
|
+
});
|
|
8788
|
+
reactData.updateCheckboxFlag++;
|
|
8730
8789
|
return;
|
|
8731
8790
|
}
|
|
8732
8791
|
// 树结构
|
|
8733
8792
|
if (treeConfig && !checkStrictly) {
|
|
8734
8793
|
// 更新子节点状态
|
|
8735
8794
|
_xeUtils.default.eachTree(rows, row => {
|
|
8736
|
-
const rowid = (
|
|
8795
|
+
const rowid = handleGetRowId(row);
|
|
8737
8796
|
if (isForce || !checkMethod || checkMethod({
|
|
8738
8797
|
row
|
|
8739
8798
|
})) {
|
|
8740
8799
|
if (checked) {
|
|
8741
|
-
|
|
8800
|
+
selectCheckboxMaps[rowid] = row;
|
|
8742
8801
|
} else {
|
|
8743
|
-
if (
|
|
8744
|
-
delete
|
|
8802
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8803
|
+
delete selectCheckboxMaps[rowid];
|
|
8745
8804
|
}
|
|
8746
8805
|
}
|
|
8747
8806
|
handleCheckboxReserveRow(row, checked);
|
|
@@ -8749,28 +8808,28 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8749
8808
|
}, {
|
|
8750
8809
|
children: transform ? mapChildrenField : childrenField
|
|
8751
8810
|
});
|
|
8752
|
-
reactData.
|
|
8811
|
+
reactData.updateCheckboxFlag++;
|
|
8753
8812
|
return;
|
|
8754
8813
|
}
|
|
8755
8814
|
// 列表
|
|
8756
8815
|
rows.forEach(row => {
|
|
8757
|
-
const rowid = (
|
|
8816
|
+
const rowid = handleGetRowId(row);
|
|
8758
8817
|
if (isForce || !checkMethod || checkMethod({
|
|
8759
8818
|
row
|
|
8760
8819
|
})) {
|
|
8761
8820
|
if (checked) {
|
|
8762
|
-
if (!
|
|
8763
|
-
|
|
8821
|
+
if (!selectCheckboxMaps[rowid]) {
|
|
8822
|
+
selectCheckboxMaps[rowid] = row;
|
|
8764
8823
|
}
|
|
8765
8824
|
} else {
|
|
8766
|
-
if (
|
|
8767
|
-
delete
|
|
8825
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8826
|
+
delete selectCheckboxMaps[rowid];
|
|
8768
8827
|
}
|
|
8769
8828
|
}
|
|
8770
8829
|
handleCheckboxReserveRow(row, checked);
|
|
8830
|
+
reactData.updateCheckboxFlag++;
|
|
8771
8831
|
}
|
|
8772
8832
|
});
|
|
8773
|
-
reactData.selectCheckboxMaps = selectRowMaps;
|
|
8774
8833
|
},
|
|
8775
8834
|
/**
|
|
8776
8835
|
* 即将移除
|
|
@@ -8828,7 +8887,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8828
8887
|
return;
|
|
8829
8888
|
}
|
|
8830
8889
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8831
|
-
handleTooltip(evnt, thEl, cellEl,
|
|
8890
|
+
handleTooltip(evnt, thEl, thEl.querySelector('.vxe-cell--title') || cellEl, params);
|
|
8832
8891
|
}
|
|
8833
8892
|
},
|
|
8834
8893
|
/**
|
|
@@ -8866,7 +8925,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8866
8925
|
}
|
|
8867
8926
|
}
|
|
8868
8927
|
if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
|
|
8869
|
-
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'),
|
|
8928
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8870
8929
|
}
|
|
8871
8930
|
},
|
|
8872
8931
|
/**
|
|
@@ -8879,10 +8938,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8879
8938
|
const {
|
|
8880
8939
|
tooltipStore
|
|
8881
8940
|
} = reactData;
|
|
8882
|
-
const
|
|
8941
|
+
const tdEl = evnt.currentTarget;
|
|
8883
8942
|
handleTargetEnterEvent(tooltipStore.column !== column || !!tooltipStore.row);
|
|
8884
8943
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8885
|
-
handleTooltip(evnt,
|
|
8944
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8886
8945
|
}
|
|
8887
8946
|
},
|
|
8888
8947
|
handleTargetLeaveEvent() {
|
|
@@ -8908,6 +8967,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8908
8967
|
} = internalData;
|
|
8909
8968
|
const sortOpts = computeSortOpts.value;
|
|
8910
8969
|
const columnOpts = computeColumnOpts.value;
|
|
8970
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8911
8971
|
const {
|
|
8912
8972
|
column
|
|
8913
8973
|
} = params;
|
|
@@ -8916,7 +8976,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8916
8976
|
const triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
|
|
8917
8977
|
const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
|
|
8918
8978
|
if (sortOpts.trigger === 'cell' && !(triggerResizable || triggerSort || triggerFilter)) {
|
|
8919
|
-
|
|
8979
|
+
$xeTable.triggerSortEvent(evnt, column, getNextSortOrder(column));
|
|
8920
8980
|
}
|
|
8921
8981
|
dispatchEvent('header-cell-click', Object.assign({
|
|
8922
8982
|
triggerResizable,
|
|
@@ -8924,8 +8984,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8924
8984
|
triggerFilter,
|
|
8925
8985
|
cell
|
|
8926
8986
|
}, params), evnt);
|
|
8927
|
-
if (columnOpts.isCurrent || props.highlightCurrentColumn) {
|
|
8928
|
-
|
|
8987
|
+
if ((columnOpts.isCurrent || props.highlightCurrentColumn) && (!currentColumnOpts.trigger || ['header', 'default'].includes(currentColumnOpts.trigger))) {
|
|
8988
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
8929
8989
|
}
|
|
8930
8990
|
},
|
|
8931
8991
|
triggerHeaderCellDblclickEvent(evnt, params) {
|
|
@@ -8941,6 +9001,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8941
9001
|
triggerCellClickEvent(evnt, params) {
|
|
8942
9002
|
const {
|
|
8943
9003
|
highlightCurrentRow,
|
|
9004
|
+
highlightCurrentColumn,
|
|
8944
9005
|
editConfig
|
|
8945
9006
|
} = props;
|
|
8946
9007
|
const {
|
|
@@ -8957,6 +9018,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8957
9018
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8958
9019
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
8959
9020
|
const rowOpts = computeRowOpts.value;
|
|
9021
|
+
const columnOpts = computeColumnOpts.value;
|
|
9022
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8960
9023
|
const {
|
|
8961
9024
|
actived,
|
|
8962
9025
|
focused
|
|
@@ -8987,29 +9050,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8987
9050
|
if (!triggerCheckbox && !triggerRadio) {
|
|
8988
9051
|
// 如果是展开行
|
|
8989
9052
|
if (!triggerExpandNode && (expandOpts.trigger === 'row' || isExpandType && expandOpts.trigger === 'cell')) {
|
|
8990
|
-
|
|
9053
|
+
$xeTable.triggerRowExpandEvent(evnt, params);
|
|
8991
9054
|
}
|
|
8992
9055
|
// 如果是树形表格
|
|
8993
9056
|
if (treeOpts.trigger === 'row' || treeNode && treeOpts.trigger === 'cell') {
|
|
8994
|
-
|
|
9057
|
+
$xeTable.triggerTreeExpandEvent(evnt, params);
|
|
8995
9058
|
}
|
|
8996
9059
|
}
|
|
8997
9060
|
// 如果点击了树节点
|
|
8998
9061
|
if (!triggerTreeNode) {
|
|
8999
9062
|
if (!triggerExpandNode) {
|
|
9000
|
-
//
|
|
9063
|
+
// 如果是当前行
|
|
9001
9064
|
if (rowOpts.isCurrent || highlightCurrentRow) {
|
|
9002
9065
|
if (!triggerCheckbox && !triggerRadio) {
|
|
9003
|
-
|
|
9066
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
9067
|
+
}
|
|
9068
|
+
}
|
|
9069
|
+
// 如果是当前列
|
|
9070
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && (!currentColumnOpts.trigger || ['cell', 'default'].includes(currentColumnOpts.trigger))) {
|
|
9071
|
+
if (!triggerCheckbox && !triggerRadio) {
|
|
9072
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
9004
9073
|
}
|
|
9005
9074
|
}
|
|
9006
9075
|
// 如果是单选框
|
|
9007
9076
|
if (!triggerRadio && (radioOpts.trigger === 'row' || isRadioType && radioOpts.trigger === 'cell')) {
|
|
9008
|
-
|
|
9077
|
+
$xeTable.triggerRadioRowEvent(evnt, params);
|
|
9009
9078
|
}
|
|
9010
9079
|
// 如果是复选框
|
|
9011
9080
|
if (!triggerCheckbox && (checkboxOpts.trigger === 'row' || isCheckboxType && checkboxOpts.trigger === 'cell')) {
|
|
9012
|
-
|
|
9081
|
+
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
9013
9082
|
}
|
|
9014
9083
|
}
|
|
9015
9084
|
// 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)
|
|
@@ -9089,7 +9158,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9089
9158
|
handleToggleCheckRowEvent(evnt, params) {
|
|
9090
9159
|
const {
|
|
9091
9160
|
selectCheckboxMaps
|
|
9092
|
-
} =
|
|
9161
|
+
} = internalData;
|
|
9093
9162
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
9094
9163
|
const {
|
|
9095
9164
|
checkField,
|
|
@@ -9108,20 +9177,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9108
9177
|
checked = !selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
9109
9178
|
}
|
|
9110
9179
|
if (evnt) {
|
|
9111
|
-
|
|
9180
|
+
$xeTable.triggerCheckRowEvent(evnt, params, checked);
|
|
9112
9181
|
} else {
|
|
9113
|
-
|
|
9114
|
-
|
|
9182
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9183
|
+
$xeTable.checkSelectionStatus();
|
|
9115
9184
|
}
|
|
9116
9185
|
},
|
|
9117
9186
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
9118
|
-
const checkboxOpts = computeCheckboxOpts.value;
|
|
9119
9187
|
const {
|
|
9120
9188
|
row
|
|
9121
9189
|
} = params;
|
|
9122
9190
|
const {
|
|
9123
9191
|
afterFullData
|
|
9124
9192
|
} = internalData;
|
|
9193
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
9125
9194
|
const {
|
|
9126
9195
|
checkMethod,
|
|
9127
9196
|
trigger
|
|
@@ -9131,15 +9200,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9131
9200
|
}
|
|
9132
9201
|
evnt.stopPropagation();
|
|
9133
9202
|
if (checkboxOpts.isShiftKey && evnt.shiftKey && !props.treeConfig) {
|
|
9134
|
-
const checkboxRecords =
|
|
9203
|
+
const checkboxRecords = $xeTable.getCheckboxRecords();
|
|
9135
9204
|
if (checkboxRecords.length) {
|
|
9136
9205
|
const firstRow = checkboxRecords[0];
|
|
9137
|
-
const _rowIndex =
|
|
9138
|
-
const _firstRowIndex =
|
|
9206
|
+
const _rowIndex = $xeTable.getVTRowIndex(row);
|
|
9207
|
+
const _firstRowIndex = $xeTable.getVTRowIndex(firstRow);
|
|
9139
9208
|
if (_rowIndex !== _firstRowIndex) {
|
|
9140
|
-
|
|
9209
|
+
$xeTable.setAllCheckboxRow(false);
|
|
9141
9210
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
9142
|
-
|
|
9211
|
+
(0, _vue.nextTick)(() => {
|
|
9212
|
+
handleCheckedCheckboxRow(rangeRows, true, false);
|
|
9213
|
+
});
|
|
9143
9214
|
dispatchEvent('checkbox-range-select', Object.assign({
|
|
9144
9215
|
rangeRecords: rangeRows
|
|
9145
9216
|
}, params), evnt);
|
|
@@ -9150,12 +9221,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9150
9221
|
if (!checkMethod || checkMethod({
|
|
9151
9222
|
row
|
|
9152
9223
|
})) {
|
|
9153
|
-
|
|
9154
|
-
|
|
9224
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9225
|
+
$xeTable.checkSelectionStatus();
|
|
9155
9226
|
dispatchEvent('checkbox-change', Object.assign({
|
|
9156
|
-
records:
|
|
9157
|
-
reserves:
|
|
9158
|
-
indeterminates:
|
|
9227
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
9228
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
9229
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
9159
9230
|
checked
|
|
9160
9231
|
}, params), evnt);
|
|
9161
9232
|
}
|
|
@@ -9255,9 +9326,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9255
9326
|
*/
|
|
9256
9327
|
triggerRowExpandEvent(evnt, params) {
|
|
9257
9328
|
const {
|
|
9258
|
-
rowExpandLazyLoadedMaps,
|
|
9259
9329
|
expandColumn: column
|
|
9260
9330
|
} = reactData;
|
|
9331
|
+
const {
|
|
9332
|
+
rowExpandLazyLoadedMaps
|
|
9333
|
+
} = internalData;
|
|
9261
9334
|
const expandOpts = computeExpandOpts.value;
|
|
9262
9335
|
const {
|
|
9263
9336
|
row
|
|
@@ -9272,18 +9345,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9272
9345
|
evnt.stopPropagation();
|
|
9273
9346
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9274
9347
|
if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
|
|
9275
|
-
const expanded =
|
|
9276
|
-
const columnIndex =
|
|
9277
|
-
const $columnIndex =
|
|
9278
|
-
|
|
9348
|
+
const expanded = !$xeTable.isRowExpandByRow(row);
|
|
9349
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9350
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9351
|
+
$xeTable.setRowExpand(row, expanded);
|
|
9279
9352
|
dispatchEvent('toggle-row-expand', {
|
|
9280
9353
|
expanded,
|
|
9281
9354
|
column,
|
|
9282
9355
|
columnIndex,
|
|
9283
9356
|
$columnIndex,
|
|
9284
9357
|
row,
|
|
9285
|
-
rowIndex:
|
|
9286
|
-
$rowIndex:
|
|
9358
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
9359
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
9287
9360
|
}, evnt);
|
|
9288
9361
|
}
|
|
9289
9362
|
},
|
|
@@ -9293,7 +9366,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9293
9366
|
triggerTreeExpandEvent(evnt, params) {
|
|
9294
9367
|
const {
|
|
9295
9368
|
treeExpandLazyLoadedMaps
|
|
9296
|
-
} =
|
|
9369
|
+
} = internalData;
|
|
9297
9370
|
const treeOpts = computeTreeOpts.value;
|
|
9298
9371
|
const {
|
|
9299
9372
|
row,
|
|
@@ -9309,10 +9382,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9309
9382
|
evnt.stopPropagation();
|
|
9310
9383
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9311
9384
|
if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
|
|
9312
|
-
const expanded =
|
|
9313
|
-
const columnIndex =
|
|
9314
|
-
const $columnIndex =
|
|
9315
|
-
|
|
9385
|
+
const expanded = !$xeTable.isTreeExpandByRow(row);
|
|
9386
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9387
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9388
|
+
$xeTable.setTreeExpand(row, expanded);
|
|
9316
9389
|
dispatchEvent('toggle-tree-expand', {
|
|
9317
9390
|
expanded,
|
|
9318
9391
|
column,
|
|
@@ -9522,6 +9595,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9522
9595
|
} = props;
|
|
9523
9596
|
const rowDragOpts = computeRowDragOpts.value;
|
|
9524
9597
|
const {
|
|
9598
|
+
afterFullData,
|
|
9599
|
+
tableFullData,
|
|
9525
9600
|
fullAllDataRowIdData
|
|
9526
9601
|
} = internalData;
|
|
9527
9602
|
const {
|
|
@@ -9539,10 +9614,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9539
9614
|
parentField
|
|
9540
9615
|
} = treeOpts;
|
|
9541
9616
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9542
|
-
const {
|
|
9543
|
-
afterFullData,
|
|
9544
|
-
tableFullData
|
|
9545
|
-
} = internalData;
|
|
9546
9617
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
9547
9618
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
9548
9619
|
const errRest = {
|
|
@@ -10503,11 +10574,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10503
10574
|
} = _props.default;
|
|
10504
10575
|
const {
|
|
10505
10576
|
scrollXLoad,
|
|
10506
|
-
scrollYLoad
|
|
10577
|
+
scrollYLoad,
|
|
10578
|
+
expandColumn
|
|
10507
10579
|
} = reactData;
|
|
10508
10580
|
const leftFixedWidth = computeLeftFixedWidth.value;
|
|
10509
10581
|
const rightFixedWidth = computeRightFixedWidth.value;
|
|
10510
|
-
if (!(
|
|
10582
|
+
if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
|
|
10511
10583
|
return;
|
|
10512
10584
|
}
|
|
10513
10585
|
const {
|
|
@@ -10793,15 +10865,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10793
10865
|
const {
|
|
10794
10866
|
isAllOverflow,
|
|
10795
10867
|
scrollYLoad,
|
|
10796
|
-
expandColumn
|
|
10797
|
-
rowExpandedMaps
|
|
10868
|
+
expandColumn
|
|
10798
10869
|
} = reactData;
|
|
10799
10870
|
const {
|
|
10800
10871
|
scrollYStore,
|
|
10801
10872
|
elemStore,
|
|
10802
10873
|
isResizeCellHeight,
|
|
10803
10874
|
afterFullData,
|
|
10804
|
-
fullAllDataRowIdData
|
|
10875
|
+
fullAllDataRowIdData,
|
|
10876
|
+
rowExpandedMaps
|
|
10805
10877
|
} = internalData;
|
|
10806
10878
|
const {
|
|
10807
10879
|
startIndex
|
|
@@ -11153,6 +11225,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11153
11225
|
ref: refRowExpandYSpaceElem
|
|
11154
11226
|
})];
|
|
11155
11227
|
if (expandColumn) {
|
|
11228
|
+
const {
|
|
11229
|
+
handleGetRowId
|
|
11230
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
11156
11231
|
tableRowExpandedList.forEach(row => {
|
|
11157
11232
|
const expandOpts = computeExpandOpts.value;
|
|
11158
11233
|
const {
|
|
@@ -11168,7 +11243,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11168
11243
|
seqMode
|
|
11169
11244
|
} = treeOpts;
|
|
11170
11245
|
const cellStyle = {};
|
|
11171
|
-
const rowid = (
|
|
11246
|
+
const rowid = handleGetRowId(row);
|
|
11172
11247
|
const rest = fullAllDataRowIdData[rowid];
|
|
11173
11248
|
let rowLevel = 0;
|
|
11174
11249
|
let seq = -1;
|