vxe-table 4.12.0-beta.9 → 4.12.1
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 +45 -36
- 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 +29 -33
- 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 -5
- package/es/table/render/index.js +3 -3
- package/es/table/src/body.js +45 -27
- 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 +501 -512
- package/es/table/src/util.js +34 -6
- package/es/ui/index.js +4 -3
- 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 +42 -40
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +12594 -1185
- 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 +36 -45
- 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 +6 -10
- 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 +53 -26
- 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 +594 -564
- 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 +4 -3
- 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 +49 -42
- 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 +30 -33
- 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 -5
- package/packages/table/render/index.ts +3 -4
- package/packages/table/src/body.ts +46 -27
- 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 +513 -518
- package/packages/table/src/util.ts +39 -6
- package/packages/ui/index.ts +3 -2
- /package/es/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/es/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/es/{iconfont.1741337003908.woff2 → iconfont.1743045589885.woff2} +0 -0
- /package/lib/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/lib/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/lib/{iconfont.1741337003908.woff2 → iconfont.1743045589885.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,
|
|
@@ -211,9 +198,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
211
198
|
focused: {
|
|
212
199
|
row: null,
|
|
213
200
|
column: null
|
|
214
|
-
}
|
|
215
|
-
insertMaps: {},
|
|
216
|
-
removeMaps: {}
|
|
201
|
+
}
|
|
217
202
|
},
|
|
218
203
|
// 存放 tooltip 相关信息
|
|
219
204
|
tooltipStore: {
|
|
@@ -271,6 +256,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
271
256
|
isHeader: false,
|
|
272
257
|
isFooter: false
|
|
273
258
|
},
|
|
259
|
+
rowExpandedFlag: 1,
|
|
260
|
+
treeExpandedFlag: 1,
|
|
261
|
+
updateCheckboxFlag: 1,
|
|
262
|
+
pendingRowFlag: 1,
|
|
263
|
+
insertRowFlag: 1,
|
|
264
|
+
removeRowFlag: 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,
|
|
@@ -369,7 +361,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
369
361
|
fullDataRowIdData: {},
|
|
370
362
|
fullColumnIdData: {},
|
|
371
363
|
fullColumnFieldData: {},
|
|
372
|
-
//
|
|
364
|
+
// 已展开的行集合
|
|
365
|
+
rowExpandedMaps: {},
|
|
366
|
+
// 懒加载中的展开行的集合
|
|
367
|
+
rowExpandLazyLoadedMaps: {},
|
|
368
|
+
// 已展开树节点集合
|
|
369
|
+
treeExpandedMaps: {},
|
|
370
|
+
// 懒加载中的树节点的集合
|
|
371
|
+
treeExpandLazyLoadedMaps: {},
|
|
372
|
+
// 复选框属性,已选中的行集合
|
|
373
|
+
selectCheckboxMaps: {},
|
|
374
|
+
// 已标记的对象集
|
|
375
|
+
pendingRowMaps: {},
|
|
376
|
+
// 已新增的临时行
|
|
377
|
+
insertRowMaps: {},
|
|
378
|
+
// 已删除行
|
|
379
|
+
removeRowMaps: {},
|
|
373
380
|
inited: false,
|
|
374
381
|
tooltipTimeout: null,
|
|
375
382
|
initStatus: false,
|
|
@@ -445,10 +452,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
445
452
|
return virtualXOpts;
|
|
446
453
|
});
|
|
447
454
|
const computeScrollXThreshold = (0, _vue.computed)(() => {
|
|
448
|
-
const
|
|
455
|
+
const virtualXOpts = computeVirtualXOpts.value;
|
|
449
456
|
const {
|
|
450
457
|
threshold
|
|
451
|
-
} =
|
|
458
|
+
} = virtualXOpts;
|
|
452
459
|
if (threshold) {
|
|
453
460
|
return _xeUtils.default.toNumber(threshold);
|
|
454
461
|
}
|
|
@@ -479,10 +486,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
479
486
|
return !!(scrollbarOpts.y && scrollbarOpts.y.position === 'left');
|
|
480
487
|
});
|
|
481
488
|
const computeScrollYThreshold = (0, _vue.computed)(() => {
|
|
482
|
-
const
|
|
489
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
483
490
|
const {
|
|
484
491
|
threshold
|
|
485
|
-
} =
|
|
492
|
+
} = virtualYOpts;
|
|
486
493
|
if (threshold) {
|
|
487
494
|
return _xeUtils.default.toNumber(threshold);
|
|
488
495
|
}
|
|
@@ -499,18 +506,36 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
499
506
|
const computeColumnOpts = (0, _vue.computed)(() => {
|
|
500
507
|
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig);
|
|
501
508
|
});
|
|
509
|
+
const computeCurrentColumnOpts = (0, _vue.computed)(() => {
|
|
510
|
+
return Object.assign({}, getConfig().table.currentColumnConfig, props.currentColumnConfig);
|
|
511
|
+
});
|
|
502
512
|
const computeCellOpts = (0, _vue.computed)(() => {
|
|
503
|
-
|
|
513
|
+
const cellOpts = Object.assign({}, getConfig().table.cellConfig, props.cellConfig);
|
|
514
|
+
if (cellOpts.height) {
|
|
515
|
+
cellOpts.height = _xeUtils.default.toNumber(cellOpts.height);
|
|
516
|
+
}
|
|
517
|
+
return cellOpts;
|
|
504
518
|
});
|
|
505
519
|
const computeHeaderCellOpts = (0, _vue.computed)(() => {
|
|
506
|
-
|
|
520
|
+
const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
521
|
+
if (headerCellOpts.height) {
|
|
522
|
+
headerCellOpts.height = _xeUtils.default.toNumber(headerCellOpts.height);
|
|
523
|
+
}
|
|
524
|
+
return headerCellOpts;
|
|
507
525
|
});
|
|
508
526
|
const computeFooterCellOpts = (0, _vue.computed)(() => {
|
|
509
|
-
|
|
527
|
+
const footerCellOpts = Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
528
|
+
if (footerCellOpts.height) {
|
|
529
|
+
footerCellOpts.height = _xeUtils.default.toNumber(footerCellOpts.height);
|
|
530
|
+
}
|
|
531
|
+
return footerCellOpts;
|
|
510
532
|
});
|
|
511
533
|
const computeRowOpts = (0, _vue.computed)(() => {
|
|
512
534
|
return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
|
|
513
535
|
});
|
|
536
|
+
const computeCurrentRowOpts = (0, _vue.computed)(() => {
|
|
537
|
+
return Object.assign({}, getConfig().table.currentRowConfig, props.currentRowConfig);
|
|
538
|
+
});
|
|
514
539
|
const computeRowDragOpts = (0, _vue.computed)(() => {
|
|
515
540
|
return Object.assign({}, getConfig().table.rowDragConfig, props.rowDragConfig);
|
|
516
541
|
});
|
|
@@ -668,15 +693,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
668
693
|
});
|
|
669
694
|
const computeTableRowExpandedList = (0, _vue.computed)(() => {
|
|
670
695
|
const {
|
|
671
|
-
|
|
696
|
+
rowExpandedFlag,
|
|
672
697
|
tableData,
|
|
673
698
|
expandColumn
|
|
674
699
|
} = reactData;
|
|
700
|
+
const {
|
|
701
|
+
rowExpandedMaps
|
|
702
|
+
} = internalData;
|
|
703
|
+
const {
|
|
704
|
+
handleGetRowId
|
|
705
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
675
706
|
const expandList = [];
|
|
676
|
-
if (expandColumn) {
|
|
707
|
+
if (expandColumn && rowExpandedFlag) {
|
|
677
708
|
const rowKeys = {};
|
|
678
709
|
tableData.forEach(row => {
|
|
679
|
-
rowKeys[(
|
|
710
|
+
rowKeys[handleGetRowId(row)] = true;
|
|
680
711
|
});
|
|
681
712
|
_xeUtils.default.each(rowExpandedMaps, (row, rowid) => {
|
|
682
713
|
if (rowKeys[rowid]) {
|
|
@@ -817,13 +848,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
817
848
|
computeScrollbarXToTop,
|
|
818
849
|
computeScrollbarYToLeft,
|
|
819
850
|
computeColumnOpts,
|
|
851
|
+
computeCurrentColumnOpts,
|
|
820
852
|
computeScrollXThreshold,
|
|
821
853
|
computeScrollYThreshold,
|
|
854
|
+
computeRowHeightMaps,
|
|
822
855
|
computeDefaultRowHeight,
|
|
823
856
|
computeCellOpts,
|
|
824
857
|
computeHeaderCellOpts,
|
|
825
858
|
computeFooterCellOpts,
|
|
826
859
|
computeRowOpts,
|
|
860
|
+
computeCurrentRowOpts,
|
|
827
861
|
computeRowDragOpts,
|
|
828
862
|
computeColumnDragOpts,
|
|
829
863
|
computeResizeOpts,
|
|
@@ -871,6 +905,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
871
905
|
internalData,
|
|
872
906
|
getRefMaps: () => refMaps,
|
|
873
907
|
getComputeMaps: () => computeMaps,
|
|
908
|
+
xeGrid: $xeGrid,
|
|
874
909
|
xegrid: $xeGrid
|
|
875
910
|
};
|
|
876
911
|
const eqCellValue = (row1, row2, field) => {
|
|
@@ -1057,12 +1092,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1057
1092
|
toVisibleIndex = Math.floor(startTop / defaultRowHeight) - 1;
|
|
1058
1093
|
visibleSize = Math.ceil(clientHeight / defaultRowHeight) + 1;
|
|
1059
1094
|
} else {
|
|
1095
|
+
const {
|
|
1096
|
+
handleGetRowId
|
|
1097
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1060
1098
|
let leftIndex = 0;
|
|
1061
1099
|
let rightIndex = afterFullData.length;
|
|
1062
1100
|
while (leftIndex < rightIndex) {
|
|
1063
1101
|
const rIndex = Math.floor((leftIndex + rightIndex) / 2);
|
|
1064
1102
|
const row = afterFullData[rIndex];
|
|
1065
|
-
const rowid = (
|
|
1103
|
+
const rowid = handleGetRowId(row);
|
|
1066
1104
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1067
1105
|
if (rowRest.oTop <= startTop) {
|
|
1068
1106
|
leftIndex = rIndex + 1;
|
|
@@ -1073,7 +1111,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1073
1111
|
toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
1074
1112
|
for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
1075
1113
|
const row = afterFullData[rIndex];
|
|
1076
|
-
const rowid = (
|
|
1114
|
+
const rowid = handleGetRowId(row);
|
|
1077
1115
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
1078
1116
|
visibleSize++;
|
|
1079
1117
|
if (rowRest.oTop > endTop || visibleSize >= 100) {
|
|
@@ -1114,18 +1152,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1114
1152
|
};
|
|
1115
1153
|
const setMerges = (merges, mList, rowList) => {
|
|
1116
1154
|
if (merges) {
|
|
1117
|
-
const {
|
|
1118
|
-
treeConfig
|
|
1119
|
-
} = props;
|
|
1155
|
+
// const { treeConfig } = props
|
|
1120
1156
|
const {
|
|
1121
1157
|
visibleColumn
|
|
1122
1158
|
} = internalData;
|
|
1123
1159
|
if (!_xeUtils.default.isArray(merges)) {
|
|
1124
1160
|
merges = [merges];
|
|
1125
1161
|
}
|
|
1126
|
-
if (treeConfig && merges.length) {
|
|
1127
|
-
|
|
1128
|
-
}
|
|
1162
|
+
// if (treeConfig && merges.length) {
|
|
1163
|
+
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1164
|
+
// }
|
|
1129
1165
|
merges.forEach(item => {
|
|
1130
1166
|
let {
|
|
1131
1167
|
row,
|
|
@@ -1172,18 +1208,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1172
1208
|
const removeMerges = (merges, mList, rowList) => {
|
|
1173
1209
|
const rest = [];
|
|
1174
1210
|
if (merges) {
|
|
1175
|
-
const {
|
|
1176
|
-
treeConfig
|
|
1177
|
-
} = props;
|
|
1211
|
+
// const { treeConfig } = props
|
|
1178
1212
|
const {
|
|
1179
1213
|
visibleColumn
|
|
1180
1214
|
} = internalData;
|
|
1181
1215
|
if (!_xeUtils.default.isArray(merges)) {
|
|
1182
1216
|
merges = [merges];
|
|
1183
1217
|
}
|
|
1184
|
-
if (treeConfig && merges.length) {
|
|
1185
|
-
|
|
1186
|
-
}
|
|
1218
|
+
// if (treeConfig && merges.length) {
|
|
1219
|
+
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1220
|
+
// }
|
|
1187
1221
|
merges.forEach(item => {
|
|
1188
1222
|
let {
|
|
1189
1223
|
row,
|
|
@@ -1375,7 +1409,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1375
1409
|
fullColumnFieldData[field] = rest;
|
|
1376
1410
|
} else {
|
|
1377
1411
|
if (storage && !type || columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
|
|
1378
|
-
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field
|
|
1412
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field=?`]);
|
|
1379
1413
|
}
|
|
1380
1414
|
}
|
|
1381
1415
|
if (!hasFixed && fixed) {
|
|
@@ -1632,6 +1666,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1632
1666
|
internalData.headerHeight = headerHeight;
|
|
1633
1667
|
internalData.footerHeight = footerHeight;
|
|
1634
1668
|
reactData.overflowX = overflowX;
|
|
1669
|
+
reactData.resizeWidthFlag++;
|
|
1635
1670
|
updateColumnOffsetLeft();
|
|
1636
1671
|
updateHeight();
|
|
1637
1672
|
reactData.parentHeight = Math.max(internalData.headerHeight + footerHeight + 20, $xeTable.getParentHeight());
|
|
@@ -1664,9 +1699,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1664
1699
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
1665
1700
|
const el = refElem.value;
|
|
1666
1701
|
if (!isAllOverflow && scrollYLoad && el) {
|
|
1702
|
+
const {
|
|
1703
|
+
handleGetRowId
|
|
1704
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1667
1705
|
el.setAttribute('data-calc-row', 'Y');
|
|
1668
1706
|
tableData.forEach(row => {
|
|
1669
|
-
const rowid = (
|
|
1707
|
+
const rowid = handleGetRowId(row);
|
|
1670
1708
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1671
1709
|
if (rowRest) {
|
|
1672
1710
|
const reHeight = calcCellAutoHeight(rowRest, el);
|
|
@@ -1711,9 +1749,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1711
1749
|
fullDataRowIdData,
|
|
1712
1750
|
fullAllDataRowIdData
|
|
1713
1751
|
} = internalData;
|
|
1752
|
+
const {
|
|
1753
|
+
handleGetRowId
|
|
1754
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1714
1755
|
const fullMaps = {};
|
|
1715
1756
|
afterFullData.forEach((row, index) => {
|
|
1716
|
-
const rowid = (
|
|
1757
|
+
const rowid = handleGetRowId(row);
|
|
1717
1758
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1718
1759
|
const seq = index + 1;
|
|
1719
1760
|
if (rowRest) {
|
|
@@ -1765,8 +1806,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1765
1806
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1766
1807
|
const fullMaps = {};
|
|
1767
1808
|
if (treeConfig) {
|
|
1809
|
+
const {
|
|
1810
|
+
handleGetRowId
|
|
1811
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1768
1812
|
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
1769
|
-
const rowid = (
|
|
1813
|
+
const rowid = handleGetRowId(row);
|
|
1770
1814
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1771
1815
|
const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
1772
1816
|
if (rowRest) {
|
|
@@ -1811,19 +1855,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1811
1855
|
treeConfig
|
|
1812
1856
|
} = props;
|
|
1813
1857
|
const {
|
|
1858
|
+
fullAllDataRowIdData,
|
|
1814
1859
|
treeExpandedMaps
|
|
1815
|
-
} = reactData;
|
|
1816
|
-
const {
|
|
1817
|
-
fullAllDataRowIdData
|
|
1818
1860
|
} = internalData;
|
|
1819
1861
|
const treeOpts = computeTreeOpts.value;
|
|
1820
1862
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1821
1863
|
if (treeConfig && treeOpts.transform) {
|
|
1864
|
+
const {
|
|
1865
|
+
handleGetRowId
|
|
1866
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
1822
1867
|
const fullData = [];
|
|
1823
1868
|
const expandMaps = {};
|
|
1824
1869
|
_xeUtils.default.eachTree(internalData.afterTreeFullData, (row, index, items, path, parentRow) => {
|
|
1825
|
-
const rowid = (
|
|
1826
|
-
const parentRowid = (
|
|
1870
|
+
const rowid = handleGetRowId(row);
|
|
1871
|
+
const parentRowid = handleGetRowId(parentRow);
|
|
1827
1872
|
if (!parentRow || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
|
|
1828
1873
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
1829
1874
|
if (rowRest) {
|
|
@@ -1865,6 +1910,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1865
1910
|
mapChildrenField
|
|
1866
1911
|
} = treeOpts;
|
|
1867
1912
|
const {
|
|
1913
|
+
isEvery,
|
|
1868
1914
|
remote: allRemoteFilter,
|
|
1869
1915
|
filterMethod: allFilterMethod
|
|
1870
1916
|
} = filterOpts;
|
|
@@ -1977,7 +2023,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1977
2023
|
// 筛选虚拟树
|
|
1978
2024
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, {
|
|
1979
2025
|
original: true,
|
|
1980
|
-
isEvery
|
|
2026
|
+
isEvery,
|
|
1981
2027
|
children: mapChildrenField,
|
|
1982
2028
|
mapChildren: childrenField
|
|
1983
2029
|
});
|
|
@@ -1991,7 +2037,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1991
2037
|
// 还原虚拟树
|
|
1992
2038
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
|
|
1993
2039
|
original: true,
|
|
1994
|
-
isEvery
|
|
2040
|
+
isEvery,
|
|
1995
2041
|
children: mapChildrenField,
|
|
1996
2042
|
mapChildren: childrenField
|
|
1997
2043
|
});
|
|
@@ -2050,7 +2096,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2050
2096
|
// 还原虚拟树
|
|
2051
2097
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
|
|
2052
2098
|
original: true,
|
|
2053
|
-
isEvery
|
|
2099
|
+
isEvery,
|
|
2054
2100
|
children: treeOpts.mapChildrenField,
|
|
2055
2101
|
mapChildren: childrenField
|
|
2056
2102
|
});
|
|
@@ -2066,7 +2112,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2066
2112
|
};
|
|
2067
2113
|
const updateStyle = () => {
|
|
2068
2114
|
const {
|
|
2069
|
-
border,
|
|
2070
2115
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
2071
2116
|
showFooterOverflow: allColumnFooterOverflow,
|
|
2072
2117
|
mouseConfig,
|
|
@@ -2091,7 +2136,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2091
2136
|
} = reactData;
|
|
2092
2137
|
const {
|
|
2093
2138
|
visibleColumn,
|
|
2094
|
-
fullColumnIdData,
|
|
2095
2139
|
tableHeight,
|
|
2096
2140
|
headerHeight,
|
|
2097
2141
|
footerHeight,
|
|
@@ -2108,7 +2152,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2108
2152
|
const osbWidth = overflowY ? scrollbarWidth : 0;
|
|
2109
2153
|
const osbHeight = overflowX ? scrollbarHeight : 0;
|
|
2110
2154
|
const emptyPlaceholderElem = refEmptyPlaceholder.value;
|
|
2111
|
-
const cellOffsetWidth = computeCellOffsetWidth.value;
|
|
2112
2155
|
const mouseOpts = computeMouseOpts.value;
|
|
2113
2156
|
const expandOpts = computeExpandOpts.value;
|
|
2114
2157
|
const bodyWrapperElem = (0, _util.getRefElem)(elemStore['main-body-wrapper']);
|
|
@@ -2247,36 +2290,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2247
2290
|
if (tableElem) {
|
|
2248
2291
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2249
2292
|
}
|
|
2250
|
-
const listElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-list`]);
|
|
2251
|
-
if (isGroup && listElem) {
|
|
2252
|
-
_xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), thElem => {
|
|
2253
|
-
const colNode = $xeTable.getColumnNode(thElem);
|
|
2254
|
-
if (colNode) {
|
|
2255
|
-
const column = colNode.item;
|
|
2256
|
-
const {
|
|
2257
|
-
showHeaderOverflow
|
|
2258
|
-
} = column;
|
|
2259
|
-
const cellOverflow = _xeUtils.default.isBoolean(showHeaderOverflow) ? showHeaderOverflow : allColumnHeaderOverflow;
|
|
2260
|
-
const showEllipsis = cellOverflow === 'ellipsis';
|
|
2261
|
-
const showTitle = cellOverflow === 'title';
|
|
2262
|
-
const showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
|
|
2263
|
-
const hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
2264
|
-
let childWidth = 0;
|
|
2265
|
-
let countChild = 0;
|
|
2266
|
-
if (hasEllipsis) {
|
|
2267
|
-
_xeUtils.default.eachTree(column.children, item => {
|
|
2268
|
-
if (!item.children || !column.children.length) {
|
|
2269
|
-
countChild++;
|
|
2270
|
-
}
|
|
2271
|
-
childWidth += item.renderWidth;
|
|
2272
|
-
}, {
|
|
2273
|
-
children: 'children'
|
|
2274
|
-
});
|
|
2275
|
-
}
|
|
2276
|
-
thElem.style.width = hasEllipsis ? `${childWidth - countChild - (border ? 2 : 0)}px` : '';
|
|
2277
|
-
}
|
|
2278
|
-
});
|
|
2279
|
-
}
|
|
2280
2293
|
} else if (layout === 'body') {
|
|
2281
2294
|
if (currScrollElem) {
|
|
2282
2295
|
currScrollElem.style.maxHeight = customMaxHeight ? `${bodyMaxHeight}px` : '';
|
|
@@ -2370,58 +2383,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2370
2383
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2371
2384
|
}
|
|
2372
2385
|
}
|
|
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
2386
|
});
|
|
2426
2387
|
});
|
|
2427
2388
|
if (currentRow) {
|
|
@@ -2467,7 +2428,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2467
2428
|
order
|
|
2468
2429
|
} = item;
|
|
2469
2430
|
if (field && order) {
|
|
2470
|
-
const column =
|
|
2431
|
+
const column = $xeTable.getColumnByField(field);
|
|
2471
2432
|
if (column && column.sortable) {
|
|
2472
2433
|
column.order = order;
|
|
2473
2434
|
column.sortTime = Date.now() + index;
|
|
@@ -2475,7 +2436,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2475
2436
|
}
|
|
2476
2437
|
});
|
|
2477
2438
|
if (!sortOpts.remote) {
|
|
2478
|
-
|
|
2439
|
+
$xeTable.handleTableData(true).then(updateStyle);
|
|
2479
2440
|
}
|
|
2480
2441
|
}
|
|
2481
2442
|
}
|
|
@@ -2556,7 +2517,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2556
2517
|
expandRowKeys
|
|
2557
2518
|
} = expandOpts;
|
|
2558
2519
|
if (expandAll) {
|
|
2559
|
-
|
|
2520
|
+
$xeTable.setAllRowExpand(true);
|
|
2560
2521
|
} else if (expandRowKeys) {
|
|
2561
2522
|
const defExpandeds = [];
|
|
2562
2523
|
expandRowKeys.forEach(rowid => {
|
|
@@ -2564,7 +2525,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2564
2525
|
defExpandeds.push(fullDataRowIdData[rowid].row);
|
|
2565
2526
|
}
|
|
2566
2527
|
});
|
|
2567
|
-
|
|
2528
|
+
$xeTable.setRowExpand(defExpandeds, true);
|
|
2568
2529
|
}
|
|
2569
2530
|
}
|
|
2570
2531
|
};
|
|
@@ -2613,12 +2574,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2613
2574
|
const {
|
|
2614
2575
|
treeConfig
|
|
2615
2576
|
} = props;
|
|
2616
|
-
const {
|
|
2617
|
-
selectCheckboxMaps
|
|
2618
|
-
} = reactData;
|
|
2619
2577
|
const {
|
|
2620
2578
|
afterFullData,
|
|
2621
|
-
checkboxReserveRowMap
|
|
2579
|
+
checkboxReserveRowMap,
|
|
2580
|
+
selectCheckboxMaps
|
|
2622
2581
|
} = internalData;
|
|
2623
2582
|
const treeOpts = computeTreeOpts.value;
|
|
2624
2583
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -2628,6 +2587,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2628
2587
|
reserve,
|
|
2629
2588
|
checkMethod
|
|
2630
2589
|
} = checkboxOpts;
|
|
2590
|
+
const {
|
|
2591
|
+
handleGetRowId
|
|
2592
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
2631
2593
|
// indeterminateField 仅支持读取
|
|
2632
2594
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
2633
2595
|
const selectRowMaps = {};
|
|
@@ -2641,7 +2603,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2641
2603
|
row
|
|
2642
2604
|
})) {
|
|
2643
2605
|
if (checked) {
|
|
2644
|
-
selectRowMaps[(
|
|
2606
|
+
selectRowMaps[handleGetRowId(row)] = row;
|
|
2645
2607
|
}
|
|
2646
2608
|
_xeUtils.default.set(row, checkField, checked);
|
|
2647
2609
|
}
|
|
@@ -2673,7 +2635,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2673
2635
|
if (isForce || !checkMethod || checkMethod({
|
|
2674
2636
|
row
|
|
2675
2637
|
})) {
|
|
2676
|
-
|
|
2638
|
+
const rowid = handleGetRowId(row);
|
|
2639
|
+
selectRowMaps[rowid] = row;
|
|
2677
2640
|
}
|
|
2678
2641
|
}, {
|
|
2679
2642
|
children: childrenField
|
|
@@ -2685,7 +2648,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2685
2648
|
*/
|
|
2686
2649
|
if (!isForce && checkMethod) {
|
|
2687
2650
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
2688
|
-
const rowid = (
|
|
2651
|
+
const rowid = handleGetRowId(row);
|
|
2689
2652
|
if (checkMethod({
|
|
2690
2653
|
row
|
|
2691
2654
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -2705,7 +2668,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2705
2668
|
*/
|
|
2706
2669
|
if (!isForce && checkMethod) {
|
|
2707
2670
|
afterFullData.forEach(row => {
|
|
2708
|
-
const rowid = (
|
|
2671
|
+
const rowid = handleGetRowId(row);
|
|
2709
2672
|
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
2710
2673
|
row
|
|
2711
2674
|
})) {
|
|
@@ -2714,7 +2677,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2714
2677
|
});
|
|
2715
2678
|
} else {
|
|
2716
2679
|
afterFullData.forEach(row => {
|
|
2717
|
-
|
|
2680
|
+
const rowid = handleGetRowId(row);
|
|
2681
|
+
selectRowMaps[rowid] = row;
|
|
2718
2682
|
});
|
|
2719
2683
|
}
|
|
2720
2684
|
} else {
|
|
@@ -2725,7 +2689,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2725
2689
|
*/
|
|
2726
2690
|
if (!isForce && checkMethod) {
|
|
2727
2691
|
afterFullData.forEach(row => {
|
|
2728
|
-
const rowid = (
|
|
2692
|
+
const rowid = handleGetRowId(row);
|
|
2729
2693
|
if (checkMethod({
|
|
2730
2694
|
row
|
|
2731
2695
|
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
@@ -2745,10 +2709,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2745
2709
|
afterFullData.forEach(row => handleCheckboxReserveRow(row, false));
|
|
2746
2710
|
}
|
|
2747
2711
|
}
|
|
2748
|
-
reactData.
|
|
2712
|
+
reactData.updateCheckboxFlag++;
|
|
2713
|
+
internalData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
2749
2714
|
reactData.isAllSelected = checked;
|
|
2750
2715
|
reactData.isIndeterminate = false;
|
|
2751
|
-
reactData.treeIndeterminateMaps = {};
|
|
2752
2716
|
internalData.treeIndeterminateRowMaps = {};
|
|
2753
2717
|
$xeTable.checkSelectionStatus();
|
|
2754
2718
|
return (0, _vue.nextTick)();
|
|
@@ -2761,15 +2725,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2761
2725
|
const {
|
|
2762
2726
|
expandColumn,
|
|
2763
2727
|
currentRow,
|
|
2764
|
-
|
|
2765
|
-
selectRadioRow,
|
|
2766
|
-
rowExpandedMaps,
|
|
2767
|
-
treeExpandedMaps
|
|
2728
|
+
selectRadioRow
|
|
2768
2729
|
} = reactData;
|
|
2769
2730
|
const {
|
|
2770
2731
|
fullDataRowIdData,
|
|
2771
2732
|
fullAllDataRowIdData,
|
|
2772
|
-
radioReserveRow
|
|
2733
|
+
radioReserveRow,
|
|
2734
|
+
selectCheckboxMaps,
|
|
2735
|
+
treeExpandedMaps,
|
|
2736
|
+
rowExpandedMaps
|
|
2773
2737
|
} = internalData;
|
|
2774
2738
|
const expandOpts = computeExpandOpts.value;
|
|
2775
2739
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -2787,7 +2751,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2787
2751
|
}
|
|
2788
2752
|
}
|
|
2789
2753
|
// 复选框
|
|
2790
|
-
|
|
2754
|
+
internalData.selectCheckboxMaps = getRecoverRowMaps(selectCheckboxMaps); // 刷新多选行状态
|
|
2755
|
+
reactData.updateCheckboxFlag++;
|
|
2791
2756
|
// 还原保留选中状态
|
|
2792
2757
|
if (checkboxOpts.reserve) {
|
|
2793
2758
|
handleCheckedCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true, true);
|
|
@@ -2796,13 +2761,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2796
2761
|
reactData.currentRow = null; // 刷新当前行状态
|
|
2797
2762
|
}
|
|
2798
2763
|
// 行展开
|
|
2799
|
-
|
|
2764
|
+
internalData.rowExpandedMaps = expandColumn ? getRecoverRowMaps(rowExpandedMaps) : {}; // 刷新行展开状态
|
|
2765
|
+
reactData.rowExpandedFlag++;
|
|
2800
2766
|
// 还原保留状态
|
|
2801
2767
|
if (expandColumn && expandOpts.reserve) {
|
|
2802
2768
|
$xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap), true);
|
|
2803
2769
|
}
|
|
2804
2770
|
// 树展开
|
|
2805
|
-
|
|
2771
|
+
internalData.treeExpandedMaps = treeConfig ? getRecoverRowMaps(treeExpandedMaps) : {}; // 刷新树展开状态
|
|
2772
|
+
reactData.treeExpandedFlag++;
|
|
2806
2773
|
if (treeConfig && treeOpts.reserve) {
|
|
2807
2774
|
$xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap), true);
|
|
2808
2775
|
}
|
|
@@ -2825,7 +2792,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2825
2792
|
} = treeOpts;
|
|
2826
2793
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2827
2794
|
if (expandAll) {
|
|
2828
|
-
|
|
2795
|
+
$xeTable.setAllTreeExpand(true);
|
|
2829
2796
|
} else if (expandRowKeys) {
|
|
2830
2797
|
const defExpandeds = [];
|
|
2831
2798
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
@@ -2837,7 +2804,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2837
2804
|
defExpandeds.push(matchObj.item);
|
|
2838
2805
|
}
|
|
2839
2806
|
});
|
|
2840
|
-
|
|
2807
|
+
$xeTable.setTreeExpand(defExpandeds, true);
|
|
2841
2808
|
}
|
|
2842
2809
|
}
|
|
2843
2810
|
};
|
|
@@ -2854,10 +2821,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2854
2821
|
return new Promise(resolve => {
|
|
2855
2822
|
if (loadMethod) {
|
|
2856
2823
|
const {
|
|
2824
|
+
fullAllDataRowIdData,
|
|
2857
2825
|
treeExpandLazyLoadedMaps
|
|
2858
|
-
} = reactData;
|
|
2859
|
-
const {
|
|
2860
|
-
fullAllDataRowIdData
|
|
2861
2826
|
} = internalData;
|
|
2862
2827
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2863
2828
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
@@ -2876,20 +2841,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2876
2841
|
childRecords = [];
|
|
2877
2842
|
}
|
|
2878
2843
|
if (childRecords) {
|
|
2879
|
-
return
|
|
2844
|
+
return $xeTable.loadTreeChildren(row, childRecords).then(childRows => {
|
|
2880
2845
|
const {
|
|
2881
2846
|
treeExpandedMaps
|
|
2882
|
-
} =
|
|
2847
|
+
} = internalData;
|
|
2883
2848
|
if (childRows.length && !treeExpandedMaps[rowid]) {
|
|
2884
2849
|
treeExpandedMaps[rowid] = row;
|
|
2885
2850
|
}
|
|
2851
|
+
reactData.treeExpandedFlag++;
|
|
2886
2852
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
2887
|
-
if (!checkStrictly &&
|
|
2853
|
+
if (!checkStrictly && $xeTable.isCheckedByCheckboxRow(row)) {
|
|
2888
2854
|
handleCheckedCheckboxRow(childRows, true);
|
|
2889
2855
|
}
|
|
2890
2856
|
return (0, _vue.nextTick)().then(() => {
|
|
2891
2857
|
if (transform) {
|
|
2892
|
-
|
|
2858
|
+
$xeTable.handleTableData();
|
|
2893
2859
|
updateAfterDataIndex();
|
|
2894
2860
|
return (0, _vue.nextTick)();
|
|
2895
2861
|
}
|
|
@@ -2899,7 +2865,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2899
2865
|
}).catch(() => {
|
|
2900
2866
|
const {
|
|
2901
2867
|
treeExpandLazyLoadedMaps
|
|
2902
|
-
} =
|
|
2868
|
+
} = internalData;
|
|
2903
2869
|
if (rowRest) {
|
|
2904
2870
|
rowRest.treeLoaded = false;
|
|
2905
2871
|
}
|
|
@@ -2907,7 +2873,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2907
2873
|
delete treeExpandLazyLoadedMaps[rowid];
|
|
2908
2874
|
}
|
|
2909
2875
|
}).finally(() => {
|
|
2910
|
-
|
|
2876
|
+
reactData.treeExpandedFlag++;
|
|
2877
|
+
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => resolve());
|
|
2911
2878
|
});
|
|
2912
2879
|
} else {
|
|
2913
2880
|
resolve();
|
|
@@ -2936,35 +2903,38 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2936
2903
|
} = expandOpts;
|
|
2937
2904
|
if (loadMethod) {
|
|
2938
2905
|
const {
|
|
2939
|
-
fullAllDataRowIdData
|
|
2906
|
+
fullAllDataRowIdData,
|
|
2907
|
+
rowExpandLazyLoadedMaps
|
|
2940
2908
|
} = internalData;
|
|
2941
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
2942
2909
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2943
2910
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2944
|
-
|
|
2945
|
-
reactData.rowExpandLazyLoadedMaps = rExpandLazyLoadedMaps;
|
|
2911
|
+
rowExpandLazyLoadedMaps[rowid] = row;
|
|
2946
2912
|
loadMethod({
|
|
2947
2913
|
$table: $xeTable,
|
|
2948
2914
|
row,
|
|
2949
|
-
rowIndex:
|
|
2950
|
-
$rowIndex:
|
|
2915
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
2916
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
2951
2917
|
}).then(() => {
|
|
2952
|
-
const
|
|
2918
|
+
const {
|
|
2919
|
+
rowExpandedMaps
|
|
2920
|
+
} = internalData;
|
|
2953
2921
|
if (rowRest) {
|
|
2954
2922
|
rowRest.expandLoaded = true;
|
|
2955
2923
|
}
|
|
2956
|
-
|
|
2957
|
-
reactData.
|
|
2924
|
+
rowExpandedMaps[rowid] = row;
|
|
2925
|
+
reactData.rowExpandedFlag++;
|
|
2958
2926
|
}).catch(() => {
|
|
2959
2927
|
if (rowRest) {
|
|
2960
2928
|
rowRest.expandLoaded = false;
|
|
2961
2929
|
}
|
|
2962
2930
|
}).finally(() => {
|
|
2963
|
-
const
|
|
2964
|
-
|
|
2965
|
-
|
|
2931
|
+
const {
|
|
2932
|
+
rowExpandLazyLoadedMaps
|
|
2933
|
+
} = internalData;
|
|
2934
|
+
if (rowExpandLazyLoadedMaps[rowid]) {
|
|
2935
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
2966
2936
|
}
|
|
2967
|
-
reactData.
|
|
2937
|
+
reactData.rowExpandedFlag++;
|
|
2968
2938
|
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => $xeTable.updateCellAreas()).then(() => resolve());
|
|
2969
2939
|
});
|
|
2970
2940
|
} else {
|
|
@@ -2991,7 +2961,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2991
2961
|
mergeCells
|
|
2992
2962
|
} = props;
|
|
2993
2963
|
if (mergeCells) {
|
|
2994
|
-
|
|
2964
|
+
$xeTable.setMergeCells(mergeCells);
|
|
2995
2965
|
}
|
|
2996
2966
|
};
|
|
2997
2967
|
const handleDefaultMergeFooterItems = () => {
|
|
@@ -2999,7 +2969,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2999
2969
|
mergeFooterItems
|
|
3000
2970
|
} = props;
|
|
3001
2971
|
if (mergeFooterItems) {
|
|
3002
|
-
|
|
2972
|
+
$xeTable.setMergeFooterItems(mergeFooterItems);
|
|
3003
2973
|
}
|
|
3004
2974
|
};
|
|
3005
2975
|
// 计算可视渲染相关数据
|
|
@@ -3078,9 +3048,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3078
3048
|
calcCellWidth();
|
|
3079
3049
|
autoCellWidth();
|
|
3080
3050
|
updateStyle();
|
|
3081
|
-
if (reFull) {
|
|
3082
|
-
updateRowOffsetTop();
|
|
3083
|
-
}
|
|
3084
3051
|
updateRowExpandStyle();
|
|
3085
3052
|
return computeScrollLoad().then(() => {
|
|
3086
3053
|
if (reFull === true) {
|
|
@@ -3106,7 +3073,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3106
3073
|
treeConfig
|
|
3107
3074
|
} = props;
|
|
3108
3075
|
const {
|
|
3109
|
-
editStore,
|
|
3110
3076
|
scrollYLoad: oldScrollYLoad
|
|
3111
3077
|
} = reactData;
|
|
3112
3078
|
const {
|
|
@@ -3122,6 +3088,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3122
3088
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3123
3089
|
let treeData = [];
|
|
3124
3090
|
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); // 转为响应式数据
|
|
3091
|
+
if (fullData.length > supportMaxRow) {
|
|
3092
|
+
(0, _log.errLog)('vxe.error.errMaxRow', [supportMaxRow]);
|
|
3093
|
+
}
|
|
3125
3094
|
if (treeConfig) {
|
|
3126
3095
|
if (transform) {
|
|
3127
3096
|
// 树结构自动转换
|
|
@@ -3162,8 +3131,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3162
3131
|
scrollXStore.endIndex = 1;
|
|
3163
3132
|
reactData.isRowLoading = true;
|
|
3164
3133
|
reactData.scrollVMLoading = false;
|
|
3165
|
-
|
|
3166
|
-
|
|
3134
|
+
internalData.insertRowMaps = {};
|
|
3135
|
+
internalData.removeRowMaps = {};
|
|
3167
3136
|
const sYLoad = updateScrollYStatus(fullData);
|
|
3168
3137
|
reactData.isDragColMove = false;
|
|
3169
3138
|
reactData.isDragRowMove = false;
|
|
@@ -3185,10 +3154,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3185
3154
|
$xeTable.clearCellAreas();
|
|
3186
3155
|
$xeTable.clearCopyCellArea();
|
|
3187
3156
|
}
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3157
|
+
$xeTable.clearMergeCells();
|
|
3158
|
+
$xeTable.clearMergeFooterItems();
|
|
3159
|
+
$xeTable.handleTableData(true);
|
|
3160
|
+
$xeTable.updateFooter();
|
|
3192
3161
|
return (0, _vue.nextTick)().then(() => {
|
|
3193
3162
|
updateHeight();
|
|
3194
3163
|
updateStyle();
|
|
@@ -3219,18 +3188,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3219
3188
|
}
|
|
3220
3189
|
}
|
|
3221
3190
|
handleReserveStatus();
|
|
3222
|
-
|
|
3191
|
+
$xeTable.checkSelectionStatus();
|
|
3223
3192
|
return new Promise(resolve => {
|
|
3224
|
-
(0, _vue.nextTick)().then(() =>
|
|
3193
|
+
(0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => {
|
|
3225
3194
|
let targetScrollLeft = lastScrollLeft;
|
|
3226
3195
|
let targetScrollTop = lastScrollTop;
|
|
3227
|
-
const
|
|
3228
|
-
const
|
|
3196
|
+
const virtualXOpts = computeVirtualXOpts.value;
|
|
3197
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
3229
3198
|
// 是否在更新数据之后自动滚动重置滚动条
|
|
3230
|
-
if (
|
|
3199
|
+
if (virtualXOpts.scrollToLeftOnChange) {
|
|
3231
3200
|
targetScrollLeft = 0;
|
|
3232
3201
|
}
|
|
3233
|
-
if (
|
|
3202
|
+
if (virtualYOpts.scrollToTopOnChange) {
|
|
3234
3203
|
targetScrollTop = 0;
|
|
3235
3204
|
}
|
|
3236
3205
|
reactData.isRowLoading = false;
|
|
@@ -3263,7 +3232,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3263
3232
|
handleDefaultTreeExpand();
|
|
3264
3233
|
handleDefaultMergeCells();
|
|
3265
3234
|
handleDefaultMergeFooterItems();
|
|
3266
|
-
(0, _vue.nextTick)(() => setTimeout(() =>
|
|
3235
|
+
(0, _vue.nextTick)(() => setTimeout(() => $xeTable.recalculate()));
|
|
3267
3236
|
};
|
|
3268
3237
|
/**
|
|
3269
3238
|
* 处理初始化的默认行为
|
|
@@ -3346,10 +3315,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3346
3315
|
return result;
|
|
3347
3316
|
};
|
|
3348
3317
|
const parseColumns = isReset => {
|
|
3349
|
-
const {
|
|
3350
|
-
|
|
3351
|
-
} = props;
|
|
3352
|
-
const rowOpts = computeRowOpts.value;
|
|
3318
|
+
// const { showOverflow } = props
|
|
3319
|
+
// const rowOpts = computeRowOpts.value
|
|
3353
3320
|
const leftList = [];
|
|
3354
3321
|
const centerList = [];
|
|
3355
3322
|
const rightList = [];
|
|
@@ -3357,7 +3324,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3357
3324
|
isGroup,
|
|
3358
3325
|
columnStore
|
|
3359
3326
|
} = reactData;
|
|
3360
|
-
const
|
|
3327
|
+
const virtualXOpts = computeVirtualXOpts.value;
|
|
3361
3328
|
const {
|
|
3362
3329
|
collectColumn,
|
|
3363
3330
|
tableFullColumn,
|
|
@@ -3418,7 +3385,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3418
3385
|
}
|
|
3419
3386
|
const visibleColumn = leftList.concat(centerList).concat(rightList);
|
|
3420
3387
|
// 如果gt为0,则总是启用
|
|
3421
|
-
const scrollXLoad = !!
|
|
3388
|
+
const scrollXLoad = !!virtualXOpts.enabled && virtualXOpts.gt > -1 && (virtualXOpts.gt === 0 || virtualXOpts.gt < tableFullColumn.length);
|
|
3422
3389
|
reactData.hasFixedColumn = leftList.length > 0 || rightList.length > 0;
|
|
3423
3390
|
Object.assign(columnStore, {
|
|
3424
3391
|
leftList,
|
|
@@ -3426,28 +3393,28 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3426
3393
|
rightList
|
|
3427
3394
|
});
|
|
3428
3395
|
if (scrollXLoad) {
|
|
3429
|
-
if (showOverflow) {
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3396
|
+
// if (showOverflow) {
|
|
3397
|
+
// if (!rowOpts.height) {
|
|
3398
|
+
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
3399
|
+
// if (errColumn) {
|
|
3400
|
+
// errLog('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true'])
|
|
3401
|
+
// }
|
|
3402
|
+
// }
|
|
3403
|
+
// }
|
|
3404
|
+
// if (process.env.NODE_ENV === 'development') {
|
|
3405
|
+
// if (props.showHeader && !props.showHeaderOverflow) {
|
|
3406
|
+
// warnLog('vxe.error.reqProp', ['show-header-overflow'])
|
|
3407
|
+
// }
|
|
3408
|
+
// if (props.showFooter && !props.showFooterOverflow) {
|
|
3409
|
+
// warnLog('vxe.error.reqProp', ['show-footer-overflow'])
|
|
3410
|
+
// }
|
|
3411
|
+
if (props.spanMethod) {
|
|
3412
|
+
(0, _log.warnLog)('vxe.error.scrollErrProp', ['span-method']);
|
|
3436
3413
|
}
|
|
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
|
-
}
|
|
3414
|
+
if (props.footerSpanMethod) {
|
|
3415
|
+
(0, _log.warnLog)('vxe.error.scrollErrProp', ['footer-span-method']);
|
|
3450
3416
|
}
|
|
3417
|
+
// }
|
|
3451
3418
|
if (isReset) {
|
|
3452
3419
|
const {
|
|
3453
3420
|
visibleSize
|
|
@@ -3541,14 +3508,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3541
3508
|
const {
|
|
3542
3509
|
treeConfig
|
|
3543
3510
|
} = props;
|
|
3544
|
-
const
|
|
3511
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
3545
3512
|
const treeOpts = computeTreeOpts.value;
|
|
3546
3513
|
const {
|
|
3547
3514
|
transform
|
|
3548
3515
|
} = treeOpts;
|
|
3549
3516
|
const allList = fullData || internalData.tableFullData;
|
|
3550
3517
|
// 如果gt为0,则总是启用
|
|
3551
|
-
const scrollYLoad = (transform || !treeConfig) && !!
|
|
3518
|
+
const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
|
|
3552
3519
|
reactData.scrollYLoad = scrollYLoad;
|
|
3553
3520
|
return scrollYLoad;
|
|
3554
3521
|
};
|
|
@@ -3560,14 +3527,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3560
3527
|
*/
|
|
3561
3528
|
const handleBaseTreeExpand = (rows, expanded) => {
|
|
3562
3529
|
const {
|
|
3563
|
-
treeExpandedMaps,
|
|
3564
|
-
treeExpandLazyLoadedMaps,
|
|
3565
3530
|
treeNodeColumn
|
|
3566
3531
|
} = reactData;
|
|
3567
|
-
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
3568
3532
|
const {
|
|
3569
3533
|
fullAllDataRowIdData,
|
|
3570
|
-
tableFullData
|
|
3534
|
+
tableFullData,
|
|
3535
|
+
treeExpandedMaps,
|
|
3536
|
+
treeExpandLazyLoadedMaps
|
|
3571
3537
|
} = internalData;
|
|
3572
3538
|
const treeOpts = computeTreeOpts.value;
|
|
3573
3539
|
const {
|
|
@@ -3581,6 +3547,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3581
3547
|
const result = [];
|
|
3582
3548
|
const columnIndex = tableMethods.getColumnIndex(treeNodeColumn);
|
|
3583
3549
|
const $columnIndex = tableMethods.getVMColumnIndex(treeNodeColumn);
|
|
3550
|
+
const {
|
|
3551
|
+
handleGetRowId
|
|
3552
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3584
3553
|
let validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
3585
3554
|
$table: $xeTable,
|
|
3586
3555
|
expanded,
|
|
@@ -3597,17 +3566,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3597
3566
|
});
|
|
3598
3567
|
if (matchObj) {
|
|
3599
3568
|
matchObj.items.forEach(item => {
|
|
3600
|
-
const rowid = (
|
|
3601
|
-
if (
|
|
3602
|
-
delete
|
|
3569
|
+
const rowid = handleGetRowId(item);
|
|
3570
|
+
if (treeExpandedMaps[rowid]) {
|
|
3571
|
+
delete treeExpandedMaps[rowid];
|
|
3603
3572
|
}
|
|
3604
3573
|
});
|
|
3605
3574
|
}
|
|
3606
3575
|
}
|
|
3607
3576
|
if (expanded) {
|
|
3608
3577
|
validRows.forEach(row => {
|
|
3609
|
-
const rowid = (
|
|
3610
|
-
if (!
|
|
3578
|
+
const rowid = handleGetRowId(row);
|
|
3579
|
+
if (!treeExpandedMaps[rowid]) {
|
|
3611
3580
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3612
3581
|
if (rowRest) {
|
|
3613
3582
|
const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
|
|
@@ -3616,7 +3585,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3616
3585
|
result.push(handleAsyncTreeExpandChilds(row));
|
|
3617
3586
|
} else {
|
|
3618
3587
|
if (row[childrenField] && row[childrenField].length) {
|
|
3619
|
-
|
|
3588
|
+
treeExpandedMaps[rowid] = row;
|
|
3620
3589
|
}
|
|
3621
3590
|
}
|
|
3622
3591
|
}
|
|
@@ -3624,16 +3593,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3624
3593
|
});
|
|
3625
3594
|
} else {
|
|
3626
3595
|
validRows.forEach(item => {
|
|
3627
|
-
const rowid = (
|
|
3628
|
-
if (
|
|
3629
|
-
delete
|
|
3596
|
+
const rowid = handleGetRowId(item);
|
|
3597
|
+
if (treeExpandedMaps[rowid]) {
|
|
3598
|
+
delete treeExpandedMaps[rowid];
|
|
3630
3599
|
}
|
|
3631
3600
|
});
|
|
3632
3601
|
}
|
|
3633
3602
|
if (reserve) {
|
|
3634
3603
|
validRows.forEach(row => handleTreeExpandReserve(row, expanded));
|
|
3635
3604
|
}
|
|
3636
|
-
reactData.
|
|
3605
|
+
reactData.treeExpandedFlag++;
|
|
3637
3606
|
return Promise.all(result).then(() => {
|
|
3638
3607
|
return tableMethods.recalculate();
|
|
3639
3608
|
});
|
|
@@ -3662,9 +3631,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3662
3631
|
handleCheckedAllCheckboxRow(value);
|
|
3663
3632
|
if (evnt) {
|
|
3664
3633
|
dispatchEvent('checkbox-all', {
|
|
3665
|
-
records: $xeTable.getCheckboxRecords(),
|
|
3666
|
-
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
3667
|
-
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
3634
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
3635
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
3636
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
3668
3637
|
checked: value
|
|
3669
3638
|
}, evnt);
|
|
3670
3639
|
}
|
|
@@ -3712,12 +3681,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3712
3681
|
}
|
|
3713
3682
|
};
|
|
3714
3683
|
const createGetRowCacheProp = prop => {
|
|
3684
|
+
const {
|
|
3685
|
+
handleGetRowId
|
|
3686
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3715
3687
|
return function (row) {
|
|
3716
3688
|
const {
|
|
3717
3689
|
fullAllDataRowIdData
|
|
3718
3690
|
} = internalData;
|
|
3719
3691
|
if (row) {
|
|
3720
|
-
const rowid = (
|
|
3692
|
+
const rowid = handleGetRowId(row);
|
|
3721
3693
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
3722
3694
|
if (rowRest) {
|
|
3723
3695
|
return rowRest[prop];
|
|
@@ -3887,7 +3859,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3887
3859
|
};
|
|
3888
3860
|
const handleUpdateColResize = (evnt, params) => {
|
|
3889
3861
|
$xeTable.analyColumnWidth();
|
|
3890
|
-
$xeTable.recalculate(
|
|
3862
|
+
$xeTable.recalculate().then(() => {
|
|
3891
3863
|
$xeTable.saveCustomStore('update:width');
|
|
3892
3864
|
$xeTable.updateCellAreas();
|
|
3893
3865
|
$xeTable.dispatchEvent('column-resizable-change', params, evnt);
|
|
@@ -3898,7 +3870,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3898
3870
|
};
|
|
3899
3871
|
const handleUpdateRowResize = (evnt, params) => {
|
|
3900
3872
|
reactData.resizeHeightFlag++;
|
|
3901
|
-
$xeTable.recalculate(
|
|
3873
|
+
$xeTable.recalculate().then(() => {
|
|
3902
3874
|
$xeTable.updateCellAreas();
|
|
3903
3875
|
$xeTable.dispatchEvent('row-resizable-change', params, evnt);
|
|
3904
3876
|
setTimeout(() => $xeTable.recalculate(true), 300);
|
|
@@ -3920,21 +3892,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3920
3892
|
};
|
|
3921
3893
|
const updateRowOffsetTop = () => {
|
|
3922
3894
|
const {
|
|
3923
|
-
expandColumn
|
|
3924
|
-
rowExpandedMaps
|
|
3895
|
+
expandColumn
|
|
3925
3896
|
} = reactData;
|
|
3926
3897
|
const {
|
|
3927
3898
|
afterFullData,
|
|
3928
|
-
fullAllDataRowIdData
|
|
3899
|
+
fullAllDataRowIdData,
|
|
3900
|
+
rowExpandedMaps
|
|
3929
3901
|
} = internalData;
|
|
3930
3902
|
const expandOpts = computeExpandOpts.value;
|
|
3931
3903
|
const rowOpts = computeRowOpts.value;
|
|
3932
3904
|
const cellOpts = computeCellOpts.value;
|
|
3933
3905
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
3906
|
+
const {
|
|
3907
|
+
handleGetRowId
|
|
3908
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
3934
3909
|
let offsetTop = 0;
|
|
3935
3910
|
for (let rIndex = 0, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
3936
3911
|
const row = afterFullData[rIndex];
|
|
3937
|
-
const rowid = (
|
|
3912
|
+
const rowid = handleGetRowId(row);
|
|
3938
3913
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
3939
3914
|
rowRest.oTop = offsetTop;
|
|
3940
3915
|
offsetTop += rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
@@ -4368,22 +4343,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4368
4343
|
keepSource,
|
|
4369
4344
|
treeConfig
|
|
4370
4345
|
} = props;
|
|
4371
|
-
const {
|
|
4372
|
-
editStore
|
|
4373
|
-
} = reactData;
|
|
4374
4346
|
const {
|
|
4375
4347
|
fullAllDataRowIdData,
|
|
4376
4348
|
fullDataRowIdData,
|
|
4377
4349
|
tableSourceData,
|
|
4378
4350
|
sourceDataRowIdData,
|
|
4379
4351
|
tableFullData,
|
|
4380
|
-
afterFullData
|
|
4352
|
+
afterFullData,
|
|
4353
|
+
removeRowMaps
|
|
4381
4354
|
} = internalData;
|
|
4382
|
-
const removeTempMaps = Object.assign({}, editStore.removeMaps);
|
|
4383
4355
|
const treeOpts = computeTreeOpts.value;
|
|
4384
4356
|
const {
|
|
4385
4357
|
transform
|
|
4386
4358
|
} = treeOpts;
|
|
4359
|
+
const {
|
|
4360
|
+
handleGetRowId
|
|
4361
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
4387
4362
|
if (!keepSource) {
|
|
4388
4363
|
if (process.env.NODE_ENV === 'development') {
|
|
4389
4364
|
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
@@ -4401,7 +4376,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4401
4376
|
let reDelFlag = false;
|
|
4402
4377
|
if (targetRows.length) {
|
|
4403
4378
|
targetRows.forEach(item => {
|
|
4404
|
-
const rowid = (
|
|
4379
|
+
const rowid = handleGetRowId(item);
|
|
4405
4380
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
4406
4381
|
if (rowRest) {
|
|
4407
4382
|
const row = rowRest.row;
|
|
@@ -4414,7 +4389,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4414
4389
|
_xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
|
|
4415
4390
|
}
|
|
4416
4391
|
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
4417
|
-
|
|
4392
|
+
if (removeRowMaps[rowid]) {
|
|
4393
|
+
delete removeRowMaps[rowid];
|
|
4394
|
+
}
|
|
4418
4395
|
tableFullData.unshift(row);
|
|
4419
4396
|
afterFullData.unshift(row);
|
|
4420
4397
|
reDelFlag = true;
|
|
@@ -4426,7 +4403,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4426
4403
|
}
|
|
4427
4404
|
if (rows) {
|
|
4428
4405
|
if (reDelFlag) {
|
|
4429
|
-
|
|
4406
|
+
reactData.removeRowFlag++;
|
|
4430
4407
|
$xeTable.updateFooter();
|
|
4431
4408
|
$xeTable.cacheRowMap(false);
|
|
4432
4409
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -4570,28 +4547,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4570
4547
|
* @param {Row} row 行对象
|
|
4571
4548
|
*/
|
|
4572
4549
|
isInsertByRow(row) {
|
|
4573
|
-
const {
|
|
4574
|
-
editStore
|
|
4575
|
-
} = reactData;
|
|
4576
4550
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4577
|
-
return !!
|
|
4551
|
+
return !!reactData.insertRowFlag && !!internalData.insertRowMaps[rowid];
|
|
4578
4552
|
},
|
|
4579
4553
|
isRemoveByRow(row) {
|
|
4580
|
-
const {
|
|
4581
|
-
editStore
|
|
4582
|
-
} = reactData;
|
|
4583
4554
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4584
|
-
return !!
|
|
4555
|
+
return !!reactData.removeRowFlag && !!internalData.removeRowMaps[rowid];
|
|
4585
4556
|
},
|
|
4586
4557
|
/**
|
|
4587
4558
|
* 删除所有新增的临时数据
|
|
4588
4559
|
* @returns
|
|
4589
4560
|
*/
|
|
4590
4561
|
removeInsertRow() {
|
|
4591
|
-
|
|
4592
|
-
editStore
|
|
4593
|
-
} = reactData;
|
|
4594
|
-
editStore.insertMaps = {};
|
|
4562
|
+
internalData.insertRowMaps = {};
|
|
4595
4563
|
return $xeTable.remove($xeTable.getInsertRecords());
|
|
4596
4564
|
},
|
|
4597
4565
|
/**
|
|
@@ -4636,8 +4604,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4636
4604
|
* @param {Number} columnIndex 索引
|
|
4637
4605
|
*/
|
|
4638
4606
|
getColumns(columnIndex) {
|
|
4639
|
-
const
|
|
4640
|
-
|
|
4607
|
+
const {
|
|
4608
|
+
visibleColumn
|
|
4609
|
+
} = internalData;
|
|
4610
|
+
return _xeUtils.default.isUndefined(columnIndex) ? visibleColumn.slice(0) : visibleColumn[columnIndex];
|
|
4641
4611
|
},
|
|
4642
4612
|
/**
|
|
4643
4613
|
* 根据列获取列的唯一主键
|
|
@@ -4651,7 +4621,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4651
4621
|
* @param {String} colid 列主键
|
|
4652
4622
|
*/
|
|
4653
4623
|
getColumnById(colid) {
|
|
4654
|
-
const
|
|
4624
|
+
const {
|
|
4625
|
+
fullColumnIdData
|
|
4626
|
+
} = internalData;
|
|
4655
4627
|
return colid && fullColumnIdData[colid] ? fullColumnIdData[colid].column : null;
|
|
4656
4628
|
},
|
|
4657
4629
|
/**
|
|
@@ -4663,7 +4635,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4663
4635
|
return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
|
|
4664
4636
|
},
|
|
4665
4637
|
getParentColumn(fieldOrColumn) {
|
|
4666
|
-
const
|
|
4638
|
+
const {
|
|
4639
|
+
fullColumnIdData
|
|
4640
|
+
} = internalData;
|
|
4667
4641
|
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
4668
4642
|
return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null;
|
|
4669
4643
|
},
|
|
@@ -4804,16 +4778,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4804
4778
|
const {
|
|
4805
4779
|
treeConfig
|
|
4806
4780
|
} = props;
|
|
4807
|
-
const {
|
|
4808
|
-
selectCheckboxMaps
|
|
4809
|
-
} = reactData;
|
|
4810
4781
|
const {
|
|
4811
4782
|
tableFullData,
|
|
4812
4783
|
afterFullData,
|
|
4813
4784
|
afterTreeFullData,
|
|
4814
4785
|
tableFullTreeData,
|
|
4815
4786
|
fullDataRowIdData,
|
|
4816
|
-
afterFullRowMaps
|
|
4787
|
+
afterFullRowMaps,
|
|
4788
|
+
selectCheckboxMaps
|
|
4817
4789
|
} = internalData;
|
|
4818
4790
|
const treeOpts = computeTreeOpts.value;
|
|
4819
4791
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -5189,12 +5161,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5189
5161
|
fullAllDataRowIdData,
|
|
5190
5162
|
afterFullData
|
|
5191
5163
|
} = internalData;
|
|
5164
|
+
const {
|
|
5165
|
+
handleGetRowId
|
|
5166
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5192
5167
|
const rowOpts = computeRowOpts.value;
|
|
5193
5168
|
const cellOpts = computeCellOpts.value;
|
|
5194
5169
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
5195
5170
|
const rest = {};
|
|
5196
5171
|
afterFullData.forEach(row => {
|
|
5197
|
-
const rowid = (
|
|
5172
|
+
const rowid = handleGetRowId(row);
|
|
5198
5173
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5199
5174
|
if (rowRest) {
|
|
5200
5175
|
const resizeHeight = rowRest.resizeHeight;
|
|
@@ -5220,8 +5195,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5220
5195
|
rHeight = Math.floor(rHeight * bodyHeight);
|
|
5221
5196
|
}
|
|
5222
5197
|
if (rHeight) {
|
|
5198
|
+
const {
|
|
5199
|
+
handleGetRowId
|
|
5200
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5223
5201
|
rows.forEach(row => {
|
|
5224
|
-
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : (
|
|
5202
|
+
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
5225
5203
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5226
5204
|
if (rowRest) {
|
|
5227
5205
|
rowRest.resizeHeight = rHeight;
|
|
@@ -5384,15 +5362,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5384
5362
|
treeConfig
|
|
5385
5363
|
} = props;
|
|
5386
5364
|
const {
|
|
5387
|
-
fullDataRowIdData
|
|
5365
|
+
fullDataRowIdData,
|
|
5366
|
+
treeIndeterminateRowMaps
|
|
5388
5367
|
} = internalData;
|
|
5389
|
-
const {
|
|
5390
|
-
treeIndeterminateMaps
|
|
5391
|
-
} = reactData;
|
|
5392
5368
|
if (treeConfig) {
|
|
5393
5369
|
const fullRest = [];
|
|
5394
5370
|
const defRest = [];
|
|
5395
|
-
_xeUtils.default.each(
|
|
5371
|
+
_xeUtils.default.each(treeIndeterminateRowMaps, (item, rowid) => {
|
|
5396
5372
|
if (item) {
|
|
5397
5373
|
fullRest.push(item);
|
|
5398
5374
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -5436,8 +5412,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5436
5412
|
},
|
|
5437
5413
|
isCheckedByCheckboxRow(row) {
|
|
5438
5414
|
const {
|
|
5439
|
-
|
|
5415
|
+
updateCheckboxFlag
|
|
5440
5416
|
} = reactData;
|
|
5417
|
+
const {
|
|
5418
|
+
selectCheckboxMaps
|
|
5419
|
+
} = internalData;
|
|
5441
5420
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5442
5421
|
const {
|
|
5443
5422
|
checkField
|
|
@@ -5445,14 +5424,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5445
5424
|
if (checkField) {
|
|
5446
5425
|
return _xeUtils.default.get(row, checkField);
|
|
5447
5426
|
}
|
|
5448
|
-
return !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5427
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
5449
5428
|
},
|
|
5450
5429
|
isCheckedByCheckboxRowKey(rowid) {
|
|
5451
5430
|
const {
|
|
5452
|
-
|
|
5431
|
+
updateCheckboxFlag
|
|
5453
5432
|
} = reactData;
|
|
5454
5433
|
const {
|
|
5455
|
-
fullAllDataRowIdData
|
|
5434
|
+
fullAllDataRowIdData,
|
|
5435
|
+
selectCheckboxMaps
|
|
5456
5436
|
} = internalData;
|
|
5457
5437
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5458
5438
|
const {
|
|
@@ -5465,19 +5445,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5465
5445
|
}
|
|
5466
5446
|
return false;
|
|
5467
5447
|
}
|
|
5468
|
-
return !!selectCheckboxMaps[rowid];
|
|
5448
|
+
return !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
|
|
5469
5449
|
},
|
|
5470
5450
|
isIndeterminateByCheckboxRow(row) {
|
|
5471
5451
|
const {
|
|
5472
|
-
|
|
5473
|
-
} =
|
|
5474
|
-
return !!
|
|
5452
|
+
treeIndeterminateRowMaps
|
|
5453
|
+
} = internalData;
|
|
5454
|
+
return !!treeIndeterminateRowMaps[(0, _util.getRowid)($xeTable, row)] && !$xeTable.isCheckedByCheckboxRow(row);
|
|
5475
5455
|
},
|
|
5476
5456
|
isIndeterminateByCheckboxRowKey(rowid) {
|
|
5477
5457
|
const {
|
|
5478
|
-
|
|
5479
|
-
} =
|
|
5480
|
-
return !!
|
|
5458
|
+
treeIndeterminateRowMaps
|
|
5459
|
+
} = internalData;
|
|
5460
|
+
return !!treeIndeterminateRowMaps[rowid] && !$xeTable.isCheckedByCheckboxRowKey(rowid);
|
|
5481
5461
|
},
|
|
5482
5462
|
/**
|
|
5483
5463
|
* 多选,切换某一行的选中状态
|
|
@@ -5485,7 +5465,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5485
5465
|
toggleCheckboxRow(row) {
|
|
5486
5466
|
const {
|
|
5487
5467
|
selectCheckboxMaps
|
|
5488
|
-
} =
|
|
5468
|
+
} = internalData;
|
|
5489
5469
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
5490
5470
|
const {
|
|
5491
5471
|
checkField
|
|
@@ -5562,16 +5542,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5562
5542
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5563
5543
|
const reserveSelection = [];
|
|
5564
5544
|
if (checkboxOpts.reserve) {
|
|
5545
|
+
const {
|
|
5546
|
+
handleGetRowId
|
|
5547
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5565
5548
|
const afterFullIdMaps = {};
|
|
5566
5549
|
if (treeConfig) {
|
|
5567
5550
|
_xeUtils.default.eachTree(afterFullData, row => {
|
|
5568
|
-
afterFullIdMaps[(
|
|
5551
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5569
5552
|
}, {
|
|
5570
5553
|
children: childrenField
|
|
5571
5554
|
});
|
|
5572
5555
|
} else {
|
|
5573
5556
|
afterFullData.forEach(row => {
|
|
5574
|
-
afterFullIdMaps[(
|
|
5557
|
+
afterFullIdMaps[handleGetRowId(row)] = 1;
|
|
5575
5558
|
});
|
|
5576
5559
|
}
|
|
5577
5560
|
_xeUtils.default.each(checkboxReserveRowMap, (oldRow, oldRowid) => {
|
|
@@ -5641,8 +5624,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5641
5624
|
}
|
|
5642
5625
|
reactData.isAllSelected = false;
|
|
5643
5626
|
reactData.isIndeterminate = false;
|
|
5644
|
-
|
|
5645
|
-
|
|
5627
|
+
internalData.selectCheckboxMaps = {};
|
|
5628
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
5629
|
+
reactData.updateCheckboxFlag++;
|
|
5646
5630
|
return (0, _vue.nextTick)();
|
|
5647
5631
|
},
|
|
5648
5632
|
/**
|
|
@@ -5760,13 +5744,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5760
5744
|
* 用于当前列,设置某列行为高亮状态
|
|
5761
5745
|
*/
|
|
5762
5746
|
setCurrentColumn(fieldOrColumn) {
|
|
5747
|
+
const {
|
|
5748
|
+
mouseConfig
|
|
5749
|
+
} = props;
|
|
5750
|
+
const mouseOpts = computeMouseOpts.value;
|
|
5751
|
+
const isMouseSelected = mouseConfig && mouseOpts.selected;
|
|
5763
5752
|
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
5764
5753
|
if (column) {
|
|
5765
|
-
|
|
5766
|
-
tableMethods.clearCurrentColumn();
|
|
5754
|
+
$xeTable.clearCurrentColumn();
|
|
5767
5755
|
reactData.currentColumn = column;
|
|
5768
5756
|
}
|
|
5769
|
-
return (0, _vue.nextTick)()
|
|
5757
|
+
return (0, _vue.nextTick)().then(() => {
|
|
5758
|
+
// 更新状选中态
|
|
5759
|
+
if (isMouseSelected) {
|
|
5760
|
+
$xeTable.addCellSelectedClass();
|
|
5761
|
+
}
|
|
5762
|
+
});
|
|
5770
5763
|
},
|
|
5771
5764
|
/**
|
|
5772
5765
|
* 用于当前列,手动清空当前高亮的状态
|
|
@@ -5776,44 +5769,54 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5776
5769
|
return (0, _vue.nextTick)();
|
|
5777
5770
|
},
|
|
5778
5771
|
setPendingRow(rows, status) {
|
|
5779
|
-
const
|
|
5772
|
+
const {
|
|
5773
|
+
handleGetRowId
|
|
5774
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5775
|
+
const {
|
|
5776
|
+
pendingRowMaps
|
|
5777
|
+
} = internalData;
|
|
5780
5778
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5781
5779
|
rows = [rows];
|
|
5782
5780
|
}
|
|
5783
5781
|
if (status) {
|
|
5784
5782
|
rows.forEach(row => {
|
|
5785
|
-
const rowid = (
|
|
5786
|
-
if (rowid && !
|
|
5787
|
-
|
|
5783
|
+
const rowid = handleGetRowId(row);
|
|
5784
|
+
if (rowid && !pendingRowMaps[rowid]) {
|
|
5785
|
+
pendingRowMaps[rowid] = row;
|
|
5788
5786
|
}
|
|
5789
5787
|
});
|
|
5790
5788
|
} else {
|
|
5791
5789
|
rows.forEach(row => {
|
|
5792
|
-
const rowid = (
|
|
5793
|
-
if (rowid &&
|
|
5794
|
-
delete
|
|
5790
|
+
const rowid = handleGetRowId(row);
|
|
5791
|
+
if (rowid && pendingRowMaps[rowid]) {
|
|
5792
|
+
delete pendingRowMaps[rowid];
|
|
5795
5793
|
}
|
|
5796
5794
|
});
|
|
5797
5795
|
}
|
|
5798
|
-
reactData.
|
|
5796
|
+
reactData.pendingRowFlag++;
|
|
5799
5797
|
return (0, _vue.nextTick)();
|
|
5800
5798
|
},
|
|
5801
5799
|
togglePendingRow(rows) {
|
|
5802
|
-
const
|
|
5800
|
+
const {
|
|
5801
|
+
handleGetRowId
|
|
5802
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
5803
|
+
const {
|
|
5804
|
+
pendingRowMaps
|
|
5805
|
+
} = internalData;
|
|
5803
5806
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5804
5807
|
rows = [rows];
|
|
5805
5808
|
}
|
|
5806
5809
|
rows.forEach(row => {
|
|
5807
|
-
const rowid = (
|
|
5810
|
+
const rowid = handleGetRowId(row);
|
|
5808
5811
|
if (rowid) {
|
|
5809
|
-
if (
|
|
5810
|
-
delete
|
|
5812
|
+
if (pendingRowMaps[rowid]) {
|
|
5813
|
+
delete pendingRowMaps[rowid];
|
|
5811
5814
|
} else {
|
|
5812
|
-
|
|
5815
|
+
pendingRowMaps[rowid] = row;
|
|
5813
5816
|
}
|
|
5814
5817
|
}
|
|
5815
5818
|
});
|
|
5816
|
-
reactData.
|
|
5819
|
+
reactData.pendingRowFlag++;
|
|
5817
5820
|
return (0, _vue.nextTick)();
|
|
5818
5821
|
},
|
|
5819
5822
|
hasPendingByRow(row) {
|
|
@@ -5822,16 +5825,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5822
5825
|
isPendingByRow(row) {
|
|
5823
5826
|
const {
|
|
5824
5827
|
pendingRowMaps
|
|
5825
|
-
} =
|
|
5828
|
+
} = internalData;
|
|
5826
5829
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
5827
5830
|
return !!pendingRowMaps[rowid];
|
|
5828
5831
|
},
|
|
5829
5832
|
getPendingRecords() {
|
|
5830
5833
|
const {
|
|
5834
|
+
fullAllDataRowIdData,
|
|
5831
5835
|
pendingRowMaps
|
|
5832
|
-
} = reactData;
|
|
5833
|
-
const {
|
|
5834
|
-
fullAllDataRowIdData
|
|
5835
5836
|
} = internalData;
|
|
5836
5837
|
const insertRecords = [];
|
|
5837
5838
|
_xeUtils.default.each(pendingRowMaps, (row, rowid) => {
|
|
@@ -5842,7 +5843,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5842
5843
|
return insertRecords;
|
|
5843
5844
|
},
|
|
5844
5845
|
clearPendingRow() {
|
|
5845
|
-
|
|
5846
|
+
internalData.pendingRowMaps = {};
|
|
5847
|
+
reactData.pendingRowFlag++;
|
|
5846
5848
|
return (0, _vue.nextTick)();
|
|
5847
5849
|
},
|
|
5848
5850
|
sort(sortConfs, sortOrder) {
|
|
@@ -6028,7 +6030,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6028
6030
|
column,
|
|
6029
6031
|
property: column.field,
|
|
6030
6032
|
field: column.field,
|
|
6031
|
-
filterList: $xeTable.getCheckedFilters(),
|
|
6033
|
+
filterList: () => $xeTable.getCheckedFilters(),
|
|
6032
6034
|
visible: false
|
|
6033
6035
|
}, null);
|
|
6034
6036
|
}
|
|
@@ -6060,9 +6062,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6060
6062
|
return rowRest && !!rowRest.expandLoaded;
|
|
6061
6063
|
},
|
|
6062
6064
|
clearRowExpandLoaded(row) {
|
|
6063
|
-
const rExpandLazyLoadedMaps = Object.assign({}, reactData.rowExpandLazyLoadedMaps);
|
|
6064
6065
|
const {
|
|
6065
|
-
fullAllDataRowIdData
|
|
6066
|
+
fullAllDataRowIdData,
|
|
6067
|
+
rowExpandLazyLoadedMaps
|
|
6066
6068
|
} = internalData;
|
|
6067
6069
|
const expandOpts = computeExpandOpts.value;
|
|
6068
6070
|
const {
|
|
@@ -6072,9 +6074,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6072
6074
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6073
6075
|
if (lazy && rowRest) {
|
|
6074
6076
|
rowRest.expandLoaded = false;
|
|
6075
|
-
delete
|
|
6077
|
+
delete rowExpandLazyLoadedMaps[rowid];
|
|
6076
6078
|
}
|
|
6077
|
-
reactData.
|
|
6079
|
+
reactData.rowExpandedFlag++;
|
|
6078
6080
|
return (0, _vue.nextTick)();
|
|
6079
6081
|
},
|
|
6080
6082
|
/**
|
|
@@ -6084,14 +6086,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6084
6086
|
reloadRowExpand(row) {
|
|
6085
6087
|
const {
|
|
6086
6088
|
rowExpandLazyLoadedMaps
|
|
6087
|
-
} =
|
|
6089
|
+
} = internalData;
|
|
6088
6090
|
const expandOpts = computeExpandOpts.value;
|
|
6089
6091
|
const {
|
|
6090
6092
|
lazy
|
|
6091
6093
|
} = expandOpts;
|
|
6092
6094
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6093
6095
|
if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
|
|
6094
|
-
|
|
6096
|
+
$xeTable.clearRowExpandLoaded(row).then(() => handleAsyncRowExpand(row));
|
|
6095
6097
|
}
|
|
6096
6098
|
return (0, _vue.nextTick)();
|
|
6097
6099
|
},
|
|
@@ -6100,13 +6102,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6100
6102
|
(0, _log.warnLog)('vxe.error.delFunc', ['reloadExpandContent', 'reloadRowExpand']);
|
|
6101
6103
|
}
|
|
6102
6104
|
// 即将废弃
|
|
6103
|
-
return
|
|
6105
|
+
return $xeTable.reloadRowExpand(row);
|
|
6104
6106
|
},
|
|
6105
6107
|
/**
|
|
6106
6108
|
* 切换展开行
|
|
6107
6109
|
*/
|
|
6108
6110
|
toggleRowExpand(row) {
|
|
6109
|
-
return
|
|
6111
|
+
return $xeTable.setRowExpand(row, !$xeTable.isRowExpandByRow(row));
|
|
6110
6112
|
},
|
|
6111
6113
|
/**
|
|
6112
6114
|
* 设置所有行的展开与否
|
|
@@ -6140,14 +6142,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6140
6142
|
*/
|
|
6141
6143
|
setRowExpand(rows, expanded) {
|
|
6142
6144
|
const {
|
|
6143
|
-
rowExpandedMaps,
|
|
6144
|
-
rowExpandLazyLoadedMaps,
|
|
6145
6145
|
expandColumn
|
|
6146
6146
|
} = reactData;
|
|
6147
|
-
|
|
6148
|
-
fullAllDataRowIdData
|
|
6147
|
+
let {
|
|
6148
|
+
fullAllDataRowIdData,
|
|
6149
|
+
rowExpandedMaps,
|
|
6150
|
+
rowExpandLazyLoadedMaps
|
|
6149
6151
|
} = internalData;
|
|
6150
|
-
|
|
6152
|
+
const {
|
|
6153
|
+
handleGetRowId
|
|
6154
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
6151
6155
|
const expandOpts = computeExpandOpts.value;
|
|
6152
6156
|
const {
|
|
6153
6157
|
reserve,
|
|
@@ -6164,7 +6168,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6164
6168
|
}
|
|
6165
6169
|
if (accordion) {
|
|
6166
6170
|
// 只能同时展开一个
|
|
6167
|
-
|
|
6171
|
+
rowExpandedMaps = {};
|
|
6172
|
+
internalData.rowExpandedMaps = rowExpandedMaps;
|
|
6168
6173
|
rows = rows.slice(rows.length - 1, rows.length);
|
|
6169
6174
|
}
|
|
6170
6175
|
const validRows = toggleMethod ? rows.filter(row => toggleMethod({
|
|
@@ -6179,22 +6184,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6179
6184
|
})) : rows;
|
|
6180
6185
|
if (expanded) {
|
|
6181
6186
|
validRows.forEach(row => {
|
|
6182
|
-
const rowid = (
|
|
6183
|
-
if (!
|
|
6187
|
+
const rowid = handleGetRowId(row);
|
|
6188
|
+
if (!rowExpandedMaps[rowid]) {
|
|
6184
6189
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6185
6190
|
const isLoad = lazy && !rowRest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
|
|
6186
6191
|
if (isLoad) {
|
|
6187
6192
|
lazyRests.push(handleAsyncRowExpand(row));
|
|
6188
6193
|
} else {
|
|
6189
|
-
|
|
6194
|
+
rowExpandedMaps[rowid] = row;
|
|
6190
6195
|
}
|
|
6191
6196
|
}
|
|
6192
6197
|
});
|
|
6193
6198
|
} else {
|
|
6194
6199
|
validRows.forEach(item => {
|
|
6195
|
-
const rowid = (
|
|
6196
|
-
if (
|
|
6197
|
-
delete
|
|
6200
|
+
const rowid = handleGetRowId(item);
|
|
6201
|
+
if (rowExpandedMaps[rowid]) {
|
|
6202
|
+
delete rowExpandedMaps[rowid];
|
|
6198
6203
|
}
|
|
6199
6204
|
});
|
|
6200
6205
|
}
|
|
@@ -6202,7 +6207,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6202
6207
|
validRows.forEach(row => handleRowExpandReserve(row, expanded));
|
|
6203
6208
|
}
|
|
6204
6209
|
}
|
|
6205
|
-
reactData.
|
|
6210
|
+
reactData.rowExpandedFlag++;
|
|
6206
6211
|
return Promise.all(lazyRests).then(() => (0, _vue.nextTick)()).then(() => $xeTable.recalculate(true)).then(() => {
|
|
6207
6212
|
updateRowOffsetTop();
|
|
6208
6213
|
updateRowExpandStyle();
|
|
@@ -6216,10 +6221,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6216
6221
|
*/
|
|
6217
6222
|
isRowExpandByRow(row) {
|
|
6218
6223
|
const {
|
|
6219
|
-
|
|
6224
|
+
rowExpandedFlag
|
|
6220
6225
|
} = reactData;
|
|
6226
|
+
const {
|
|
6227
|
+
rowExpandedMaps
|
|
6228
|
+
} = internalData;
|
|
6221
6229
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
6222
|
-
return !!rowExpandedMaps[rowid];
|
|
6230
|
+
return !!rowExpandedFlag && !!rowExpandedMaps[rowid];
|
|
6223
6231
|
},
|
|
6224
6232
|
isExpandByRow(row) {
|
|
6225
6233
|
// 已废弃
|
|
@@ -6240,7 +6248,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6240
6248
|
reserve
|
|
6241
6249
|
} = expandOpts;
|
|
6242
6250
|
const expList = $xeTable.getRowExpandRecords();
|
|
6243
|
-
|
|
6251
|
+
internalData.rowExpandedMaps = {};
|
|
6252
|
+
reactData.rowExpandedFlag++;
|
|
6244
6253
|
if (reserve) {
|
|
6245
6254
|
tableFullData.forEach(row => handleRowExpandReserve(row, false));
|
|
6246
6255
|
}
|
|
@@ -6261,7 +6270,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6261
6270
|
},
|
|
6262
6271
|
getRowExpandRecords() {
|
|
6263
6272
|
const rest = [];
|
|
6264
|
-
_xeUtils.default.each(
|
|
6273
|
+
_xeUtils.default.each(internalData.rowExpandedMaps, item => {
|
|
6265
6274
|
if (item) {
|
|
6266
6275
|
rest.push(item);
|
|
6267
6276
|
}
|
|
@@ -6270,7 +6279,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6270
6279
|
},
|
|
6271
6280
|
getTreeExpandRecords() {
|
|
6272
6281
|
const rest = [];
|
|
6273
|
-
_xeUtils.default.each(
|
|
6282
|
+
_xeUtils.default.each(internalData.treeExpandedMaps, item => {
|
|
6274
6283
|
if (item) {
|
|
6275
6284
|
rest.push(item);
|
|
6276
6285
|
}
|
|
@@ -6290,15 +6299,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6290
6299
|
},
|
|
6291
6300
|
clearTreeExpandLoaded(rows) {
|
|
6292
6301
|
const {
|
|
6293
|
-
fullAllDataRowIdData
|
|
6302
|
+
fullAllDataRowIdData,
|
|
6303
|
+
treeExpandedMaps
|
|
6294
6304
|
} = internalData;
|
|
6295
6305
|
const treeOpts = computeTreeOpts.value;
|
|
6296
6306
|
const {
|
|
6297
6307
|
transform
|
|
6298
6308
|
} = treeOpts;
|
|
6299
|
-
let tExpandedMaps = {};
|
|
6300
6309
|
if (rows) {
|
|
6301
|
-
tExpandedMaps = Object.assign({}, reactData.treeExpandedMaps);
|
|
6302
6310
|
if (!_xeUtils.default.isArray(rows)) {
|
|
6303
6311
|
rows = [rows];
|
|
6304
6312
|
}
|
|
@@ -6307,8 +6315,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6307
6315
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6308
6316
|
if (rowRest) {
|
|
6309
6317
|
rowRest.treeLoaded = false;
|
|
6310
|
-
if (
|
|
6311
|
-
delete
|
|
6318
|
+
if (treeExpandedMaps[rowid]) {
|
|
6319
|
+
delete treeExpandedMaps[rowid];
|
|
6312
6320
|
}
|
|
6313
6321
|
}
|
|
6314
6322
|
});
|
|
@@ -6317,7 +6325,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6317
6325
|
rowRest.treeLoaded = false;
|
|
6318
6326
|
});
|
|
6319
6327
|
}
|
|
6320
|
-
|
|
6328
|
+
internalData.treeExpandedMaps = {};
|
|
6329
|
+
reactData.treeExpandedFlag++;
|
|
6321
6330
|
if (transform) {
|
|
6322
6331
|
handleVirtualTreeToList();
|
|
6323
6332
|
return $xeTable.handleTableData();
|
|
@@ -6331,7 +6340,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6331
6340
|
reloadTreeExpand(row) {
|
|
6332
6341
|
const {
|
|
6333
6342
|
treeExpandLazyLoadedMaps
|
|
6334
|
-
} =
|
|
6343
|
+
} = internalData;
|
|
6335
6344
|
const treeOpts = computeTreeOpts.value;
|
|
6336
6345
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
6337
6346
|
const {
|
|
@@ -6429,9 +6438,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6429
6438
|
*/
|
|
6430
6439
|
isTreeExpandByRow(row) {
|
|
6431
6440
|
const {
|
|
6432
|
-
|
|
6441
|
+
treeExpandedFlag
|
|
6433
6442
|
} = reactData;
|
|
6434
|
-
|
|
6443
|
+
const {
|
|
6444
|
+
treeExpandedMaps
|
|
6445
|
+
} = internalData;
|
|
6446
|
+
return !!treeExpandedFlag && !!treeExpandedMaps[(0, _util.getRowid)($xeTable, row)];
|
|
6435
6447
|
},
|
|
6436
6448
|
/**
|
|
6437
6449
|
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
@@ -6446,21 +6458,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6446
6458
|
transform,
|
|
6447
6459
|
reserve
|
|
6448
6460
|
} = treeOpts;
|
|
6449
|
-
const expList =
|
|
6450
|
-
|
|
6461
|
+
const expList = $xeTable.getTreeExpandRecords();
|
|
6462
|
+
internalData.treeExpandedMaps = {};
|
|
6463
|
+
reactData.treeExpandedFlag++;
|
|
6451
6464
|
if (reserve) {
|
|
6452
6465
|
_xeUtils.default.eachTree(tableFullTreeData, row => handleTreeExpandReserve(row, false), {
|
|
6453
6466
|
children: childrenField
|
|
6454
6467
|
});
|
|
6455
6468
|
}
|
|
6456
|
-
return
|
|
6469
|
+
return $xeTable.handleTableData().then(() => {
|
|
6457
6470
|
if (transform) {
|
|
6458
6471
|
handleVirtualTreeToList();
|
|
6459
|
-
return
|
|
6472
|
+
return $xeTable.handleTableData();
|
|
6460
6473
|
}
|
|
6461
6474
|
}).then(() => {
|
|
6462
6475
|
if (expList.length) {
|
|
6463
|
-
return
|
|
6476
|
+
return $xeTable.recalculate();
|
|
6464
6477
|
}
|
|
6465
6478
|
});
|
|
6466
6479
|
},
|
|
@@ -6751,8 +6764,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6751
6764
|
collectColumn
|
|
6752
6765
|
} = internalData;
|
|
6753
6766
|
const {
|
|
6767
|
+
storage,
|
|
6754
6768
|
checkMethod
|
|
6755
6769
|
} = customOpts;
|
|
6770
|
+
const isAllCustom = storage === true;
|
|
6771
|
+
const storageOpts = isAllCustom ? {} : Object.assign({}, storage || {});
|
|
6772
|
+
const isCustomResizable = isAllCustom || storageOpts.resizable;
|
|
6773
|
+
const isCustomVisible = isAllCustom || storageOpts.visible;
|
|
6774
|
+
const isCustomFixed = isAllCustom || storageOpts.fixed;
|
|
6775
|
+
const isCustomSort = isAllCustom || storageOpts.sort;
|
|
6756
6776
|
const resizableData = {};
|
|
6757
6777
|
const sortData = {};
|
|
6758
6778
|
const visibleData = {};
|
|
@@ -6772,45 +6792,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6772
6792
|
let hasFixed = 0;
|
|
6773
6793
|
let hasVisible = 0;
|
|
6774
6794
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
6795
|
+
const colKey = column.getKey();
|
|
6796
|
+
if (!colKey) {
|
|
6797
|
+
(0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || column.type || ''} -> column.field=?`]);
|
|
6798
|
+
return;
|
|
6799
|
+
}
|
|
6775
6800
|
// 只支持一级
|
|
6776
6801
|
if (!parentColumn) {
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
hasSort = 1;
|
|
6781
|
-
sortData[colKey] = column.renderSortNumber;
|
|
6782
|
-
}
|
|
6783
|
-
});
|
|
6784
|
-
if (column.fixed !== column.defaultFixed) {
|
|
6785
|
-
const colKey = column.getKey();
|
|
6786
|
-
if (colKey) {
|
|
6787
|
-
hasFixed = 1;
|
|
6788
|
-
fixedData[colKey] = column.fixed;
|
|
6789
|
-
}
|
|
6802
|
+
if (isCustomSort) {
|
|
6803
|
+
hasSort = 1;
|
|
6804
|
+
sortData[colKey] = column.renderSortNumber;
|
|
6790
6805
|
}
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
if (colKey) {
|
|
6795
|
-
hasResizable = 1;
|
|
6796
|
-
resizableData[colKey] = column.renderWidth;
|
|
6806
|
+
if (isCustomFixed && column.fixed !== column.defaultFixed) {
|
|
6807
|
+
hasFixed = 1;
|
|
6808
|
+
fixedData[colKey] = column.fixed;
|
|
6797
6809
|
}
|
|
6798
6810
|
}
|
|
6799
|
-
if (
|
|
6811
|
+
if (isCustomResizable && column.resizeWidth) {
|
|
6812
|
+
hasResizable = 1;
|
|
6813
|
+
resizableData[colKey] = column.renderWidth;
|
|
6814
|
+
}
|
|
6815
|
+
if (isCustomVisible && (!checkMethod || checkMethod({
|
|
6800
6816
|
column
|
|
6801
|
-
})) {
|
|
6817
|
+
}))) {
|
|
6802
6818
|
if (!column.visible && column.defaultVisible) {
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
hasVisible = 1;
|
|
6806
|
-
visibleData[colKey] = false;
|
|
6807
|
-
}
|
|
6819
|
+
hasVisible = 1;
|
|
6820
|
+
visibleData[colKey] = false;
|
|
6808
6821
|
} else if (column.visible && !column.defaultVisible) {
|
|
6809
|
-
|
|
6810
|
-
|
|
6811
|
-
hasVisible = 1;
|
|
6812
|
-
visibleData[colKey] = true;
|
|
6813
|
-
}
|
|
6822
|
+
hasVisible = 1;
|
|
6823
|
+
visibleData[colKey] = true;
|
|
6814
6824
|
}
|
|
6815
6825
|
}
|
|
6816
6826
|
});
|
|
@@ -7195,7 +7205,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7195
7205
|
if (keyboardOpts.enterToTab) {
|
|
7196
7206
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
7197
7207
|
} else {
|
|
7198
|
-
$xeTable.
|
|
7208
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
|
|
7199
7209
|
}
|
|
7200
7210
|
} else {
|
|
7201
7211
|
if (keyboardOpts.enterToTab) {
|
|
@@ -7231,7 +7241,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7231
7241
|
return;
|
|
7232
7242
|
}
|
|
7233
7243
|
}
|
|
7234
|
-
$xeTable.
|
|
7244
|
+
$xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
|
|
7235
7245
|
if (enterMethod) {
|
|
7236
7246
|
enterMethod(etrParams);
|
|
7237
7247
|
}
|
|
@@ -7258,10 +7268,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7258
7268
|
if (!isEditStatus) {
|
|
7259
7269
|
// 如果按下了方向键
|
|
7260
7270
|
if (selected.row && selected.column) {
|
|
7261
|
-
$xeTable.
|
|
7262
|
-
} else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
7263
|
-
// 当前行按键上下移动
|
|
7264
|
-
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
7271
|
+
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
7265
7272
|
}
|
|
7266
7273
|
}
|
|
7267
7274
|
} else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
@@ -7686,8 +7693,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7686
7693
|
* @param {Event} evnt 事件
|
|
7687
7694
|
* @param {Row} row 行对象
|
|
7688
7695
|
*/
|
|
7689
|
-
const handleTooltip = (evnt, tdEl, overflowElem,
|
|
7690
|
-
|
|
7696
|
+
const handleTooltip = (evnt, tdEl, overflowElem, params) => {
|
|
7697
|
+
const tipOverEl = overflowElem || tdEl;
|
|
7698
|
+
if (!tipOverEl) {
|
|
7691
7699
|
return (0, _vue.nextTick)();
|
|
7692
7700
|
}
|
|
7693
7701
|
params.cell = tdEl;
|
|
@@ -7705,9 +7713,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7705
7713
|
} = tooltipOpts;
|
|
7706
7714
|
const customContent = contentMethod ? contentMethod(params) : null;
|
|
7707
7715
|
const useCustom = contentMethod && !_xeUtils.default.eqNull(customContent);
|
|
7708
|
-
const content = useCustom ? customContent : _xeUtils.default.toString(column.type === 'html' ?
|
|
7709
|
-
|
|
7710
|
-
if (content && (showAll || useCustom || isCellOverflow)) {
|
|
7716
|
+
const content = useCustom ? customContent : _xeUtils.default.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
|
|
7717
|
+
if (content && (showAll || useCustom || tipOverEl.scrollWidth > tipOverEl.clientWidth)) {
|
|
7711
7718
|
Object.assign(tooltipStore, {
|
|
7712
7719
|
row,
|
|
7713
7720
|
column,
|
|
@@ -7717,7 +7724,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7717
7724
|
(0, _vue.nextTick)(() => {
|
|
7718
7725
|
const $tooltip = refTooltip.value;
|
|
7719
7726
|
if ($tooltip && $tooltip.open) {
|
|
7720
|
-
$tooltip.open(
|
|
7727
|
+
$tooltip.open(tipOverEl, (0, _utils.formatText)(content));
|
|
7721
7728
|
}
|
|
7722
7729
|
});
|
|
7723
7730
|
}
|
|
@@ -7875,13 +7882,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7875
7882
|
const {
|
|
7876
7883
|
treeConfig
|
|
7877
7884
|
} = props;
|
|
7878
|
-
const {
|
|
7879
|
-
treeExpandedMaps
|
|
7880
|
-
} = reactData;
|
|
7881
7885
|
const {
|
|
7882
7886
|
fullAllDataRowIdData,
|
|
7883
7887
|
tableFullData,
|
|
7884
|
-
tableFullTreeData
|
|
7888
|
+
tableFullTreeData,
|
|
7889
|
+
treeExpandedMaps
|
|
7885
7890
|
} = internalData;
|
|
7886
7891
|
const treeOpts = computeTreeOpts.value;
|
|
7887
7892
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -7889,12 +7894,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7889
7894
|
const {
|
|
7890
7895
|
lazy
|
|
7891
7896
|
} = treeOpts;
|
|
7892
|
-
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
7893
|
-
const isDeepKey = rowkey.indexOf('.') > -1;
|
|
7894
7897
|
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7895
7898
|
const fullDataRowIdMaps = {};
|
|
7896
|
-
const
|
|
7897
|
-
|
|
7899
|
+
const {
|
|
7900
|
+
handleUpdateRowId
|
|
7901
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
7898
7902
|
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
7899
7903
|
let rowRest = fullAllDataRowIdMaps[rowid];
|
|
7900
7904
|
if (!rowRest) {
|
|
@@ -7930,15 +7934,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7930
7934
|
};
|
|
7931
7935
|
if (treeConfig) {
|
|
7932
7936
|
_xeUtils.default.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
7933
|
-
const rowid =
|
|
7937
|
+
const rowid = handleUpdateRowId(row);
|
|
7934
7938
|
if (treeConfig && lazy) {
|
|
7935
|
-
const treeExpRest = treeTempExpandedMaps[rowid];
|
|
7936
7939
|
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
7937
7940
|
row[childrenField] = null;
|
|
7938
7941
|
}
|
|
7939
|
-
if (
|
|
7942
|
+
if (treeExpandedMaps[rowid]) {
|
|
7940
7943
|
if (!row[childrenField] || !row[childrenField].length) {
|
|
7941
|
-
delete
|
|
7944
|
+
delete treeExpandedMaps[rowid];
|
|
7942
7945
|
}
|
|
7943
7946
|
}
|
|
7944
7947
|
}
|
|
@@ -7948,31 +7951,26 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7948
7951
|
});
|
|
7949
7952
|
} else {
|
|
7950
7953
|
tableFullData.forEach((row, index, items) => {
|
|
7951
|
-
handleRowCache(row, index, items, index, null,
|
|
7954
|
+
handleRowCache(row, index, items, index, null, handleUpdateRowId(row), 0, index + 1);
|
|
7952
7955
|
});
|
|
7953
7956
|
}
|
|
7954
7957
|
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7955
7958
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7956
|
-
reactData.
|
|
7959
|
+
reactData.treeExpandedFlag++;
|
|
7957
7960
|
},
|
|
7958
7961
|
cacheSourceMap(fullData) {
|
|
7959
7962
|
const {
|
|
7960
7963
|
treeConfig
|
|
7961
7964
|
} = props;
|
|
7962
7965
|
const treeOpts = computeTreeOpts.value;
|
|
7963
|
-
let {
|
|
7964
|
-
sourceDataRowIdData
|
|
7965
|
-
} = internalData;
|
|
7966
7966
|
const sourceData = _xeUtils.default.clone(fullData, true);
|
|
7967
|
-
const
|
|
7968
|
-
|
|
7967
|
+
const {
|
|
7968
|
+
handleUpdateRowId
|
|
7969
|
+
} = (0, _util.createHandleUpdateRowId)($xeTable);
|
|
7970
|
+
const sourceRowIdData = {};
|
|
7969
7971
|
const handleSourceRow = row => {
|
|
7970
|
-
|
|
7971
|
-
|
|
7972
|
-
rowid = (0, _util.getRowUniqueId)();
|
|
7973
|
-
_xeUtils.default.set(row, rowkey, rowid);
|
|
7974
|
-
}
|
|
7975
|
-
sourceDataRowIdData[rowid] = row;
|
|
7972
|
+
const rowid = handleUpdateRowId(row);
|
|
7973
|
+
sourceRowIdData[rowid] = row;
|
|
7976
7974
|
};
|
|
7977
7975
|
// 源数据缓存
|
|
7978
7976
|
if (treeConfig) {
|
|
@@ -7983,6 +7981,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7983
7981
|
} else {
|
|
7984
7982
|
sourceData.forEach(handleSourceRow);
|
|
7985
7983
|
}
|
|
7984
|
+
internalData.sourceDataRowIdData = sourceRowIdData;
|
|
7986
7985
|
internalData.tableSourceData = sourceData;
|
|
7987
7986
|
},
|
|
7988
7987
|
/**
|
|
@@ -8489,12 +8488,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8489
8488
|
}
|
|
8490
8489
|
}
|
|
8491
8490
|
// 兼容老版本
|
|
8492
|
-
let rest;
|
|
8493
|
-
|
|
8494
|
-
|
|
8495
|
-
|
|
8496
|
-
|
|
8497
|
-
|
|
8491
|
+
let rest = null;
|
|
8492
|
+
let isStop = false;
|
|
8493
|
+
for (let i = 0; i < evntList.length; i++) {
|
|
8494
|
+
const func = evntList[i];
|
|
8495
|
+
const fnRest = func(Object.assign({
|
|
8496
|
+
$grid: $xeGrid,
|
|
8497
|
+
$table: $xeTable,
|
|
8498
|
+
$event: evnt
|
|
8499
|
+
}, args));
|
|
8500
|
+
if (fnRest === false) {
|
|
8501
|
+
isStop = true;
|
|
8502
|
+
break;
|
|
8503
|
+
} else if (fnRest && fnRest.status === false) {
|
|
8504
|
+
rest = fnRest.result;
|
|
8505
|
+
isStop = true;
|
|
8506
|
+
break;
|
|
8507
|
+
}
|
|
8508
|
+
}
|
|
8509
|
+
if (!isStop) {
|
|
8498
8510
|
if (next) {
|
|
8499
8511
|
rest = next();
|
|
8500
8512
|
}
|
|
@@ -8510,10 +8522,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8510
8522
|
} = props;
|
|
8511
8523
|
const {
|
|
8512
8524
|
selectCheckboxMaps,
|
|
8513
|
-
|
|
8514
|
-
} =
|
|
8515
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8516
|
-
const halfRowMaps = Object.assign({}, treeIndeterminateMaps);
|
|
8525
|
+
treeIndeterminateRowMaps
|
|
8526
|
+
} = internalData;
|
|
8517
8527
|
const treeOpts = computeTreeOpts.value;
|
|
8518
8528
|
const {
|
|
8519
8529
|
transform,
|
|
@@ -8534,10 +8544,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8534
8544
|
}
|
|
8535
8545
|
// 树结构
|
|
8536
8546
|
if (treeConfig) {
|
|
8547
|
+
const {
|
|
8548
|
+
handleGetRowId
|
|
8549
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8537
8550
|
const childRowMaps = {};
|
|
8538
8551
|
const childRowList = [];
|
|
8539
8552
|
_xeUtils.default.eachTree(afterTreeFullData, row => {
|
|
8540
|
-
const rowid = (
|
|
8553
|
+
const rowid = handleGetRowId(row);
|
|
8541
8554
|
const childList = row[transform ? mapChildrenField : childrenField];
|
|
8542
8555
|
if (childList && childList.length && !childRowMaps[rowid]) {
|
|
8543
8556
|
childRowMaps[rowid] = 1;
|
|
@@ -8554,30 +8567,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8554
8567
|
let hLen = 0; // 半选
|
|
8555
8568
|
let vLen = 0; // 有效行
|
|
8556
8569
|
childList.forEach(checkMethod ? item => {
|
|
8557
|
-
const childRowid = (
|
|
8558
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8570
|
+
const childRowid = handleGetRowId(item);
|
|
8571
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8559
8572
|
if (checkMethod({
|
|
8560
8573
|
row: item
|
|
8561
8574
|
})) {
|
|
8562
8575
|
if (isSelect) {
|
|
8563
8576
|
sLen++;
|
|
8564
|
-
} else if (
|
|
8577
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8565
8578
|
hLen++;
|
|
8566
8579
|
}
|
|
8567
8580
|
vLen++;
|
|
8568
8581
|
} else {
|
|
8569
8582
|
if (isSelect) {
|
|
8570
8583
|
sLen++;
|
|
8571
|
-
} else if (
|
|
8584
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8572
8585
|
hLen++;
|
|
8573
8586
|
}
|
|
8574
8587
|
}
|
|
8575
8588
|
} : item => {
|
|
8576
|
-
const childRowid = (
|
|
8577
|
-
const isSelect = checkField ? _xeUtils.default.get(item, checkField) :
|
|
8589
|
+
const childRowid = handleGetRowId(item);
|
|
8590
|
+
const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
|
|
8578
8591
|
if (isSelect) {
|
|
8579
8592
|
sLen++;
|
|
8580
|
-
} else if (
|
|
8593
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8581
8594
|
hLen++;
|
|
8582
8595
|
}
|
|
8583
8596
|
vLen++;
|
|
@@ -8589,38 +8602,40 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8589
8602
|
}
|
|
8590
8603
|
if (isSelected) {
|
|
8591
8604
|
if (!checkField) {
|
|
8592
|
-
|
|
8605
|
+
selectCheckboxMaps[rowid] = row;
|
|
8593
8606
|
}
|
|
8594
|
-
if (
|
|
8595
|
-
delete
|
|
8607
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8608
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8596
8609
|
}
|
|
8597
8610
|
} else {
|
|
8598
8611
|
if (!checkField) {
|
|
8599
|
-
if (
|
|
8600
|
-
delete
|
|
8612
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8613
|
+
delete selectCheckboxMaps[rowid];
|
|
8601
8614
|
}
|
|
8602
8615
|
}
|
|
8603
8616
|
if (halfSelect) {
|
|
8604
|
-
|
|
8617
|
+
treeIndeterminateRowMaps[rowid] = row;
|
|
8605
8618
|
} else {
|
|
8606
|
-
if (
|
|
8607
|
-
delete
|
|
8619
|
+
if (treeIndeterminateRowMaps[rowid]) {
|
|
8620
|
+
delete treeIndeterminateRowMaps[rowid];
|
|
8608
8621
|
}
|
|
8609
8622
|
}
|
|
8610
8623
|
}
|
|
8611
8624
|
});
|
|
8612
8625
|
}
|
|
8613
|
-
reactData.
|
|
8614
|
-
reactData.treeIndeterminateMaps = halfRowMaps;
|
|
8626
|
+
reactData.updateCheckboxFlag++;
|
|
8615
8627
|
},
|
|
8616
8628
|
updateAllCheckboxStatus() {
|
|
8617
8629
|
const {
|
|
8618
8630
|
treeConfig
|
|
8619
8631
|
} = props;
|
|
8620
8632
|
const {
|
|
8633
|
+
afterFullData,
|
|
8634
|
+
afterTreeFullData,
|
|
8635
|
+
checkboxReserveRowMap,
|
|
8621
8636
|
selectCheckboxMaps,
|
|
8622
|
-
|
|
8623
|
-
} =
|
|
8637
|
+
treeIndeterminateRowMaps
|
|
8638
|
+
} = internalData;
|
|
8624
8639
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8625
8640
|
const {
|
|
8626
8641
|
checkField,
|
|
@@ -8628,39 +8643,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8628
8643
|
showReserveStatus
|
|
8629
8644
|
} = checkboxOpts;
|
|
8630
8645
|
const {
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
checkboxReserveRowMap
|
|
8634
|
-
} = internalData;
|
|
8646
|
+
handleGetRowId
|
|
8647
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8635
8648
|
let sLen = 0; // 已选
|
|
8636
8649
|
let hLen = 0; // 半选
|
|
8637
8650
|
let vLen = 0; // 有效行
|
|
8638
8651
|
const rootList = treeConfig ? afterTreeFullData : afterFullData;
|
|
8639
8652
|
rootList.forEach(checkMethod ? row => {
|
|
8640
|
-
const childRowid = (
|
|
8653
|
+
const childRowid = handleGetRowId(row);
|
|
8641
8654
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8642
8655
|
if (checkMethod({
|
|
8643
8656
|
row
|
|
8644
8657
|
})) {
|
|
8645
8658
|
if (selected) {
|
|
8646
8659
|
sLen++;
|
|
8647
|
-
} else if (
|
|
8660
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8648
8661
|
hLen++;
|
|
8649
8662
|
}
|
|
8650
8663
|
vLen++;
|
|
8651
8664
|
} else {
|
|
8652
8665
|
if (selected) {
|
|
8653
8666
|
sLen++;
|
|
8654
|
-
} else if (
|
|
8667
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8655
8668
|
hLen++;
|
|
8656
8669
|
}
|
|
8657
8670
|
}
|
|
8658
8671
|
} : row => {
|
|
8659
|
-
const childRowid = (
|
|
8672
|
+
const childRowid = handleGetRowId(row);
|
|
8660
8673
|
const selected = checkField ? _xeUtils.default.get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
8661
8674
|
if (selected) {
|
|
8662
8675
|
sLen++;
|
|
8663
|
-
} else if (
|
|
8676
|
+
} else if (treeIndeterminateRowMaps[childRowid]) {
|
|
8664
8677
|
hLen++;
|
|
8665
8678
|
}
|
|
8666
8679
|
vLen++;
|
|
@@ -8688,8 +8701,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8688
8701
|
} = props;
|
|
8689
8702
|
const {
|
|
8690
8703
|
selectCheckboxMaps
|
|
8691
|
-
} =
|
|
8692
|
-
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
8704
|
+
} = internalData;
|
|
8693
8705
|
const treeOpts = computeTreeOpts.value;
|
|
8694
8706
|
const {
|
|
8695
8707
|
transform,
|
|
@@ -8702,6 +8714,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8702
8714
|
checkStrictly,
|
|
8703
8715
|
checkMethod
|
|
8704
8716
|
} = checkboxOpts;
|
|
8717
|
+
const {
|
|
8718
|
+
handleGetRowId
|
|
8719
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
8705
8720
|
// indeterminateField 仅支持读取
|
|
8706
8721
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
8707
8722
|
if (checkField) {
|
|
@@ -8721,35 +8736,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8721
8736
|
}, {
|
|
8722
8737
|
children: transform ? mapChildrenField : childrenField
|
|
8723
8738
|
});
|
|
8724
|
-
reactData.
|
|
8739
|
+
reactData.updateCheckboxFlag++;
|
|
8725
8740
|
return;
|
|
8726
|
-
} else {
|
|
8727
|
-
// 列表
|
|
8728
|
-
rows.forEach(row => {
|
|
8729
|
-
if (isForce || !checkMethod || checkMethod({
|
|
8730
|
-
row
|
|
8731
|
-
})) {
|
|
8732
|
-
_xeUtils.default.set(row, checkField, checked);
|
|
8733
|
-
handleCheckboxReserveRow(row, checked);
|
|
8734
|
-
}
|
|
8735
|
-
});
|
|
8736
8741
|
}
|
|
8737
|
-
|
|
8742
|
+
// 列表
|
|
8743
|
+
rows.forEach(row => {
|
|
8744
|
+
if (isForce || !checkMethod || checkMethod({
|
|
8745
|
+
row
|
|
8746
|
+
})) {
|
|
8747
|
+
_xeUtils.default.set(row, checkField, checked);
|
|
8748
|
+
handleCheckboxReserveRow(row, checked);
|
|
8749
|
+
}
|
|
8750
|
+
});
|
|
8751
|
+
reactData.updateCheckboxFlag++;
|
|
8738
8752
|
return;
|
|
8739
8753
|
}
|
|
8740
8754
|
// 树结构
|
|
8741
8755
|
if (treeConfig && !checkStrictly) {
|
|
8742
8756
|
// 更新子节点状态
|
|
8743
8757
|
_xeUtils.default.eachTree(rows, row => {
|
|
8744
|
-
const rowid = (
|
|
8758
|
+
const rowid = handleGetRowId(row);
|
|
8745
8759
|
if (isForce || !checkMethod || checkMethod({
|
|
8746
8760
|
row
|
|
8747
8761
|
})) {
|
|
8748
8762
|
if (checked) {
|
|
8749
|
-
|
|
8763
|
+
selectCheckboxMaps[rowid] = row;
|
|
8750
8764
|
} else {
|
|
8751
|
-
if (
|
|
8752
|
-
delete
|
|
8765
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8766
|
+
delete selectCheckboxMaps[rowid];
|
|
8753
8767
|
}
|
|
8754
8768
|
}
|
|
8755
8769
|
handleCheckboxReserveRow(row, checked);
|
|
@@ -8757,28 +8771,28 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8757
8771
|
}, {
|
|
8758
8772
|
children: transform ? mapChildrenField : childrenField
|
|
8759
8773
|
});
|
|
8760
|
-
reactData.
|
|
8774
|
+
reactData.updateCheckboxFlag++;
|
|
8761
8775
|
return;
|
|
8762
8776
|
}
|
|
8763
8777
|
// 列表
|
|
8764
8778
|
rows.forEach(row => {
|
|
8765
|
-
const rowid = (
|
|
8779
|
+
const rowid = handleGetRowId(row);
|
|
8766
8780
|
if (isForce || !checkMethod || checkMethod({
|
|
8767
8781
|
row
|
|
8768
8782
|
})) {
|
|
8769
8783
|
if (checked) {
|
|
8770
|
-
if (!
|
|
8771
|
-
|
|
8784
|
+
if (!selectCheckboxMaps[rowid]) {
|
|
8785
|
+
selectCheckboxMaps[rowid] = row;
|
|
8772
8786
|
}
|
|
8773
8787
|
} else {
|
|
8774
|
-
if (
|
|
8775
|
-
delete
|
|
8788
|
+
if (selectCheckboxMaps[rowid]) {
|
|
8789
|
+
delete selectCheckboxMaps[rowid];
|
|
8776
8790
|
}
|
|
8777
8791
|
}
|
|
8778
8792
|
handleCheckboxReserveRow(row, checked);
|
|
8793
|
+
reactData.updateCheckboxFlag++;
|
|
8779
8794
|
}
|
|
8780
8795
|
});
|
|
8781
|
-
reactData.selectCheckboxMaps = selectRowMaps;
|
|
8782
8796
|
},
|
|
8783
8797
|
/**
|
|
8784
8798
|
* 即将移除
|
|
@@ -8836,7 +8850,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8836
8850
|
return;
|
|
8837
8851
|
}
|
|
8838
8852
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8839
|
-
handleTooltip(evnt, thEl, cellEl,
|
|
8853
|
+
handleTooltip(evnt, thEl, thEl.querySelector('.vxe-cell--title') || cellEl, params);
|
|
8840
8854
|
}
|
|
8841
8855
|
},
|
|
8842
8856
|
/**
|
|
@@ -8874,7 +8888,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8874
8888
|
}
|
|
8875
8889
|
}
|
|
8876
8890
|
if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
|
|
8877
|
-
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'),
|
|
8891
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8878
8892
|
}
|
|
8879
8893
|
},
|
|
8880
8894
|
/**
|
|
@@ -8887,10 +8901,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8887
8901
|
const {
|
|
8888
8902
|
tooltipStore
|
|
8889
8903
|
} = reactData;
|
|
8890
|
-
const
|
|
8904
|
+
const tdEl = evnt.currentTarget;
|
|
8891
8905
|
handleTargetEnterEvent(tooltipStore.column !== column || !!tooltipStore.row);
|
|
8892
8906
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8893
|
-
handleTooltip(evnt,
|
|
8907
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8894
8908
|
}
|
|
8895
8909
|
},
|
|
8896
8910
|
handleTargetLeaveEvent() {
|
|
@@ -8916,6 +8930,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8916
8930
|
} = internalData;
|
|
8917
8931
|
const sortOpts = computeSortOpts.value;
|
|
8918
8932
|
const columnOpts = computeColumnOpts.value;
|
|
8933
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8919
8934
|
const {
|
|
8920
8935
|
column
|
|
8921
8936
|
} = params;
|
|
@@ -8924,7 +8939,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8924
8939
|
const triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
|
|
8925
8940
|
const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
|
|
8926
8941
|
if (sortOpts.trigger === 'cell' && !(triggerResizable || triggerSort || triggerFilter)) {
|
|
8927
|
-
|
|
8942
|
+
$xeTable.triggerSortEvent(evnt, column, getNextSortOrder(column));
|
|
8928
8943
|
}
|
|
8929
8944
|
dispatchEvent('header-cell-click', Object.assign({
|
|
8930
8945
|
triggerResizable,
|
|
@@ -8932,8 +8947,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8932
8947
|
triggerFilter,
|
|
8933
8948
|
cell
|
|
8934
8949
|
}, params), evnt);
|
|
8935
|
-
if (columnOpts.isCurrent || props.highlightCurrentColumn) {
|
|
8936
|
-
|
|
8950
|
+
if ((columnOpts.isCurrent || props.highlightCurrentColumn) && (!currentColumnOpts.trigger || ['header', 'default'].includes(currentColumnOpts.trigger))) {
|
|
8951
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
8937
8952
|
}
|
|
8938
8953
|
},
|
|
8939
8954
|
triggerHeaderCellDblclickEvent(evnt, params) {
|
|
@@ -8949,6 +8964,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8949
8964
|
triggerCellClickEvent(evnt, params) {
|
|
8950
8965
|
const {
|
|
8951
8966
|
highlightCurrentRow,
|
|
8967
|
+
highlightCurrentColumn,
|
|
8952
8968
|
editConfig
|
|
8953
8969
|
} = props;
|
|
8954
8970
|
const {
|
|
@@ -8965,6 +8981,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8965
8981
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
8966
8982
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
8967
8983
|
const rowOpts = computeRowOpts.value;
|
|
8984
|
+
const columnOpts = computeColumnOpts.value;
|
|
8985
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
8968
8986
|
const {
|
|
8969
8987
|
actived,
|
|
8970
8988
|
focused
|
|
@@ -8995,29 +9013,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8995
9013
|
if (!triggerCheckbox && !triggerRadio) {
|
|
8996
9014
|
// 如果是展开行
|
|
8997
9015
|
if (!triggerExpandNode && (expandOpts.trigger === 'row' || isExpandType && expandOpts.trigger === 'cell')) {
|
|
8998
|
-
|
|
9016
|
+
$xeTable.triggerRowExpandEvent(evnt, params);
|
|
8999
9017
|
}
|
|
9000
9018
|
// 如果是树形表格
|
|
9001
9019
|
if (treeOpts.trigger === 'row' || treeNode && treeOpts.trigger === 'cell') {
|
|
9002
|
-
|
|
9020
|
+
$xeTable.triggerTreeExpandEvent(evnt, params);
|
|
9003
9021
|
}
|
|
9004
9022
|
}
|
|
9005
9023
|
// 如果点击了树节点
|
|
9006
9024
|
if (!triggerTreeNode) {
|
|
9007
9025
|
if (!triggerExpandNode) {
|
|
9008
|
-
//
|
|
9026
|
+
// 如果是当前行
|
|
9009
9027
|
if (rowOpts.isCurrent || highlightCurrentRow) {
|
|
9010
9028
|
if (!triggerCheckbox && !triggerRadio) {
|
|
9011
|
-
|
|
9029
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
9030
|
+
}
|
|
9031
|
+
}
|
|
9032
|
+
// 如果是当前列
|
|
9033
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && (!currentColumnOpts.trigger || ['cell', 'default'].includes(currentColumnOpts.trigger))) {
|
|
9034
|
+
if (!triggerCheckbox && !triggerRadio) {
|
|
9035
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
9012
9036
|
}
|
|
9013
9037
|
}
|
|
9014
9038
|
// 如果是单选框
|
|
9015
9039
|
if (!triggerRadio && (radioOpts.trigger === 'row' || isRadioType && radioOpts.trigger === 'cell')) {
|
|
9016
|
-
|
|
9040
|
+
$xeTable.triggerRadioRowEvent(evnt, params);
|
|
9017
9041
|
}
|
|
9018
9042
|
// 如果是复选框
|
|
9019
9043
|
if (!triggerCheckbox && (checkboxOpts.trigger === 'row' || isCheckboxType && checkboxOpts.trigger === 'cell')) {
|
|
9020
|
-
|
|
9044
|
+
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
9021
9045
|
}
|
|
9022
9046
|
}
|
|
9023
9047
|
// 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)
|
|
@@ -9097,7 +9121,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9097
9121
|
handleToggleCheckRowEvent(evnt, params) {
|
|
9098
9122
|
const {
|
|
9099
9123
|
selectCheckboxMaps
|
|
9100
|
-
} =
|
|
9124
|
+
} = internalData;
|
|
9101
9125
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
9102
9126
|
const {
|
|
9103
9127
|
checkField,
|
|
@@ -9116,20 +9140,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9116
9140
|
checked = !selectCheckboxMaps[(0, _util.getRowid)($xeTable, row)];
|
|
9117
9141
|
}
|
|
9118
9142
|
if (evnt) {
|
|
9119
|
-
|
|
9143
|
+
$xeTable.triggerCheckRowEvent(evnt, params, checked);
|
|
9120
9144
|
} else {
|
|
9121
|
-
|
|
9122
|
-
|
|
9145
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9146
|
+
$xeTable.checkSelectionStatus();
|
|
9123
9147
|
}
|
|
9124
9148
|
},
|
|
9125
9149
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
9126
|
-
const checkboxOpts = computeCheckboxOpts.value;
|
|
9127
9150
|
const {
|
|
9128
9151
|
row
|
|
9129
9152
|
} = params;
|
|
9130
9153
|
const {
|
|
9131
9154
|
afterFullData
|
|
9132
9155
|
} = internalData;
|
|
9156
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
9133
9157
|
const {
|
|
9134
9158
|
checkMethod,
|
|
9135
9159
|
trigger
|
|
@@ -9139,15 +9163,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9139
9163
|
}
|
|
9140
9164
|
evnt.stopPropagation();
|
|
9141
9165
|
if (checkboxOpts.isShiftKey && evnt.shiftKey && !props.treeConfig) {
|
|
9142
|
-
const checkboxRecords =
|
|
9166
|
+
const checkboxRecords = $xeTable.getCheckboxRecords();
|
|
9143
9167
|
if (checkboxRecords.length) {
|
|
9144
9168
|
const firstRow = checkboxRecords[0];
|
|
9145
|
-
const _rowIndex =
|
|
9146
|
-
const _firstRowIndex =
|
|
9169
|
+
const _rowIndex = $xeTable.getVTRowIndex(row);
|
|
9170
|
+
const _firstRowIndex = $xeTable.getVTRowIndex(firstRow);
|
|
9147
9171
|
if (_rowIndex !== _firstRowIndex) {
|
|
9148
|
-
|
|
9172
|
+
$xeTable.setAllCheckboxRow(false);
|
|
9149
9173
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
9150
|
-
|
|
9174
|
+
(0, _vue.nextTick)(() => {
|
|
9175
|
+
handleCheckedCheckboxRow(rangeRows, true, false);
|
|
9176
|
+
});
|
|
9151
9177
|
dispatchEvent('checkbox-range-select', Object.assign({
|
|
9152
9178
|
rangeRecords: rangeRows
|
|
9153
9179
|
}, params), evnt);
|
|
@@ -9158,12 +9184,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9158
9184
|
if (!checkMethod || checkMethod({
|
|
9159
9185
|
row
|
|
9160
9186
|
})) {
|
|
9161
|
-
|
|
9162
|
-
|
|
9187
|
+
$xeTable.handleBatchSelectRows([row], checked);
|
|
9188
|
+
$xeTable.checkSelectionStatus();
|
|
9163
9189
|
dispatchEvent('checkbox-change', Object.assign({
|
|
9164
|
-
records:
|
|
9165
|
-
reserves:
|
|
9166
|
-
indeterminates:
|
|
9190
|
+
records: () => $xeTable.getCheckboxRecords(),
|
|
9191
|
+
reserves: () => $xeTable.getCheckboxReserveRecords(),
|
|
9192
|
+
indeterminates: () => $xeTable.getCheckboxIndeterminateRecords(),
|
|
9167
9193
|
checked
|
|
9168
9194
|
}, params), evnt);
|
|
9169
9195
|
}
|
|
@@ -9263,9 +9289,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9263
9289
|
*/
|
|
9264
9290
|
triggerRowExpandEvent(evnt, params) {
|
|
9265
9291
|
const {
|
|
9266
|
-
rowExpandLazyLoadedMaps,
|
|
9267
9292
|
expandColumn: column
|
|
9268
9293
|
} = reactData;
|
|
9294
|
+
const {
|
|
9295
|
+
rowExpandLazyLoadedMaps
|
|
9296
|
+
} = internalData;
|
|
9269
9297
|
const expandOpts = computeExpandOpts.value;
|
|
9270
9298
|
const {
|
|
9271
9299
|
row
|
|
@@ -9280,18 +9308,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9280
9308
|
evnt.stopPropagation();
|
|
9281
9309
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9282
9310
|
if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
|
|
9283
|
-
const expanded =
|
|
9284
|
-
const columnIndex =
|
|
9285
|
-
const $columnIndex =
|
|
9286
|
-
|
|
9311
|
+
const expanded = !$xeTable.isRowExpandByRow(row);
|
|
9312
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9313
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9314
|
+
$xeTable.setRowExpand(row, expanded);
|
|
9287
9315
|
dispatchEvent('toggle-row-expand', {
|
|
9288
9316
|
expanded,
|
|
9289
9317
|
column,
|
|
9290
9318
|
columnIndex,
|
|
9291
9319
|
$columnIndex,
|
|
9292
9320
|
row,
|
|
9293
|
-
rowIndex:
|
|
9294
|
-
$rowIndex:
|
|
9321
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
9322
|
+
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
9295
9323
|
}, evnt);
|
|
9296
9324
|
}
|
|
9297
9325
|
},
|
|
@@ -9301,7 +9329,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9301
9329
|
triggerTreeExpandEvent(evnt, params) {
|
|
9302
9330
|
const {
|
|
9303
9331
|
treeExpandLazyLoadedMaps
|
|
9304
|
-
} =
|
|
9332
|
+
} = internalData;
|
|
9305
9333
|
const treeOpts = computeTreeOpts.value;
|
|
9306
9334
|
const {
|
|
9307
9335
|
row,
|
|
@@ -9317,10 +9345,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9317
9345
|
evnt.stopPropagation();
|
|
9318
9346
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
9319
9347
|
if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
|
|
9320
|
-
const expanded =
|
|
9321
|
-
const columnIndex =
|
|
9322
|
-
const $columnIndex =
|
|
9323
|
-
|
|
9348
|
+
const expanded = !$xeTable.isTreeExpandByRow(row);
|
|
9349
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
9350
|
+
const $columnIndex = $xeTable.getVMColumnIndex(column);
|
|
9351
|
+
$xeTable.setTreeExpand(row, expanded);
|
|
9324
9352
|
dispatchEvent('toggle-tree-expand', {
|
|
9325
9353
|
expanded,
|
|
9326
9354
|
column,
|
|
@@ -9530,6 +9558,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9530
9558
|
} = props;
|
|
9531
9559
|
const rowDragOpts = computeRowDragOpts.value;
|
|
9532
9560
|
const {
|
|
9561
|
+
afterFullData,
|
|
9562
|
+
tableFullData,
|
|
9533
9563
|
fullAllDataRowIdData
|
|
9534
9564
|
} = internalData;
|
|
9535
9565
|
const {
|
|
@@ -9547,10 +9577,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9547
9577
|
parentField
|
|
9548
9578
|
} = treeOpts;
|
|
9549
9579
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9550
|
-
const {
|
|
9551
|
-
afterFullData,
|
|
9552
|
-
tableFullData
|
|
9553
|
-
} = internalData;
|
|
9554
9580
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
9555
9581
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
9556
9582
|
const errRest = {
|
|
@@ -10293,8 +10319,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10293
10319
|
* 横向 X 可视渲染事件处理
|
|
10294
10320
|
*/
|
|
10295
10321
|
triggerScrollXEvent() {
|
|
10296
|
-
const
|
|
10297
|
-
if (
|
|
10322
|
+
const virtualXOpts = computeVirtualXOpts.value;
|
|
10323
|
+
if (virtualXOpts.immediate) {
|
|
10298
10324
|
loadScrollXData();
|
|
10299
10325
|
} else {
|
|
10300
10326
|
lazyScrollXData();
|
|
@@ -10304,8 +10330,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10304
10330
|
* 纵向 Y 可视渲染事件处理
|
|
10305
10331
|
*/
|
|
10306
10332
|
triggerScrollYEvent() {
|
|
10307
|
-
const
|
|
10308
|
-
if (
|
|
10333
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
10334
|
+
if (virtualYOpts.immediate) {
|
|
10309
10335
|
loadScrollYData();
|
|
10310
10336
|
} else {
|
|
10311
10337
|
lazyScrollYData();
|
|
@@ -10511,11 +10537,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10511
10537
|
} = _props.default;
|
|
10512
10538
|
const {
|
|
10513
10539
|
scrollXLoad,
|
|
10514
|
-
scrollYLoad
|
|
10540
|
+
scrollYLoad,
|
|
10541
|
+
expandColumn
|
|
10515
10542
|
} = reactData;
|
|
10516
10543
|
const leftFixedWidth = computeLeftFixedWidth.value;
|
|
10517
10544
|
const rightFixedWidth = computeRightFixedWidth.value;
|
|
10518
|
-
if (!(
|
|
10545
|
+
if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
|
|
10519
10546
|
return;
|
|
10520
10547
|
}
|
|
10521
10548
|
const {
|
|
@@ -10542,8 +10569,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10542
10569
|
return;
|
|
10543
10570
|
}
|
|
10544
10571
|
const wheelSpeed = getWheelSpeed(reactData.lastScrollTime);
|
|
10545
|
-
const deltaTop =
|
|
10546
|
-
const deltaLeft = Math.ceil((shiftKey ? deltaY : deltaX) * wheelSpeed);
|
|
10572
|
+
const deltaTop = shiftKey ? 0 : Math.ceil(deltaY * wheelSpeed);
|
|
10573
|
+
const deltaLeft = shiftKey ? Math.ceil((shiftKey ? deltaY || deltaX : deltaX) * wheelSpeed) : 0;
|
|
10547
10574
|
const isTopWheel = deltaTop < 0;
|
|
10548
10575
|
const currScrollTop = bodyScrollElem.scrollTop;
|
|
10549
10576
|
// 如果滚动位置已经是顶部或底部,则不需要触发
|
|
@@ -10562,6 +10589,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10562
10589
|
evnt.preventDefault();
|
|
10563
10590
|
internalData.inWheelScroll = true;
|
|
10564
10591
|
wheelScrollLeftTo(scrollLeft, offsetLeft => {
|
|
10592
|
+
internalData.inWheelScroll = true;
|
|
10565
10593
|
const currLeftNum = offsetLeft;
|
|
10566
10594
|
(0, _dom.setScrollLeft)(xHandleEl, currLeftNum);
|
|
10567
10595
|
(0, _dom.setScrollLeft)(bodyScrollElem, currLeftNum);
|
|
@@ -10578,9 +10606,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10578
10606
|
}
|
|
10579
10607
|
if (isRollY) {
|
|
10580
10608
|
evnt.preventDefault();
|
|
10609
|
+
internalData.inWheelScroll = true;
|
|
10581
10610
|
wheelScrollTopTo(scrollTop - currScrollTop, offsetTop => {
|
|
10582
|
-
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
10583
10611
|
internalData.inWheelScroll = true;
|
|
10612
|
+
const currTopNum = bodyScrollElem.scrollTop + offsetTop;
|
|
10584
10613
|
(0, _dom.setScrollTop)(yHandleEl, currTopNum);
|
|
10585
10614
|
(0, _dom.setScrollTop)(bodyScrollElem, currTopNum);
|
|
10586
10615
|
(0, _dom.setScrollTop)(leftScrollElem, currTopNum);
|
|
@@ -10801,15 +10830,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10801
10830
|
const {
|
|
10802
10831
|
isAllOverflow,
|
|
10803
10832
|
scrollYLoad,
|
|
10804
|
-
expandColumn
|
|
10805
|
-
rowExpandedMaps
|
|
10833
|
+
expandColumn
|
|
10806
10834
|
} = reactData;
|
|
10807
10835
|
const {
|
|
10808
10836
|
scrollYStore,
|
|
10809
10837
|
elemStore,
|
|
10810
10838
|
isResizeCellHeight,
|
|
10811
10839
|
afterFullData,
|
|
10812
|
-
fullAllDataRowIdData
|
|
10840
|
+
fullAllDataRowIdData,
|
|
10841
|
+
rowExpandedMaps
|
|
10813
10842
|
} = internalData;
|
|
10814
10843
|
const {
|
|
10815
10844
|
startIndex
|
|
@@ -11161,6 +11190,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11161
11190
|
ref: refRowExpandYSpaceElem
|
|
11162
11191
|
})];
|
|
11163
11192
|
if (expandColumn) {
|
|
11193
|
+
const {
|
|
11194
|
+
handleGetRowId
|
|
11195
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
11164
11196
|
tableRowExpandedList.forEach(row => {
|
|
11165
11197
|
const expandOpts = computeExpandOpts.value;
|
|
11166
11198
|
const {
|
|
@@ -11176,7 +11208,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11176
11208
|
seqMode
|
|
11177
11209
|
} = treeOpts;
|
|
11178
11210
|
const cellStyle = {};
|
|
11179
|
-
const rowid = (
|
|
11211
|
+
const rowid = handleGetRowId(row);
|
|
11180
11212
|
const rest = fullAllDataRowIdData[rowid];
|
|
11181
11213
|
let rowLevel = 0;
|
|
11182
11214
|
let seq = -1;
|
|
@@ -11782,7 +11814,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11782
11814
|
scrollXStore,
|
|
11783
11815
|
scrollYStore
|
|
11784
11816
|
} = internalData;
|
|
11785
|
-
const sYOpts = computeSYOpts.value;
|
|
11786
11817
|
const editOpts = computeEditOpts.value;
|
|
11787
11818
|
const treeOpts = computeTreeOpts.value;
|
|
11788
11819
|
const radioOpts = computeRadioOpts.value;
|
|
@@ -11908,8 +11939,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11908
11939
|
Object.assign(scrollYStore, {
|
|
11909
11940
|
startIndex: 0,
|
|
11910
11941
|
endIndex: 0,
|
|
11911
|
-
visibleSize: 0
|
|
11912
|
-
adaptive: sYOpts.adaptive !== false
|
|
11942
|
+
visibleSize: 0
|
|
11913
11943
|
});
|
|
11914
11944
|
Object.assign(scrollXStore, {
|
|
11915
11945
|
startIndex: 0,
|