vxe-table 3.15.31 → 3.15.33
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/locale/lang/en-US.js +2 -2
- package/es/style.css +1 -1
- package/es/table/module/validator/mixin.js +2 -2
- package/es/table/src/cell.js +31 -15
- package/es/table/src/methods.js +21 -3
- package/es/table/src/util.js +1 -1
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +65 -21
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -2
- package/lib/style.css +1 -1
- package/lib/table/module/validator/mixin.js +1 -1
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/cell.js +39 -12
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +20 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +1 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +3 -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 +1 -1
- package/packages/locale/lang/en-US.ts +2 -2
- package/packages/table/module/validator/mixin.ts +2 -2
- package/packages/table/src/cell.ts +31 -16
- package/packages/table/src/methods.ts +20 -3
- package/packages/table/src/util.ts +1 -1
- package/packages/ui/index.ts +2 -2
- /package/es/{iconfont.1747621179042.ttf → iconfont.1749019365308.ttf} +0 -0
- /package/es/{iconfont.1747621179042.woff → iconfont.1749019365308.woff} +0 -0
- /package/es/{iconfont.1747621179042.woff2 → iconfont.1749019365308.woff2} +0 -0
- /package/lib/{iconfont.1747621179042.ttf → iconfont.1749019365308.ttf} +0 -0
- /package/lib/{iconfont.1747621179042.woff → iconfont.1749019365308.woff} +0 -0
- /package/lib/{iconfont.1747621179042.woff2 → iconfont.1749019365308.woff2} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils';
|
|
2
2
|
import { VxeUI } from '../../../ui';
|
|
3
|
-
import { getFuncText } from '../../../ui/src/utils';
|
|
3
|
+
import { eqEmptyValue, getFuncText } from '../../../ui/src/utils';
|
|
4
4
|
import { scrollToView } from '../../../ui/src/dom';
|
|
5
5
|
import { handleFieldOrColumn, getRowid } from '../../src/util';
|
|
6
6
|
import { warnLog, errLog } from '../../../ui/src/log';
|
|
@@ -119,7 +119,7 @@ function validRuleValue(rule, val, required) {
|
|
|
119
119
|
}
|
|
120
120
|
function checkRuleStatus(rule, val) {
|
|
121
121
|
const { required } = rule;
|
|
122
|
-
const isEmptyVal = XEUtils.
|
|
122
|
+
const isEmptyVal = XEUtils.isArray(val) ? !val.length : eqEmptyValue(val);
|
|
123
123
|
if (required) {
|
|
124
124
|
if (isEmptyVal) {
|
|
125
125
|
return false;
|
package/es/table/src/cell.js
CHANGED
|
@@ -247,13 +247,17 @@ function getDefaultCellLabel(params) {
|
|
|
247
247
|
return formatText($table.getCellLabel(row, column), 1);
|
|
248
248
|
}
|
|
249
249
|
function renderCellHandle(h, params) {
|
|
250
|
-
const { column, $table } = params;
|
|
250
|
+
const { column, row, $table } = params;
|
|
251
251
|
const tableProps = $table;
|
|
252
|
+
const tableReactData = $table;
|
|
252
253
|
const { editConfig } = tableProps;
|
|
254
|
+
const { isRowGroupStatus } = tableReactData;
|
|
253
255
|
const { type, treeNode, rowGroupNode, editRender } = column;
|
|
256
|
+
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
257
|
+
const { mode } = rowGroupOpts;
|
|
254
258
|
const checkboxOpts = $table.computeCheckboxOpts;
|
|
255
259
|
const editOpts = $table.computeEditOpts;
|
|
256
|
-
const isDeepCell = treeNode || rowGroupNode;
|
|
260
|
+
const isDeepCell = treeNode || (isRowGroupStatus && row.isAggregate && (mode === 'column' ? column.field === row.groupField : rowGroupNode));
|
|
257
261
|
switch (type) {
|
|
258
262
|
case 'seq':
|
|
259
263
|
return isDeepCell ? Cell.renderDeepIndexCell(h, params) : Cell.renderSeqCell(h, params);
|
|
@@ -352,7 +356,7 @@ export const Cell = {
|
|
|
352
356
|
const tableReactData = $table;
|
|
353
357
|
const tableInternalData = $table;
|
|
354
358
|
const { isRowGroupStatus } = tableReactData;
|
|
355
|
-
const { slots, editRender, cellRender, rowGroupNode } = column;
|
|
359
|
+
const { field, slots, editRender, cellRender, rowGroupNode } = column;
|
|
356
360
|
const renderOpts = editRender || cellRender;
|
|
357
361
|
if (slots && slots.default) {
|
|
358
362
|
return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
|
|
@@ -367,29 +371,37 @@ export const Cell = {
|
|
|
367
371
|
}
|
|
368
372
|
}
|
|
369
373
|
let cellValue = '';
|
|
370
|
-
if (isRowGroupStatus &&
|
|
374
|
+
if (isRowGroupStatus && row.isAggregate) {
|
|
371
375
|
const { fullColumnFieldData } = tableInternalData;
|
|
372
376
|
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
373
|
-
const { showTotal, totalMethod, contentMethod, mapChildrenField } = rowGroupOpts;
|
|
377
|
+
const { mode, showTotal, totalMethod, countFields, countMethod, contentMethod, mapChildrenField } = rowGroupOpts;
|
|
374
378
|
const groupField = row.groupField;
|
|
375
|
-
|
|
379
|
+
const groupContent = row.groupContent;
|
|
376
380
|
const childList = mapChildrenField ? (row[mapChildrenField] || []) : [];
|
|
377
|
-
const totalValue =
|
|
381
|
+
const totalValue = row.childCount;
|
|
378
382
|
const colRest = fullColumnFieldData[groupField] || {};
|
|
379
383
|
const params = {
|
|
380
384
|
$table,
|
|
381
385
|
groupField,
|
|
382
386
|
groupColumn: (colRest ? colRest.column : null),
|
|
383
387
|
column,
|
|
384
|
-
groupValue:
|
|
388
|
+
groupValue: groupContent,
|
|
385
389
|
children: childList,
|
|
386
390
|
totalValue: totalValue
|
|
387
391
|
};
|
|
388
|
-
if (
|
|
389
|
-
cellValue =
|
|
392
|
+
if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
|
|
393
|
+
cellValue = groupContent;
|
|
394
|
+
if (contentMethod) {
|
|
395
|
+
cellValue = `${contentMethod(params)}`;
|
|
396
|
+
}
|
|
397
|
+
if (showTotal) {
|
|
398
|
+
cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
|
|
399
|
+
}
|
|
390
400
|
}
|
|
391
|
-
if (
|
|
392
|
-
|
|
401
|
+
else if (countFields && countFields.includes(field)) {
|
|
402
|
+
if (countMethod) {
|
|
403
|
+
cellValue = `${countMethod(params)}`;
|
|
404
|
+
}
|
|
393
405
|
}
|
|
394
406
|
}
|
|
395
407
|
else if (!(isRowGroupStatus && row.isAggregate)) {
|
|
@@ -531,10 +543,14 @@ export const Cell = {
|
|
|
531
543
|
* 行分组、树结构
|
|
532
544
|
*/
|
|
533
545
|
renderDeepNodeBtn(h, params, cellVNodes) {
|
|
534
|
-
const { row, column } = params;
|
|
546
|
+
const { $table, row, column } = params;
|
|
535
547
|
const { rowGroupNode } = column;
|
|
536
|
-
if (
|
|
537
|
-
|
|
548
|
+
if (row.isAggregate) {
|
|
549
|
+
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
550
|
+
const { mode } = rowGroupOpts;
|
|
551
|
+
if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
|
|
552
|
+
return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
|
|
553
|
+
}
|
|
538
554
|
}
|
|
539
555
|
return [Cell.renderTreeNodeBtn(h, params, cellVNodes)];
|
|
540
556
|
},
|
package/es/table/src/methods.js
CHANGED
|
@@ -96,7 +96,7 @@ function handleVirtualXVisible($xeTable) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
let visibleSize = 0;
|
|
99
|
-
const toVisibleIndex = Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
|
|
99
|
+
const toVisibleIndex = leftIndex === visibleColumn.length ? leftIndex : Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
|
|
100
100
|
for (let cIndex = toVisibleIndex, cLen = visibleColumn.length; cIndex < cLen; cIndex++) {
|
|
101
101
|
const column = visibleColumn[cIndex];
|
|
102
102
|
const colid = column.id;
|
|
@@ -1690,7 +1690,7 @@ function handleVirtualYVisible($xeTable) {
|
|
|
1690
1690
|
rightIndex = rIndex;
|
|
1691
1691
|
}
|
|
1692
1692
|
}
|
|
1693
|
-
toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
1693
|
+
toVisibleIndex = leftIndex === afterFullData.length ? leftIndex : Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
1694
1694
|
for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
1695
1695
|
const row = afterFullData[rIndex];
|
|
1696
1696
|
const rowid = handleGetRowId(row);
|
|
@@ -2624,6 +2624,7 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
2624
2624
|
const groupField = rgItem.field;
|
|
2625
2625
|
const groupColumn = $xeTable.getColumnByField(groupField);
|
|
2626
2626
|
const groupMaps = {};
|
|
2627
|
+
const groupList = [];
|
|
2627
2628
|
const rowkey = getRowkey($xeTable);
|
|
2628
2629
|
list.forEach((row) => {
|
|
2629
2630
|
const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : XEUtils.get(row, groupField);
|
|
@@ -2640,8 +2641,10 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
2640
2641
|
});
|
|
2641
2642
|
XEUtils.objectEach(groupMaps, (childList, groupValue) => {
|
|
2642
2643
|
const { fullData: childFullData, treeData: childTreeData } = handleGroupData($xeTable, childList, rowGroups.slice(1));
|
|
2644
|
+
const childCount = 0;
|
|
2643
2645
|
const groupRow = {
|
|
2644
2646
|
isAggregate: true,
|
|
2647
|
+
childCount,
|
|
2645
2648
|
groupContent: groupValue,
|
|
2646
2649
|
groupField,
|
|
2647
2650
|
[rowField]: getRowUniqueId(),
|
|
@@ -2656,12 +2659,25 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
2656
2659
|
if (indeterminateField) {
|
|
2657
2660
|
groupRow[indeterminateField] = false;
|
|
2658
2661
|
}
|
|
2662
|
+
groupList.push(groupRow);
|
|
2659
2663
|
treeData.push(groupRow);
|
|
2660
2664
|
fullData.push(groupRow);
|
|
2661
2665
|
if (childFullData.length) {
|
|
2662
2666
|
fullData.push(...childFullData);
|
|
2663
2667
|
}
|
|
2664
2668
|
});
|
|
2669
|
+
XEUtils.lastEach(groupList, groupItem => {
|
|
2670
|
+
let count = 0;
|
|
2671
|
+
XEUtils.each(groupItem[childrenField], row => {
|
|
2672
|
+
if (row.isAggregate) {
|
|
2673
|
+
count += row[childrenField] ? row[childrenField].length : 0;
|
|
2674
|
+
}
|
|
2675
|
+
else {
|
|
2676
|
+
count++;
|
|
2677
|
+
}
|
|
2678
|
+
});
|
|
2679
|
+
groupItem.childCount = count;
|
|
2680
|
+
});
|
|
2665
2681
|
}
|
|
2666
2682
|
}
|
|
2667
2683
|
return {
|
|
@@ -3365,7 +3381,9 @@ function updateColumnOffsetLeft($xeTable) {
|
|
|
3365
3381
|
const column = visibleColumn[cIndex];
|
|
3366
3382
|
const colid = column.id;
|
|
3367
3383
|
const colRest = fullColumnIdData[colid];
|
|
3368
|
-
colRest
|
|
3384
|
+
if (colRest) {
|
|
3385
|
+
colRest.oLeft = offsetLeft;
|
|
3386
|
+
}
|
|
3369
3387
|
offsetLeft += column.renderWidth;
|
|
3370
3388
|
}
|
|
3371
3389
|
}
|
package/es/table/src/util.js
CHANGED
|
@@ -75,7 +75,7 @@ export function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
|
|
|
75
75
|
// 还原滚动状态
|
|
76
76
|
return $xeTable.scrollTo(scrollLeft, scrollTop);
|
|
77
77
|
}
|
|
78
|
-
return $xeTable
|
|
78
|
+
return $xeTable.clearScroll();
|
|
79
79
|
}
|
|
80
80
|
export function toTreePathSeq(path) {
|
|
81
81
|
return path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
|
package/es/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
import { getFuncText } from './src/utils';
|
|
3
|
-
export const version = "3.15.
|
|
3
|
+
export const version = "3.15.33";
|
|
4
4
|
VxeUI.version = version;
|
|
5
5
|
VxeUI.tableVersion = version;
|
|
6
6
|
VxeUI.setConfig({
|
|
@@ -201,13 +201,13 @@ VxeUI.setConfig({
|
|
|
201
201
|
isReplace: true
|
|
202
202
|
},
|
|
203
203
|
virtualXConfig: {
|
|
204
|
-
enabled:
|
|
204
|
+
enabled: true,
|
|
205
205
|
gt: 24,
|
|
206
206
|
preSize: 0,
|
|
207
207
|
oSize: 0
|
|
208
208
|
},
|
|
209
209
|
virtualYConfig: {
|
|
210
|
-
enabled:
|
|
210
|
+
enabled: true,
|
|
211
211
|
gt: 100,
|
|
212
212
|
preSize: 1,
|
|
213
213
|
oSize: 0
|
package/es/ui/src/log.js
CHANGED
package/lib/index.umd.js
CHANGED
|
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
|
|
|
2002
2002
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2003
2003
|
|
|
2004
2004
|
|
|
2005
|
-
const version = "3.15.
|
|
2005
|
+
const version = "3.15.33";
|
|
2006
2006
|
core_.VxeUI.version = version;
|
|
2007
2007
|
core_.VxeUI.tableVersion = version;
|
|
2008
2008
|
core_.VxeUI.setConfig({
|
|
@@ -2203,13 +2203,13 @@ core_.VxeUI.setConfig({
|
|
|
2203
2203
|
isReplace: true
|
|
2204
2204
|
},
|
|
2205
2205
|
virtualXConfig: {
|
|
2206
|
-
enabled:
|
|
2206
|
+
enabled: true,
|
|
2207
2207
|
gt: 24,
|
|
2208
2208
|
preSize: 0,
|
|
2209
2209
|
oSize: 0
|
|
2210
2210
|
},
|
|
2211
2211
|
virtualYConfig: {
|
|
2212
|
-
enabled:
|
|
2212
|
+
enabled: true,
|
|
2213
2213
|
gt: 100,
|
|
2214
2214
|
preSize: 1,
|
|
2215
2215
|
oSize: 0
|
|
@@ -2646,7 +2646,7 @@ function isNodeElement(elem) {
|
|
|
2646
2646
|
const {
|
|
2647
2647
|
log: log_log
|
|
2648
2648
|
} = core_.VxeUI;
|
|
2649
|
-
const log_version = `table v${"3.15.
|
|
2649
|
+
const log_version = `table v${"3.15.33"}`;
|
|
2650
2650
|
const warnLog = log_log.create('warn', log_version);
|
|
2651
2651
|
const errLog = log_log.create('error', log_version);
|
|
2652
2652
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -2900,7 +2900,7 @@ function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
|
|
|
2900
2900
|
// 还原滚动状态
|
|
2901
2901
|
return $xeTable.scrollTo(scrollLeft, scrollTop);
|
|
2902
2902
|
}
|
|
2903
|
-
return $xeTable
|
|
2903
|
+
return $xeTable.clearScroll();
|
|
2904
2904
|
}
|
|
2905
2905
|
function toTreePathSeq(path) {
|
|
2906
2906
|
return path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
@@ -3742,21 +3742,30 @@ function getDefaultCellLabel(params) {
|
|
|
3742
3742
|
function renderCellHandle(h, params) {
|
|
3743
3743
|
const {
|
|
3744
3744
|
column,
|
|
3745
|
+
row,
|
|
3745
3746
|
$table
|
|
3746
3747
|
} = params;
|
|
3747
3748
|
const tableProps = $table;
|
|
3749
|
+
const tableReactData = $table;
|
|
3748
3750
|
const {
|
|
3749
3751
|
editConfig
|
|
3750
3752
|
} = tableProps;
|
|
3753
|
+
const {
|
|
3754
|
+
isRowGroupStatus
|
|
3755
|
+
} = tableReactData;
|
|
3751
3756
|
const {
|
|
3752
3757
|
type,
|
|
3753
3758
|
treeNode,
|
|
3754
3759
|
rowGroupNode,
|
|
3755
3760
|
editRender
|
|
3756
3761
|
} = column;
|
|
3762
|
+
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
3763
|
+
const {
|
|
3764
|
+
mode
|
|
3765
|
+
} = rowGroupOpts;
|
|
3757
3766
|
const checkboxOpts = $table.computeCheckboxOpts;
|
|
3758
3767
|
const editOpts = $table.computeEditOpts;
|
|
3759
|
-
const isDeepCell = treeNode || rowGroupNode;
|
|
3768
|
+
const isDeepCell = treeNode || isRowGroupStatus && row.isAggregate && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
|
|
3760
3769
|
switch (type) {
|
|
3761
3770
|
case 'seq':
|
|
3762
3771
|
return isDeepCell ? Cell.renderDeepIndexCell(h, params) : Cell.renderSeqCell(h, params);
|
|
@@ -3876,6 +3885,7 @@ const Cell = {
|
|
|
3876
3885
|
isRowGroupStatus
|
|
3877
3886
|
} = tableReactData;
|
|
3878
3887
|
const {
|
|
3888
|
+
field,
|
|
3879
3889
|
slots,
|
|
3880
3890
|
editRender,
|
|
3881
3891
|
cellRender,
|
|
@@ -3897,36 +3907,46 @@ const Cell = {
|
|
|
3897
3907
|
}
|
|
3898
3908
|
}
|
|
3899
3909
|
let cellValue = '';
|
|
3900
|
-
if (isRowGroupStatus &&
|
|
3910
|
+
if (isRowGroupStatus && row.isAggregate) {
|
|
3901
3911
|
const {
|
|
3902
3912
|
fullColumnFieldData
|
|
3903
3913
|
} = tableInternalData;
|
|
3904
3914
|
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
3905
3915
|
const {
|
|
3916
|
+
mode,
|
|
3906
3917
|
showTotal,
|
|
3907
3918
|
totalMethod,
|
|
3919
|
+
countFields,
|
|
3920
|
+
countMethod,
|
|
3908
3921
|
contentMethod,
|
|
3909
3922
|
mapChildrenField
|
|
3910
3923
|
} = rowGroupOpts;
|
|
3911
3924
|
const groupField = row.groupField;
|
|
3912
|
-
|
|
3925
|
+
const groupContent = row.groupContent;
|
|
3913
3926
|
const childList = mapChildrenField ? row[mapChildrenField] || [] : [];
|
|
3914
|
-
const totalValue =
|
|
3927
|
+
const totalValue = row.childCount;
|
|
3915
3928
|
const colRest = fullColumnFieldData[groupField] || {};
|
|
3916
3929
|
const params = {
|
|
3917
3930
|
$table,
|
|
3918
3931
|
groupField,
|
|
3919
3932
|
groupColumn: colRest ? colRest.column : null,
|
|
3920
3933
|
column,
|
|
3921
|
-
groupValue:
|
|
3934
|
+
groupValue: groupContent,
|
|
3922
3935
|
children: childList,
|
|
3923
3936
|
totalValue: totalValue
|
|
3924
3937
|
};
|
|
3925
|
-
if (
|
|
3926
|
-
cellValue =
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3938
|
+
if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
|
|
3939
|
+
cellValue = groupContent;
|
|
3940
|
+
if (contentMethod) {
|
|
3941
|
+
cellValue = `${contentMethod(params)}`;
|
|
3942
|
+
}
|
|
3943
|
+
if (showTotal) {
|
|
3944
|
+
cellValue = cell_getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
|
|
3945
|
+
}
|
|
3946
|
+
} else if (countFields && countFields.includes(field)) {
|
|
3947
|
+
if (countMethod) {
|
|
3948
|
+
cellValue = `${countMethod(params)}`;
|
|
3949
|
+
}
|
|
3930
3950
|
}
|
|
3931
3951
|
} else if (!(isRowGroupStatus && row.isAggregate)) {
|
|
3932
3952
|
cellValue = $table.getCellLabel(row, column);
|
|
@@ -4079,14 +4099,21 @@ const Cell = {
|
|
|
4079
4099
|
*/
|
|
4080
4100
|
renderDeepNodeBtn(h, params, cellVNodes) {
|
|
4081
4101
|
const {
|
|
4102
|
+
$table,
|
|
4082
4103
|
row,
|
|
4083
4104
|
column
|
|
4084
4105
|
} = params;
|
|
4085
4106
|
const {
|
|
4086
4107
|
rowGroupNode
|
|
4087
4108
|
} = column;
|
|
4088
|
-
if (
|
|
4089
|
-
|
|
4109
|
+
if (row.isAggregate) {
|
|
4110
|
+
const rowGroupOpts = $table.computeRowGroupOpts;
|
|
4111
|
+
const {
|
|
4112
|
+
mode
|
|
4113
|
+
} = rowGroupOpts;
|
|
4114
|
+
if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
|
|
4115
|
+
return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
|
|
4116
|
+
}
|
|
4090
4117
|
}
|
|
4091
4118
|
return [Cell.renderTreeNodeBtn(h, params, cellVNodes)];
|
|
4092
4119
|
},
|
|
@@ -5196,7 +5223,7 @@ function handleVirtualXVisible($xeTable) {
|
|
|
5196
5223
|
}
|
|
5197
5224
|
}
|
|
5198
5225
|
let visibleSize = 0;
|
|
5199
|
-
const toVisibleIndex = Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
|
|
5226
|
+
const toVisibleIndex = leftIndex === visibleColumn.length ? leftIndex : Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
|
|
5200
5227
|
for (let cIndex = toVisibleIndex, cLen = visibleColumn.length; cIndex < cLen; cIndex++) {
|
|
5201
5228
|
const column = visibleColumn[cIndex];
|
|
5202
5229
|
const colid = column.id;
|
|
@@ -7162,7 +7189,7 @@ function handleVirtualYVisible($xeTable) {
|
|
|
7162
7189
|
rightIndex = rIndex;
|
|
7163
7190
|
}
|
|
7164
7191
|
}
|
|
7165
|
-
toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
7192
|
+
toVisibleIndex = leftIndex === afterFullData.length ? leftIndex : Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
|
|
7166
7193
|
for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
7167
7194
|
const row = afterFullData[rIndex];
|
|
7168
7195
|
const rowid = handleGetRowId(row);
|
|
@@ -8227,6 +8254,7 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
8227
8254
|
const groupField = rgItem.field;
|
|
8228
8255
|
const groupColumn = $xeTable.getColumnByField(groupField);
|
|
8229
8256
|
const groupMaps = {};
|
|
8257
|
+
const groupList = [];
|
|
8230
8258
|
const rowkey = getRowkey($xeTable);
|
|
8231
8259
|
list.forEach(row => {
|
|
8232
8260
|
const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, groupField);
|
|
@@ -8246,8 +8274,10 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
8246
8274
|
fullData: childFullData,
|
|
8247
8275
|
treeData: childTreeData
|
|
8248
8276
|
} = handleGroupData($xeTable, childList, rowGroups.slice(1));
|
|
8277
|
+
const childCount = 0;
|
|
8249
8278
|
const groupRow = {
|
|
8250
8279
|
isAggregate: true,
|
|
8280
|
+
childCount,
|
|
8251
8281
|
groupContent: groupValue,
|
|
8252
8282
|
groupField,
|
|
8253
8283
|
[rowField]: getRowUniqueId(),
|
|
@@ -8262,12 +8292,24 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
8262
8292
|
if (indeterminateField) {
|
|
8263
8293
|
groupRow[indeterminateField] = false;
|
|
8264
8294
|
}
|
|
8295
|
+
groupList.push(groupRow);
|
|
8265
8296
|
treeData.push(groupRow);
|
|
8266
8297
|
fullData.push(groupRow);
|
|
8267
8298
|
if (childFullData.length) {
|
|
8268
8299
|
fullData.push(...childFullData);
|
|
8269
8300
|
}
|
|
8270
8301
|
});
|
|
8302
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(groupList, groupItem => {
|
|
8303
|
+
let count = 0;
|
|
8304
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(groupItem[childrenField], row => {
|
|
8305
|
+
if (row.isAggregate) {
|
|
8306
|
+
count += row[childrenField] ? row[childrenField].length : 0;
|
|
8307
|
+
} else {
|
|
8308
|
+
count++;
|
|
8309
|
+
}
|
|
8310
|
+
});
|
|
8311
|
+
groupItem.childCount = count;
|
|
8312
|
+
});
|
|
8271
8313
|
}
|
|
8272
8314
|
}
|
|
8273
8315
|
return {
|
|
@@ -9051,7 +9093,9 @@ function updateColumnOffsetLeft($xeTable) {
|
|
|
9051
9093
|
const column = visibleColumn[cIndex];
|
|
9052
9094
|
const colid = column.id;
|
|
9053
9095
|
const colRest = fullColumnIdData[colid];
|
|
9054
|
-
colRest
|
|
9096
|
+
if (colRest) {
|
|
9097
|
+
colRest.oLeft = offsetLeft;
|
|
9098
|
+
}
|
|
9055
9099
|
offsetLeft += column.renderWidth;
|
|
9056
9100
|
}
|
|
9057
9101
|
}
|
|
@@ -26097,7 +26141,7 @@ function checkRuleStatus(rule, val) {
|
|
|
26097
26141
|
const {
|
|
26098
26142
|
required
|
|
26099
26143
|
} = rule;
|
|
26100
|
-
const isEmptyVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().
|
|
26144
|
+
const isEmptyVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(val) ? !val.length : eqEmptyValue(val);
|
|
26101
26145
|
if (required) {
|
|
26102
26146
|
if (isEmptyVal) {
|
|
26103
26147
|
return false;
|