vxe-table 3.15.34 → 3.15.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/src/body.js +20 -3
- package/es/table/src/cell.js +52 -36
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/methods.js +117 -69
- package/es/table/src/props.js +3 -1
- package/es/table/src/table.js +19 -6
- package/es/table/src/util.js +5 -2
- package/es/ui/index.js +4 -4
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +227 -109
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +19 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +43 -28
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +129 -65
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +3 -1
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +19 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +7 -4
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +4 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/src/body.ts +20 -3
- package/packages/table/src/cell.ts +52 -36
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +3 -0
- package/packages/table/src/methods.ts +122 -68
- package/packages/table/src/props.ts +3 -1
- package/packages/table/src/table.ts +20 -6
- package/packages/table/src/util.ts +6 -2
- package/packages/ui/index.ts +3 -3
- /package/es/{iconfont.1749092456241.ttf → iconfont.1749202936550.ttf} +0 -0
- /package/es/{iconfont.1749092456241.woff → iconfont.1749202936550.woff} +0 -0
- /package/es/{iconfont.1749092456241.woff2 → iconfont.1749202936550.woff2} +0 -0
- /package/lib/{iconfont.1749092456241.ttf → iconfont.1749202936550.ttf} +0 -0
- /package/lib/{iconfont.1749092456241.woff → iconfont.1749202936550.woff} +0 -0
- /package/lib/{iconfont.1749092456241.woff2 → iconfont.1749202936550.woff2} +0 -0
package/lib/table/src/methods.js
CHANGED
|
@@ -520,11 +520,11 @@ function handleRowGroupBaseExpand($xeTable, rows, expanded) {
|
|
|
520
520
|
tableFullGroupData,
|
|
521
521
|
rowGroupExpandedMaps
|
|
522
522
|
} = internalData;
|
|
523
|
-
const
|
|
523
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
524
524
|
const {
|
|
525
525
|
mapChildrenField,
|
|
526
526
|
accordion
|
|
527
|
-
} =
|
|
527
|
+
} = aggregateOpts;
|
|
528
528
|
const {
|
|
529
529
|
handleGetRowId
|
|
530
530
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
@@ -733,7 +733,7 @@ function handleVirtualTreeToList($xeTable) {
|
|
|
733
733
|
treeExpandedMaps,
|
|
734
734
|
rowGroupExpandedMaps
|
|
735
735
|
} = internalData;
|
|
736
|
-
const
|
|
736
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
737
737
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
738
738
|
const {
|
|
739
739
|
handleGetRowId
|
|
@@ -762,7 +762,7 @@ function handleVirtualTreeToList($xeTable) {
|
|
|
762
762
|
} else if (isRowGroupStatus) {
|
|
763
763
|
const {
|
|
764
764
|
childrenField
|
|
765
|
-
} =
|
|
765
|
+
} = aggregateOpts;
|
|
766
766
|
_xeUtils.default.eachTree(internalData.afterGroupFullData, (row, index, items, path, parentRow) => {
|
|
767
767
|
const rowid = handleGetRowId(row);
|
|
768
768
|
const parentRowid = handleGetRowId(parentRow);
|
|
@@ -805,7 +805,7 @@ function updateAfterFullData($xeTable) {
|
|
|
805
805
|
} = internalData;
|
|
806
806
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
807
807
|
const sortOpts = $xeTable.computeSortOpts;
|
|
808
|
-
const
|
|
808
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
809
809
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
810
810
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
811
811
|
const {
|
|
@@ -930,8 +930,8 @@ function updateAfterFullData($xeTable) {
|
|
|
930
930
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, handleFilter, {
|
|
931
931
|
original: true,
|
|
932
932
|
isEvery: true,
|
|
933
|
-
children:
|
|
934
|
-
mapChildren:
|
|
933
|
+
children: aggregateOpts.mapChildrenField,
|
|
934
|
+
mapChildren: aggregateOpts.childrenField
|
|
935
935
|
});
|
|
936
936
|
tableData = tableTree;
|
|
937
937
|
} else if (treeConfig && transform) {
|
|
@@ -953,8 +953,8 @@ function updateAfterFullData($xeTable) {
|
|
|
953
953
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, () => true, {
|
|
954
954
|
original: true,
|
|
955
955
|
isEvery: true,
|
|
956
|
-
children:
|
|
957
|
-
mapChildren:
|
|
956
|
+
children: aggregateOpts.mapChildrenField,
|
|
957
|
+
mapChildren: aggregateOpts.childrenField
|
|
958
958
|
});
|
|
959
959
|
tableData = tableTree;
|
|
960
960
|
} else if (treeConfig && transform) {
|
|
@@ -985,18 +985,18 @@ function updateAfterFullData($xeTable) {
|
|
|
985
985
|
tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
|
|
986
986
|
} else {
|
|
987
987
|
const treeList = _xeUtils.default.toTreeArray(tableTree, {
|
|
988
|
-
key:
|
|
989
|
-
parentKey:
|
|
990
|
-
children:
|
|
988
|
+
key: aggregateOpts.rowField,
|
|
989
|
+
parentKey: aggregateOpts.parentField,
|
|
990
|
+
children: aggregateOpts.mapChildrenField
|
|
991
991
|
});
|
|
992
992
|
tableTree = _xeUtils.default.toArrayTree(_xeUtils.default.orderBy(treeList, orderColumns.map(({
|
|
993
993
|
column,
|
|
994
994
|
order
|
|
995
995
|
}) => [getOrderField($xeTable, column), order])), {
|
|
996
|
-
key:
|
|
997
|
-
parentKey:
|
|
998
|
-
children:
|
|
999
|
-
mapChildren:
|
|
996
|
+
key: aggregateOpts.rowField,
|
|
997
|
+
parentKey: aggregateOpts.parentField,
|
|
998
|
+
children: aggregateOpts.childrenField,
|
|
999
|
+
mapChildren: aggregateOpts.mapChildrenField
|
|
1000
1000
|
});
|
|
1001
1001
|
}
|
|
1002
1002
|
tableData = tableTree;
|
|
@@ -1066,8 +1066,8 @@ function updateAfterFullData($xeTable) {
|
|
|
1066
1066
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, () => true, {
|
|
1067
1067
|
original: true,
|
|
1068
1068
|
isEvery: true,
|
|
1069
|
-
children:
|
|
1070
|
-
mapChildren:
|
|
1069
|
+
children: aggregateOpts.mapChildrenField,
|
|
1070
|
+
mapChildren: aggregateOpts.childrenField
|
|
1071
1071
|
});
|
|
1072
1072
|
tableData = tableTree;
|
|
1073
1073
|
} else if (treeConfig && transform) {
|
|
@@ -1586,7 +1586,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1586
1586
|
selectCheckboxMaps
|
|
1587
1587
|
} = internalData;
|
|
1588
1588
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
1589
|
-
const
|
|
1589
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
1590
1590
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1591
1591
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
1592
1592
|
const {
|
|
@@ -1648,7 +1648,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1648
1648
|
selectRowMaps[rowid] = row;
|
|
1649
1649
|
}
|
|
1650
1650
|
}, {
|
|
1651
|
-
children:
|
|
1651
|
+
children: aggregateOpts.mapChildrenField
|
|
1652
1652
|
});
|
|
1653
1653
|
} else {
|
|
1654
1654
|
/**
|
|
@@ -1665,7 +1665,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1665
1665
|
selectRowMaps[rowid] = row;
|
|
1666
1666
|
}
|
|
1667
1667
|
}, {
|
|
1668
|
-
children:
|
|
1668
|
+
children: aggregateOpts.mapChildrenField
|
|
1669
1669
|
});
|
|
1670
1670
|
}
|
|
1671
1671
|
}
|
|
@@ -3132,17 +3132,69 @@ const handleUpdateRowGroup = ($xeTable, groupFields) => {
|
|
|
3132
3132
|
};
|
|
3133
3133
|
}) : [];
|
|
3134
3134
|
};
|
|
3135
|
+
function handleeGroupSummary($xeTable, aggList) {
|
|
3136
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3137
|
+
const {
|
|
3138
|
+
mapChildrenField
|
|
3139
|
+
} = aggregateOpts;
|
|
3140
|
+
if (mapChildrenField) {
|
|
3141
|
+
_xeUtils.default.lastEach(aggList, aggRow => {
|
|
3142
|
+
let count = 0;
|
|
3143
|
+
_xeUtils.default.each(aggRow[mapChildrenField], row => {
|
|
3144
|
+
if (row.isAggregate) {
|
|
3145
|
+
count += row.childCount || 0;
|
|
3146
|
+
} else {
|
|
3147
|
+
count++;
|
|
3148
|
+
}
|
|
3149
|
+
});
|
|
3150
|
+
aggRow.childCount = count;
|
|
3151
|
+
});
|
|
3152
|
+
if ($xeTable.handlePivotTableAggregateData) {
|
|
3153
|
+
$xeTable.handlePivotTableAggregateData(aggList);
|
|
3154
|
+
}
|
|
3155
|
+
}
|
|
3156
|
+
}
|
|
3157
|
+
function updateGroupData($xeTable) {
|
|
3158
|
+
const props = $xeTable;
|
|
3159
|
+
const reactData = $xeTable;
|
|
3160
|
+
const internalData = $xeTable;
|
|
3161
|
+
const {
|
|
3162
|
+
aggregateConfig,
|
|
3163
|
+
rowGroupConfig
|
|
3164
|
+
} = props;
|
|
3165
|
+
const {
|
|
3166
|
+
isRowGroupStatus
|
|
3167
|
+
} = reactData;
|
|
3168
|
+
const {
|
|
3169
|
+
tableFullGroupData
|
|
3170
|
+
} = internalData;
|
|
3171
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3172
|
+
const {
|
|
3173
|
+
mapChildrenField
|
|
3174
|
+
} = aggregateOpts;
|
|
3175
|
+
if ((aggregateConfig || rowGroupConfig) && isRowGroupStatus) {
|
|
3176
|
+
const aggList = [];
|
|
3177
|
+
_xeUtils.default.eachTree(tableFullGroupData, row => {
|
|
3178
|
+
if (row.isAggregate) {
|
|
3179
|
+
aggList.push(row);
|
|
3180
|
+
}
|
|
3181
|
+
}, {
|
|
3182
|
+
children: mapChildrenField
|
|
3183
|
+
});
|
|
3184
|
+
handleeGroupSummary($xeTable, aggList);
|
|
3185
|
+
}
|
|
3186
|
+
}
|
|
3135
3187
|
function handleGroupData($xeTable, list, rowGroups) {
|
|
3136
3188
|
let fullData = list;
|
|
3137
3189
|
let treeData = list;
|
|
3138
3190
|
if (rowGroups) {
|
|
3139
|
-
const
|
|
3191
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3140
3192
|
const {
|
|
3141
3193
|
rowField,
|
|
3142
3194
|
parentField,
|
|
3143
3195
|
childrenField,
|
|
3144
3196
|
mapChildrenField
|
|
3145
|
-
} =
|
|
3197
|
+
} = aggregateOpts;
|
|
3146
3198
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
3147
3199
|
const {
|
|
3148
3200
|
checkField
|
|
@@ -3155,7 +3207,7 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3155
3207
|
const groupField = rgItem.field;
|
|
3156
3208
|
const groupColumn = $xeTable.getColumnByField(groupField);
|
|
3157
3209
|
const groupMaps = {};
|
|
3158
|
-
const
|
|
3210
|
+
const aggList = [];
|
|
3159
3211
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
3160
3212
|
list.forEach(row => {
|
|
3161
3213
|
const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : _xeUtils.default.get(row, groupField);
|
|
@@ -3175,12 +3227,12 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3175
3227
|
fullData: childFullData,
|
|
3176
3228
|
treeData: childTreeData
|
|
3177
3229
|
} = handleGroupData($xeTable, childList, rowGroups.slice(1));
|
|
3178
|
-
const
|
|
3179
|
-
const groupRow = {
|
|
3230
|
+
const aggRow = {
|
|
3180
3231
|
isAggregate: true,
|
|
3181
|
-
|
|
3232
|
+
aggData: {},
|
|
3182
3233
|
groupContent: groupValue,
|
|
3183
3234
|
groupField,
|
|
3235
|
+
childCount: 0,
|
|
3184
3236
|
[rowField]: (0, _util.getRowUniqueId)(),
|
|
3185
3237
|
[parentField]: null,
|
|
3186
3238
|
[rowkey]: (0, _util.getRowUniqueId)(),
|
|
@@ -3188,29 +3240,19 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3188
3240
|
[mapChildrenField]: childTreeData
|
|
3189
3241
|
};
|
|
3190
3242
|
if (checkField) {
|
|
3191
|
-
|
|
3243
|
+
aggRow[checkField] = false;
|
|
3192
3244
|
}
|
|
3193
3245
|
if (indeterminateField) {
|
|
3194
|
-
|
|
3246
|
+
aggRow[indeterminateField] = false;
|
|
3195
3247
|
}
|
|
3196
|
-
|
|
3197
|
-
treeData.push(
|
|
3198
|
-
fullData.push(
|
|
3248
|
+
aggList.push(aggRow);
|
|
3249
|
+
treeData.push(aggRow);
|
|
3250
|
+
fullData.push(aggRow);
|
|
3199
3251
|
if (childFullData.length) {
|
|
3200
3252
|
fullData.push(...childFullData);
|
|
3201
3253
|
}
|
|
3202
3254
|
});
|
|
3203
|
-
|
|
3204
|
-
let count = 0;
|
|
3205
|
-
_xeUtils.default.each(groupItem[childrenField], row => {
|
|
3206
|
-
if (row.isAggregate) {
|
|
3207
|
-
count += row[childrenField] ? row[childrenField].length : 0;
|
|
3208
|
-
} else {
|
|
3209
|
-
count++;
|
|
3210
|
-
}
|
|
3211
|
-
});
|
|
3212
|
-
groupItem.childCount = count;
|
|
3213
|
-
});
|
|
3255
|
+
handleeGroupSummary($xeTable, aggList);
|
|
3214
3256
|
}
|
|
3215
3257
|
}
|
|
3216
3258
|
return {
|
|
@@ -3229,6 +3271,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3229
3271
|
const {
|
|
3230
3272
|
keepSource,
|
|
3231
3273
|
treeConfig,
|
|
3274
|
+
aggregateConfig,
|
|
3232
3275
|
rowGroupConfig
|
|
3233
3276
|
} = props;
|
|
3234
3277
|
const {
|
|
@@ -3254,11 +3297,11 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3254
3297
|
(0, _log.errLog)('vxe.error.errMaxRow', [supportMaxRow]);
|
|
3255
3298
|
}
|
|
3256
3299
|
if (treeConfig && rowGroupList.length) {
|
|
3257
|
-
(0, _log.errLog)('vxe.error.noTree', ['
|
|
3300
|
+
(0, _log.errLog)('vxe.error.noTree', ['aggregate-config']);
|
|
3258
3301
|
return $xeTable.$nextTick();
|
|
3259
3302
|
}
|
|
3260
3303
|
if (rowOpts.drag && rowGroupList.length) {
|
|
3261
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['row-config.drag', '
|
|
3304
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['row-config.drag', 'aggregate-config']);
|
|
3262
3305
|
return $xeTable.$nextTick();
|
|
3263
3306
|
}
|
|
3264
3307
|
let isRGroup = false;
|
|
@@ -3295,7 +3338,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3295
3338
|
} else {
|
|
3296
3339
|
treeData = fullData.slice(0);
|
|
3297
3340
|
}
|
|
3298
|
-
} else if (rowGroupConfig && rowGroupList.length) {
|
|
3341
|
+
} else if ((aggregateConfig || rowGroupConfig) && rowGroupList.length) {
|
|
3299
3342
|
const groupRest = handleGroupData($xeTable, fullData, rowGroupList);
|
|
3300
3343
|
treeData = groupRest.treeData;
|
|
3301
3344
|
fullData = groupRest.fullData;
|
|
@@ -3400,11 +3443,15 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3400
3443
|
// 是否变更虚拟滚动
|
|
3401
3444
|
if (oldScrollYLoad === sYLoad) {
|
|
3402
3445
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3446
|
+
calcCellHeight($xeTable);
|
|
3447
|
+
updateRowOffsetTop($xeTable);
|
|
3403
3448
|
resolve();
|
|
3404
3449
|
});
|
|
3405
3450
|
} else {
|
|
3406
3451
|
setTimeout(() => {
|
|
3407
3452
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3453
|
+
calcCellHeight($xeTable);
|
|
3454
|
+
updateRowOffsetTop($xeTable);
|
|
3408
3455
|
resolve();
|
|
3409
3456
|
});
|
|
3410
3457
|
});
|
|
@@ -3687,6 +3734,7 @@ function handleColumn($xeTable, collectColumn) {
|
|
|
3687
3734
|
$xeTable.clearMergeCells();
|
|
3688
3735
|
$xeTable.clearMergeFooterItems();
|
|
3689
3736
|
$xeTable.handleTableData(true);
|
|
3737
|
+
$xeTable.handleAggregateSummaryData();
|
|
3690
3738
|
if ((scrollXLoad || scrollYLoad) && expandColumn && expandOpts.mode !== 'fixed') {
|
|
3691
3739
|
(0, _log.warnLog)('vxe.error.scrollErrProp', ['column.type=expand']);
|
|
3692
3740
|
}
|
|
@@ -4457,10 +4505,10 @@ const Methods = {
|
|
|
4457
4505
|
children: childrenField
|
|
4458
4506
|
});
|
|
4459
4507
|
} else if (isRowGroupStatus) {
|
|
4460
|
-
const
|
|
4508
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
4461
4509
|
const {
|
|
4462
4510
|
mapChildrenField
|
|
4463
|
-
} =
|
|
4511
|
+
} = aggregateOpts;
|
|
4464
4512
|
_xeUtils.default.eachTree(tableFullGroupData, (row, index, items, path, parentRow, nodes) => {
|
|
4465
4513
|
const rowid = handleUpdateRowId(row);
|
|
4466
4514
|
handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, (0, _util.toTreePathSeq)(path));
|
|
@@ -7191,6 +7239,10 @@ const Methods = {
|
|
|
7191
7239
|
internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList);
|
|
7192
7240
|
reactData.mergeFootFlag++;
|
|
7193
7241
|
},
|
|
7242
|
+
handleAggregateSummaryData() {
|
|
7243
|
+
const $xeTable = this;
|
|
7244
|
+
return updateGroupData($xeTable);
|
|
7245
|
+
},
|
|
7194
7246
|
handleTargetLeaveEvent() {
|
|
7195
7247
|
const $xeTable = this;
|
|
7196
7248
|
const internalData = $xeTable;
|
|
@@ -7543,7 +7595,7 @@ const Methods = {
|
|
|
7543
7595
|
const {
|
|
7544
7596
|
selectCheckboxMaps
|
|
7545
7597
|
} = internalData;
|
|
7546
|
-
const
|
|
7598
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
7547
7599
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
7548
7600
|
const {
|
|
7549
7601
|
transform,
|
|
@@ -7615,7 +7667,7 @@ const Methods = {
|
|
|
7615
7667
|
handleCheckboxReserveRow($xeTable, row, checked);
|
|
7616
7668
|
}
|
|
7617
7669
|
}, {
|
|
7618
|
-
children:
|
|
7670
|
+
children: aggregateOpts.mapChildrenField
|
|
7619
7671
|
});
|
|
7620
7672
|
reactData.updateCheckboxFlag++;
|
|
7621
7673
|
return;
|
|
@@ -7806,7 +7858,7 @@ const Methods = {
|
|
|
7806
7858
|
selectCheckboxMaps,
|
|
7807
7859
|
treeIndeterminateRowMaps
|
|
7808
7860
|
} = internalData;
|
|
7809
|
-
const
|
|
7861
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
7810
7862
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
7811
7863
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7812
7864
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
@@ -7826,7 +7878,7 @@ const Methods = {
|
|
|
7826
7878
|
const childRowList = [];
|
|
7827
7879
|
if (isRowGroupStatus) {
|
|
7828
7880
|
// 行分组
|
|
7829
|
-
const mapChildrenField =
|
|
7881
|
+
const mapChildrenField = aggregateOpts.mapChildrenField;
|
|
7830
7882
|
if (mapChildrenField) {
|
|
7831
7883
|
_xeUtils.default.eachTree(afterGroupFullData, row => {
|
|
7832
7884
|
const rowid = handleGetRowId(row);
|
|
@@ -8554,7 +8606,7 @@ const Methods = {
|
|
|
8554
8606
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
8555
8607
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
8556
8608
|
const keyboardOpts = $xeTable.computeKeyboardOpts;
|
|
8557
|
-
const
|
|
8609
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
8558
8610
|
const rowOpts = $xeTable.computeRowOpts;
|
|
8559
8611
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
8560
8612
|
const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
|
|
@@ -8597,7 +8649,7 @@ const Methods = {
|
|
|
8597
8649
|
$xeTable.triggerTreeExpandEvent(evnt, params);
|
|
8598
8650
|
}
|
|
8599
8651
|
// 如果是行分组
|
|
8600
|
-
if (
|
|
8652
|
+
if (aggregateOpts.trigger === 'row' || rowGroupNode && aggregateOpts.trigger === 'cell') {
|
|
8601
8653
|
$xeTable.triggerRowGroupExpandEvent(evnt, params);
|
|
8602
8654
|
}
|
|
8603
8655
|
}
|
|
@@ -10265,10 +10317,11 @@ const Methods = {
|
|
|
10265
10317
|
const props = $xeTable;
|
|
10266
10318
|
const internalData = $xeTable;
|
|
10267
10319
|
const {
|
|
10320
|
+
aggregateConfig,
|
|
10268
10321
|
rowGroupConfig
|
|
10269
10322
|
} = props;
|
|
10270
|
-
if (!rowGroupConfig) {
|
|
10271
|
-
(0, _log.errLog)('vxe.error.reqProp', ['
|
|
10323
|
+
if (!(aggregateConfig || rowGroupConfig)) {
|
|
10324
|
+
(0, _log.errLog)('vxe.error.reqProp', ['aggregate-config']);
|
|
10272
10325
|
return $xeTable.$nextTick();
|
|
10273
10326
|
}
|
|
10274
10327
|
if (fieldOrColumns) {
|
|
@@ -10284,16 +10337,27 @@ const Methods = {
|
|
|
10284
10337
|
const props = $xeTable;
|
|
10285
10338
|
const internalData = $xeTable;
|
|
10286
10339
|
const {
|
|
10340
|
+
aggregateConfig,
|
|
10287
10341
|
rowGroupConfig
|
|
10288
10342
|
} = props;
|
|
10289
|
-
if (!rowGroupConfig) {
|
|
10290
|
-
(0, _log.errLog)('vxe.error.reqProp', ['
|
|
10343
|
+
if (!(aggregateConfig || rowGroupConfig)) {
|
|
10344
|
+
(0, _log.errLog)('vxe.error.reqProp', ['aggregate-config']);
|
|
10291
10345
|
return $xeTable.$nextTick();
|
|
10292
10346
|
}
|
|
10293
10347
|
handleUpdateRowGroup($xeTable, []);
|
|
10294
10348
|
return loadTableData($xeTable, internalData.tableSynchData, true);
|
|
10295
10349
|
},
|
|
10296
10350
|
isRowGroupRecord(row) {
|
|
10351
|
+
const $xeTable = this;
|
|
10352
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['isRowGroupRecord', 'isAggregateRecord']);
|
|
10353
|
+
return $xeTable.isAggregateRecord(row);
|
|
10354
|
+
},
|
|
10355
|
+
isRowGroupExpandByRow(row) {
|
|
10356
|
+
const $xeTable = this;
|
|
10357
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['isRowGroupExpandByRow', 'isAggregateExpandByRow']);
|
|
10358
|
+
return $xeTable.isAggregateExpandByRow(row);
|
|
10359
|
+
},
|
|
10360
|
+
isAggregateRecord(row) {
|
|
10297
10361
|
const $xeTable = this;
|
|
10298
10362
|
const reactData = $xeTable;
|
|
10299
10363
|
const {
|
|
@@ -10301,7 +10365,7 @@ const Methods = {
|
|
|
10301
10365
|
} = reactData;
|
|
10302
10366
|
return isRowGroupStatus && row.isAggregate;
|
|
10303
10367
|
},
|
|
10304
|
-
|
|
10368
|
+
isAggregateExpandByRow(row) {
|
|
10305
10369
|
const $xeTable = this;
|
|
10306
10370
|
const reactData = $xeTable;
|
|
10307
10371
|
const internalData = $xeTable;
|
|
@@ -10330,10 +10394,10 @@ const Methods = {
|
|
|
10330
10394
|
const {
|
|
10331
10395
|
tableFullGroupData
|
|
10332
10396
|
} = internalData;
|
|
10333
|
-
const
|
|
10397
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
10334
10398
|
const {
|
|
10335
10399
|
mapChildrenField
|
|
10336
|
-
} =
|
|
10400
|
+
} = aggregateOpts;
|
|
10337
10401
|
const rgExpandedMaps = {};
|
|
10338
10402
|
if (expanded && mapChildrenField) {
|
|
10339
10403
|
_xeUtils.default.eachTree(tableFullGroupData, row => {
|
|
@@ -10482,14 +10546,14 @@ const Methods = {
|
|
|
10482
10546
|
const {
|
|
10483
10547
|
rowGroupExpandedMaps
|
|
10484
10548
|
} = internalData;
|
|
10485
|
-
const
|
|
10549
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
10486
10550
|
const {
|
|
10487
10551
|
row,
|
|
10488
10552
|
column
|
|
10489
10553
|
} = params;
|
|
10490
10554
|
const {
|
|
10491
10555
|
trigger
|
|
10492
|
-
} =
|
|
10556
|
+
} = aggregateOpts;
|
|
10493
10557
|
if (trigger === 'manual') {
|
|
10494
10558
|
return;
|
|
10495
10559
|
}
|
|
@@ -11605,11 +11669,11 @@ const Methods = {
|
|
|
11605
11669
|
} = internalData;
|
|
11606
11670
|
const rests = [];
|
|
11607
11671
|
if (treeConfig || isRowGroupStatus) {
|
|
11608
|
-
const
|
|
11672
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
11609
11673
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
11610
11674
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
11611
11675
|
const matchObj = _xeUtils.default.findTree(tableFullData, item => $xeTable.eqRow(item, row), {
|
|
11612
|
-
children: isRowGroupStatus ?
|
|
11676
|
+
children: isRowGroupStatus ? aggregateOpts.mapChildrenField : childrenField
|
|
11613
11677
|
});
|
|
11614
11678
|
if (matchObj) {
|
|
11615
11679
|
const nodes = matchObj.nodes;
|