k-vtable 1.0.11 → 1.0.13
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/cjs/ListTable.js +15 -11
- package/cjs/ListTable.js.map +1 -1
- package/cjs/core/BaseTable.js +47 -33
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/group-helper.d.ts +3 -1
- package/cjs/core/group-helper.js +5 -3
- package/cjs/core/group-helper.js.map +1 -1
- package/cjs/core/record-helper.js +121 -17
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/core/tableHelper.js +1 -1
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/CachedDataSource.d.ts +1 -1
- package/cjs/data/CachedDataSource.js +7 -6
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/event/event.js +2 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/table-group.js +6 -4
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/self-event-listener/base-table/dropdown-menu.d.ts +1 -1
- package/cjs/event/self-event-listener/base-table/dropdown-menu.js +5 -3
- package/cjs/event/self-event-listener/base-table/dropdown-menu.js.map +1 -1
- package/cjs/event/self-event-listener/list-table/checkbox.js +5 -5
- package/cjs/event/self-event-listener/list-table/checkbox.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/cell-range/simple-cell-range.js +2 -2
- package/cjs/layout/cell-range/simple-cell-range.js.map +1 -1
- package/cjs/layout/layout-helper.js +1 -1
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/simple-header-layout.js +3 -3
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js +7 -4
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +3 -3
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -5
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +3 -3
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +1 -1
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +1 -1
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +27 -11
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/scenegraph/utils/get-hierarchy-offset.js +1 -1
- package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/cjs/state/checkbox/checkbox.js +7 -6
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/tools/diff-cell.d.ts +1 -1
- package/cjs/tools/diff-cell.js +4 -1
- package/cjs/tools/diff-cell.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +10 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/list-table/define/checkbox-define.d.ts +0 -1
- package/cjs/ts-types/list-table/define/checkbox-define.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +1 -0
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +12 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +341 -85
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +13 -9
- package/es/ListTable.js.map +1 -1
- package/es/core/BaseTable.js +47 -33
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/group-helper.d.ts +3 -1
- package/es/core/group-helper.js +5 -3
- package/es/core/group-helper.js.map +1 -1
- package/es/core/record-helper.js +120 -14
- package/es/core/record-helper.js.map +1 -1
- package/es/core/tableHelper.js +1 -1
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/CachedDataSource.d.ts +1 -1
- package/es/data/CachedDataSource.js +7 -6
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/event/event.js +3 -3
- package/es/event/event.js.map +1 -1
- package/es/event/listener/table-group.js +6 -4
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/self-event-listener/base-table/dropdown-menu.d.ts +1 -1
- package/es/event/self-event-listener/base-table/dropdown-menu.js +3 -1
- package/es/event/self-event-listener/base-table/dropdown-menu.js.map +1 -1
- package/es/event/self-event-listener/list-table/checkbox.js +5 -5
- package/es/event/self-event-listener/list-table/checkbox.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/cell-range/simple-cell-range.js +2 -2
- package/es/layout/cell-range/simple-cell-range.js.map +1 -1
- package/es/layout/layout-helper.js +1 -1
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/simple-header-layout.js +3 -3
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/graphic/chart.js +7 -4
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -5
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +2 -2
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +1 -1
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.js +1 -1
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +23 -9
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/scenegraph/utils/get-hierarchy-offset.js +1 -1
- package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/es/state/checkbox/checkbox.js +7 -6
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/tools/diff-cell.d.ts +1 -1
- package/es/tools/diff-cell.js +4 -1
- package/es/tools/diff-cell.js.map +1 -1
- package/es/ts-types/base-table.d.ts +10 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/list-table/define/checkbox-define.d.ts +0 -1
- package/es/ts-types/list-table/define/checkbox-define.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +1 -0
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +12 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +6 -7
package/dist/vtable.js
CHANGED
|
@@ -39460,6 +39460,9 @@
|
|
|
39460
39460
|
this.groupAggregator = new this.registedAggregators[AggregationType.CUSTOM]({
|
|
39461
39461
|
field: '',
|
|
39462
39462
|
aggregationFun: (values, records, field) => {
|
|
39463
|
+
if (this.dataConfig.customDealGroupData) {
|
|
39464
|
+
return this.dataConfig.customDealGroupData(records);
|
|
39465
|
+
}
|
|
39463
39466
|
const groupMap = new Map();
|
|
39464
39467
|
const groupResult = [];
|
|
39465
39468
|
for (let i = 0; i < records.length; i++) {
|
|
@@ -39576,13 +39579,14 @@
|
|
|
39576
39579
|
}
|
|
39577
39580
|
}
|
|
39578
39581
|
this.initTreeHierarchyState();
|
|
39579
|
-
this.
|
|
39582
|
+
this.updatePagination();
|
|
39580
39583
|
}
|
|
39581
39584
|
deleteRecordsForTree(recordIndexs) {
|
|
39582
39585
|
if (!isArray$7(recordIndexs) || recordIndexs.length === 0) {
|
|
39583
|
-
return;
|
|
39586
|
+
return [];
|
|
39584
39587
|
}
|
|
39585
39588
|
const recordIndexsMaxToMin = sortRecordIndexs(recordIndexs, -1);
|
|
39589
|
+
const deletedRecordIndexs = [];
|
|
39586
39590
|
for (let index = 0; index < recordIndexsMaxToMin.length; index++) {
|
|
39587
39591
|
const recordIndex = recordIndexsMaxToMin[index];
|
|
39588
39592
|
if (isNumber$4(recordIndex) && (recordIndex >= this.sourceLength || recordIndex < 0)) {
|
|
@@ -39599,9 +39603,11 @@
|
|
|
39599
39603
|
parentRecord.children.splice(index, 1);
|
|
39600
39604
|
}
|
|
39601
39605
|
this.adjustBeforeChangedRecordsMap(recordIndex, 1, 'delete');
|
|
39606
|
+
deletedRecordIndexs.push(recordIndex);
|
|
39602
39607
|
}
|
|
39603
39608
|
this.initTreeHierarchyState();
|
|
39604
|
-
this.
|
|
39609
|
+
this.updatePagination();
|
|
39610
|
+
return deletedRecordIndexs;
|
|
39605
39611
|
}
|
|
39606
39612
|
updateRecordsForTree(records, recordIndexs) {
|
|
39607
39613
|
for (let index = 0; index < recordIndexs.length; index++) {
|
|
@@ -39663,7 +39669,7 @@
|
|
|
39663
39669
|
}
|
|
39664
39670
|
cacheBeforeChangedRecord(dataIndex, table) {
|
|
39665
39671
|
const originRecord = this.getOriginalRecord(dataIndex);
|
|
39666
|
-
if (table.
|
|
39672
|
+
if (table.internalProps.groupBy) {
|
|
39667
39673
|
dataIndex = this.getOriginRecordIndexForGroup(dataIndex);
|
|
39668
39674
|
}
|
|
39669
39675
|
if (!this.beforeChangedRecordsMap.has(dataIndex.toString())) {
|
|
@@ -40226,7 +40232,7 @@
|
|
|
40226
40232
|
if (table.options.hierarchyExpandLevel) {
|
|
40227
40233
|
return table.options.hierarchyExpandLevel;
|
|
40228
40234
|
}
|
|
40229
|
-
else if (table.
|
|
40235
|
+
else if (table.internalProps.groupBy) {
|
|
40230
40236
|
return Infinity;
|
|
40231
40237
|
}
|
|
40232
40238
|
return table._hasHierarchyTreeHeader?.() ? 1 : undefined;
|
|
@@ -42337,7 +42343,7 @@
|
|
|
42337
42343
|
}
|
|
42338
42344
|
}
|
|
42339
42345
|
else {
|
|
42340
|
-
if (table.
|
|
42346
|
+
if (table.internalProps.groupBy ||
|
|
42341
42347
|
table.getBodyColumnDefine(col, row)?.tree) {
|
|
42342
42348
|
const indexArr = table.dataSource.getIndexKey(table.getRecordShowIndexByCell(col, row));
|
|
42343
42349
|
const groupLength = table.dataSource.getGroupLength() ?? 0;
|
|
@@ -43618,11 +43624,11 @@
|
|
|
43618
43624
|
isVtableMerge = vtableMerge;
|
|
43619
43625
|
if (vtableMerge) {
|
|
43620
43626
|
mayHaveIcon = true;
|
|
43621
|
-
if (table.
|
|
43622
|
-
customResult = dealWithCustom(table.
|
|
43627
|
+
if (table.internalProps.groupTitleCustomLayout) {
|
|
43628
|
+
customResult = dealWithCustom(table.internalProps.groupTitleCustomLayout, undefined, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table);
|
|
43623
43629
|
}
|
|
43624
|
-
if (table.
|
|
43625
|
-
value = table.
|
|
43630
|
+
if (table.internalProps.groupTitleFieldFormat) {
|
|
43631
|
+
value = table.internalProps.groupTitleFieldFormat(rawRecord, col, row, table);
|
|
43626
43632
|
}
|
|
43627
43633
|
else if (vtableMergeName !== undefined) {
|
|
43628
43634
|
value = vtableMergeName;
|
|
@@ -44980,7 +44986,7 @@
|
|
|
44980
44986
|
}
|
|
44981
44987
|
|
|
44982
44988
|
function updateRowHeight(scene, row, detaY, skipTableHeightMap) {
|
|
44983
|
-
if (!skipTableHeightMap) {
|
|
44989
|
+
if (!skipTableHeightMap && detaY) {
|
|
44984
44990
|
scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);
|
|
44985
44991
|
}
|
|
44986
44992
|
for (let col = 0; col < scene.table.colCount; col++) {
|
|
@@ -45098,8 +45104,8 @@
|
|
|
45098
45104
|
let customLayout;
|
|
45099
45105
|
const cellLocation = scene.table.getCellLocation(col, row);
|
|
45100
45106
|
const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};
|
|
45101
|
-
if (vtableMerge && scene.table.
|
|
45102
|
-
customLayout = scene.table.
|
|
45107
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) {
|
|
45108
|
+
customLayout = scene.table.internalProps.groupTitleCustomLayout;
|
|
45103
45109
|
}
|
|
45104
45110
|
else if (cellLocation !== 'body') {
|
|
45105
45111
|
const define = scene.table.getHeaderDefine(col, row);
|
|
@@ -45455,8 +45461,8 @@
|
|
|
45455
45461
|
let customLayout;
|
|
45456
45462
|
const cellType = scene.table.getCellLocation(col, row);
|
|
45457
45463
|
const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};
|
|
45458
|
-
if (vtableMerge && scene.table.
|
|
45459
|
-
customLayout = scene.table.
|
|
45464
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) {
|
|
45465
|
+
customLayout = scene.table.internalProps.groupTitleCustomLayout;
|
|
45460
45466
|
}
|
|
45461
45467
|
else if (cellType !== 'body') {
|
|
45462
45468
|
const define = scene.table.getHeaderDefine(col, row);
|
|
@@ -47411,13 +47417,15 @@
|
|
|
47411
47417
|
stage.needRender = false;
|
|
47412
47418
|
chartStage.resumeRender();
|
|
47413
47419
|
},
|
|
47414
|
-
|
|
47415
|
-
|
|
47416
|
-
|
|
47417
|
-
|
|
47418
|
-
|
|
47419
|
-
|
|
47420
|
-
|
|
47420
|
+
renderHooks: {
|
|
47421
|
+
afterClearRect(drawParams) {
|
|
47422
|
+
const { context, layer, viewBox } = drawParams;
|
|
47423
|
+
if (layer.main && drawParams.clear && hoverColor) {
|
|
47424
|
+
context.beginPath();
|
|
47425
|
+
context.fillStyle = hoverColor;
|
|
47426
|
+
context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);
|
|
47427
|
+
context.fill();
|
|
47428
|
+
}
|
|
47421
47429
|
}
|
|
47422
47430
|
}
|
|
47423
47431
|
}));
|
|
@@ -49884,11 +49892,11 @@
|
|
|
49884
49892
|
isVtableMerge = vtableMerge;
|
|
49885
49893
|
if (vtableMerge) {
|
|
49886
49894
|
mayHaveIcon = true;
|
|
49887
|
-
if (table.
|
|
49888
|
-
customResult = dealWithCustom(table.
|
|
49895
|
+
if (table.internalProps.groupTitleCustomLayout) {
|
|
49896
|
+
customResult = dealWithCustom(table.internalProps.groupTitleCustomLayout, undefined, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table);
|
|
49889
49897
|
}
|
|
49890
|
-
if (table.
|
|
49891
|
-
value = table.
|
|
49898
|
+
if (table.internalProps.groupTitleFieldFormat) {
|
|
49899
|
+
value = table.internalProps.groupTitleFieldFormat(rawRecord, col, row, table);
|
|
49892
49900
|
}
|
|
49893
49901
|
else if (vtableMergeName !== undefined) {
|
|
49894
49902
|
value = vtableMergeName;
|
|
@@ -51885,11 +51893,12 @@
|
|
|
51885
51893
|
const rowsHeight = table.getRowsHeight(computeRectCellRangeStartRow, computeRectCellRangeEndRow);
|
|
51886
51894
|
const firstCellBound = scene.highPerformanceGetCell(computeRectCellRangeStartCol, computeRectCellRangeStartRow).globalAABBBounds;
|
|
51887
51895
|
selectComp.rect.setAttributes({
|
|
51888
|
-
x: firstCellBound.x1 - scene.tableGroup.attribute.x,
|
|
51889
|
-
y: firstCellBound.y1 - scene.tableGroup.attribute.y,
|
|
51890
|
-
width: colsWidth -
|
|
51891
|
-
height: rowsHeight -
|
|
51892
|
-
visible: true
|
|
51896
|
+
x: firstCellBound.x1 - scene.tableGroup.attribute.x + 1,
|
|
51897
|
+
y: firstCellBound.y1 - scene.tableGroup.attribute.y + 1,
|
|
51898
|
+
width: colsWidth - 2,
|
|
51899
|
+
height: rowsHeight - 2,
|
|
51900
|
+
visible: true,
|
|
51901
|
+
cornerRadius: 2
|
|
51893
51902
|
});
|
|
51894
51903
|
if (selectComp.fillhandle) {
|
|
51895
51904
|
const fillHandle = scene.table.options.excelOptions?.fillHandle;
|
|
@@ -52094,6 +52103,21 @@
|
|
|
52094
52103
|
});
|
|
52095
52104
|
}
|
|
52096
52105
|
}
|
|
52106
|
+
const resetGroupCell = (table, col, row, mergeInfo) => {
|
|
52107
|
+
if (mergeInfo) {
|
|
52108
|
+
const record = table.getRecordByRowCol(mergeInfo.start.col, mergeInfo.start.row);
|
|
52109
|
+
if (record && record.vtableMerge) {
|
|
52110
|
+
mergeInfo.start = {
|
|
52111
|
+
col,
|
|
52112
|
+
row
|
|
52113
|
+
};
|
|
52114
|
+
mergeInfo.end = {
|
|
52115
|
+
col,
|
|
52116
|
+
row
|
|
52117
|
+
};
|
|
52118
|
+
}
|
|
52119
|
+
}
|
|
52120
|
+
};
|
|
52097
52121
|
function updateCellSelectBorder(scene, selectRange, ifExtendSelectRange = true) {
|
|
52098
52122
|
const table = scene.table;
|
|
52099
52123
|
const newStartCol = selectRange.start.col;
|
|
@@ -52114,6 +52138,7 @@
|
|
|
52114
52138
|
continue;
|
|
52115
52139
|
}
|
|
52116
52140
|
const mergeInfo = getCellMergeInfo(table, col, row);
|
|
52141
|
+
resetGroupCell(table, col, row, mergeInfo);
|
|
52117
52142
|
if (mergeInfo && mergeInfo.start.col < startCol) {
|
|
52118
52143
|
startCol = mergeInfo.start.col;
|
|
52119
52144
|
isExtend = true;
|
|
@@ -52127,6 +52152,7 @@
|
|
|
52127
52152
|
continue;
|
|
52128
52153
|
}
|
|
52129
52154
|
const mergeInfo = getCellMergeInfo(table, col, row);
|
|
52155
|
+
resetGroupCell(table, col, row, mergeInfo);
|
|
52130
52156
|
if (mergeInfo && Math.min(mergeInfo.end.col, table.colCount - 1) > endCol) {
|
|
52131
52157
|
endCol = mergeInfo.end.col;
|
|
52132
52158
|
isExtend = true;
|
|
@@ -52146,6 +52172,7 @@
|
|
|
52146
52172
|
continue;
|
|
52147
52173
|
}
|
|
52148
52174
|
const mergeInfo = getCellMergeInfo(table, col, row);
|
|
52175
|
+
resetGroupCell(table, col, row, mergeInfo);
|
|
52149
52176
|
if (mergeInfo && mergeInfo.start.row < startRow) {
|
|
52150
52177
|
startRow = mergeInfo.start.row;
|
|
52151
52178
|
isExtend = true;
|
|
@@ -52159,6 +52186,7 @@
|
|
|
52159
52186
|
continue;
|
|
52160
52187
|
}
|
|
52161
52188
|
const mergeInfo = getCellMergeInfo(table, col, row);
|
|
52189
|
+
resetGroupCell(table, col, row, mergeInfo);
|
|
52162
52190
|
if (mergeInfo && Math.min(mergeInfo.end.row, table.rowCount - 1) > endRow) {
|
|
52163
52191
|
endRow = mergeInfo.end.row;
|
|
52164
52192
|
isExtend = true;
|
|
@@ -53959,7 +53987,7 @@
|
|
|
53959
53987
|
const height = scene.table.tableNoFrameHeight;
|
|
53960
53988
|
scene.tableGroup = new Group$1({ x: 0, y: 0, width, height, clip: true, pickable: false });
|
|
53961
53989
|
scene.tableGroup.role = 'table';
|
|
53962
|
-
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.
|
|
53990
|
+
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.internalProps.enableTreeStickCell);
|
|
53963
53991
|
colHeaderGroup.role = 'col-header';
|
|
53964
53992
|
scene.colHeaderGroup = colHeaderGroup;
|
|
53965
53993
|
const cornerHeaderGroup = createContainerGroup(0, 0, !scene.table.options.enableTreeStickCell);
|
|
@@ -56158,7 +56186,7 @@
|
|
|
56158
56186
|
else if (this.table.isAutoRowHeight(this.table.columnHeaderLevelCount)) {
|
|
56159
56187
|
for (let i = 0; i < updateRows.length; i++) {
|
|
56160
56188
|
const row = updateRows[i];
|
|
56161
|
-
const oldHeight = this.table.
|
|
56189
|
+
const oldHeight = this.table.rowHeightsMap.get(row);
|
|
56162
56190
|
const newHeight = computeRowHeight(row, 0, this.table.colCount - 1, this.table);
|
|
56163
56191
|
if ((row >= this.proxy.rowStart && row <= this.proxy.rowEnd) ||
|
|
56164
56192
|
(row >= this.table.rowCount - this.table.bottomFrozenRowCount && row <= this.table.rowCount - 1)) {
|
|
@@ -57815,9 +57843,11 @@
|
|
|
57815
57843
|
}
|
|
57816
57844
|
function setHeaderCheckedState(field, checked, state) {
|
|
57817
57845
|
state.headerCheckedState[field] = checked;
|
|
57818
|
-
state.
|
|
57819
|
-
recordCheckState
|
|
57820
|
-
|
|
57846
|
+
if (state.table.internalProps.enableCheckboxCascade) {
|
|
57847
|
+
state.checkedState?.forEach(recordCheckState => {
|
|
57848
|
+
recordCheckState[field] = checked;
|
|
57849
|
+
});
|
|
57850
|
+
}
|
|
57821
57851
|
}
|
|
57822
57852
|
function syncCheckedState(col, row, field, checked, state) {
|
|
57823
57853
|
if (state.table.isHeader(col, row)) {
|
|
@@ -57845,7 +57875,7 @@
|
|
|
57845
57875
|
if (state.checkedState.get(dataIndex)) {
|
|
57846
57876
|
state.checkedState.get(dataIndex)[field] = checked;
|
|
57847
57877
|
}
|
|
57848
|
-
else if (dataIndex.includes(',')) {
|
|
57878
|
+
else if (state.table.internalProps.enableCheckboxCascade && dataIndex.includes(',')) {
|
|
57849
57879
|
const parentDataIndex = dataIndex.split(',').slice(0, -1).join(',');
|
|
57850
57880
|
if (state.checkedState.has(parentDataIndex) && state.checkedState.get(parentDataIndex)[field] === true) {
|
|
57851
57881
|
state.checkedState.set(dataIndex, {
|
|
@@ -57924,7 +57954,7 @@
|
|
|
57924
57954
|
? state.table.getCustomMerge(tableIndex, row)
|
|
57925
57955
|
: state.table.getCustomMerge(col, tableIndex);
|
|
57926
57956
|
const data = state.table.dataSource?.get(index);
|
|
57927
|
-
if (mergeCell || (!state.table.internalProps.
|
|
57957
|
+
if (mergeCell || (!state.table.internalProps.enableCheckboxCascade && data?.vtableMerge)) {
|
|
57928
57958
|
return;
|
|
57929
57959
|
}
|
|
57930
57960
|
if (check_state?.[field] !== true) {
|
|
@@ -57971,7 +58001,8 @@
|
|
|
57971
58001
|
}
|
|
57972
58002
|
function setCellCheckboxState(col, row, checked, table) {
|
|
57973
58003
|
const cellGroup = table.scenegraph.getCell(col, row);
|
|
57974
|
-
const checkbox = cellGroup?.getChildByName('checkbox')
|
|
58004
|
+
const checkbox = cellGroup?.getChildByName('checkbox') ||
|
|
58005
|
+
cellGroup?.getChildByName('checkbox-content')?._checkboxGroup?.getChildByName('checkbox');
|
|
57975
58006
|
if (!checkbox) {
|
|
57976
58007
|
const field = table.getHeaderField(col, row);
|
|
57977
58008
|
if (table.isHeader(col, row)) {
|
|
@@ -60519,19 +60550,23 @@
|
|
|
60519
60550
|
};
|
|
60520
60551
|
if (table.isHeader(col, row)) {
|
|
60521
60552
|
table.stateManager.setHeaderCheckedState(cellInfo.field, e.detail.checked);
|
|
60522
|
-
|
|
60523
|
-
|
|
60524
|
-
|
|
60553
|
+
if (table.internalProps.enableHeaderCheckboxCascade) {
|
|
60554
|
+
const cellType = table.getCellType(col, row);
|
|
60555
|
+
if (cellType === 'checkbox') {
|
|
60556
|
+
table.scenegraph.updateCheckboxCellState(col, row, e.detail.checked);
|
|
60557
|
+
}
|
|
60525
60558
|
}
|
|
60526
60559
|
}
|
|
60527
60560
|
else {
|
|
60528
60561
|
table.stateManager.setCheckedState(col, row, cellInfo.field, e.detail.checked);
|
|
60529
|
-
|
|
60530
|
-
|
|
60531
|
-
|
|
60532
|
-
|
|
60533
|
-
|
|
60534
|
-
|
|
60562
|
+
if (table.internalProps.enableCheckboxCascade) {
|
|
60563
|
+
const cellType = table.getCellType(col, row);
|
|
60564
|
+
if (cellType === 'checkbox') {
|
|
60565
|
+
const oldHeaderCheckedState = table.stateManager.headerCheckedState[cellInfo.field];
|
|
60566
|
+
const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(cellInfo.field, col, row);
|
|
60567
|
+
if (oldHeaderCheckedState !== newHeaderCheckedState) {
|
|
60568
|
+
table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);
|
|
60569
|
+
}
|
|
60535
60570
|
}
|
|
60536
60571
|
}
|
|
60537
60572
|
}
|
|
@@ -61872,8 +61907,7 @@
|
|
|
61872
61907
|
function bindGroupTitleCheckboxChange(table) {
|
|
61873
61908
|
table.on('checkbox_state_change', args => {
|
|
61874
61909
|
const { col, row, checked, field } = args;
|
|
61875
|
-
if (!table.internalProps.layoutMap.isSeriesNumber(col, row) ||
|
|
61876
|
-
table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true) {
|
|
61910
|
+
if (!table.internalProps.layoutMap.isSeriesNumber(col, row) || table.internalProps.enableCheckboxCascade !== true) {
|
|
61877
61911
|
return;
|
|
61878
61912
|
}
|
|
61879
61913
|
if (table.isHeader(col, row)) {
|
|
@@ -61917,6 +61951,9 @@
|
|
|
61917
61951
|
});
|
|
61918
61952
|
}
|
|
61919
61953
|
function bindGroupCheckboxTreeChange(table) {
|
|
61954
|
+
if (table.internalProps.enableCheckboxCascade !== true) {
|
|
61955
|
+
return;
|
|
61956
|
+
}
|
|
61920
61957
|
table.on('checkbox_state_change', args => {
|
|
61921
61958
|
const { col, row, checked, field } = args;
|
|
61922
61959
|
const isCheckboxAndTree = table.internalProps.columns.some(column => column.tree);
|
|
@@ -62083,6 +62120,9 @@
|
|
|
62083
62120
|
});
|
|
62084
62121
|
}
|
|
62085
62122
|
function bindHeaderCheckboxChange(table) {
|
|
62123
|
+
if (table.internalProps.enableHeaderCheckboxCascade !== true) {
|
|
62124
|
+
return;
|
|
62125
|
+
}
|
|
62086
62126
|
table.on('checkbox_state_change', args => {
|
|
62087
62127
|
const { col, row, checked, field } = args;
|
|
62088
62128
|
if (table.isHeader(col, row)) {
|
|
@@ -62146,10 +62186,13 @@
|
|
|
62146
62186
|
});
|
|
62147
62187
|
}
|
|
62148
62188
|
|
|
62149
|
-
function
|
|
62189
|
+
function bindDropdownMenuEvent(table) {
|
|
62150
62190
|
table.on(TABLE_EVENT_TYPE.DROPDOWN_MENU_CLICK, () => {
|
|
62151
62191
|
table.stateManager.hideMenu();
|
|
62152
62192
|
});
|
|
62193
|
+
table.on(TABLE_EVENT_TYPE.SCROLL, () => {
|
|
62194
|
+
table.stateManager.hideMenu();
|
|
62195
|
+
});
|
|
62153
62196
|
}
|
|
62154
62197
|
|
|
62155
62198
|
function bindDBClickAutoColumnWidthEvent(table) {
|
|
@@ -62256,7 +62299,7 @@
|
|
|
62256
62299
|
return;
|
|
62257
62300
|
}
|
|
62258
62301
|
bindIconClickEvent(this.table);
|
|
62259
|
-
|
|
62302
|
+
bindDropdownMenuEvent(this.table);
|
|
62260
62303
|
this.updateEventBinder();
|
|
62261
62304
|
bindMediaClick(this.table);
|
|
62262
62305
|
bindDBClickAutoColumnWidthEvent(this.table);
|
|
@@ -62400,7 +62443,7 @@
|
|
|
62400
62443
|
}
|
|
62401
62444
|
checkColumnResize(eventArgsSet, update) {
|
|
62402
62445
|
const { eventArgs } = eventArgsSet;
|
|
62403
|
-
if (this.table.
|
|
62446
|
+
if (this.table.internalProps.enableTreeStickCell && !eventArgs) {
|
|
62404
62447
|
return false;
|
|
62405
62448
|
}
|
|
62406
62449
|
const resizeCol = this.table.scenegraph.getResizeColAt(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, eventArgs?.targetCell);
|
|
@@ -65397,7 +65440,7 @@
|
|
|
65397
65440
|
return count;
|
|
65398
65441
|
}
|
|
65399
65442
|
function checkHasTreeDefine(layoutMap) {
|
|
65400
|
-
if (layoutMap._table.
|
|
65443
|
+
if (layoutMap._table.internalProps.groupBy) {
|
|
65401
65444
|
return true;
|
|
65402
65445
|
}
|
|
65403
65446
|
const { columns } = layoutMap._table.options;
|
|
@@ -67231,7 +67274,7 @@
|
|
|
67231
67274
|
return TABLE_EVENT_TYPE;
|
|
67232
67275
|
}
|
|
67233
67276
|
options;
|
|
67234
|
-
version = "1.0.
|
|
67277
|
+
version = "1.0.13";
|
|
67235
67278
|
pagination;
|
|
67236
67279
|
id = `VTable${Date.now()}`;
|
|
67237
67280
|
headerStyleCache;
|
|
@@ -67271,7 +67314,8 @@
|
|
|
67271
67314
|
if (options.customConfig?.imageAnonymous === false) {
|
|
67272
67315
|
vglobal.isImageAnonymous = false;
|
|
67273
67316
|
}
|
|
67274
|
-
const { frozenColCount = 0, unfreezeAllOnExceedsMaxWidth, frozenRowCount, defaultRowHeight = 40, defaultHeaderRowHeight, defaultColWidth = 80, defaultHeaderColWidth, widthMode = 'standard', heightMode = 'standard', autoFillWidth = false, autoFillHeight = false, containerFit = { width: false, height: false }, widthAdaptiveMode = 'only-body', heightAdaptiveMode = 'only-body', keyboardOptions, eventOptions, rowSeriesNumber, enableCheckboxCascade, columnResizeMode, rowResizeMode = 'none', resize, dragHeaderMode, dragOrder, showFrozenIcon, allowFrozenColCount, padding, hover, menu, select: click, customRender, pixelRatio = defaultPixelRatio, renderChartAsync, renderChartAsyncBatchCount, mode, modeParams, canvasWidth, canvasHeight, overscrollBehavior, limitMinWidth, limitMinHeight, clearDOM = true } = options;
|
|
67317
|
+
const { frozenColCount = 0, unfreezeAllOnExceedsMaxWidth, frozenRowCount, defaultRowHeight = 40, defaultHeaderRowHeight, defaultColWidth = 80, defaultHeaderColWidth, widthMode = 'standard', heightMode = 'standard', autoFillWidth = false, autoFillHeight = false, containerFit = { width: false, height: false }, widthAdaptiveMode = 'only-body', heightAdaptiveMode = 'only-body', keyboardOptions, eventOptions, rowSeriesNumber, enableCheckboxCascade, enableHeaderCheckboxCascade, columnResizeMode, rowResizeMode = 'none', resize, dragHeaderMode, dragOrder, showFrozenIcon, allowFrozenColCount, padding, hover, menu, select: click, customRender, pixelRatio = defaultPixelRatio, renderChartAsync, renderChartAsyncBatchCount, mode, modeParams, canvasWidth, canvasHeight, overscrollBehavior, limitMinWidth, limitMinHeight, clearDOM = true } = options;
|
|
67318
|
+
const { groupConfig, groupBy, groupTitleFieldFormat, groupTitleCustomLayout, enableTreeStickCell } = options;
|
|
67275
67319
|
this.container = container;
|
|
67276
67320
|
this.options = options;
|
|
67277
67321
|
this._widthMode = widthMode;
|
|
@@ -67357,13 +67401,24 @@
|
|
|
67357
67401
|
internalProps.keyboardOptions = keyboardOptions;
|
|
67358
67402
|
internalProps.eventOptions = eventOptions;
|
|
67359
67403
|
internalProps.rowSeriesNumber = rowSeriesNumber;
|
|
67360
|
-
internalProps.enableCheckboxCascade = enableCheckboxCascade;
|
|
67404
|
+
internalProps.enableCheckboxCascade = enableCheckboxCascade ?? rowSeriesNumber?.enableTreeCheckbox ?? true;
|
|
67405
|
+
internalProps.enableHeaderCheckboxCascade = enableCheckboxCascade || (enableHeaderCheckboxCascade ?? true);
|
|
67361
67406
|
internalProps.columnResizeMode = resize?.columnResizeMode ?? columnResizeMode;
|
|
67362
67407
|
internalProps.rowResizeMode = resize?.rowResizeMode ?? rowResizeMode;
|
|
67363
67408
|
internalProps.dragHeaderMode = dragOrder?.dragHeaderMode ?? dragHeaderMode ?? 'none';
|
|
67364
67409
|
internalProps.renderChartAsync = renderChartAsync;
|
|
67365
67410
|
setBatchRenderChartCount(renderChartAsyncBatchCount);
|
|
67366
67411
|
internalProps.overscrollBehavior = overscrollBehavior ?? 'auto';
|
|
67412
|
+
internalProps.groupBy = groupConfig?.groupBy ?? groupBy;
|
|
67413
|
+
internalProps.groupTitleCheckbox =
|
|
67414
|
+
groupConfig?.titleCheckbox ?? !!rowSeriesNumber?.enableTreeCheckbox;
|
|
67415
|
+
internalProps.groupCellMerge = groupConfig?.groupCellMerge;
|
|
67416
|
+
internalProps.customDealGroupData = groupConfig?.customDealGroupData;
|
|
67417
|
+
internalProps.groupTitleFieldFormat =
|
|
67418
|
+
groupConfig?.titleFieldFormat ?? groupTitleFieldFormat;
|
|
67419
|
+
internalProps.groupTitleCustomLayout =
|
|
67420
|
+
groupConfig?.titleCustomLayout ?? groupTitleCustomLayout;
|
|
67421
|
+
internalProps.enableTreeStickCell = groupConfig?.enableTreeStickCell ?? enableTreeStickCell;
|
|
67367
67422
|
internalProps._rowHeightsMap = new NumberRangeMap(this);
|
|
67368
67423
|
internalProps._rowRangeHeightsMap = new Map();
|
|
67369
67424
|
internalProps._colRangeWidthsMap = new Map();
|
|
@@ -68735,7 +68790,8 @@
|
|
|
68735
68790
|
this.editorManager?.cancelEdit();
|
|
68736
68791
|
this.options = options;
|
|
68737
68792
|
this._hasAutoImageColumn = undefined;
|
|
68738
|
-
const { frozenColCount = 0, unfreezeAllOnExceedsMaxWidth, defaultRowHeight = 40, defaultHeaderRowHeight, defaultColWidth = 80, defaultHeaderColWidth = 80, keyboardOptions, eventOptions, rowSeriesNumber, enableCheckboxCascade, columnResizeMode, rowResizeMode = 'none', resize, dragHeaderMode, dragOrder, showFrozenIcon, allowFrozenColCount, padding, hover, menu, select: click, pixelRatio, widthMode, heightMode, autoFillWidth, autoFillHeight, containerFit, widthAdaptiveMode, heightAdaptiveMode, customRender, renderChartAsync, renderChartAsyncBatchCount, canvasWidth, canvasHeight, overscrollBehavior, limitMinWidth, limitMinHeight } = options;
|
|
68793
|
+
const { frozenColCount = 0, unfreezeAllOnExceedsMaxWidth, defaultRowHeight = 40, defaultHeaderRowHeight, defaultColWidth = 80, defaultHeaderColWidth = 80, keyboardOptions, eventOptions, rowSeriesNumber, enableCheckboxCascade, enableHeaderCheckboxCascade, columnResizeMode, rowResizeMode = 'none', resize, dragHeaderMode, dragOrder, showFrozenIcon, allowFrozenColCount, padding, hover, menu, select: click, pixelRatio, widthMode, heightMode, autoFillWidth, autoFillHeight, containerFit, widthAdaptiveMode, heightAdaptiveMode, customRender, renderChartAsync, renderChartAsyncBatchCount, canvasWidth, canvasHeight, overscrollBehavior, limitMinWidth, limitMinHeight } = options;
|
|
68794
|
+
const { groupConfig, groupBy, groupTitleFieldFormat, groupTitleCustomLayout, enableTreeStickCell } = options;
|
|
68739
68795
|
if (pixelRatio && pixelRatio !== this.internalProps.pixelRatio) {
|
|
68740
68796
|
this.internalProps.pixelRatio = pixelRatio;
|
|
68741
68797
|
}
|
|
@@ -68794,7 +68850,8 @@
|
|
|
68794
68850
|
internalProps.keyboardOptions = keyboardOptions;
|
|
68795
68851
|
internalProps.eventOptions = eventOptions;
|
|
68796
68852
|
internalProps.rowSeriesNumber = rowSeriesNumber;
|
|
68797
|
-
internalProps.enableCheckboxCascade = enableCheckboxCascade;
|
|
68853
|
+
internalProps.enableCheckboxCascade = enableCheckboxCascade ?? rowSeriesNumber?.enableTreeCheckbox ?? true;
|
|
68854
|
+
internalProps.enableHeaderCheckboxCascade = enableCheckboxCascade || (enableHeaderCheckboxCascade ?? true);
|
|
68798
68855
|
internalProps.columnResizeMode = resize?.columnResizeMode ?? columnResizeMode;
|
|
68799
68856
|
internalProps.rowResizeMode = resize?.rowResizeMode ?? rowResizeMode;
|
|
68800
68857
|
internalProps.dragHeaderMode = dragOrder?.dragHeaderMode ?? dragHeaderMode ?? 'none';
|
|
@@ -68802,6 +68859,13 @@
|
|
|
68802
68859
|
setBatchRenderChartCount(renderChartAsyncBatchCount);
|
|
68803
68860
|
internalProps.overscrollBehavior = overscrollBehavior ?? 'auto';
|
|
68804
68861
|
internalProps.cellTextOverflows = {};
|
|
68862
|
+
internalProps.groupBy = groupConfig?.groupBy ?? groupBy;
|
|
68863
|
+
internalProps.groupTitleCheckbox = groupConfig?.titleCheckbox;
|
|
68864
|
+
internalProps.groupTitleFieldFormat =
|
|
68865
|
+
groupConfig?.titleFieldFormat ?? groupTitleFieldFormat;
|
|
68866
|
+
internalProps.groupTitleCustomLayout =
|
|
68867
|
+
groupConfig?.titleCustomLayout ?? groupTitleCustomLayout;
|
|
68868
|
+
internalProps.enableTreeStickCell = groupConfig?.enableTreeStickCell ?? enableTreeStickCell;
|
|
68805
68869
|
internalProps._rowHeightsMap = new NumberRangeMap(this);
|
|
68806
68870
|
internalProps._rowRangeHeightsMap = new Map();
|
|
68807
68871
|
internalProps._colRangeWidthsMap = new Map();
|
|
@@ -69472,7 +69536,7 @@
|
|
|
69472
69536
|
icons = this.internalProps.headerHelper.getIcons(col, row);
|
|
69473
69537
|
}
|
|
69474
69538
|
else if (this.internalProps.layoutMap.isSeriesNumber(col, row)) {
|
|
69475
|
-
if (!this.
|
|
69539
|
+
if (!this.internalProps.groupBy || !this.getCellRawRecord(col, row)?.vtableMerge) {
|
|
69476
69540
|
const dragOrder = this.internalProps.layoutMap.getSeriesNumberBody(col, row)?.define
|
|
69477
69541
|
?.dragOrder;
|
|
69478
69542
|
if (dragOrder) {
|
|
@@ -72071,8 +72135,11 @@
|
|
|
72071
72135
|
if (layout.rowHierarchyType !== 'tree') {
|
|
72072
72136
|
return;
|
|
72073
72137
|
}
|
|
72138
|
+
if (layout._table.internalProps.groupCellMerge) {
|
|
72139
|
+
return layout._table.internalProps.groupCellMerge(col, row, cellRange, layout);
|
|
72140
|
+
}
|
|
72074
72141
|
const cellRecord = layout._table.getCellRawRecord(col, row);
|
|
72075
|
-
if (layout._table.internalProps.rowSeriesNumber
|
|
72142
|
+
if (layout._table.internalProps.groupTitleCheckbox && layout._table.internalProps.rowSeriesNumber) {
|
|
72076
72143
|
if (cellRecord?.vtableMerge && col >= layout.leftRowSeriesNumberColumnCount) {
|
|
72077
72144
|
cellRange.start.col = layout.rowHeaderLevelCount + layout.leftRowSeriesNumberColumnCount;
|
|
72078
72145
|
cellRange.end.col = layout.colCount - 1;
|
|
@@ -72255,7 +72322,7 @@
|
|
|
72255
72322
|
title: rowSeriesNumber.title,
|
|
72256
72323
|
define: merge$1({ field: '_vtable_rowSeries_number' }, rowSeriesNumber),
|
|
72257
72324
|
cellType: rowSeriesNumber.cellType ?? 'text',
|
|
72258
|
-
headerType: rowSeriesNumber.cellType === 'checkbox' ? 'checkbox' : 'text',
|
|
72325
|
+
headerType: rowSeriesNumber.headerType ?? (rowSeriesNumber.cellType === 'checkbox' ? 'checkbox' : 'text'),
|
|
72259
72326
|
style: rowSeriesNumber.style,
|
|
72260
72327
|
width: rowSeriesNumber.width,
|
|
72261
72328
|
format: rowSeriesNumber.format,
|
|
@@ -73622,9 +73689,9 @@
|
|
|
73622
73689
|
return false;
|
|
73623
73690
|
}
|
|
73624
73691
|
|
|
73625
|
-
function getGroupByDataConfig(groupByOption) {
|
|
73692
|
+
function getGroupByDataConfig(groupByOption, customDealGroupData) {
|
|
73626
73693
|
if (isString$4(groupByOption)) {
|
|
73627
|
-
return { groupByRules: [groupByOption] };
|
|
73694
|
+
return { groupByRules: [groupByOption], customDealGroupData };
|
|
73628
73695
|
}
|
|
73629
73696
|
if (isArray$7(groupByOption)) {
|
|
73630
73697
|
const groupByRules = groupByOption.map(item => {
|
|
@@ -73633,7 +73700,7 @@
|
|
|
73633
73700
|
}
|
|
73634
73701
|
return item.key;
|
|
73635
73702
|
});
|
|
73636
|
-
return { groupByRules };
|
|
73703
|
+
return { groupByRules, customDealGroupData };
|
|
73637
73704
|
}
|
|
73638
73705
|
return {};
|
|
73639
73706
|
}
|
|
@@ -73881,11 +73948,11 @@
|
|
|
73881
73948
|
if (oldCellUpdateType === 'group') {
|
|
73882
73949
|
return oldCellUpdateType;
|
|
73883
73950
|
}
|
|
73884
|
-
if (oldCellUpdateType === 'sort' && !table.
|
|
73951
|
+
if (oldCellUpdateType === 'sort' && !table.internalProps.groupBy) {
|
|
73885
73952
|
return oldCellUpdateType;
|
|
73886
73953
|
}
|
|
73887
73954
|
let cellUpdateType = 'normal';
|
|
73888
|
-
if (table.
|
|
73955
|
+
if (table.internalProps.groupBy) {
|
|
73889
73956
|
cellUpdateType = 'group';
|
|
73890
73957
|
}
|
|
73891
73958
|
else if (!table.isHeader(col, row) && table.dataSource.lastOrderField) {
|
|
@@ -73908,7 +73975,7 @@
|
|
|
73908
73975
|
}
|
|
73909
73976
|
}
|
|
73910
73977
|
function listTableAddRecord(record, recordIndex, table) {
|
|
73911
|
-
if (table.
|
|
73978
|
+
if (table.internalProps.groupBy) {
|
|
73912
73979
|
table.dataSource.addRecordsForGroup?.([record], recordIndex);
|
|
73913
73980
|
table.refreshRowColCount();
|
|
73914
73981
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -73918,6 +73985,7 @@
|
|
|
73918
73985
|
}
|
|
73919
73986
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
73920
73987
|
table.dataSource.addRecordsForTree?.([record], recordIndex);
|
|
73988
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, 1);
|
|
73921
73989
|
table.refreshRowColCount();
|
|
73922
73990
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
73923
73991
|
table.sortState && sortRecords(table);
|
|
@@ -73926,6 +73994,7 @@
|
|
|
73926
73994
|
}
|
|
73927
73995
|
else if (table.sortState) {
|
|
73928
73996
|
table.dataSource.addRecordForSorted(record);
|
|
73997
|
+
table.stateManager.checkedState.clear();
|
|
73929
73998
|
sortRecords(table);
|
|
73930
73999
|
table.refreshRowColCount();
|
|
73931
74000
|
table.scenegraph.clearCells();
|
|
@@ -73938,6 +74007,7 @@
|
|
|
73938
74007
|
}
|
|
73939
74008
|
const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
|
|
73940
74009
|
table.dataSource.addRecord(record, recordIndex);
|
|
74010
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, 1);
|
|
73941
74011
|
const oldRowCount = table.rowCount;
|
|
73942
74012
|
table.refreshRowColCount();
|
|
73943
74013
|
if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {
|
|
@@ -74009,7 +74079,7 @@
|
|
|
74009
74079
|
}
|
|
74010
74080
|
}
|
|
74011
74081
|
function listTableAddRecords(records, recordIndex, table) {
|
|
74012
|
-
if (table.
|
|
74082
|
+
if (table.internalProps.groupBy) {
|
|
74013
74083
|
table.dataSource.addRecordsForGroup?.(records, recordIndex);
|
|
74014
74084
|
table.refreshRowColCount();
|
|
74015
74085
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74019,6 +74089,7 @@
|
|
|
74019
74089
|
}
|
|
74020
74090
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74021
74091
|
table.dataSource.addRecordsForTree?.(records, recordIndex);
|
|
74092
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, records.length);
|
|
74022
74093
|
table.refreshRowColCount();
|
|
74023
74094
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
74024
74095
|
table.sortState && sortRecords(table);
|
|
@@ -74042,6 +74113,7 @@
|
|
|
74042
74113
|
}
|
|
74043
74114
|
const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
|
|
74044
74115
|
table.dataSource.addRecords(records, recordIndex);
|
|
74116
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, records.length);
|
|
74045
74117
|
const oldRowCount = table.transpose ? table.colCount : table.rowCount;
|
|
74046
74118
|
table.refreshRowColCount();
|
|
74047
74119
|
if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {
|
|
@@ -74127,7 +74199,7 @@
|
|
|
74127
74199
|
}
|
|
74128
74200
|
function listTableDeleteRecords(recordIndexs, table) {
|
|
74129
74201
|
if (recordIndexs?.length > 0) {
|
|
74130
|
-
if (table.
|
|
74202
|
+
if (table.internalProps.groupBy) {
|
|
74131
74203
|
table.dataSource.deleteRecordsForGroup?.(recordIndexs);
|
|
74132
74204
|
table.refreshRowColCount();
|
|
74133
74205
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74136,7 +74208,13 @@
|
|
|
74136
74208
|
table.scenegraph.createSceneGraph();
|
|
74137
74209
|
}
|
|
74138
74210
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74139
|
-
table.dataSource.deleteRecordsForTree?.(recordIndexs);
|
|
74211
|
+
const deletedRecordIndexs = table.dataSource.deleteRecordsForTree?.(recordIndexs);
|
|
74212
|
+
if (deletedRecordIndexs.length === 0) {
|
|
74213
|
+
return;
|
|
74214
|
+
}
|
|
74215
|
+
for (let index = 0; index < deletedRecordIndexs.length; index++) {
|
|
74216
|
+
adjustCheckBoxStateMapWithDeleteRecordIndex(table, deletedRecordIndexs[index], 1);
|
|
74217
|
+
}
|
|
74140
74218
|
table.refreshRowColCount();
|
|
74141
74219
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
74142
74220
|
table.sortState && sortRecords(table);
|
|
@@ -74255,7 +74333,7 @@
|
|
|
74255
74333
|
}
|
|
74256
74334
|
function listTableUpdateRecords(records, recordIndexs, table) {
|
|
74257
74335
|
if (recordIndexs?.length > 0) {
|
|
74258
|
-
if (table.
|
|
74336
|
+
if (table.internalProps.groupBy) {
|
|
74259
74337
|
table.dataSource.updateRecordsForGroup?.(records, recordIndexs);
|
|
74260
74338
|
table.refreshRowColCount();
|
|
74261
74339
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74364,6 +74442,158 @@
|
|
|
74364
74442
|
}
|
|
74365
74443
|
}
|
|
74366
74444
|
}
|
|
74445
|
+
function adjustCheckBoxStateMapWithDeleteRecordIndex(table, recordIndex, count) {
|
|
74446
|
+
const { checkedState } = table.stateManager;
|
|
74447
|
+
if (!checkedState) {
|
|
74448
|
+
return;
|
|
74449
|
+
}
|
|
74450
|
+
if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74451
|
+
let toOperateIndexArr;
|
|
74452
|
+
if (isNumber$4(recordIndex)) {
|
|
74453
|
+
toOperateIndexArr = [recordIndex];
|
|
74454
|
+
}
|
|
74455
|
+
else {
|
|
74456
|
+
toOperateIndexArr = recordIndex;
|
|
74457
|
+
}
|
|
74458
|
+
const toOperateIndexArrLength = toOperateIndexArr.length;
|
|
74459
|
+
const targetResult = [];
|
|
74460
|
+
checkedState.forEach((value, key) => {
|
|
74461
|
+
const keyArray = key.split(',');
|
|
74462
|
+
if (keyArray.length >= toOperateIndexArr.length) {
|
|
74463
|
+
for (let i = 0; i < keyArray.length; i++) {
|
|
74464
|
+
const toOperateIndex = toOperateIndexArr[i] ?? -1;
|
|
74465
|
+
const keyIndex = Number(keyArray[i]);
|
|
74466
|
+
if (toOperateIndex === keyIndex && i < keyArray.length - 1) ;
|
|
74467
|
+
else if ((toOperateIndex === keyIndex && i === keyArray.length - 1) || toOperateIndex === -1) {
|
|
74468
|
+
targetResult.push({
|
|
74469
|
+
originKey: key,
|
|
74470
|
+
value
|
|
74471
|
+
});
|
|
74472
|
+
break;
|
|
74473
|
+
}
|
|
74474
|
+
else if (toOperateIndex < keyIndex && i === toOperateIndexArrLength - 1) {
|
|
74475
|
+
keyArray[i] = (keyIndex - count).toString();
|
|
74476
|
+
targetResult.push({
|
|
74477
|
+
originKey: key,
|
|
74478
|
+
targetKey: keyArray.toString(),
|
|
74479
|
+
value
|
|
74480
|
+
});
|
|
74481
|
+
break;
|
|
74482
|
+
}
|
|
74483
|
+
else {
|
|
74484
|
+
break;
|
|
74485
|
+
}
|
|
74486
|
+
}
|
|
74487
|
+
}
|
|
74488
|
+
});
|
|
74489
|
+
targetResult.sort((a, b) => {
|
|
74490
|
+
const aArray = a.originKey.split(',');
|
|
74491
|
+
const bArray = b.originKey.split(',');
|
|
74492
|
+
const aLength = aArray.length;
|
|
74493
|
+
const bLength = bArray.length;
|
|
74494
|
+
const minLength = Math.min(aLength, bLength);
|
|
74495
|
+
for (let i = 0; i < minLength; i++) {
|
|
74496
|
+
const aIndex = Number(aArray[i]);
|
|
74497
|
+
const bIndex = Number(bArray[i]);
|
|
74498
|
+
if (aIndex !== bIndex) {
|
|
74499
|
+
return aIndex - bIndex;
|
|
74500
|
+
}
|
|
74501
|
+
}
|
|
74502
|
+
return aLength - bLength;
|
|
74503
|
+
});
|
|
74504
|
+
targetResult.forEach(({ originKey, targetKey, value }) => {
|
|
74505
|
+
checkedState.delete(originKey);
|
|
74506
|
+
if (targetKey) {
|
|
74507
|
+
checkedState.set(targetKey, value);
|
|
74508
|
+
}
|
|
74509
|
+
});
|
|
74510
|
+
}
|
|
74511
|
+
else {
|
|
74512
|
+
const length = checkedState.size;
|
|
74513
|
+
for (let key = length - 1; key >= recordIndex; key--) {
|
|
74514
|
+
const record = checkedState.get(key.toString());
|
|
74515
|
+
checkedState.delete(key.toString());
|
|
74516
|
+
checkedState.set((key - count).toString(), record);
|
|
74517
|
+
}
|
|
74518
|
+
}
|
|
74519
|
+
}
|
|
74520
|
+
function adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, count) {
|
|
74521
|
+
const { checkedState } = table.stateManager;
|
|
74522
|
+
if (!checkedState) {
|
|
74523
|
+
return;
|
|
74524
|
+
}
|
|
74525
|
+
if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74526
|
+
let toOperateIndexArr;
|
|
74527
|
+
if (isNumber$4(recordIndex)) {
|
|
74528
|
+
toOperateIndexArr = [recordIndex];
|
|
74529
|
+
}
|
|
74530
|
+
else {
|
|
74531
|
+
toOperateIndexArr = recordIndex;
|
|
74532
|
+
}
|
|
74533
|
+
const toOperateIndexArrLength = toOperateIndexArr.length;
|
|
74534
|
+
const targetResult = [];
|
|
74535
|
+
checkedState.forEach((value, key) => {
|
|
74536
|
+
const keyArray = key.split(',');
|
|
74537
|
+
if (keyArray.length >= toOperateIndexArr.length) {
|
|
74538
|
+
for (let i = 0; i < keyArray.length; i++) {
|
|
74539
|
+
const toOperateIndex = toOperateIndexArr[i] ?? -1;
|
|
74540
|
+
const keyIndex = Number(keyArray[i]);
|
|
74541
|
+
if (toOperateIndex === keyIndex && (i === keyArray.length - 1 || i === toOperateIndexArrLength - 1)) {
|
|
74542
|
+
keyArray[i] = (keyIndex + count).toString();
|
|
74543
|
+
targetResult.push({
|
|
74544
|
+
originKey: key,
|
|
74545
|
+
targetKey: keyArray.toString(),
|
|
74546
|
+
value
|
|
74547
|
+
});
|
|
74548
|
+
break;
|
|
74549
|
+
}
|
|
74550
|
+
else if (toOperateIndex === keyIndex && i < keyArray.length - 1) ;
|
|
74551
|
+
else if (toOperateIndex < keyIndex && i === toOperateIndexArrLength - 1) {
|
|
74552
|
+
keyArray[i] = (keyIndex + count).toString();
|
|
74553
|
+
targetResult.push({
|
|
74554
|
+
originKey: key,
|
|
74555
|
+
targetKey: keyArray.toString(),
|
|
74556
|
+
value
|
|
74557
|
+
});
|
|
74558
|
+
break;
|
|
74559
|
+
}
|
|
74560
|
+
else {
|
|
74561
|
+
break;
|
|
74562
|
+
}
|
|
74563
|
+
}
|
|
74564
|
+
}
|
|
74565
|
+
});
|
|
74566
|
+
targetResult.sort((a, b) => {
|
|
74567
|
+
const aArray = a.originKey.split(',');
|
|
74568
|
+
const bArray = b.originKey.split(',');
|
|
74569
|
+
const aLength = aArray.length;
|
|
74570
|
+
const bLength = bArray.length;
|
|
74571
|
+
const minLength = Math.min(aLength, bLength);
|
|
74572
|
+
for (let i = 0; i < minLength; i++) {
|
|
74573
|
+
const aIndex = Number(aArray[i]);
|
|
74574
|
+
const bIndex = Number(bArray[i]);
|
|
74575
|
+
if (aIndex !== bIndex) {
|
|
74576
|
+
return -aIndex + bIndex;
|
|
74577
|
+
}
|
|
74578
|
+
}
|
|
74579
|
+
return -aLength + bLength;
|
|
74580
|
+
});
|
|
74581
|
+
targetResult.forEach(({ originKey, targetKey, value }) => {
|
|
74582
|
+
checkedState.delete(originKey);
|
|
74583
|
+
if (targetKey) {
|
|
74584
|
+
checkedState.set(targetKey, value);
|
|
74585
|
+
}
|
|
74586
|
+
});
|
|
74587
|
+
}
|
|
74588
|
+
else {
|
|
74589
|
+
const length = checkedState.size;
|
|
74590
|
+
for (let key = length - 1; key >= recordIndex; key--) {
|
|
74591
|
+
const record = checkedState.get(key.toString());
|
|
74592
|
+
checkedState.delete(key.toString());
|
|
74593
|
+
checkedState.set((key + count).toString(), record);
|
|
74594
|
+
}
|
|
74595
|
+
}
|
|
74596
|
+
}
|
|
74367
74597
|
|
|
74368
74598
|
function fixUpdateRowRange(diffPositions, col, row, table) {
|
|
74369
74599
|
const updateCells = [{ col, row }];
|
|
@@ -74442,14 +74672,17 @@
|
|
|
74442
74672
|
this.pagination = options.pagination;
|
|
74443
74673
|
internalProps.sortState = options.sortState;
|
|
74444
74674
|
internalProps.multipleSort = !!options.multipleSort;
|
|
74445
|
-
internalProps.dataConfig =
|
|
74675
|
+
internalProps.dataConfig = this.internalProps.groupBy
|
|
74676
|
+
? getGroupByDataConfig(this.internalProps.groupBy, this.internalProps.customDealGroupData)
|
|
74677
|
+
: {};
|
|
74446
74678
|
internalProps.columns = options.columns
|
|
74447
74679
|
? cloneDeepSpec(options.columns, ['children'])
|
|
74448
74680
|
: options.header
|
|
74449
74681
|
? cloneDeepSpec(options.header, ['children'])
|
|
74450
74682
|
: [];
|
|
74451
74683
|
generateAggregationForColumn(this);
|
|
74452
|
-
internalProps.enableTreeNodeMerge =
|
|
74684
|
+
internalProps.enableTreeNodeMerge =
|
|
74685
|
+
options.enableTreeNodeMerge ?? isValid$3(this.internalProps.groupBy) ?? false;
|
|
74453
74686
|
this.internalProps.headerHelper.setTableColumnsEditor();
|
|
74454
74687
|
this.showHeader = options.showHeader ?? true;
|
|
74455
74688
|
this.internalProps.columnWidthConfig = options.columnWidthConfig;
|
|
@@ -74483,7 +74716,7 @@
|
|
|
74483
74716
|
this.internalProps.emptyTip?.resetVisible();
|
|
74484
74717
|
}
|
|
74485
74718
|
}
|
|
74486
|
-
if (
|
|
74719
|
+
if (this.internalProps.enableTreeStickCell) {
|
|
74487
74720
|
const ListTreeStickCellPlugin = Factory.getComponent('listTreeStickCellPlugin');
|
|
74488
74721
|
this.listTreeStickCellPlugin = new ListTreeStickCellPlugin(this);
|
|
74489
74722
|
}
|
|
@@ -74602,7 +74835,7 @@
|
|
|
74602
74835
|
return title;
|
|
74603
74836
|
}
|
|
74604
74837
|
let value;
|
|
74605
|
-
if (this.
|
|
74838
|
+
if (this.internalProps.groupBy) {
|
|
74606
74839
|
const record = table.getCellRawRecord(col, row);
|
|
74607
74840
|
if (record?.vtableMerge) {
|
|
74608
74841
|
return '';
|
|
@@ -74612,7 +74845,17 @@
|
|
|
74612
74845
|
}
|
|
74613
74846
|
}
|
|
74614
74847
|
else {
|
|
74615
|
-
|
|
74848
|
+
const define = table.getBodyColumnDefine(col, row);
|
|
74849
|
+
const checkboxSeriesNumberStyle = table.getFieldData(define.field, col, row);
|
|
74850
|
+
if (typeof checkboxSeriesNumberStyle === 'string') {
|
|
74851
|
+
value = checkboxSeriesNumberStyle;
|
|
74852
|
+
}
|
|
74853
|
+
else if (checkboxSeriesNumberStyle?.text) {
|
|
74854
|
+
value = checkboxSeriesNumberStyle.text ?? '';
|
|
74855
|
+
}
|
|
74856
|
+
else {
|
|
74857
|
+
value = row - this.columnHeaderLevelCount + 1;
|
|
74858
|
+
}
|
|
74616
74859
|
}
|
|
74617
74860
|
const { format } = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
|
|
74618
74861
|
return typeof format === 'function' ? format(col, row, this, value) : value;
|
|
@@ -74747,7 +74990,9 @@
|
|
|
74747
74990
|
options.dragOrder?.frozenColDragHeaderMode ?? options.frozenColDragHeaderMode;
|
|
74748
74991
|
this.pagination = options.pagination;
|
|
74749
74992
|
internalProps.sortState = options.sortState;
|
|
74750
|
-
internalProps.dataConfig =
|
|
74993
|
+
internalProps.dataConfig = this.internalProps.groupBy
|
|
74994
|
+
? getGroupByDataConfig(this.internalProps.groupBy, this.internalProps.customDealGroupData)
|
|
74995
|
+
: {};
|
|
74751
74996
|
this.showHeader = options.showHeader ?? true;
|
|
74752
74997
|
internalProps.columns = options.columns
|
|
74753
74998
|
? cloneDeepSpec(options.columns, ['children'])
|
|
@@ -74755,7 +75000,8 @@
|
|
|
74755
75000
|
? cloneDeepSpec(options.header, ['children'])
|
|
74756
75001
|
: [];
|
|
74757
75002
|
generateAggregationForColumn(this);
|
|
74758
|
-
internalProps.enableTreeNodeMerge =
|
|
75003
|
+
internalProps.enableTreeNodeMerge =
|
|
75004
|
+
options.enableTreeNodeMerge ?? isValid$3(this.internalProps.groupBy) ?? false;
|
|
74759
75005
|
this.internalProps.headerHelper.setTableColumnsEditor();
|
|
74760
75006
|
this.transpose = options.transpose ?? false;
|
|
74761
75007
|
this.refreshHeader();
|
|
@@ -75000,7 +75246,9 @@
|
|
|
75000
75246
|
if (this.isHeader(col, row)) {
|
|
75001
75247
|
return this._getHeaderLayoutMap(col, row)?.hierarchyState;
|
|
75002
75248
|
}
|
|
75003
|
-
if (!this.
|
|
75249
|
+
if (!this.internalProps.groupBy ||
|
|
75250
|
+
(isArray$7(this.internalProps.groupBy) &&
|
|
75251
|
+
this.internalProps.groupBy.length === 0)) {
|
|
75004
75252
|
const define = this.getBodyColumnDefine(col, row);
|
|
75005
75253
|
if (!define.tree) {
|
|
75006
75254
|
return HierarchyState.none;
|
|
@@ -75460,7 +75708,7 @@
|
|
|
75460
75708
|
return this.internalProps.layoutMap.isAggregation(col, row);
|
|
75461
75709
|
}
|
|
75462
75710
|
getGroupTitleLevel(col, row) {
|
|
75463
|
-
if (!this.
|
|
75711
|
+
if (!this.internalProps.groupBy) {
|
|
75464
75712
|
return undefined;
|
|
75465
75713
|
}
|
|
75466
75714
|
const indexArr = this.dataSource.getIndexKey(this.getRecordShowIndexByCell(col, row));
|
|
@@ -79989,9 +80237,14 @@
|
|
|
79989
80237
|
if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
|
|
79990
80238
|
const checkboxSeriesNumberStyle = table.getFieldData(define.field, col, row);
|
|
79991
80239
|
if (checkboxSeriesNumberStyle) {
|
|
79992
|
-
|
|
79993
|
-
|
|
79994
|
-
|
|
80240
|
+
if (typeof checkboxSeriesNumberStyle === 'string') ;
|
|
80241
|
+
else if (typeof checkboxSeriesNumberStyle === 'object') {
|
|
80242
|
+
isChecked = checkboxSeriesNumberStyle.checked;
|
|
80243
|
+
isDisabled = checkboxSeriesNumberStyle.disable;
|
|
80244
|
+
}
|
|
80245
|
+
else if (typeof checkboxSeriesNumberStyle === 'boolean') {
|
|
80246
|
+
isChecked = checkboxSeriesNumberStyle;
|
|
80247
|
+
}
|
|
79995
80248
|
}
|
|
79996
80249
|
}
|
|
79997
80250
|
isChecked = table.stateManager.syncCheckedState(col, row, define.field, isChecked);
|
|
@@ -82035,6 +82288,9 @@
|
|
|
82035
82288
|
updateCellPositionsRowDirection.push(parentCellAddress);
|
|
82036
82289
|
}
|
|
82037
82290
|
}
|
|
82291
|
+
if (!updateCellPositionsRowDirection.some(item => item.col === col && item.row === row)) {
|
|
82292
|
+
updateCellPositionsRowDirection.push({ col, row });
|
|
82293
|
+
}
|
|
82038
82294
|
return {
|
|
82039
82295
|
addCellPositionsRowDirection,
|
|
82040
82296
|
removeCellPositionsRowDirection,
|
|
@@ -90914,7 +91170,7 @@
|
|
|
90914
91170
|
}
|
|
90915
91171
|
|
|
90916
91172
|
registerForVrender();
|
|
90917
|
-
const version = "1.0.
|
|
91173
|
+
const version = "1.0.13";
|
|
90918
91174
|
function getIcons() {
|
|
90919
91175
|
return get$2();
|
|
90920
91176
|
}
|