k-vtable 1.0.10 → 1.0.12
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 +14 -10
- package/cjs/ListTable.js.map +1 -1
- package/cjs/core/BaseTable.js +45 -33
- package/cjs/core/BaseTable.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 +6 -6
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.js +2 -1
- package/cjs/dataset/flatDataToObject.js +1 -2
- 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 +1 -2
- package/cjs/layout/cell-range/simple-cell-range.js.map +1 -1
- package/cjs/layout/index.js +2 -1
- package/cjs/layout/layout-helper.js +1 -1
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +0 -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/graphic/contributions/group-contribution-render.js +2 -4
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.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 +6 -5
- 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 +8 -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/table-engine.d.ts +9 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +311 -84
- 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 +45 -33
- package/es/core/BaseTable.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 +6 -6
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/dataset/dataset-pivot-table.js +2 -1
- package/es/dataset/flatDataToObject.js +1 -2
- 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 +1 -2
- package/es/layout/cell-range/simple-cell-range.js.map +1 -1
- package/es/layout/index.js +2 -1
- package/es/layout/layout-helper.js +1 -1
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.js +1 -2
- 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/graphic/contributions/group-contribution-render.js +2 -4
- package/es/scenegraph/graphic/contributions/group-contribution-render.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 +6 -5
- 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 +8 -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/table-engine.d.ts +9 -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
|
@@ -39576,13 +39576,14 @@
|
|
|
39576
39576
|
}
|
|
39577
39577
|
}
|
|
39578
39578
|
this.initTreeHierarchyState();
|
|
39579
|
-
this.
|
|
39579
|
+
this.updatePagination();
|
|
39580
39580
|
}
|
|
39581
39581
|
deleteRecordsForTree(recordIndexs) {
|
|
39582
39582
|
if (!isArray$7(recordIndexs) || recordIndexs.length === 0) {
|
|
39583
|
-
return;
|
|
39583
|
+
return [];
|
|
39584
39584
|
}
|
|
39585
39585
|
const recordIndexsMaxToMin = sortRecordIndexs(recordIndexs, -1);
|
|
39586
|
+
const deletedRecordIndexs = [];
|
|
39586
39587
|
for (let index = 0; index < recordIndexsMaxToMin.length; index++) {
|
|
39587
39588
|
const recordIndex = recordIndexsMaxToMin[index];
|
|
39588
39589
|
if (isNumber$4(recordIndex) && (recordIndex >= this.sourceLength || recordIndex < 0)) {
|
|
@@ -39599,9 +39600,11 @@
|
|
|
39599
39600
|
parentRecord.children.splice(index, 1);
|
|
39600
39601
|
}
|
|
39601
39602
|
this.adjustBeforeChangedRecordsMap(recordIndex, 1, 'delete');
|
|
39603
|
+
deletedRecordIndexs.push(recordIndex);
|
|
39602
39604
|
}
|
|
39603
39605
|
this.initTreeHierarchyState();
|
|
39604
|
-
this.
|
|
39606
|
+
this.updatePagination();
|
|
39607
|
+
return deletedRecordIndexs;
|
|
39605
39608
|
}
|
|
39606
39609
|
updateRecordsForTree(records, recordIndexs) {
|
|
39607
39610
|
for (let index = 0; index < recordIndexs.length; index++) {
|
|
@@ -39663,7 +39666,7 @@
|
|
|
39663
39666
|
}
|
|
39664
39667
|
cacheBeforeChangedRecord(dataIndex, table) {
|
|
39665
39668
|
const originRecord = this.getOriginalRecord(dataIndex);
|
|
39666
|
-
if (table.
|
|
39669
|
+
if (table.internalProps.groupBy) {
|
|
39667
39670
|
dataIndex = this.getOriginRecordIndexForGroup(dataIndex);
|
|
39668
39671
|
}
|
|
39669
39672
|
if (!this.beforeChangedRecordsMap.has(dataIndex.toString())) {
|
|
@@ -40226,7 +40229,7 @@
|
|
|
40226
40229
|
if (table.options.hierarchyExpandLevel) {
|
|
40227
40230
|
return table.options.hierarchyExpandLevel;
|
|
40228
40231
|
}
|
|
40229
|
-
else if (table.
|
|
40232
|
+
else if (table.internalProps.groupBy) {
|
|
40230
40233
|
return Infinity;
|
|
40231
40234
|
}
|
|
40232
40235
|
return table._hasHierarchyTreeHeader?.() ? 1 : undefined;
|
|
@@ -42337,7 +42340,7 @@
|
|
|
42337
42340
|
}
|
|
42338
42341
|
}
|
|
42339
42342
|
else {
|
|
42340
|
-
if (table.
|
|
42343
|
+
if (table.internalProps.groupBy ||
|
|
42341
42344
|
table.getBodyColumnDefine(col, row)?.tree) {
|
|
42342
42345
|
const indexArr = table.dataSource.getIndexKey(table.getRecordShowIndexByCell(col, row));
|
|
42343
42346
|
const groupLength = table.dataSource.getGroupLength() ?? 0;
|
|
@@ -43618,11 +43621,11 @@
|
|
|
43618
43621
|
isVtableMerge = vtableMerge;
|
|
43619
43622
|
if (vtableMerge) {
|
|
43620
43623
|
mayHaveIcon = true;
|
|
43621
|
-
if (table.
|
|
43622
|
-
customResult = dealWithCustom(table.
|
|
43624
|
+
if (table.internalProps.groupTitleCustomLayout) {
|
|
43625
|
+
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
43626
|
}
|
|
43624
|
-
if (table.
|
|
43625
|
-
value = table.
|
|
43627
|
+
if (table.internalProps.groupTitleFieldFormat) {
|
|
43628
|
+
value = table.internalProps.groupTitleFieldFormat(rawRecord, col, row, table);
|
|
43626
43629
|
}
|
|
43627
43630
|
else if (vtableMergeName !== undefined) {
|
|
43628
43631
|
value = vtableMergeName;
|
|
@@ -44980,7 +44983,7 @@
|
|
|
44980
44983
|
}
|
|
44981
44984
|
|
|
44982
44985
|
function updateRowHeight(scene, row, detaY, skipTableHeightMap) {
|
|
44983
|
-
if (!skipTableHeightMap) {
|
|
44986
|
+
if (!skipTableHeightMap && detaY) {
|
|
44984
44987
|
scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);
|
|
44985
44988
|
}
|
|
44986
44989
|
for (let col = 0; col < scene.table.colCount; col++) {
|
|
@@ -45098,8 +45101,8 @@
|
|
|
45098
45101
|
let customLayout;
|
|
45099
45102
|
const cellLocation = scene.table.getCellLocation(col, row);
|
|
45100
45103
|
const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};
|
|
45101
|
-
if (vtableMerge && scene.table.
|
|
45102
|
-
customLayout = scene.table.
|
|
45104
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) {
|
|
45105
|
+
customLayout = scene.table.internalProps.groupTitleCustomLayout;
|
|
45103
45106
|
}
|
|
45104
45107
|
else if (cellLocation !== 'body') {
|
|
45105
45108
|
const define = scene.table.getHeaderDefine(col, row);
|
|
@@ -45455,8 +45458,8 @@
|
|
|
45455
45458
|
let customLayout;
|
|
45456
45459
|
const cellType = scene.table.getCellLocation(col, row);
|
|
45457
45460
|
const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};
|
|
45458
|
-
if (vtableMerge && scene.table.
|
|
45459
|
-
customLayout = scene.table.
|
|
45461
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) {
|
|
45462
|
+
customLayout = scene.table.internalProps.groupTitleCustomLayout;
|
|
45460
45463
|
}
|
|
45461
45464
|
else if (cellType !== 'body') {
|
|
45462
45465
|
const define = scene.table.getHeaderDefine(col, row);
|
|
@@ -47411,13 +47414,15 @@
|
|
|
47411
47414
|
stage.needRender = false;
|
|
47412
47415
|
chartStage.resumeRender();
|
|
47413
47416
|
},
|
|
47414
|
-
|
|
47415
|
-
|
|
47416
|
-
|
|
47417
|
-
|
|
47418
|
-
|
|
47419
|
-
|
|
47420
|
-
|
|
47417
|
+
renderHooks: {
|
|
47418
|
+
afterClearRect(drawParams) {
|
|
47419
|
+
const { context, layer, viewBox } = drawParams;
|
|
47420
|
+
if (layer.main && drawParams.clear && hoverColor) {
|
|
47421
|
+
context.beginPath();
|
|
47422
|
+
context.fillStyle = hoverColor;
|
|
47423
|
+
context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);
|
|
47424
|
+
context.fill();
|
|
47425
|
+
}
|
|
47421
47426
|
}
|
|
47422
47427
|
}
|
|
47423
47428
|
}));
|
|
@@ -48590,7 +48595,7 @@
|
|
|
48590
48595
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb, doFillOrStroke) {
|
|
48591
48596
|
if (group.__customInfoBefore) {
|
|
48592
48597
|
const table = group.stage.table;
|
|
48593
|
-
if (table
|
|
48598
|
+
if (table) {
|
|
48594
48599
|
group.__customInfoBefore({
|
|
48595
48600
|
group,
|
|
48596
48601
|
context,
|
|
@@ -48620,7 +48625,7 @@
|
|
|
48620
48625
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb) {
|
|
48621
48626
|
if (group.__customInfo) {
|
|
48622
48627
|
const table = group.stage.table;
|
|
48623
|
-
if (table
|
|
48628
|
+
if (table) {
|
|
48624
48629
|
group.__customInfo({
|
|
48625
48630
|
group,
|
|
48626
48631
|
context,
|
|
@@ -49884,11 +49889,11 @@
|
|
|
49884
49889
|
isVtableMerge = vtableMerge;
|
|
49885
49890
|
if (vtableMerge) {
|
|
49886
49891
|
mayHaveIcon = true;
|
|
49887
|
-
if (table.
|
|
49888
|
-
customResult = dealWithCustom(table.
|
|
49892
|
+
if (table.internalProps.groupTitleCustomLayout) {
|
|
49893
|
+
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
49894
|
}
|
|
49890
|
-
if (table.
|
|
49891
|
-
value = table.
|
|
49895
|
+
if (table.internalProps.groupTitleFieldFormat) {
|
|
49896
|
+
value = table.internalProps.groupTitleFieldFormat(rawRecord, col, row, table);
|
|
49892
49897
|
}
|
|
49893
49898
|
else if (vtableMergeName !== undefined) {
|
|
49894
49899
|
value = vtableMergeName;
|
|
@@ -51885,11 +51890,12 @@
|
|
|
51885
51890
|
const rowsHeight = table.getRowsHeight(computeRectCellRangeStartRow, computeRectCellRangeEndRow);
|
|
51886
51891
|
const firstCellBound = scene.highPerformanceGetCell(computeRectCellRangeStartCol, computeRectCellRangeStartRow).globalAABBBounds;
|
|
51887
51892
|
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
|
|
51893
|
+
x: firstCellBound.x1 - scene.tableGroup.attribute.x + 1,
|
|
51894
|
+
y: firstCellBound.y1 - scene.tableGroup.attribute.y + 1,
|
|
51895
|
+
width: colsWidth - 2,
|
|
51896
|
+
height: rowsHeight - 2,
|
|
51897
|
+
visible: true,
|
|
51898
|
+
cornerRadius: 2
|
|
51893
51899
|
});
|
|
51894
51900
|
if (selectComp.fillhandle) {
|
|
51895
51901
|
const fillHandle = scene.table.options.excelOptions?.fillHandle;
|
|
@@ -53959,7 +53965,7 @@
|
|
|
53959
53965
|
const height = scene.table.tableNoFrameHeight;
|
|
53960
53966
|
scene.tableGroup = new Group$1({ x: 0, y: 0, width, height, clip: true, pickable: false });
|
|
53961
53967
|
scene.tableGroup.role = 'table';
|
|
53962
|
-
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.
|
|
53968
|
+
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.internalProps.enableTreeStickCell);
|
|
53963
53969
|
colHeaderGroup.role = 'col-header';
|
|
53964
53970
|
scene.colHeaderGroup = colHeaderGroup;
|
|
53965
53971
|
const cornerHeaderGroup = createContainerGroup(0, 0, !scene.table.options.enableTreeStickCell);
|
|
@@ -56158,7 +56164,7 @@
|
|
|
56158
56164
|
else if (this.table.isAutoRowHeight(this.table.columnHeaderLevelCount)) {
|
|
56159
56165
|
for (let i = 0; i < updateRows.length; i++) {
|
|
56160
56166
|
const row = updateRows[i];
|
|
56161
|
-
const oldHeight = this.table.
|
|
56167
|
+
const oldHeight = this.table.rowHeightsMap.get(row);
|
|
56162
56168
|
const newHeight = computeRowHeight(row, 0, this.table.colCount - 1, this.table);
|
|
56163
56169
|
if ((row >= this.proxy.rowStart && row <= this.proxy.rowEnd) ||
|
|
56164
56170
|
(row >= this.table.rowCount - this.table.bottomFrozenRowCount && row <= this.table.rowCount - 1)) {
|
|
@@ -57815,9 +57821,11 @@
|
|
|
57815
57821
|
}
|
|
57816
57822
|
function setHeaderCheckedState(field, checked, state) {
|
|
57817
57823
|
state.headerCheckedState[field] = checked;
|
|
57818
|
-
state.
|
|
57819
|
-
recordCheckState
|
|
57820
|
-
|
|
57824
|
+
if (state.table.internalProps.enableCheckboxCascade) {
|
|
57825
|
+
state.checkedState?.forEach(recordCheckState => {
|
|
57826
|
+
recordCheckState[field] = checked;
|
|
57827
|
+
});
|
|
57828
|
+
}
|
|
57821
57829
|
}
|
|
57822
57830
|
function syncCheckedState(col, row, field, checked, state) {
|
|
57823
57831
|
if (state.table.isHeader(col, row)) {
|
|
@@ -57845,7 +57853,7 @@
|
|
|
57845
57853
|
if (state.checkedState.get(dataIndex)) {
|
|
57846
57854
|
state.checkedState.get(dataIndex)[field] = checked;
|
|
57847
57855
|
}
|
|
57848
|
-
else if (dataIndex.includes(',')) {
|
|
57856
|
+
else if (state.table.internalProps.enableCheckboxCascade && dataIndex.includes(',')) {
|
|
57849
57857
|
const parentDataIndex = dataIndex.split(',').slice(0, -1).join(',');
|
|
57850
57858
|
if (state.checkedState.has(parentDataIndex) && state.checkedState.get(parentDataIndex)[field] === true) {
|
|
57851
57859
|
state.checkedState.set(dataIndex, {
|
|
@@ -57924,7 +57932,7 @@
|
|
|
57924
57932
|
? state.table.getCustomMerge(tableIndex, row)
|
|
57925
57933
|
: state.table.getCustomMerge(col, tableIndex);
|
|
57926
57934
|
const data = state.table.dataSource?.get(index);
|
|
57927
|
-
if (mergeCell || (!state.table.internalProps.
|
|
57935
|
+
if (mergeCell || (!state.table.internalProps.enableCheckboxCascade && data?.vtableMerge)) {
|
|
57928
57936
|
return;
|
|
57929
57937
|
}
|
|
57930
57938
|
if (check_state?.[field] !== true) {
|
|
@@ -57971,7 +57979,8 @@
|
|
|
57971
57979
|
}
|
|
57972
57980
|
function setCellCheckboxState(col, row, checked, table) {
|
|
57973
57981
|
const cellGroup = table.scenegraph.getCell(col, row);
|
|
57974
|
-
const checkbox = cellGroup?.getChildByName('checkbox')
|
|
57982
|
+
const checkbox = cellGroup?.getChildByName('checkbox') ||
|
|
57983
|
+
cellGroup?.getChildByName('checkbox-content')?._checkboxGroup?.getChildByName('checkbox');
|
|
57975
57984
|
if (!checkbox) {
|
|
57976
57985
|
const field = table.getHeaderField(col, row);
|
|
57977
57986
|
if (table.isHeader(col, row)) {
|
|
@@ -60519,19 +60528,23 @@
|
|
|
60519
60528
|
};
|
|
60520
60529
|
if (table.isHeader(col, row)) {
|
|
60521
60530
|
table.stateManager.setHeaderCheckedState(cellInfo.field, e.detail.checked);
|
|
60522
|
-
|
|
60523
|
-
|
|
60524
|
-
|
|
60531
|
+
if (table.internalProps.enableHeaderCheckboxCascade) {
|
|
60532
|
+
const cellType = table.getCellType(col, row);
|
|
60533
|
+
if (cellType === 'checkbox') {
|
|
60534
|
+
table.scenegraph.updateCheckboxCellState(col, row, e.detail.checked);
|
|
60535
|
+
}
|
|
60525
60536
|
}
|
|
60526
60537
|
}
|
|
60527
60538
|
else {
|
|
60528
60539
|
table.stateManager.setCheckedState(col, row, cellInfo.field, e.detail.checked);
|
|
60529
|
-
|
|
60530
|
-
|
|
60531
|
-
|
|
60532
|
-
|
|
60533
|
-
|
|
60534
|
-
|
|
60540
|
+
if (table.internalProps.enableCheckboxCascade) {
|
|
60541
|
+
const cellType = table.getCellType(col, row);
|
|
60542
|
+
if (cellType === 'checkbox') {
|
|
60543
|
+
const oldHeaderCheckedState = table.stateManager.headerCheckedState[cellInfo.field];
|
|
60544
|
+
const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(cellInfo.field, col, row);
|
|
60545
|
+
if (oldHeaderCheckedState !== newHeaderCheckedState) {
|
|
60546
|
+
table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);
|
|
60547
|
+
}
|
|
60535
60548
|
}
|
|
60536
60549
|
}
|
|
60537
60550
|
}
|
|
@@ -61872,8 +61885,7 @@
|
|
|
61872
61885
|
function bindGroupTitleCheckboxChange(table) {
|
|
61873
61886
|
table.on('checkbox_state_change', args => {
|
|
61874
61887
|
const { col, row, checked, field } = args;
|
|
61875
|
-
if (!table.internalProps.layoutMap.isSeriesNumber(col, row) ||
|
|
61876
|
-
table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true) {
|
|
61888
|
+
if (!table.internalProps.layoutMap.isSeriesNumber(col, row) || table.internalProps.enableCheckboxCascade !== true) {
|
|
61877
61889
|
return;
|
|
61878
61890
|
}
|
|
61879
61891
|
if (table.isHeader(col, row)) {
|
|
@@ -61917,6 +61929,9 @@
|
|
|
61917
61929
|
});
|
|
61918
61930
|
}
|
|
61919
61931
|
function bindGroupCheckboxTreeChange(table) {
|
|
61932
|
+
if (table.internalProps.enableCheckboxCascade !== true) {
|
|
61933
|
+
return;
|
|
61934
|
+
}
|
|
61920
61935
|
table.on('checkbox_state_change', args => {
|
|
61921
61936
|
const { col, row, checked, field } = args;
|
|
61922
61937
|
const isCheckboxAndTree = table.internalProps.columns.some(column => column.tree);
|
|
@@ -62083,6 +62098,9 @@
|
|
|
62083
62098
|
});
|
|
62084
62099
|
}
|
|
62085
62100
|
function bindHeaderCheckboxChange(table) {
|
|
62101
|
+
if (table.internalProps.enableHeaderCheckboxCascade !== true) {
|
|
62102
|
+
return;
|
|
62103
|
+
}
|
|
62086
62104
|
table.on('checkbox_state_change', args => {
|
|
62087
62105
|
const { col, row, checked, field } = args;
|
|
62088
62106
|
if (table.isHeader(col, row)) {
|
|
@@ -62146,10 +62164,13 @@
|
|
|
62146
62164
|
});
|
|
62147
62165
|
}
|
|
62148
62166
|
|
|
62149
|
-
function
|
|
62167
|
+
function bindDropdownMenuEvent(table) {
|
|
62150
62168
|
table.on(TABLE_EVENT_TYPE.DROPDOWN_MENU_CLICK, () => {
|
|
62151
62169
|
table.stateManager.hideMenu();
|
|
62152
62170
|
});
|
|
62171
|
+
table.on(TABLE_EVENT_TYPE.SCROLL, () => {
|
|
62172
|
+
table.stateManager.hideMenu();
|
|
62173
|
+
});
|
|
62153
62174
|
}
|
|
62154
62175
|
|
|
62155
62176
|
function bindDBClickAutoColumnWidthEvent(table) {
|
|
@@ -62256,7 +62277,7 @@
|
|
|
62256
62277
|
return;
|
|
62257
62278
|
}
|
|
62258
62279
|
bindIconClickEvent(this.table);
|
|
62259
|
-
|
|
62280
|
+
bindDropdownMenuEvent(this.table);
|
|
62260
62281
|
this.updateEventBinder();
|
|
62261
62282
|
bindMediaClick(this.table);
|
|
62262
62283
|
bindDBClickAutoColumnWidthEvent(this.table);
|
|
@@ -62400,7 +62421,7 @@
|
|
|
62400
62421
|
}
|
|
62401
62422
|
checkColumnResize(eventArgsSet, update) {
|
|
62402
62423
|
const { eventArgs } = eventArgsSet;
|
|
62403
|
-
if (this.table.
|
|
62424
|
+
if (this.table.internalProps.enableTreeStickCell && !eventArgs) {
|
|
62404
62425
|
return false;
|
|
62405
62426
|
}
|
|
62406
62427
|
const resizeCol = this.table.scenegraph.getResizeColAt(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, eventArgs?.targetCell);
|
|
@@ -65397,7 +65418,7 @@
|
|
|
65397
65418
|
return count;
|
|
65398
65419
|
}
|
|
65399
65420
|
function checkHasTreeDefine(layoutMap) {
|
|
65400
|
-
if (layoutMap._table.
|
|
65421
|
+
if (layoutMap._table.internalProps.groupBy) {
|
|
65401
65422
|
return true;
|
|
65402
65423
|
}
|
|
65403
65424
|
const { columns } = layoutMap._table.options;
|
|
@@ -67231,7 +67252,7 @@
|
|
|
67231
67252
|
return TABLE_EVENT_TYPE;
|
|
67232
67253
|
}
|
|
67233
67254
|
options;
|
|
67234
|
-
version = "1.0.
|
|
67255
|
+
version = "1.0.12";
|
|
67235
67256
|
pagination;
|
|
67236
67257
|
id = `VTable${Date.now()}`;
|
|
67237
67258
|
headerStyleCache;
|
|
@@ -67271,7 +67292,8 @@
|
|
|
67271
67292
|
if (options.customConfig?.imageAnonymous === false) {
|
|
67272
67293
|
vglobal.isImageAnonymous = false;
|
|
67273
67294
|
}
|
|
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;
|
|
67295
|
+
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;
|
|
67296
|
+
const { groupConfig, groupBy, groupTitleFieldFormat, groupTitleCustomLayout, enableTreeStickCell } = options;
|
|
67275
67297
|
this.container = container;
|
|
67276
67298
|
this.options = options;
|
|
67277
67299
|
this._widthMode = widthMode;
|
|
@@ -67357,13 +67379,22 @@
|
|
|
67357
67379
|
internalProps.keyboardOptions = keyboardOptions;
|
|
67358
67380
|
internalProps.eventOptions = eventOptions;
|
|
67359
67381
|
internalProps.rowSeriesNumber = rowSeriesNumber;
|
|
67360
|
-
internalProps.enableCheckboxCascade = enableCheckboxCascade;
|
|
67382
|
+
internalProps.enableCheckboxCascade = enableCheckboxCascade ?? rowSeriesNumber?.enableTreeCheckbox ?? true;
|
|
67383
|
+
internalProps.enableHeaderCheckboxCascade = enableCheckboxCascade || (enableHeaderCheckboxCascade ?? true);
|
|
67361
67384
|
internalProps.columnResizeMode = resize?.columnResizeMode ?? columnResizeMode;
|
|
67362
67385
|
internalProps.rowResizeMode = resize?.rowResizeMode ?? rowResizeMode;
|
|
67363
67386
|
internalProps.dragHeaderMode = dragOrder?.dragHeaderMode ?? dragHeaderMode ?? 'none';
|
|
67364
67387
|
internalProps.renderChartAsync = renderChartAsync;
|
|
67365
67388
|
setBatchRenderChartCount(renderChartAsyncBatchCount);
|
|
67366
67389
|
internalProps.overscrollBehavior = overscrollBehavior ?? 'auto';
|
|
67390
|
+
internalProps.groupBy = groupConfig?.groupBy ?? groupBy;
|
|
67391
|
+
internalProps.groupTitleCheckbox =
|
|
67392
|
+
groupConfig?.titleCheckbox ?? !!rowSeriesNumber?.enableTreeCheckbox;
|
|
67393
|
+
internalProps.groupTitleFieldFormat =
|
|
67394
|
+
groupConfig?.titleFieldFormat ?? groupTitleFieldFormat;
|
|
67395
|
+
internalProps.groupTitleCustomLayout =
|
|
67396
|
+
groupConfig?.titleCustomLayout ?? groupTitleCustomLayout;
|
|
67397
|
+
internalProps.enableTreeStickCell = groupConfig?.enableTreeStickCell ?? enableTreeStickCell;
|
|
67367
67398
|
internalProps._rowHeightsMap = new NumberRangeMap(this);
|
|
67368
67399
|
internalProps._rowRangeHeightsMap = new Map();
|
|
67369
67400
|
internalProps._colRangeWidthsMap = new Map();
|
|
@@ -68735,7 +68766,8 @@
|
|
|
68735
68766
|
this.editorManager?.cancelEdit();
|
|
68736
68767
|
this.options = options;
|
|
68737
68768
|
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;
|
|
68769
|
+
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;
|
|
68770
|
+
const { groupConfig, groupBy, groupTitleFieldFormat, groupTitleCustomLayout, enableTreeStickCell } = options;
|
|
68739
68771
|
if (pixelRatio && pixelRatio !== this.internalProps.pixelRatio) {
|
|
68740
68772
|
this.internalProps.pixelRatio = pixelRatio;
|
|
68741
68773
|
}
|
|
@@ -68794,7 +68826,8 @@
|
|
|
68794
68826
|
internalProps.keyboardOptions = keyboardOptions;
|
|
68795
68827
|
internalProps.eventOptions = eventOptions;
|
|
68796
68828
|
internalProps.rowSeriesNumber = rowSeriesNumber;
|
|
68797
|
-
internalProps.enableCheckboxCascade = enableCheckboxCascade;
|
|
68829
|
+
internalProps.enableCheckboxCascade = enableCheckboxCascade ?? rowSeriesNumber?.enableTreeCheckbox ?? true;
|
|
68830
|
+
internalProps.enableHeaderCheckboxCascade = enableCheckboxCascade || (enableHeaderCheckboxCascade ?? true);
|
|
68798
68831
|
internalProps.columnResizeMode = resize?.columnResizeMode ?? columnResizeMode;
|
|
68799
68832
|
internalProps.rowResizeMode = resize?.rowResizeMode ?? rowResizeMode;
|
|
68800
68833
|
internalProps.dragHeaderMode = dragOrder?.dragHeaderMode ?? dragHeaderMode ?? 'none';
|
|
@@ -68802,6 +68835,13 @@
|
|
|
68802
68835
|
setBatchRenderChartCount(renderChartAsyncBatchCount);
|
|
68803
68836
|
internalProps.overscrollBehavior = overscrollBehavior ?? 'auto';
|
|
68804
68837
|
internalProps.cellTextOverflows = {};
|
|
68838
|
+
internalProps.groupBy = groupConfig?.groupBy ?? groupBy;
|
|
68839
|
+
internalProps.groupTitleCheckbox = groupConfig?.titleCheckbox;
|
|
68840
|
+
internalProps.groupTitleFieldFormat =
|
|
68841
|
+
groupConfig?.titleFieldFormat ?? groupTitleFieldFormat;
|
|
68842
|
+
internalProps.groupTitleCustomLayout =
|
|
68843
|
+
groupConfig?.titleCustomLayout ?? groupTitleCustomLayout;
|
|
68844
|
+
internalProps.enableTreeStickCell = groupConfig?.enableTreeStickCell ?? enableTreeStickCell;
|
|
68805
68845
|
internalProps._rowHeightsMap = new NumberRangeMap(this);
|
|
68806
68846
|
internalProps._rowRangeHeightsMap = new Map();
|
|
68807
68847
|
internalProps._colRangeWidthsMap = new Map();
|
|
@@ -69472,7 +69512,7 @@
|
|
|
69472
69512
|
icons = this.internalProps.headerHelper.getIcons(col, row);
|
|
69473
69513
|
}
|
|
69474
69514
|
else if (this.internalProps.layoutMap.isSeriesNumber(col, row)) {
|
|
69475
|
-
if (!this.
|
|
69515
|
+
if (!this.internalProps.groupBy || !this.getCellRawRecord(col, row)?.vtableMerge) {
|
|
69476
69516
|
const dragOrder = this.internalProps.layoutMap.getSeriesNumberBody(col, row)?.define
|
|
69477
69517
|
?.dragOrder;
|
|
69478
69518
|
if (dragOrder) {
|
|
@@ -72072,7 +72112,7 @@
|
|
|
72072
72112
|
return;
|
|
72073
72113
|
}
|
|
72074
72114
|
const cellRecord = layout._table.getCellRawRecord(col, row);
|
|
72075
|
-
if (layout._table.internalProps.rowSeriesNumber
|
|
72115
|
+
if (layout._table.internalProps.groupTitleCheckbox && layout._table.internalProps.rowSeriesNumber) {
|
|
72076
72116
|
if (cellRecord?.vtableMerge && col >= layout.leftRowSeriesNumberColumnCount) {
|
|
72077
72117
|
cellRange.start.col = layout.rowHeaderLevelCount + layout.leftRowSeriesNumberColumnCount;
|
|
72078
72118
|
cellRange.end.col = layout.colCount - 1;
|
|
@@ -72255,7 +72295,7 @@
|
|
|
72255
72295
|
title: rowSeriesNumber.title,
|
|
72256
72296
|
define: merge$1({ field: '_vtable_rowSeries_number' }, rowSeriesNumber),
|
|
72257
72297
|
cellType: rowSeriesNumber.cellType ?? 'text',
|
|
72258
|
-
headerType: rowSeriesNumber.cellType === 'checkbox' ? 'checkbox' : 'text',
|
|
72298
|
+
headerType: rowSeriesNumber.headerType ?? (rowSeriesNumber.cellType === 'checkbox' ? 'checkbox' : 'text'),
|
|
72259
72299
|
style: rowSeriesNumber.style,
|
|
72260
72300
|
width: rowSeriesNumber.width,
|
|
72261
72301
|
format: rowSeriesNumber.format,
|
|
@@ -73881,11 +73921,11 @@
|
|
|
73881
73921
|
if (oldCellUpdateType === 'group') {
|
|
73882
73922
|
return oldCellUpdateType;
|
|
73883
73923
|
}
|
|
73884
|
-
if (oldCellUpdateType === 'sort' && !table.
|
|
73924
|
+
if (oldCellUpdateType === 'sort' && !table.internalProps.groupBy) {
|
|
73885
73925
|
return oldCellUpdateType;
|
|
73886
73926
|
}
|
|
73887
73927
|
let cellUpdateType = 'normal';
|
|
73888
|
-
if (table.
|
|
73928
|
+
if (table.internalProps.groupBy) {
|
|
73889
73929
|
cellUpdateType = 'group';
|
|
73890
73930
|
}
|
|
73891
73931
|
else if (!table.isHeader(col, row) && table.dataSource.lastOrderField) {
|
|
@@ -73908,7 +73948,7 @@
|
|
|
73908
73948
|
}
|
|
73909
73949
|
}
|
|
73910
73950
|
function listTableAddRecord(record, recordIndex, table) {
|
|
73911
|
-
if (table.
|
|
73951
|
+
if (table.internalProps.groupBy) {
|
|
73912
73952
|
table.dataSource.addRecordsForGroup?.([record], recordIndex);
|
|
73913
73953
|
table.refreshRowColCount();
|
|
73914
73954
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -73918,6 +73958,7 @@
|
|
|
73918
73958
|
}
|
|
73919
73959
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
73920
73960
|
table.dataSource.addRecordsForTree?.([record], recordIndex);
|
|
73961
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, 1);
|
|
73921
73962
|
table.refreshRowColCount();
|
|
73922
73963
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
73923
73964
|
table.sortState && sortRecords(table);
|
|
@@ -73926,6 +73967,7 @@
|
|
|
73926
73967
|
}
|
|
73927
73968
|
else if (table.sortState) {
|
|
73928
73969
|
table.dataSource.addRecordForSorted(record);
|
|
73970
|
+
table.stateManager.checkedState.clear();
|
|
73929
73971
|
sortRecords(table);
|
|
73930
73972
|
table.refreshRowColCount();
|
|
73931
73973
|
table.scenegraph.clearCells();
|
|
@@ -73938,6 +73980,7 @@
|
|
|
73938
73980
|
}
|
|
73939
73981
|
const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
|
|
73940
73982
|
table.dataSource.addRecord(record, recordIndex);
|
|
73983
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, 1);
|
|
73941
73984
|
const oldRowCount = table.rowCount;
|
|
73942
73985
|
table.refreshRowColCount();
|
|
73943
73986
|
if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {
|
|
@@ -74009,7 +74052,7 @@
|
|
|
74009
74052
|
}
|
|
74010
74053
|
}
|
|
74011
74054
|
function listTableAddRecords(records, recordIndex, table) {
|
|
74012
|
-
if (table.
|
|
74055
|
+
if (table.internalProps.groupBy) {
|
|
74013
74056
|
table.dataSource.addRecordsForGroup?.(records, recordIndex);
|
|
74014
74057
|
table.refreshRowColCount();
|
|
74015
74058
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74019,6 +74062,7 @@
|
|
|
74019
74062
|
}
|
|
74020
74063
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74021
74064
|
table.dataSource.addRecordsForTree?.(records, recordIndex);
|
|
74065
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, records.length);
|
|
74022
74066
|
table.refreshRowColCount();
|
|
74023
74067
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
74024
74068
|
table.sortState && sortRecords(table);
|
|
@@ -74042,6 +74086,7 @@
|
|
|
74042
74086
|
}
|
|
74043
74087
|
const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
|
|
74044
74088
|
table.dataSource.addRecords(records, recordIndex);
|
|
74089
|
+
adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, records.length);
|
|
74045
74090
|
const oldRowCount = table.transpose ? table.colCount : table.rowCount;
|
|
74046
74091
|
table.refreshRowColCount();
|
|
74047
74092
|
if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {
|
|
@@ -74127,7 +74172,7 @@
|
|
|
74127
74172
|
}
|
|
74128
74173
|
function listTableDeleteRecords(recordIndexs, table) {
|
|
74129
74174
|
if (recordIndexs?.length > 0) {
|
|
74130
|
-
if (table.
|
|
74175
|
+
if (table.internalProps.groupBy) {
|
|
74131
74176
|
table.dataSource.deleteRecordsForGroup?.(recordIndexs);
|
|
74132
74177
|
table.refreshRowColCount();
|
|
74133
74178
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74136,7 +74181,13 @@
|
|
|
74136
74181
|
table.scenegraph.createSceneGraph();
|
|
74137
74182
|
}
|
|
74138
74183
|
else if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74139
|
-
table.dataSource.deleteRecordsForTree?.(recordIndexs);
|
|
74184
|
+
const deletedRecordIndexs = table.dataSource.deleteRecordsForTree?.(recordIndexs);
|
|
74185
|
+
if (deletedRecordIndexs.length === 0) {
|
|
74186
|
+
return;
|
|
74187
|
+
}
|
|
74188
|
+
for (let index = 0; index < deletedRecordIndexs.length; index++) {
|
|
74189
|
+
adjustCheckBoxStateMapWithDeleteRecordIndex(table, deletedRecordIndexs[index], 1);
|
|
74190
|
+
}
|
|
74140
74191
|
table.refreshRowColCount();
|
|
74141
74192
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
74142
74193
|
table.sortState && sortRecords(table);
|
|
@@ -74255,7 +74306,7 @@
|
|
|
74255
74306
|
}
|
|
74256
74307
|
function listTableUpdateRecords(records, recordIndexs, table) {
|
|
74257
74308
|
if (recordIndexs?.length > 0) {
|
|
74258
|
-
if (table.
|
|
74309
|
+
if (table.internalProps.groupBy) {
|
|
74259
74310
|
table.dataSource.updateRecordsForGroup?.(records, recordIndexs);
|
|
74260
74311
|
table.refreshRowColCount();
|
|
74261
74312
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
@@ -74364,6 +74415,158 @@
|
|
|
74364
74415
|
}
|
|
74365
74416
|
}
|
|
74366
74417
|
}
|
|
74418
|
+
function adjustCheckBoxStateMapWithDeleteRecordIndex(table, recordIndex, count) {
|
|
74419
|
+
const { checkedState } = table.stateManager;
|
|
74420
|
+
if (!checkedState) {
|
|
74421
|
+
return;
|
|
74422
|
+
}
|
|
74423
|
+
if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74424
|
+
let toOperateIndexArr;
|
|
74425
|
+
if (isNumber$4(recordIndex)) {
|
|
74426
|
+
toOperateIndexArr = [recordIndex];
|
|
74427
|
+
}
|
|
74428
|
+
else {
|
|
74429
|
+
toOperateIndexArr = recordIndex;
|
|
74430
|
+
}
|
|
74431
|
+
const toOperateIndexArrLength = toOperateIndexArr.length;
|
|
74432
|
+
const targetResult = [];
|
|
74433
|
+
checkedState.forEach((value, key) => {
|
|
74434
|
+
const keyArray = key.split(',');
|
|
74435
|
+
if (keyArray.length >= toOperateIndexArr.length) {
|
|
74436
|
+
for (let i = 0; i < keyArray.length; i++) {
|
|
74437
|
+
const toOperateIndex = toOperateIndexArr[i] ?? -1;
|
|
74438
|
+
const keyIndex = Number(keyArray[i]);
|
|
74439
|
+
if (toOperateIndex === keyIndex && i < keyArray.length - 1) ;
|
|
74440
|
+
else if ((toOperateIndex === keyIndex && i === keyArray.length - 1) || toOperateIndex === -1) {
|
|
74441
|
+
targetResult.push({
|
|
74442
|
+
originKey: key,
|
|
74443
|
+
value
|
|
74444
|
+
});
|
|
74445
|
+
break;
|
|
74446
|
+
}
|
|
74447
|
+
else if (toOperateIndex < keyIndex && i === toOperateIndexArrLength - 1) {
|
|
74448
|
+
keyArray[i] = (keyIndex - count).toString();
|
|
74449
|
+
targetResult.push({
|
|
74450
|
+
originKey: key,
|
|
74451
|
+
targetKey: keyArray.toString(),
|
|
74452
|
+
value
|
|
74453
|
+
});
|
|
74454
|
+
break;
|
|
74455
|
+
}
|
|
74456
|
+
else {
|
|
74457
|
+
break;
|
|
74458
|
+
}
|
|
74459
|
+
}
|
|
74460
|
+
}
|
|
74461
|
+
});
|
|
74462
|
+
targetResult.sort((a, b) => {
|
|
74463
|
+
const aArray = a.originKey.split(',');
|
|
74464
|
+
const bArray = b.originKey.split(',');
|
|
74465
|
+
const aLength = aArray.length;
|
|
74466
|
+
const bLength = bArray.length;
|
|
74467
|
+
const minLength = Math.min(aLength, bLength);
|
|
74468
|
+
for (let i = 0; i < minLength; i++) {
|
|
74469
|
+
const aIndex = Number(aArray[i]);
|
|
74470
|
+
const bIndex = Number(bArray[i]);
|
|
74471
|
+
if (aIndex !== bIndex) {
|
|
74472
|
+
return aIndex - bIndex;
|
|
74473
|
+
}
|
|
74474
|
+
}
|
|
74475
|
+
return aLength - bLength;
|
|
74476
|
+
});
|
|
74477
|
+
targetResult.forEach(({ originKey, targetKey, value }) => {
|
|
74478
|
+
checkedState.delete(originKey);
|
|
74479
|
+
if (targetKey) {
|
|
74480
|
+
checkedState.set(targetKey, value);
|
|
74481
|
+
}
|
|
74482
|
+
});
|
|
74483
|
+
}
|
|
74484
|
+
else {
|
|
74485
|
+
const length = checkedState.size;
|
|
74486
|
+
for (let key = length - 1; key >= recordIndex; key--) {
|
|
74487
|
+
const record = checkedState.get(key.toString());
|
|
74488
|
+
checkedState.delete(key.toString());
|
|
74489
|
+
checkedState.set((key - count).toString(), record);
|
|
74490
|
+
}
|
|
74491
|
+
}
|
|
74492
|
+
}
|
|
74493
|
+
function adjustCheckBoxStateMapWithAddRecordIndex(table, recordIndex, count) {
|
|
74494
|
+
const { checkedState } = table.stateManager;
|
|
74495
|
+
if (!checkedState) {
|
|
74496
|
+
return;
|
|
74497
|
+
}
|
|
74498
|
+
if (table.dataSource.rowHierarchyType === 'tree') {
|
|
74499
|
+
let toOperateIndexArr;
|
|
74500
|
+
if (isNumber$4(recordIndex)) {
|
|
74501
|
+
toOperateIndexArr = [recordIndex];
|
|
74502
|
+
}
|
|
74503
|
+
else {
|
|
74504
|
+
toOperateIndexArr = recordIndex;
|
|
74505
|
+
}
|
|
74506
|
+
const toOperateIndexArrLength = toOperateIndexArr.length;
|
|
74507
|
+
const targetResult = [];
|
|
74508
|
+
checkedState.forEach((value, key) => {
|
|
74509
|
+
const keyArray = key.split(',');
|
|
74510
|
+
if (keyArray.length >= toOperateIndexArr.length) {
|
|
74511
|
+
for (let i = 0; i < keyArray.length; i++) {
|
|
74512
|
+
const toOperateIndex = toOperateIndexArr[i] ?? -1;
|
|
74513
|
+
const keyIndex = Number(keyArray[i]);
|
|
74514
|
+
if (toOperateIndex === keyIndex && (i === keyArray.length - 1 || i === toOperateIndexArrLength - 1)) {
|
|
74515
|
+
keyArray[i] = (keyIndex + count).toString();
|
|
74516
|
+
targetResult.push({
|
|
74517
|
+
originKey: key,
|
|
74518
|
+
targetKey: keyArray.toString(),
|
|
74519
|
+
value
|
|
74520
|
+
});
|
|
74521
|
+
break;
|
|
74522
|
+
}
|
|
74523
|
+
else if (toOperateIndex === keyIndex && i < keyArray.length - 1) ;
|
|
74524
|
+
else if (toOperateIndex < keyIndex && i === toOperateIndexArrLength - 1) {
|
|
74525
|
+
keyArray[i] = (keyIndex + count).toString();
|
|
74526
|
+
targetResult.push({
|
|
74527
|
+
originKey: key,
|
|
74528
|
+
targetKey: keyArray.toString(),
|
|
74529
|
+
value
|
|
74530
|
+
});
|
|
74531
|
+
break;
|
|
74532
|
+
}
|
|
74533
|
+
else {
|
|
74534
|
+
break;
|
|
74535
|
+
}
|
|
74536
|
+
}
|
|
74537
|
+
}
|
|
74538
|
+
});
|
|
74539
|
+
targetResult.sort((a, b) => {
|
|
74540
|
+
const aArray = a.originKey.split(',');
|
|
74541
|
+
const bArray = b.originKey.split(',');
|
|
74542
|
+
const aLength = aArray.length;
|
|
74543
|
+
const bLength = bArray.length;
|
|
74544
|
+
const minLength = Math.min(aLength, bLength);
|
|
74545
|
+
for (let i = 0; i < minLength; i++) {
|
|
74546
|
+
const aIndex = Number(aArray[i]);
|
|
74547
|
+
const bIndex = Number(bArray[i]);
|
|
74548
|
+
if (aIndex !== bIndex) {
|
|
74549
|
+
return -aIndex + bIndex;
|
|
74550
|
+
}
|
|
74551
|
+
}
|
|
74552
|
+
return -aLength + bLength;
|
|
74553
|
+
});
|
|
74554
|
+
targetResult.forEach(({ originKey, targetKey, value }) => {
|
|
74555
|
+
checkedState.delete(originKey);
|
|
74556
|
+
if (targetKey) {
|
|
74557
|
+
checkedState.set(targetKey, value);
|
|
74558
|
+
}
|
|
74559
|
+
});
|
|
74560
|
+
}
|
|
74561
|
+
else {
|
|
74562
|
+
const length = checkedState.size;
|
|
74563
|
+
for (let key = length - 1; key >= recordIndex; key--) {
|
|
74564
|
+
const record = checkedState.get(key.toString());
|
|
74565
|
+
checkedState.delete(key.toString());
|
|
74566
|
+
checkedState.set((key + count).toString(), record);
|
|
74567
|
+
}
|
|
74568
|
+
}
|
|
74569
|
+
}
|
|
74367
74570
|
|
|
74368
74571
|
function fixUpdateRowRange(diffPositions, col, row, table) {
|
|
74369
74572
|
const updateCells = [{ col, row }];
|
|
@@ -74442,14 +74645,15 @@
|
|
|
74442
74645
|
this.pagination = options.pagination;
|
|
74443
74646
|
internalProps.sortState = options.sortState;
|
|
74444
74647
|
internalProps.multipleSort = !!options.multipleSort;
|
|
74445
|
-
internalProps.dataConfig =
|
|
74648
|
+
internalProps.dataConfig = this.internalProps.groupBy ? getGroupByDataConfig(this.internalProps.groupBy) : {};
|
|
74446
74649
|
internalProps.columns = options.columns
|
|
74447
74650
|
? cloneDeepSpec(options.columns, ['children'])
|
|
74448
74651
|
: options.header
|
|
74449
74652
|
? cloneDeepSpec(options.header, ['children'])
|
|
74450
74653
|
: [];
|
|
74451
74654
|
generateAggregationForColumn(this);
|
|
74452
|
-
internalProps.enableTreeNodeMerge =
|
|
74655
|
+
internalProps.enableTreeNodeMerge =
|
|
74656
|
+
options.enableTreeNodeMerge ?? isValid$3(this.internalProps.groupBy) ?? false;
|
|
74453
74657
|
this.internalProps.headerHelper.setTableColumnsEditor();
|
|
74454
74658
|
this.showHeader = options.showHeader ?? true;
|
|
74455
74659
|
this.internalProps.columnWidthConfig = options.columnWidthConfig;
|
|
@@ -74483,7 +74687,7 @@
|
|
|
74483
74687
|
this.internalProps.emptyTip?.resetVisible();
|
|
74484
74688
|
}
|
|
74485
74689
|
}
|
|
74486
|
-
if (
|
|
74690
|
+
if (this.internalProps.enableTreeStickCell) {
|
|
74487
74691
|
const ListTreeStickCellPlugin = Factory.getComponent('listTreeStickCellPlugin');
|
|
74488
74692
|
this.listTreeStickCellPlugin = new ListTreeStickCellPlugin(this);
|
|
74489
74693
|
}
|
|
@@ -74602,7 +74806,7 @@
|
|
|
74602
74806
|
return title;
|
|
74603
74807
|
}
|
|
74604
74808
|
let value;
|
|
74605
|
-
if (this.
|
|
74809
|
+
if (this.internalProps.groupBy) {
|
|
74606
74810
|
const record = table.getCellRawRecord(col, row);
|
|
74607
74811
|
if (record?.vtableMerge) {
|
|
74608
74812
|
return '';
|
|
@@ -74612,7 +74816,17 @@
|
|
|
74612
74816
|
}
|
|
74613
74817
|
}
|
|
74614
74818
|
else {
|
|
74615
|
-
|
|
74819
|
+
const define = table.getBodyColumnDefine(col, row);
|
|
74820
|
+
const checkboxSeriesNumberStyle = table.getFieldData(define.field, col, row);
|
|
74821
|
+
if (typeof checkboxSeriesNumberStyle === 'string') {
|
|
74822
|
+
value = checkboxSeriesNumberStyle;
|
|
74823
|
+
}
|
|
74824
|
+
else if (checkboxSeriesNumberStyle?.text) {
|
|
74825
|
+
value = checkboxSeriesNumberStyle.text ?? '';
|
|
74826
|
+
}
|
|
74827
|
+
else {
|
|
74828
|
+
value = row - this.columnHeaderLevelCount + 1;
|
|
74829
|
+
}
|
|
74616
74830
|
}
|
|
74617
74831
|
const { format } = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
|
|
74618
74832
|
return typeof format === 'function' ? format(col, row, this, value) : value;
|
|
@@ -74747,7 +74961,9 @@
|
|
|
74747
74961
|
options.dragOrder?.frozenColDragHeaderMode ?? options.frozenColDragHeaderMode;
|
|
74748
74962
|
this.pagination = options.pagination;
|
|
74749
74963
|
internalProps.sortState = options.sortState;
|
|
74750
|
-
internalProps.dataConfig =
|
|
74964
|
+
internalProps.dataConfig = this.internalProps.groupBy
|
|
74965
|
+
? getGroupByDataConfig(this.internalProps.groupBy)
|
|
74966
|
+
: {};
|
|
74751
74967
|
this.showHeader = options.showHeader ?? true;
|
|
74752
74968
|
internalProps.columns = options.columns
|
|
74753
74969
|
? cloneDeepSpec(options.columns, ['children'])
|
|
@@ -74755,7 +74971,8 @@
|
|
|
74755
74971
|
? cloneDeepSpec(options.header, ['children'])
|
|
74756
74972
|
: [];
|
|
74757
74973
|
generateAggregationForColumn(this);
|
|
74758
|
-
internalProps.enableTreeNodeMerge =
|
|
74974
|
+
internalProps.enableTreeNodeMerge =
|
|
74975
|
+
options.enableTreeNodeMerge ?? isValid$3(this.internalProps.groupBy) ?? false;
|
|
74759
74976
|
this.internalProps.headerHelper.setTableColumnsEditor();
|
|
74760
74977
|
this.transpose = options.transpose ?? false;
|
|
74761
74978
|
this.refreshHeader();
|
|
@@ -75000,7 +75217,9 @@
|
|
|
75000
75217
|
if (this.isHeader(col, row)) {
|
|
75001
75218
|
return this._getHeaderLayoutMap(col, row)?.hierarchyState;
|
|
75002
75219
|
}
|
|
75003
|
-
if (!this.
|
|
75220
|
+
if (!this.internalProps.groupBy ||
|
|
75221
|
+
(isArray$7(this.internalProps.groupBy) &&
|
|
75222
|
+
this.internalProps.groupBy.length === 0)) {
|
|
75004
75223
|
const define = this.getBodyColumnDefine(col, row);
|
|
75005
75224
|
if (!define.tree) {
|
|
75006
75225
|
return HierarchyState.none;
|
|
@@ -75460,7 +75679,7 @@
|
|
|
75460
75679
|
return this.internalProps.layoutMap.isAggregation(col, row);
|
|
75461
75680
|
}
|
|
75462
75681
|
getGroupTitleLevel(col, row) {
|
|
75463
|
-
if (!this.
|
|
75682
|
+
if (!this.internalProps.groupBy) {
|
|
75464
75683
|
return undefined;
|
|
75465
75684
|
}
|
|
75466
75685
|
const indexArr = this.dataSource.getIndexKey(this.getRecordShowIndexByCell(col, row));
|
|
@@ -79989,9 +80208,14 @@
|
|
|
79989
80208
|
if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
|
|
79990
80209
|
const checkboxSeriesNumberStyle = table.getFieldData(define.field, col, row);
|
|
79991
80210
|
if (checkboxSeriesNumberStyle) {
|
|
79992
|
-
|
|
79993
|
-
|
|
79994
|
-
|
|
80211
|
+
if (typeof checkboxSeriesNumberStyle === 'string') ;
|
|
80212
|
+
else if (typeof checkboxSeriesNumberStyle === 'object') {
|
|
80213
|
+
isChecked = checkboxSeriesNumberStyle.checked;
|
|
80214
|
+
isDisabled = checkboxSeriesNumberStyle.disable;
|
|
80215
|
+
}
|
|
80216
|
+
else if (typeof checkboxSeriesNumberStyle === 'boolean') {
|
|
80217
|
+
isChecked = checkboxSeriesNumberStyle;
|
|
80218
|
+
}
|
|
79995
80219
|
}
|
|
79996
80220
|
}
|
|
79997
80221
|
isChecked = table.stateManager.syncCheckedState(col, row, define.field, isChecked);
|
|
@@ -82035,6 +82259,9 @@
|
|
|
82035
82259
|
updateCellPositionsRowDirection.push(parentCellAddress);
|
|
82036
82260
|
}
|
|
82037
82261
|
}
|
|
82262
|
+
if (!updateCellPositionsRowDirection.some(item => item.col === col && item.row === row)) {
|
|
82263
|
+
updateCellPositionsRowDirection.push({ col, row });
|
|
82264
|
+
}
|
|
82038
82265
|
return {
|
|
82039
82266
|
addCellPositionsRowDirection,
|
|
82040
82267
|
removeCellPositionsRowDirection,
|
|
@@ -90914,7 +91141,7 @@
|
|
|
90914
91141
|
}
|
|
90915
91142
|
|
|
90916
91143
|
registerForVrender();
|
|
90917
|
-
const version = "1.0.
|
|
91144
|
+
const version = "1.0.12";
|
|
90918
91145
|
function getIcons() {
|
|
90919
91146
|
return get$2();
|
|
90920
91147
|
}
|