@visactor/vtable 0.20.4-alpha.2 → 0.21.0
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.d.ts +9 -2
- package/cjs/ListTable.js +25 -9
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +7 -1
- package/cjs/PivotChart.js +7 -7
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +9 -2
- package/cjs/PivotTable.js +26 -11
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/style/Style.d.ts +3 -0
- package/cjs/body-helper/style/Style.js +16 -9
- package/cjs/body-helper/style/Style.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +16 -2
- package/cjs/core/BaseTable.js +18 -10
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/tableHelper.js +3 -1
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/event/listener/container-dom.js +59 -13
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +2 -1
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/header-helper/style/Style.d.ts +3 -0
- package/cjs/header-helper/style/Style.js +15 -8
- package/cjs/header-helper/style/Style.js.map +1 -1
- package/cjs/index.d.ts +3 -2
- package/cjs/index.js +16 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +3 -2
- package/cjs/layout/pivot-header-layout.js +24 -18
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.d.ts +1 -0
- package/cjs/layout/row-height-map.js +25 -1
- package/cjs/layout/row-height-map.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +3 -2
- package/cjs/layout/simple-header-layout.js +16 -12
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/plugins/custom-cell-style.d.ts +19 -0
- package/cjs/plugins/custom-cell-style.js +63 -0
- package/cjs/plugins/custom-cell-style.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +29 -7
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +9 -2
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +11 -4
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +22 -19
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -18
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +7 -7
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +21 -18
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +11 -10
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +7 -7
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/default-width-height.d.ts +3 -0
- package/cjs/scenegraph/group-creater/progress/default-width-height.js +24 -0
- package/cjs/scenegraph/group-creater/progress/default-width-height.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/proxy.d.ts +8 -4
- package/cjs/scenegraph/group-creater/progress/proxy.js +50 -10
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +14 -16
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +28 -30
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +3 -2
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/move-cell.d.ts +1 -2
- package/cjs/scenegraph/layout/move-cell.js +3 -16
- package/cjs/scenegraph/layout/move-cell.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +4 -4
- package/cjs/scenegraph/scenegraph.js +13 -9
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/stick-text/index.js +1 -1
- package/cjs/scenegraph/stick-text/index.js.map +1 -1
- package/cjs/scenegraph/utils/cell-border-stroke-width.d.ts +3 -0
- package/cjs/scenegraph/utils/cell-border-stroke-width.js +16 -0
- package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -0
- package/cjs/scenegraph/utils/get-prop.js +3 -3
- package/cjs/scenegraph/utils/get-prop.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +9 -3
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/scenegraph/utils/text-measure.d.ts +4 -2
- package/cjs/scenegraph/utils/text-measure.js +20 -5
- package/cjs/scenegraph/utils/text-measure.js.map +1 -1
- package/cjs/state/cell-move/index.js +6 -6
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/state.js +2 -2
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/ARCO.js +2 -1
- package/cjs/themes/theme.d.ts +3 -0
- package/cjs/themes/theme.js +21 -1
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/NumberMap.d.ts +1 -0
- package/cjs/tools/NumberMap.js +21 -0
- package/cjs/tools/NumberMap.js.map +1 -1
- package/cjs/tools/isx.d.ts +1 -1
- package/cjs/tools/util.d.ts +1 -1
- package/cjs/ts-types/base-table.d.ts +17 -2
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/column/style.d.ts +1 -0
- package/cjs/ts-types/column/style.js.map +1 -1
- package/cjs/ts-types/common.d.ts +14 -2
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/customElement.d.ts +2 -0
- package/cjs/ts-types/customElement.js.map +1 -1
- package/cjs/ts-types/style-define.d.ts +2 -0
- package/cjs/ts-types/style-define.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +3 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +3327 -1273
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +9 -2
- package/es/ListTable.js +25 -9
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +7 -1
- package/es/PivotChart.js +7 -7
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +9 -2
- package/es/PivotTable.js +27 -12
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/style/Style.d.ts +3 -0
- package/es/body-helper/style/Style.js +16 -9
- package/es/body-helper/style/Style.js.map +1 -1
- package/es/core/BaseTable.d.ts +16 -2
- package/es/core/BaseTable.js +19 -9
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/tableHelper.js +3 -1
- package/es/core/tableHelper.js.map +1 -1
- package/es/event/listener/container-dom.js +58 -14
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +1 -1
- package/es/event/listener/table-group.js.map +1 -1
- package/es/header-helper/style/Style.d.ts +3 -0
- package/es/header-helper/style/Style.js +15 -8
- package/es/header-helper/style/Style.js.map +1 -1
- package/es/index.d.ts +3 -2
- package/es/index.js +4 -2
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +3 -2
- package/es/layout/pivot-header-layout.js +24 -18
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.d.ts +1 -0
- package/es/layout/row-height-map.js +25 -1
- package/es/layout/row-height-map.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +3 -2
- package/es/layout/simple-header-layout.js +16 -12
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/plugins/custom-cell-style.d.ts +19 -0
- package/es/plugins/custom-cell-style.js +55 -0
- package/es/plugins/custom-cell-style.js.map +1 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +29 -6
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js +9 -2
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +11 -4
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +23 -18
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +22 -17
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +8 -6
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +22 -17
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +11 -9
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js +8 -6
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/es/scenegraph/group-creater/progress/default-width-height.d.ts +3 -0
- package/es/scenegraph/group-creater/progress/default-width-height.js +18 -0
- package/es/scenegraph/group-creater/progress/default-width-height.js.map +1 -0
- package/es/scenegraph/group-creater/progress/proxy.d.ts +8 -4
- package/es/scenegraph/group-creater/progress/proxy.js +51 -11
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +14 -16
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +28 -31
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +1 -1
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +3 -1
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/move-cell.d.ts +1 -2
- package/es/scenegraph/layout/move-cell.js +3 -16
- package/es/scenegraph/layout/move-cell.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +4 -4
- package/es/scenegraph/scenegraph.js +13 -9
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/stick-text/index.js +1 -1
- package/es/scenegraph/stick-text/index.js.map +1 -1
- package/es/scenegraph/utils/cell-border-stroke-width.d.ts +3 -0
- package/es/scenegraph/utils/cell-border-stroke-width.js +10 -0
- package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -0
- package/es/scenegraph/utils/get-prop.js +3 -3
- package/es/scenegraph/utils/get-prop.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +9 -3
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/scenegraph/utils/text-measure.d.ts +4 -2
- package/es/scenegraph/utils/text-measure.js +19 -5
- package/es/scenegraph/utils/text-measure.js.map +1 -1
- package/es/state/cell-move/index.js +6 -6
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/state.js +2 -2
- package/es/state/state.js.map +1 -1
- package/es/themes/ARCO.js +2 -1
- package/es/themes/theme.d.ts +3 -0
- package/es/themes/theme.js +21 -1
- package/es/themes/theme.js.map +1 -1
- package/es/tools/NumberMap.d.ts +1 -0
- package/es/tools/NumberMap.js +21 -0
- package/es/tools/NumberMap.js.map +1 -1
- package/es/tools/isx.d.ts +1 -1
- package/es/tools/util.d.ts +1 -1
- package/es/ts-types/base-table.d.ts +17 -2
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/column/style.d.ts +1 -0
- package/es/ts-types/column/style.js.map +1 -1
- package/es/ts-types/common.d.ts +14 -2
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/customElement.d.ts +2 -0
- package/es/ts-types/customElement.js.map +1 -1
- package/es/ts-types/style-define.d.ts +2 -0
- package/es/ts-types/style-define.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +3 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +6 -6
- package/cjs/scenegraph/component/menu.d.ts +0 -41
- package/es/scenegraph/component/menu.d.ts +0 -41
|
@@ -28,19 +28,28 @@ import { computeRowsHeight } from "../../../layout/compute-row-height";
|
|
|
28
28
|
|
|
29
29
|
import { updateAutoRow } from "./update-auto-row";
|
|
30
30
|
|
|
31
|
-
export function dynamicSetY(y, proxy) {
|
|
31
|
+
export function dynamicSetY(y, isEnd, proxy) {
|
|
32
32
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
33
33
|
const screenTop = proxy.table.getTargetRowAt(y + proxy.table.scenegraph.colHeaderGroup.attribute.height);
|
|
34
34
|
if (!screenTop) return;
|
|
35
35
|
const screenTopRow = screenTop.row, screenTopY = screenTop.top;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
let deltaRow;
|
|
37
|
+
if (proxy.screenTopRow = screenTopRow, deltaRow = isEnd ? proxy.bodyBottomRow - proxy.rowEnd : screenTopRow - proxy.referenceRow,
|
|
38
|
+
move(deltaRow, screenTopRow, screenTopY, y, proxy), isEnd) {
|
|
39
|
+
const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, proxy.rowEnd, !0);
|
|
40
|
+
if ("cell" === cellGroup.role) {
|
|
41
|
+
const deltaY = cellGroup.attribute.y + cellGroup.attribute.height - (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight() - proxy.table.getBottomFrozenRowsHeight()) - y;
|
|
42
|
+
proxy.deltaY = -deltaY, proxy.updateBody(y - proxy.deltaY);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
38
45
|
}));
|
|
39
46
|
}
|
|
40
47
|
|
|
41
48
|
function move(deltaRow, screenTopRow, screenTopY, y, proxy) {
|
|
42
|
-
deltaRow > 0 ? (moveCell(deltaRow, "up", screenTopRow, screenTopY, y, proxy), proxy.
|
|
43
|
-
proxy.updateBody(y - proxy.deltaY)) :
|
|
49
|
+
deltaRow > 0 ? (moveCell(deltaRow, "up", screenTopRow, screenTopY, y, proxy), proxy.updateDeltaY(y, screenTopY, screenTopRow),
|
|
50
|
+
proxy.updateBody(y - proxy.deltaY)) : deltaRow < 0 ? (moveCell(-deltaRow, "down", screenTopRow, screenTopY, y, proxy),
|
|
51
|
+
proxy.updateDeltaY(y, screenTopY, screenTopRow), proxy.updateBody(y - proxy.deltaY)) : (proxy.updateDeltaY(y, screenTopY, screenTopRow),
|
|
52
|
+
proxy.updateBody(y - proxy.deltaY));
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
function moveCell(count, direction, screenTopRow, screenTopY, y, proxy) {
|
|
@@ -54,45 +63,33 @@ function moveCell(count, direction, screenTopRow, screenTopY, y, proxy) {
|
|
|
54
63
|
syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - 1 * proxy.screenRowCount),
|
|
55
64
|
syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + 2 * proxy.screenRowCount);
|
|
56
65
|
}
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, !1), updatePartRowPosition(startRow, endRow, direction, proxy),
|
|
67
|
+
proxy.rowStart = "up" === direction ? proxy.rowStart + count : proxy.rowStart - count,
|
|
59
68
|
proxy.rowEnd = "up" === direction ? proxy.rowEnd + count : proxy.rowEnd - count,
|
|
60
|
-
updateRowContent(syncTopRow, syncBottomRow, proxy), "autoHeight" === proxy.table.heightMode)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
updateAutoRow(proxy.table.colCount - proxy.table.rightFrozenColCount, proxy.table.colCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0);
|
|
64
|
-
const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, !0), deltaY = screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);
|
|
65
|
-
proxy.table.scenegraph.proxy.deltaY += deltaY;
|
|
66
|
-
}
|
|
69
|
+
updateRowContent(syncTopRow, syncBottomRow, proxy), "autoHeight" === proxy.table.heightMode && (updateAutoRow(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0),
|
|
70
|
+
updateAutoRow(0, proxy.table.frozenColCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0),
|
|
71
|
+
updateAutoRow(proxy.table.colCount - proxy.table.rightFrozenColCount, proxy.table.colCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0)),
|
|
67
72
|
proxy.currentRow = "up" === direction ? proxy.currentRow + count : proxy.currentRow - count,
|
|
68
|
-
proxy.totalRow = Math.max(0, Math.min(proxy.
|
|
73
|
+
proxy.totalRow = Math.max(0, Math.min(proxy.bodyBottomRow, "up" === direction ? proxy.totalRow + count : proxy.totalRow - count)),
|
|
69
74
|
proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2),
|
|
70
|
-
proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos,
|
|
71
|
-
proxy.
|
|
75
|
+
"autoHeight" === proxy.table.heightMode ? proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1) : proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow),
|
|
76
|
+
proxy.rowUpdateDirection = direction, proxy.table.scenegraph.updateNextFrame(),
|
|
77
|
+
"autoHeight" !== proxy.table.heightMode && (yield proxy.progress());
|
|
72
78
|
} else {
|
|
73
79
|
const distStartRow = "up" === direction ? proxy.rowStart + count : proxy.rowStart - count, distEndRow = "up" === direction ? proxy.rowEnd + count : proxy.rowEnd - count, distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);
|
|
74
80
|
let syncTopRow, syncBottomRow;
|
|
75
|
-
|
|
81
|
+
"autoHeight" === proxy.table.heightMode ? (syncTopRow = distStartRow, syncBottomRow = distEndRow) : (syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - 1 * proxy.screenRowCount),
|
|
76
82
|
syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + 2 * proxy.screenRowCount)),
|
|
77
|
-
computeRowsHeight(proxy.table, syncTopRow, syncBottomRow), updateAllRowPosition(distStartRowY, count, direction, proxy),
|
|
83
|
+
computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, !1), updateAllRowPosition(distStartRowY, count, direction, proxy),
|
|
78
84
|
proxy.rowStart = distStartRow, proxy.rowEnd = distEndRow, updateRowContent(syncTopRow, syncBottomRow, proxy),
|
|
79
85
|
"autoHeight" === proxy.table.heightMode && (updateAutoRow(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
|
|
80
86
|
updateAutoRow(0, proxy.table.frozenColCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
|
|
81
87
|
updateAutoRow(proxy.table.colCount - proxy.table.rightFrozenColCount, proxy.table.colCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up")),
|
|
82
|
-
syncTopRow === proxy.bodyTopRow) {
|
|
83
|
-
const deltaY = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncTopRow, !0).attribute.y - y;
|
|
84
|
-
proxy.table.scenegraph.proxy.deltaY = deltaY;
|
|
85
|
-
} else if (syncBottomRow === proxy.bodyBottomRow) {
|
|
86
|
-
const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncBottomRow, !0), deltaY = cellGroup.attribute.y + cellGroup.attribute.height - (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight()) - y;
|
|
87
|
-
proxy.table.scenegraph.proxy.deltaY = -deltaY;
|
|
88
|
-
} else {
|
|
89
|
-
const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, !0), deltaY = screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);
|
|
90
|
-
proxy.table.scenegraph.proxy.deltaY = deltaY;
|
|
91
|
-
}
|
|
92
88
|
proxy.currentRow = "up" === direction ? proxy.currentRow + count : proxy.currentRow - count,
|
|
93
|
-
proxy.totalRow = Math.max(0, Math.min(proxy.
|
|
89
|
+
proxy.totalRow = Math.max(0, Math.min(proxy.bodyBottomRow, "up" === direction ? proxy.totalRow + count : proxy.totalRow - count)),
|
|
94
90
|
proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2),
|
|
95
|
-
|
|
91
|
+
"autoHeight" === proxy.table.heightMode ? proxy.rowUpdatePos = proxy.rowEnd + 1 : proxy.rowUpdatePos = proxy.rowStart,
|
|
92
|
+
proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up",
|
|
96
93
|
proxy.table.scenegraph.updateNextFrame(), "autoHeight" !== proxy.table.heightMode && (yield proxy.progress());
|
|
97
94
|
}
|
|
98
95
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/dynamic-set-y.ts"],"names":[],"mappings":"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","file":"dynamic-set-y.js","sourcesContent":["import type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function dynamicSetY(y: number, proxy: SceneProxy) {\n // 计算变动row range\n // const screenTopRow = proxy.table.getRowAt(y).row;\n const screenTop = (proxy.table as any).getTargetRowAt(y + proxy.table.scenegraph.colHeaderGroup.attribute.height);\n if (!screenTop) {\n return;\n }\n const screenTopRow = screenTop.row;\n const screenTopY = screenTop.top;\n proxy.screenTopRow = screenTopRow;\n const deltaRow = screenTopRow - proxy.referenceRow;\n move(deltaRow, screenTopRow, screenTopY, y, proxy);\n // proxy.table.scenegraph.updateNextFrame();\n}\n\nfunction move(deltaRow: number, screenTopRow: number, screenTopY: number, y: number, proxy: SceneProxy) {\n if (deltaRow > 0) {\n // 向下滚动,顶部cell group移到底部\n moveCell(deltaRow, 'up', screenTopRow, screenTopY, y, proxy);\n proxy.updateBody(y - proxy.deltaY);\n } else if (deltaRow < 0) {\n // 向上滚动,底部cell group移到顶部\n moveCell(-deltaRow, 'down', screenTopRow, screenTopY, y, proxy);\n proxy.updateBody(y - proxy.deltaY);\n } else {\n // 不改变row,更新body group范围\n proxy.updateBody(y - proxy.deltaY);\n }\n}\n\nasync function moveCell(\n count: number,\n direction: 'up' | 'down',\n screenTopRow: number,\n screenTopY: number,\n y: number,\n proxy: SceneProxy\n) {\n // 限制count范围\n if (direction === 'up' && proxy.rowEnd + count > proxy.bodyBottomRow) {\n count = proxy.bodyBottomRow - proxy.rowEnd;\n } else if (direction === 'down' && proxy.rowStart - count < proxy.bodyTopRow) {\n count = proxy.rowStart - proxy.bodyTopRow;\n }\n if (count === 0) {\n return;\n }\n if (count < 0) {\n direction = direction === 'up' ? 'down' : 'up';\n count = -count;\n }\n\n // 两种更新模式\n // 1. count < rowEnd - rowStart:从顶/底部移动count数量的单元格到底/顶部\n // 2. count >= rowEnd - rowStart:整体移动到目标位置\n if (count < proxy.rowEnd - proxy.rowStart) {\n // 计算更新区域\n const startRow = direction === 'up' ? proxy.rowStart : proxy.rowEnd - count + 1;\n const endRow = direction === 'up' ? proxy.rowStart + count - 1 : proxy.rowEnd;\n const distStartRow = direction === 'up' ? proxy.rowEnd + 1 : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowStart - 1;\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n const topRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n const bottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2);\n // get coincide of distStartRow&distEndRow and topRow&BottomRow\n // syncTopRow = Math.max(distStartRow, topRow);\n // syncBottomRow = Math.min(distEndRow, bottomRow);\n syncTopRow = topRow;\n syncBottomRow = bottomRow;\n }\n\n // const syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n // const syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2);\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, proxy.table.heightMode === 'autoHeight');\n\n // console.log('move', startRow, endRow, direction);\n updatePartRowPosition(startRow, endRow, direction, proxy);\n\n proxy.rowStart = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n proxy.rowEnd = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n const deltaY =\n screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n proxy.table.scenegraph.proxy.deltaY += deltaY;\n }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(proxy.table.rowCount - 1, direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count)\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n proxy.rowUpdateDirection = direction;\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n } else {\n const distStartRow = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n const distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);\n\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2);\n }\n //console.log('更新同步范围', syncTopRow, syncBottomRow);\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow);\n\n // 更新同步范围\n updateAllRowPosition(distStartRowY, count, direction, proxy);\n\n proxy.rowStart = distStartRow;\n proxy.rowEnd = distEndRow;\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n\n // update body position when click scroll bar\n if (syncTopRow === proxy.bodyTopRow) {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncTopRow, true);\n const deltaY = cellGroup.attribute.y - y;\n proxy.table.scenegraph.proxy.deltaY = deltaY;\n } else if (syncBottomRow === proxy.bodyBottomRow) {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncBottomRow, true);\n const deltaY =\n cellGroup.attribute.y +\n cellGroup.attribute.height -\n (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight()) -\n y;\n proxy.table.scenegraph.proxy.deltaY = -deltaY;\n } else {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n const deltaY =\n screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n proxy.table.scenegraph.proxy.deltaY = deltaY;\n }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(proxy.table.rowCount - 1, direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count)\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n proxy.rowUpdatePos = proxy.rowStart;\n proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n }\n}\n\nfunction updatePartRowPosition(startRow: number, endRow: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (colGroup) {\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n }\n}\n\nfunction updateCellGroupPosition(colGroup: Group, direction: 'up' | 'down', proxy: SceneProxy) {\n if (colGroup.childrenCount >= 1) {\n if (direction === 'up') {\n const cellGroup = colGroup.firstChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.lastChild as Group).row + 1,\n (colGroup.lastChild as Group).attribute.y + proxy.table.getRowHeight((colGroup.lastChild as Group).row) // (colGroup.lastChild as Group).attribute.height\n );\n colGroup.appendChild(cellGroup);\n } else {\n const cellGroup = colGroup.lastChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.firstChild as Group).row - 1,\n (colGroup.firstChild as Group).attribute.y - proxy.table.getRowHeight((cellGroup as Group).row) // cellGroup.attribute.height\n );\n colGroup.insertBefore(cellGroup, colGroup.firstChild);\n }\n }\n}\n\nfunction updateAllRowPosition(distStartRowY: number, count: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n}\n\nexport function updateRowContent(syncTopRow: number, syncBottomRow: number, proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n proxy.table.scenegraph.updateNextFrame();\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/dynamic-set-y.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,UAAgB,WAAW,CAAC,CAAS,EAAE,KAAc,EAAE,KAAiB;;QAG5E,MAAM,SAAS,GAAI,KAAK,CAAC,KAAa,CAAC,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClH,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC;QACjC,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,EAAE;YACT,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;SAC/C;aAAM;YACL,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;SAC9C;QACD,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,EAAE;YACT,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpG,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC7B,MAAM,MAAM,GACV,SAAS,CAAC,SAAS,CAAC,CAAC;oBACrB,SAAS,CAAC,SAAS,CAAC,MAAM;oBAC1B,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC;oBAC9G,CAAC,CAAC;gBACJ,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC;gBACvB,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;aACpC;SACF;IAEH,CAAC;CAAA;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,YAAoB,EAAE,UAAkB,EAAE,CAAS,EAAE,KAAiB;IACpG,IAAI,QAAQ,GAAG,CAAC,EAAE;QAEhB,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;KACpC;SAAM,IAAI,QAAQ,GAAG,CAAC,EAAE;QAEvB,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAChE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;KACpC;SAAM;QAEL,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;KACpC;AACH,CAAC;AAED,SAAe,QAAQ,CACrB,KAAa,EACb,SAAwB,EACxB,YAAoB,EACpB,UAAkB,EAClB,CAAS,EACT,KAAiB;;QAGjB,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE;YACpE,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;SAC5C;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE;YAC5E,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;SAC3C;QACD,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO;SACR;QACD,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,KAAK,GAAG,CAAC,KAAK,CAAC;SAChB;QAKD,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE;YAEzC,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9E,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpF,MAAM,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAGlF,IAAI,UAAU,CAAC;YACf,IAAI,aAAa,CAAC;YAClB,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,UAAU,GAAG,YAAY,CAAC;gBAC1B,aAAa,GAAG,UAAU,CAAC;aAC5B;iBAAM;gBACL,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBAIzF,UAAU,GAAG,MAAM,CAAC;gBACpB,aAAa,GAAG,SAAS,CAAC;aAC3B;YAED,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAE1D,KAAK,CAAC,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtF,KAAK,CAAC,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YAEhF,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAEnD,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAE3C,aAAa,CACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACtF,IAAI,CACL,CAAC;gBAGF,aAAa,CACX,CAAC,EACD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAC9B,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACtF,IAAI,CACL,CAAC;gBAGF,aAAa,CACX,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EACtD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EACxB,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACtF,IAAI,CACL,CAAC;aAgBH;YAED,KAAK,CAAC,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5F,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CACpG,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAGtF,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;aACjE;YACD,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAErC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;aACxB;SACF;aAAM;YACL,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC1F,MAAM,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACpF,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YAEpF,IAAI,UAAU,CAAC;YACf,IAAI,aAAa,CAAC;YAClB,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,UAAU,GAAG,YAAY,CAAC;gBAC1B,aAAa,GAAG,UAAU,CAAC;aAC5B;iBAAM;gBACL,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBACjF,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;aACxF;YAED,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAGjE,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAE7D,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC9B,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;YAE1B,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAEnD,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAE3C,aAAa,CACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACvF,CAAC;gBAGF,aAAa,CACX,CAAC,EACD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAC9B,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACvF,CAAC;gBAGF,aAAa,CACX,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EACtD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EACxB,UAAU,EACV,aAAa,EACb,KAAK,CAAC,KAAK,EACX,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACvF,CAAC;aACH;YAsBD,KAAK,CAAC,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5F,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CACpG,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAEtF,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;aACrC;YACD,KAAK,CAAC,kBAAkB,GAAG,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAElH,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;gBAC3C,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;aACxB;SACF;IACH,CAAC;CAAA;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAwB,EAAE,KAAiB;IAE1G,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE;YACb,SAAS;SACV;QACD,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SACrD;KACF;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACxG,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE;YACb,SAAS;SACV;QACD,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SACrD;KACF;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,QAAQ,EAAE;YACZ,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC7C,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACrD;SACF;KACF;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAe,EAAE,SAAwB,EAAE,KAAiB;IAC3F,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC,EAAE;QAC/B,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAmB,CAAC;YAC/C,KAAK,CAAC,uBAAuB,CAC3B,SAAS,EACR,QAAQ,CAAC,SAAmB,CAAC,GAAG,GAAG,CAAC,EACpC,QAAQ,CAAC,SAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAE,QAAQ,CAAC,SAAmB,CAAC,GAAG,CAAC,CACxG,CAAC;YACF,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACjC;aAAM;YACL,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAkB,CAAC;YAC9C,KAAK,CAAC,uBAAuB,CAC3B,SAAS,EACR,QAAQ,CAAC,UAAoB,CAAC,GAAG,GAAG,CAAC,EACrC,QAAQ,CAAC,UAAoB,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAE,SAAmB,CAAC,GAAG,CAAC,CAChG,CAAC;YACF,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;SACvD;KACF;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB,EAAE,KAAa,EAAE,SAAwB,EAAE,KAAiB;IAE7G,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC,SAAgB,EAAE,KAAK,EAAE,EAAE;YAEpD,KAAK,CAAC,uBAAuB,CAC3B,SAAS,EACT,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,EAClE,KAAK,KAAK,CAAC;gBACT,CAAC,CAAC,aAAa;gBACf,CAAC,CAAE,SAAS,CAAC,KAAe,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAE,SAAS,CAAC,KAAe,CAAC,GAAG,CAAC,CACtG,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACxG,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC,SAAgB,EAAE,KAAK,EAAE,EAAE;YAEpD,KAAK,CAAC,uBAAuB,CAC3B,SAAS,EACT,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,EAClE,KAAK,KAAK,CAAC;gBACT,CAAC,CAAC,aAAa;gBACf,CAAC,CAAE,SAAS,CAAC,KAAe,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAE,SAAS,CAAC,KAAe,CAAC,GAAG,CAAC,CACtG,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC,SAAgB,EAAE,KAAK,EAAE,EAAE;YAEpD,KAAK,CAAC,uBAAuB,CAC3B,SAAS,EACT,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,EAClE,KAAK,KAAK,CAAC;gBACT,CAAC,CAAC,aAAa;gBACf,CAAC,CAAE,SAAS,CAAC,KAAe,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAE,SAAS,CAAC,KAAe,CAAC,GAAG,CAAC,CACtG,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,aAAqB,EAAE,KAAiB;IAE3F,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;QACzD,KAAK,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,EAAE;YAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;SACzC;KACF;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACxG,KAAK,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,EAAE;YAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzD,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;SACzC;KACF;IAED,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;QAClE,KAAK,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,EAAE;YAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzD,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;SACzC;KACF;IACD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC","file":"dynamic-set-y.js","sourcesContent":["import type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function dynamicSetY(y: number, isEnd: boolean, proxy: SceneProxy) {\n // 计算变动row range\n // const screenTopRow = proxy.table.getRowAt(y).row;\n const screenTop = (proxy.table as any).getTargetRowAt(y + proxy.table.scenegraph.colHeaderGroup.attribute.height);\n if (!screenTop) {\n return;\n }\n const screenTopRow = screenTop.row;\n const screenTopY = screenTop.top;\n proxy.screenTopRow = screenTopRow;\n let deltaRow;\n if (isEnd) {\n deltaRow = proxy.bodyBottomRow - proxy.rowEnd;\n } else {\n deltaRow = screenTopRow - proxy.referenceRow;\n }\n move(deltaRow, screenTopRow, screenTopY, y, proxy);\n if (isEnd) {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, proxy.rowEnd, true);\n if (cellGroup.role === 'cell') {\n const deltaY =\n cellGroup.attribute.y +\n cellGroup.attribute.height -\n (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight() - proxy.table.getBottomFrozenRowsHeight()) -\n y;\n proxy.deltaY = -deltaY;\n proxy.updateBody(y - proxy.deltaY);\n }\n }\n // proxy.table.scenegraph.updateNextFrame();\n}\n\nfunction move(deltaRow: number, screenTopRow: number, screenTopY: number, y: number, proxy: SceneProxy) {\n if (deltaRow > 0) {\n // 向下滚动,顶部cell group移到底部\n moveCell(deltaRow, 'up', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else if (deltaRow < 0) {\n // 向上滚动,底部cell group移到顶部\n moveCell(-deltaRow, 'down', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else {\n // 不改变row,更新body group范围\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n }\n}\n\nasync function moveCell(\n count: number,\n direction: 'up' | 'down',\n screenTopRow: number,\n screenTopY: number,\n y: number,\n proxy: SceneProxy\n) {\n // 限制count范围\n if (direction === 'up' && proxy.rowEnd + count > proxy.bodyBottomRow) {\n count = proxy.bodyBottomRow - proxy.rowEnd;\n } else if (direction === 'down' && proxy.rowStart - count < proxy.bodyTopRow) {\n count = proxy.rowStart - proxy.bodyTopRow;\n }\n if (count === 0) {\n return;\n }\n if (count < 0) {\n direction = direction === 'up' ? 'down' : 'up';\n count = -count;\n }\n\n // 两种更新模式\n // 1. count < rowEnd - rowStart:从顶/底部移动count数量的单元格到底/顶部\n // 2. count >= rowEnd - rowStart:整体移动到目标位置\n if (count < proxy.rowEnd - proxy.rowStart) {\n // 计算更新区域\n const startRow = direction === 'up' ? proxy.rowStart : proxy.rowEnd - count + 1;\n const endRow = direction === 'up' ? proxy.rowStart + count - 1 : proxy.rowEnd;\n const distStartRow = direction === 'up' ? proxy.rowEnd + 1 : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowStart - 1;\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n const topRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n const bottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2);\n // get coincide of distStartRow&distEndRow and topRow&BottomRow\n // syncTopRow = Math.max(distStartRow, topRow);\n // syncBottomRow = Math.min(distEndRow, bottomRow);\n syncTopRow = topRow;\n syncBottomRow = bottomRow;\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n updatePartRowPosition(startRow, endRow, direction, proxy);\n\n proxy.rowStart = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n proxy.rowEnd = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // const oldCellOffset = screenTopY - y - proxy.table.getFrozenRowsHeight();\n // console.log('cellOffset', screenTopY, screenTopRow);\n // const newScreenTop = (proxy.table as any).getTargetRowAt(\n // y + proxy.table.scenegraph.colHeaderGroup.attribute.height\n // );\n // console.log('newScreenTop', newScreenTop);\n // const cellOffset = newScreenTop.top - screenTopY;\n\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // newScreenTop.top -\n // cellOffset -\n // (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY += deltaY;\n }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(proxy.bodyBottomRow, direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count)\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n // proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n if (proxy.table.heightMode === 'autoHeight') {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1);\n } else {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n }\n proxy.rowUpdateDirection = direction;\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n } else {\n const distStartRow = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n const distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);\n\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2);\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n // 更新同步范围\n updateAllRowPosition(distStartRowY, count, direction, proxy);\n\n proxy.rowStart = distStartRow;\n proxy.rowEnd = distEndRow;\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n\n // // update body position when click scroll bar\n // if (syncTopRow === proxy.bodyTopRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncTopRow, true);\n // const deltaY = cellGroup.attribute.y - y;\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // } else if (syncBottomRow === proxy.bodyBottomRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncBottomRow, true);\n // const deltaY =\n // cellGroup.attribute.y +\n // cellGroup.attribute.height -\n // (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight()) -\n // y;\n // proxy.table.scenegraph.proxy.deltaY = -deltaY;\n // } else {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(proxy.bodyBottomRow, direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count)\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n if (proxy.table.heightMode === 'autoHeight') {\n proxy.rowUpdatePos = proxy.rowEnd + 1;\n } else {\n proxy.rowUpdatePos = proxy.rowStart;\n }\n proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n }\n}\n\nfunction updatePartRowPosition(startRow: number, endRow: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (colGroup) {\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n }\n}\n\nfunction updateCellGroupPosition(colGroup: Group, direction: 'up' | 'down', proxy: SceneProxy) {\n if (colGroup.childrenCount >= 1) {\n if (direction === 'up') {\n const cellGroup = colGroup.firstChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.lastChild as Group).row + 1,\n (colGroup.lastChild as Group).attribute.y + proxy.table.getRowHeight((colGroup.lastChild as Group).row) // (colGroup.lastChild as Group).attribute.height\n );\n colGroup.appendChild(cellGroup);\n } else {\n const cellGroup = colGroup.lastChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.firstChild as Group).row - 1,\n (colGroup.firstChild as Group).attribute.y - proxy.table.getRowHeight((cellGroup as Group).row) // cellGroup.attribute.height\n );\n colGroup.insertBefore(cellGroup, colGroup.firstChild);\n }\n }\n}\n\nfunction updateAllRowPosition(distStartRowY: number, count: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n}\n\nexport function updateRowContent(syncTopRow: number, syncBottomRow: number, proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n proxy.table.scenegraph.updateNextFrame();\n}\n"]}
|
|
@@ -15,7 +15,7 @@ export function updateAutoRow(colStart, colEnd, rowStart, rowEnd, table, directi
|
|
|
15
15
|
let y;
|
|
16
16
|
if (cellGroup._next) y = (null === (_b = cellGroup._next) || void 0 === _b ? void 0 : _b.attribute.y) - table.getRowHeight(cellGroup.row); else if (part) {
|
|
17
17
|
y = table.scenegraph.highPerformanceGetCell(col, rowStart - 1, !0).attribute.y;
|
|
18
|
-
for (let r = rowStart; r
|
|
18
|
+
for (let r = rowStart - 1; r < rowEnd; r++) y += table.getRowHeight(r);
|
|
19
19
|
} else y = table.getRowsHeight(table.columnHeaderLevelCount, cellGroup.row - 1);
|
|
20
20
|
cellGroup.setAttribute("y", y);
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/update-auto-row.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,KAAmB,EACnB,YAA2B,IAAI,EAC/B,IAAc;;IAGd,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAClB,SAAS;iBACV;gBACD,IAAI,CAAC,CAAC;gBACN,IAAI,SAAS,CAAC,KAAK,EAAE;oBAEnB,CAAC,GAAG,CAAA,MAAC,SAAS,CAAC,KAAe,0CAAE,SAAS,CAAC,CAAC,IAAG,KAAK,CAAC,YAAY,CAAE,SAAS,CAAC,KAAe,CAAC,GAAG,CAAC,CAAC;iBAClG;qBAAM,IAAI,IAAI,EAAE;oBACf,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrF,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBAC5B;iBACF;qBAAM;oBAEL,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC1E;gBACD,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aAChC;SACF;KACF;SAAM;QACL,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,GAAG,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAClB,SAAS;iBACV;gBACD,IAAI,CAAC,CAAC;gBACN,IAAI,SAAS,CAAC,KAAK,EAAE;oBAEnB,CAAC,GAAG,CAAA,MAAC,SAAS,CAAC,KAAe,0CAAE,SAAS,CAAC,CAAC,IAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACjF;qBAAM,IAAI,IAAI,EAAE;oBACf,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvF,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/update-auto-row.ts"],"names":[],"mappings":"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","file":"update-auto-row.js","sourcesContent":["import type { BaseTableAPI } from '../../../../ts-types/base-table';\nimport type { Group } from '../../../graphic/group';\n\nexport function updateAutoRow(\n colStart: number,\n colEnd: number,\n rowStart: number,\n rowEnd: number,\n table: BaseTableAPI,\n direction: 'up' | 'down' = 'up',\n part?: boolean\n) {\n // 更新y位置\n if (direction === 'up') {\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const cellGroup = table.scenegraph.highPerformanceGetCell(col, row, true);\n if (!cellGroup.row) {\n continue;\n }\n let y;\n if (cellGroup._prev) {\n // y = ((cellGroup._prev as Group)?.attribute.y ?? 0) + ((cellGroup._prev as Group)?.attribute.height ?? 0);\n y = (cellGroup._prev as Group)?.attribute.y + table.getRowHeight((cellGroup._prev as Group).row);\n } else if (part) {\n const baseCellGroup = table.scenegraph.highPerformanceGetCell(col, rowEnd + 1, true);\n y = baseCellGroup.attribute.y;\n for (let r = rowStart; r <= rowEnd; r++) {\n y -= table.getRowHeight(r);\n }\n } else {\n // 估计位置\n y = table.getRowsHeight(table.columnHeaderLevelCount, cellGroup.row - 1);\n }\n cellGroup.setAttribute('y', y);\n }\n }\n } else {\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowEnd; row >= rowStart; row--) {\n const cellGroup = table.scenegraph.highPerformanceGetCell(col, row, true);\n if (!cellGroup.row) {\n continue;\n }\n let y;\n if (cellGroup._next) {\n // y = ((cellGroup._next as Group)?.attribute.y ?? 0) - (cellGroup.attribute.height ?? 0);\n y = (cellGroup._next as Group)?.attribute.y - table.getRowHeight(cellGroup.row);\n } else if (part) {\n const baseCellGroup = table.scenegraph.highPerformanceGetCell(col, rowStart - 1, true);\n y = baseCellGroup.attribute.y;\n for (let r = rowStart - 1; r < rowEnd; r++) {\n y += table.getRowHeight(r);\n }\n } else {\n // 估计位置\n y = table.getRowsHeight(table.columnHeaderLevelCount, cellGroup.row - 1);\n // console.log('估计位置', table.getRowsHeight(table.columnHeaderLevelCount, cellGroup.row));\n }\n cellGroup.setAttribute('y', y);\n }\n }\n }\n\n // update y limit in proxy\n const totalActualBodyRowCount = Math.min(\n table.scenegraph.proxy.rowLimit,\n table.scenegraph.proxy.bodyBottomRow - table.scenegraph.proxy.bodyTopRow + 1\n );\n // 渐进加载总row数量\n const totalBodyHeight = table.getRowsHeight(\n table.columnHeaderLevelCount,\n table.columnHeaderLevelCount + totalActualBodyRowCount\n );\n const totalHeight = table.getRowsHeight(table.columnHeaderLevelCount, table.rowCount - 1);\n table.scenegraph.proxy.yLimitTop = totalBodyHeight / 2;\n table.scenegraph.proxy.yLimitBottom = totalHeight - totalBodyHeight / 2;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { table } from 'console';\nimport type { Group } from '../../../graphic/group';\nimport { getCellMergeInfo } from '../../../utils/get-cell-merge';\nimport { updateCell } from '../../cell-helper';\nimport type { SceneProxy } from '../proxy';\nimport { BaseTableAPI } from '../../../../ts-types/base-table';\n\nexport function checkFirstRowMerge(row: number, proxy: SceneProxy) {\n for (let col = 0; col < proxy.table.colCount; col++) {\n if (\n (col >= proxy.table.rowHeaderLevelCount && col < proxy.colStart) ||\n (col > proxy.colEnd && col < proxy.table.colCount - proxy.table.rightFrozenColCount)\n ) {\n continue;\n }\n\n const range = getCellMergeInfo(proxy.table, col, row);\n // 清除之前mock的Merge cell\n range && clearHadMergedRow(range.start.row, range.end.row, col, proxy);\n\n // 重新生成mock的Merge cell\n if (\n range &&\n range.start.row !== row &&\n proxy.highPerformanceGetCell(range.start.col, range.start.row, true).role !== 'cell'\n ) {\n // 在row的位置添加range.start.row单元格\n const oldCellGroup = proxy.highPerformanceGetCell(col, row, true);\n const newCellGroup = updateCell(range.start.col, range.start.row, proxy.table, true);\n\n newCellGroup.col = col;\n newCellGroup.row = row;\n newCellGroup.setAttribute(\n 'y',\n proxy.table.getRowsHeight(proxy.table.columnHeaderLevelCount, range.start.row - 1)\n );\n\n oldCellGroup.parent.insertAfter(newCellGroup, oldCellGroup);\n oldCellGroup.parent.removeChild(oldCellGroup);\n\n oldCellGroup.needUpdate = false;\n newCellGroup.needUpdate = false;\n\n // update cache\n if (proxy.cellCache.get(col)) {\n proxy.cellCache.set(col, newCellGroup);\n }\n }\n }\n}\n\nexport function checkFirstColMerge(col: number, proxy: SceneProxy) {\n for (let row = 0; row < proxy.table.rowCount; row++) {\n if (\n (row >= proxy.table.columnHeaderLevelCount && row < proxy.rowStart) ||\n (row > proxy.rowEnd && row < proxy.table.rowCount - proxy.table.bottomFrozenRowCount)\n ) {\n continue;\n }\n\n const range = getCellMergeInfo(proxy.table, col, row);\n // 清除之前mock的Merge cell\n range && clearHadMergedColumn(range.start.col, range.end.col, row, proxy);\n\n if (\n range &&\n range.start.col !== col &&\n proxy.highPerformanceGetCell(range.start.col, range.start.row, true).role !== 'cell'\n ) {\n // 在col的位置添加range.start.col单元格\n const oldCellGroup = proxy.highPerformanceGetCell(col, row, true);\n const newCellGroup = updateCell(range.start.col, range.start.row, proxy.table, true);\n\n newCellGroup.col = col;\n newCellGroup.row = row;\n newCellGroup.setAttribute(\n 'x',\n proxy.table.getColsWidth(proxy.table.rowHeaderLevelCount, range.start.col - 1) - oldCellGroup.parent.attribute.x\n );\n newCellGroup.setAttributes({\n x:\n proxy.table.getColsWidth(proxy.table.rowHeaderLevelCount, range.start.col - 1) -\n oldCellGroup.parent.attribute.x,\n y: proxy.table.getRowsHeight(0, range.start.row - 1) - oldCellGroup.parent.attribute.y\n });\n\n oldCellGroup.parent.insertAfter(newCellGroup, oldCellGroup);\n oldCellGroup.parent.removeChild(oldCellGroup);\n\n oldCellGroup.needUpdate = false;\n newCellGroup.needUpdate = false;\n\n // update cache\n if (proxy.cellCache.get(col)) {\n proxy.cellCache.set(col, newCellGroup);\n }\n }\n }\n}\n\nfunction clearHadMergedRow(rowStart: number, rowEnd: number, col: number, proxy: SceneProxy) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n if (cellGroup.role !== 'shadow-cell' && cellGroup.role !== 'empty' && cellGroup.row !== rowStart) {\n cellGroup.role = 'shadow-cell';\n cellGroup.setAttributes({\n width: 0,\n height: proxy.table.getRowHeight(cellGroup.row),\n y: proxy.table.getRowsHeight(proxy.table.columnHeaderLevelCount, cellGroup.row - 1),\n x: 0\n });\n cellGroup.clear();\n }\n }\n}\n\nfunction clearHadMergedColumn(colStart: number, colEnd: number, row: number, proxy: SceneProxy) {\n for (let col = colStart; col <= colEnd; col++) {\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n if (cellGroup.role !== 'shadow-cell' && cellGroup.role !== 'empty' && cellGroup.col !== colStart) {\n cellGroup.role = 'shadow-cell';\n cellGroup.setAttributes({\n width: 0,\n height: proxy.table.getRowHeight(cellGroup.row),\n y: proxy.table.getRowsHeight(0, cellGroup.row - 1),\n x: 0\n });\n cellGroup.clear();\n }\n }\n}\n\nfunction checkHasColMerge(colStart: number, colEnd: number, row: number, proxy: SceneProxy) {\n for (let col = colStart; col <= colEnd; col++) {\n if (\n proxy.highPerformanceGetCell(col, row, true).role !== 'shadow-cell' &&\n proxy.highPerformanceGetCell(col, row, true).role !== 'empty'\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport function getFirstChild(containerGroup: Group): Group {\n let child = containerGroup.firstChild as Group;\n while (child.type !== 'group') {\n child = child._next as Group;\n }\n return child;\n}\n\nexport function getLastChild(containerGroup: Group): Group {\n let child = containerGroup.lastChild as Group;\n while (child.type !== 'group') {\n child = child._prev as Group;\n }\n return child;\n}\n\nexport function getPrevGroup(group: Group): Group {\n let child = group._prev as Group;\n while (child && child.type !== 'group') {\n child = child._prev as Group;\n }\n return child;\n}\n\nexport function getNextGroup(group: Group): Group {\n let child = group._next as Group;\n while (child && child.type !== 'group') {\n child = child._next as Group;\n }\n return child;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { Group } from '../../../graphic/group';\nimport { getCellMergeInfo } from '../../../utils/get-cell-merge';\nimport { updateCell } from '../../cell-helper';\nimport type { SceneProxy } from '../proxy';\n\nexport function checkFirstRowMerge(row: number, proxy: SceneProxy) {\n for (let col = 0; col < proxy.table.colCount; col++) {\n if (\n (col >= proxy.table.rowHeaderLevelCount && col < proxy.colStart) ||\n (col > proxy.colEnd && col < proxy.table.colCount - proxy.table.rightFrozenColCount)\n ) {\n continue;\n }\n\n const range = getCellMergeInfo(proxy.table, col, row);\n // 清除之前mock的Merge cell\n range && clearHadMergedRow(range.start.row, range.end.row, col, proxy);\n\n // 重新生成mock的Merge cell\n if (\n range &&\n range.start.row !== row &&\n proxy.highPerformanceGetCell(range.start.col, range.start.row, true).role !== 'cell'\n ) {\n // 在row的位置添加range.start.row单元格\n const oldCellGroup = proxy.highPerformanceGetCell(col, row, true);\n const newCellGroup = updateCell(range.start.col, range.start.row, proxy.table, true);\n\n newCellGroup.col = col;\n newCellGroup.row = row;\n newCellGroup.setAttribute(\n 'y',\n proxy.table.getRowsHeight(proxy.table.columnHeaderLevelCount, range.start.row - 1)\n );\n\n oldCellGroup.parent.insertAfter(newCellGroup, oldCellGroup);\n oldCellGroup.parent.removeChild(oldCellGroup);\n\n oldCellGroup.needUpdate = false;\n newCellGroup.needUpdate = false;\n\n // update cache\n if (proxy.cellCache.get(col)) {\n proxy.cellCache.set(col, newCellGroup);\n }\n }\n }\n}\n\nexport function checkFirstColMerge(col: number, proxy: SceneProxy) {\n for (let row = 0; row < proxy.table.rowCount; row++) {\n if (\n (row >= proxy.table.columnHeaderLevelCount && row < proxy.rowStart) ||\n (row > proxy.rowEnd && row < proxy.table.rowCount - proxy.table.bottomFrozenRowCount)\n ) {\n continue;\n }\n\n const range = getCellMergeInfo(proxy.table, col, row);\n // 清除之前mock的Merge cell\n range && clearHadMergedColumn(range.start.col, range.end.col, row, proxy);\n\n if (\n range &&\n range.start.col !== col &&\n proxy.highPerformanceGetCell(range.start.col, range.start.row, true).role !== 'cell'\n ) {\n // 在col的位置添加range.start.col单元格\n const oldCellGroup = proxy.highPerformanceGetCell(col, row, true);\n const newCellGroup = updateCell(range.start.col, range.start.row, proxy.table, true);\n\n newCellGroup.col = col;\n newCellGroup.row = row;\n newCellGroup.setAttribute(\n 'x',\n proxy.table.getColsWidth(proxy.table.rowHeaderLevelCount, range.start.col - 1) - oldCellGroup.parent.attribute.x\n );\n newCellGroup.setAttributes({\n x:\n proxy.table.getColsWidth(proxy.table.rowHeaderLevelCount, range.start.col - 1) -\n oldCellGroup.parent.attribute.x,\n y: proxy.table.getRowsHeight(0, range.start.row - 1) - oldCellGroup.parent.attribute.y\n });\n\n oldCellGroup.parent.insertAfter(newCellGroup, oldCellGroup);\n oldCellGroup.parent.removeChild(oldCellGroup);\n\n oldCellGroup.needUpdate = false;\n newCellGroup.needUpdate = false;\n\n // update cache\n if (proxy.cellCache.get(col)) {\n proxy.cellCache.set(col, newCellGroup);\n }\n }\n }\n}\n\nfunction clearHadMergedRow(rowStart: number, rowEnd: number, col: number, proxy: SceneProxy) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n if (cellGroup.role !== 'shadow-cell' && cellGroup.role !== 'empty' && cellGroup.row !== rowStart) {\n cellGroup.role = 'shadow-cell';\n cellGroup.setAttributes({\n width: 0,\n height: proxy.table.getRowHeight(cellGroup.row),\n y: proxy.table.getRowsHeight(proxy.table.columnHeaderLevelCount, cellGroup.row - 1),\n x: 0\n });\n cellGroup.clear();\n }\n }\n}\n\nfunction clearHadMergedColumn(colStart: number, colEnd: number, row: number, proxy: SceneProxy) {\n for (let col = colStart; col <= colEnd; col++) {\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n if (cellGroup.role !== 'shadow-cell' && cellGroup.role !== 'empty' && cellGroup.col !== colStart) {\n cellGroup.role = 'shadow-cell';\n cellGroup.setAttributes({\n width: 0,\n height: proxy.table.getRowHeight(cellGroup.row),\n y: proxy.table.getRowsHeight(0, cellGroup.row - 1),\n x: 0\n });\n cellGroup.clear();\n }\n }\n}\n\nfunction checkHasColMerge(colStart: number, colEnd: number, row: number, proxy: SceneProxy) {\n for (let col = colStart; col <= colEnd; col++) {\n if (\n proxy.highPerformanceGetCell(col, row, true).role !== 'shadow-cell' &&\n proxy.highPerformanceGetCell(col, row, true).role !== 'empty'\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport function getFirstChild(containerGroup: Group): Group {\n let child = containerGroup.firstChild as Group;\n while (child.type !== 'group') {\n child = child._next as Group;\n }\n return child;\n}\n\nexport function getLastChild(containerGroup: Group): Group {\n let child = containerGroup.lastChild as Group;\n while (child.type !== 'group') {\n child = child._prev as Group;\n }\n return child;\n}\n\nexport function getPrevGroup(group: Group): Group {\n let child = group._prev as Group;\n while (child && child.type !== 'group') {\n child = child._prev as Group;\n }\n return child;\n}\n\nexport function getNextGroup(group: Group): Group {\n let child = group._next as Group;\n while (child && child.type !== 'group') {\n child = child._next as Group;\n }\n return child;\n}\n"]}
|
|
@@ -20,6 +20,8 @@ import { CheckBox } from "@visactor/vrender-components";
|
|
|
20
20
|
|
|
21
21
|
import { decodeReactDom, dealPercentCalc } from "../component/custom";
|
|
22
22
|
|
|
23
|
+
import { getCellMergeInfo } from "../utils/get-cell-merge";
|
|
24
|
+
|
|
23
25
|
const utilTextMark = new Text({
|
|
24
26
|
ignoreBuf: !0
|
|
25
27
|
}), utilRichTextMark = new RichText({
|
|
@@ -40,7 +42,7 @@ export function computeRowsHeight(table, rowStart, rowEnd, isClearRowRangeHeight
|
|
|
40
42
|
(0 === rowStart && rowEnd === table.rowCount - 1 || isClearRowRangeHeightsMap) && table._clearRowRangeHeightsMap();
|
|
41
43
|
for (let row = rowStart; row < table.columnHeaderLevelCount; row++) {
|
|
42
44
|
let startCol = 0, endCol = table.colCount - 1;
|
|
43
|
-
if ((table.isPivotTable() && !table.isPivotChart() || table.isPivotChart() && !table.internalProps.layoutMap.indicatorsAsCol) && checkPivotFixedStyleAndNoWrap(table, row) && (startCol = 0,
|
|
45
|
+
if ((table.isPivotTable() && !table.isPivotChart() || table.isPivotChart() && !table.internalProps.layoutMap.indicatorsAsCol) && checkPivotFixedStyleAndNoWrap(table, row) && !getCellMergeInfo(table, table.rowHeaderLevelCount, row) && (startCol = 0,
|
|
44
46
|
endCol = table.rowHeaderLevelCount), isAllRowsAuto || "auto" === table.getDefaultRowHeight(row)) {
|
|
45
47
|
const height = computeRowHeight(row, startCol, endCol, table);
|
|
46
48
|
newHeights[row] = Math.round(height), table._setRowHeight(row, height);
|