@visactor/vtable 0.24.2-alpha.4 → 0.25.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.js +5 -3
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +14 -12
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.js +89 -43
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -0
- package/cjs/core/BaseTable.js +62 -16
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +3 -1
- package/cjs/core/TABLE_EVENT_TYPE.js +3 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +1 -0
- package/cjs/dataset/dataset.js +14 -0
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/flatDataToObject.d.ts +8 -3
- package/cjs/dataset/flatDataToObject.js +39 -8
- package/cjs/dataset/flatDataToObject.js.map +1 -1
- package/cjs/edit/edit-manager.js +0 -2
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/event.d.ts +2 -0
- package/cjs/event/event.js +12 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +5 -2
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +8 -0
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +23 -8
- package/cjs/event/listener/table-group.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/pivot-header-layout.d.ts +1 -0
- package/cjs/layout/pivot-header-layout.js +16 -4
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.d.ts +8 -0
- package/cjs/scenegraph/component/table-component.js +180 -2
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/component/util.d.ts +1 -0
- package/cjs/scenegraph/component/util.js +8 -2
- package/cjs/scenegraph/component/util.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -5
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +4 -2
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +7 -0
- package/cjs/scenegraph/scenegraph.js +42 -19
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +4 -4
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/state/cell-move/index.js +2 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/resize/update-resize-column.js +4 -3
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/resize/update-resize-row.d.ts +2 -0
- package/cjs/state/resize/update-resize-row.js +63 -0
- package/cjs/state/resize/update-resize-row.js.map +1 -0
- package/cjs/state/state.d.ts +11 -1
- package/cjs/state/state.js +30 -5
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/component.js +1 -1
- package/cjs/tools/global.d.ts +1 -0
- package/cjs/tools/global.js +2 -2
- package/cjs/tools/global.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +7 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +11 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +5 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +914 -107
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +5 -3
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +14 -12
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.js +89 -43
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -0
- package/es/core/BaseTable.js +62 -17
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +3 -1
- package/es/core/TABLE_EVENT_TYPE.js +3 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/dataset/dataset.d.ts +1 -0
- package/es/dataset/dataset.js +14 -0
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/flatDataToObject.d.ts +8 -3
- package/es/dataset/flatDataToObject.js +38 -8
- package/es/dataset/flatDataToObject.js.map +1 -1
- package/es/edit/edit-manager.js +0 -2
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/event.d.ts +2 -0
- package/es/event/event.js +12 -2
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +5 -2
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/scroll-bar.js +8 -0
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +23 -8
- package/es/event/listener/table-group.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/pivot-header-layout.d.ts +1 -0
- package/es/layout/pivot-header-layout.js +12 -2
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.d.ts +8 -0
- package/es/scenegraph/component/table-component.js +181 -3
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/component/util.d.ts +1 -0
- package/es/scenegraph/component/util.js +7 -1
- package/es/scenegraph/component/util.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -4
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +4 -2
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +4 -2
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +7 -0
- package/es/scenegraph/scenegraph.js +44 -19
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +4 -4
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/state/cell-move/index.js +2 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/resize/update-resize-column.js +4 -3
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/resize/update-resize-row.d.ts +2 -0
- package/es/state/resize/update-resize-row.js +57 -0
- package/es/state/resize/update-resize-row.js.map +1 -0
- package/es/state/state.d.ts +11 -1
- package/es/state/state.js +31 -4
- package/es/state/state.js.map +1 -1
- package/es/themes/component.js +1 -1
- package/es/tools/global.d.ts +1 -0
- package/es/tools/global.js +2 -0
- package/es/tools/global.js.map +1 -1
- package/es/ts-types/base-table.d.ts +7 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +11 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +5 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
|
@@ -11,10 +11,14 @@ export declare class TableComponent {
|
|
|
11
11
|
columnResizeLine: ILine;
|
|
12
12
|
columnResizeBgLine: ILine;
|
|
13
13
|
columnResizeLabel: IGroup;
|
|
14
|
+
rowResizeLine: ILine;
|
|
15
|
+
rowResizeBgLine: ILine;
|
|
16
|
+
rowResizeLabel: IGroup;
|
|
14
17
|
menu: MenuHandler;
|
|
15
18
|
vScrollBar: ScrollBar;
|
|
16
19
|
hScrollBar: ScrollBar;
|
|
17
20
|
frozenShadowLine: IRect;
|
|
21
|
+
rightFrozenShadowLine: IRect;
|
|
18
22
|
drillIcon: DrillIcon;
|
|
19
23
|
cellMover: CellMover;
|
|
20
24
|
constructor(table: BaseTableAPI);
|
|
@@ -24,10 +28,14 @@ export declare class TableComponent {
|
|
|
24
28
|
hideResizeCol(): void;
|
|
25
29
|
showResizeCol(col: number, y: number, isRightFrozen?: boolean): void;
|
|
26
30
|
updateResizeCol(col: number, y: number, isRightFrozen?: boolean): void;
|
|
31
|
+
hideResizeRow(): void;
|
|
32
|
+
showResizeRow(row: number, x: number, isRightFrozen?: boolean): void;
|
|
33
|
+
updateResizeRow(row: number, x: number, isBottomFrozen?: boolean): void;
|
|
27
34
|
hideMoveCol(): void;
|
|
28
35
|
showMoveCol(col: number, row: number, delta: number): void;
|
|
29
36
|
updateMoveCol(backX: number, lineX: number, backY: number, lineY: number): void;
|
|
30
37
|
setFrozenColumnShadow(col: number, isRightFrozen?: boolean): void;
|
|
38
|
+
setRightFrozenColumnShadow(col: number): void;
|
|
31
39
|
hideVerticalScrollBar(): void;
|
|
32
40
|
showVerticalScrollBar(): void;
|
|
33
41
|
hideHorizontalScrollBar(): void;
|
|
@@ -8,7 +8,7 @@ import { DrillIcon } from "./drill-icon";
|
|
|
8
8
|
|
|
9
9
|
import { CellMover } from "./cell-mover";
|
|
10
10
|
|
|
11
|
-
import { getColX } from "./util";
|
|
11
|
+
import { getColX, getRowY } from "./util";
|
|
12
12
|
|
|
13
13
|
export class TableComponent {
|
|
14
14
|
constructor(table) {
|
|
@@ -76,6 +76,65 @@ export class TableComponent {
|
|
|
76
76
|
x: 0,
|
|
77
77
|
y: 0
|
|
78
78
|
}), this.columnResizeLabel.appendChild(columnResizeLabelBack), this.columnResizeLabel.appendChild(columnResizeLabelText),
|
|
79
|
+
this.rowResizeLine = createLine({
|
|
80
|
+
visible: !1,
|
|
81
|
+
pickable: !1,
|
|
82
|
+
stroke: columnResizeColor,
|
|
83
|
+
lineWidth: columnResizeWidth,
|
|
84
|
+
x: 0,
|
|
85
|
+
y: 0,
|
|
86
|
+
points: [ {
|
|
87
|
+
x: 0,
|
|
88
|
+
y: 0
|
|
89
|
+
}, {
|
|
90
|
+
x: 0,
|
|
91
|
+
y: 0
|
|
92
|
+
} ]
|
|
93
|
+
}), this.rowResizeBgLine = createLine({
|
|
94
|
+
visible: !1,
|
|
95
|
+
pickable: !1,
|
|
96
|
+
stroke: columnResizeBgColor,
|
|
97
|
+
lineWidth: columnResizeBgWidth,
|
|
98
|
+
x: 0,
|
|
99
|
+
y: 0,
|
|
100
|
+
points: [ {
|
|
101
|
+
x: 0,
|
|
102
|
+
y: 0
|
|
103
|
+
}, {
|
|
104
|
+
x: 0,
|
|
105
|
+
y: 0
|
|
106
|
+
} ]
|
|
107
|
+
});
|
|
108
|
+
const rowResizeLabelText = createText({
|
|
109
|
+
visible: !1,
|
|
110
|
+
pickable: !1,
|
|
111
|
+
x: 0,
|
|
112
|
+
y: 0,
|
|
113
|
+
fontSize: labelFontSize,
|
|
114
|
+
fill: labelColor,
|
|
115
|
+
fontFamily: labelFontFamily,
|
|
116
|
+
text: "",
|
|
117
|
+
textBaseline: "top",
|
|
118
|
+
dx: 16,
|
|
119
|
+
dy: -labelFontSize / 2
|
|
120
|
+
}), rowResizeLabelBack = createRect({
|
|
121
|
+
visible: !1,
|
|
122
|
+
pickable: !1,
|
|
123
|
+
fill: labelBackgroundFill,
|
|
124
|
+
x: 0,
|
|
125
|
+
y: 0,
|
|
126
|
+
width: 5 * labelFontSize * .8,
|
|
127
|
+
height: labelFontSize + 8,
|
|
128
|
+
cornerRadius: labelBackgroundCornerRadius,
|
|
129
|
+
dx: 12,
|
|
130
|
+
dy: -labelFontSize / 2 - 4
|
|
131
|
+
});
|
|
132
|
+
this.rowResizeLabel = createGroup({
|
|
133
|
+
visible: !1,
|
|
134
|
+
pickable: !1,
|
|
135
|
+
x: 0,
|
|
136
|
+
y: 0
|
|
137
|
+
}), this.rowResizeLabel.appendChild(rowResizeLabelBack), this.rowResizeLabel.appendChild(rowResizeLabelText),
|
|
79
138
|
this.cellMover = new CellMover(this.table);
|
|
80
139
|
const shadowWidth = null === (_l = null === (_k = theme.frozenColumnLine) || void 0 === _k ? void 0 : _k.shadow) || void 0 === _l ? void 0 : _l.width, shadowStartColor = null === (_o = null === (_m = theme.frozenColumnLine) || void 0 === _m ? void 0 : _m.shadow) || void 0 === _o ? void 0 : _o.startColor, shadowEndColor = null === (_q = null === (_p = theme.frozenColumnLine) || void 0 === _p ? void 0 : _p.shadow) || void 0 === _q ? void 0 : _q.endColor;
|
|
81
140
|
this.frozenShadowLine = createRect({
|
|
@@ -99,11 +158,34 @@ export class TableComponent {
|
|
|
99
158
|
offset: 1
|
|
100
159
|
} ]
|
|
101
160
|
}
|
|
161
|
+
}), this.rightFrozenShadowLine = createRect({
|
|
162
|
+
visible: !0,
|
|
163
|
+
pickable: !1,
|
|
164
|
+
x: 0,
|
|
165
|
+
y: 0,
|
|
166
|
+
width: shadowWidth,
|
|
167
|
+
height: 0,
|
|
168
|
+
fill: {
|
|
169
|
+
gradient: "linear",
|
|
170
|
+
x0: 0,
|
|
171
|
+
y0: 0,
|
|
172
|
+
x1: 1,
|
|
173
|
+
y1: 0,
|
|
174
|
+
stops: [ {
|
|
175
|
+
color: shadowEndColor,
|
|
176
|
+
offset: 0
|
|
177
|
+
}, {
|
|
178
|
+
color: shadowStartColor,
|
|
179
|
+
offset: 1
|
|
180
|
+
} ]
|
|
181
|
+
}
|
|
102
182
|
}), this.menu = new MenuHandler(this.table), this.drillIcon = new DrillIcon;
|
|
103
183
|
}
|
|
104
184
|
addToGroup(componentGroup) {
|
|
105
|
-
componentGroup.addChild(this.frozenShadowLine), componentGroup.addChild(this.
|
|
106
|
-
componentGroup.addChild(this.
|
|
185
|
+
componentGroup.addChild(this.frozenShadowLine), componentGroup.addChild(this.rightFrozenShadowLine),
|
|
186
|
+
componentGroup.addChild(this.columnResizeBgLine), componentGroup.addChild(this.columnResizeLine),
|
|
187
|
+
componentGroup.addChild(this.columnResizeLabel), componentGroup.addChild(this.rowResizeBgLine),
|
|
188
|
+
componentGroup.addChild(this.rowResizeLine), componentGroup.addChild(this.rowResizeLabel);
|
|
107
189
|
this.table.theme.scrollStyle.hoverOn && !this.table.theme.scrollStyle.barToSide ? (componentGroup.addChild(this.hScrollBar),
|
|
108
190
|
componentGroup.addChild(this.vScrollBar)) : (componentGroup.stage.defaultLayer.addChild(this.hScrollBar),
|
|
109
191
|
componentGroup.stage.defaultLayer.addChild(this.vScrollBar)), this.menu.bindTableComponent(componentGroup),
|
|
@@ -251,6 +333,63 @@ export class TableComponent {
|
|
|
251
333
|
y: y
|
|
252
334
|
}), this.columnResizeLabel.lastChild.setAttribute("text", `${Math.floor(this.table.getColWidth(col))}px`);
|
|
253
335
|
}
|
|
336
|
+
hideResizeRow() {
|
|
337
|
+
this.rowResizeLine.setAttribute("visible", !1), this.rowResizeBgLine.setAttribute("visible", !1),
|
|
338
|
+
this.rowResizeLabel.setAttribute("visible", !1), this.rowResizeLabel.hideAll();
|
|
339
|
+
}
|
|
340
|
+
showResizeRow(row, x, isRightFrozen) {
|
|
341
|
+
const rowY = getRowY(row, this.table, isRightFrozen);
|
|
342
|
+
this.rowResizeLine.setAttributes({
|
|
343
|
+
visible: !0,
|
|
344
|
+
y: rowY,
|
|
345
|
+
points: [ {
|
|
346
|
+
y: 0,
|
|
347
|
+
x: 0
|
|
348
|
+
}, {
|
|
349
|
+
y: 0,
|
|
350
|
+
x: this.table.getColsWidth(0, this.table.colCount - 1)
|
|
351
|
+
} ]
|
|
352
|
+
}), this.rowResizeBgLine.setAttributes({
|
|
353
|
+
visible: !0,
|
|
354
|
+
y: rowY,
|
|
355
|
+
points: [ {
|
|
356
|
+
y: 0,
|
|
357
|
+
x: 0
|
|
358
|
+
}, {
|
|
359
|
+
y: 0,
|
|
360
|
+
x: this.table.getColsWidth(0, this.table.colCount - 1)
|
|
361
|
+
} ]
|
|
362
|
+
}), this.rowResizeLabel.showAll(), this.rowResizeLabel.setAttributes({
|
|
363
|
+
visible: !0,
|
|
364
|
+
y: rowY,
|
|
365
|
+
x: x
|
|
366
|
+
}), this.rowResizeLabel.lastChild.setAttribute("text", `${this.table.getRowHeight(row)}px`);
|
|
367
|
+
}
|
|
368
|
+
updateResizeRow(row, x, isBottomFrozen) {
|
|
369
|
+
const rowY = getRowY(row, this.table, isBottomFrozen);
|
|
370
|
+
this.rowResizeLine.setAttributes({
|
|
371
|
+
y: rowY,
|
|
372
|
+
points: [ {
|
|
373
|
+
y: 0,
|
|
374
|
+
x: 0
|
|
375
|
+
}, {
|
|
376
|
+
y: 0,
|
|
377
|
+
x: this.table.getColsWidth(0, this.table.colCount - 1)
|
|
378
|
+
} ]
|
|
379
|
+
}), this.rowResizeBgLine.setAttributes({
|
|
380
|
+
y: rowY,
|
|
381
|
+
points: [ {
|
|
382
|
+
y: 0,
|
|
383
|
+
x: 0
|
|
384
|
+
}, {
|
|
385
|
+
y: 0,
|
|
386
|
+
x: this.table.getColsWidth(0, this.table.colCount - 1)
|
|
387
|
+
} ]
|
|
388
|
+
}), this.rowResizeLabel.setAttributes({
|
|
389
|
+
y: rowY,
|
|
390
|
+
x: x
|
|
391
|
+
}), this.rowResizeLabel.lastChild.setAttribute("text", `${Math.floor(this.table.getRowHeight(row))}px`);
|
|
392
|
+
}
|
|
254
393
|
hideMoveCol() {
|
|
255
394
|
this.cellMover.hide();
|
|
256
395
|
}
|
|
@@ -272,6 +411,18 @@ export class TableComponent {
|
|
|
272
411
|
});
|
|
273
412
|
}
|
|
274
413
|
}
|
|
414
|
+
setRightFrozenColumnShadow(col) {
|
|
415
|
+
if (col >= this.table.colCount) this.rightFrozenShadowLine.setAttributes({
|
|
416
|
+
visible: !1
|
|
417
|
+
}); else {
|
|
418
|
+
const colX = getColX(col, this.table, !0);
|
|
419
|
+
this.rightFrozenShadowLine.setAttributes({
|
|
420
|
+
visible: !0,
|
|
421
|
+
x: colX - this.rightFrozenShadowLine.attribute.width,
|
|
422
|
+
height: this.table.getDrawRange().height
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
}
|
|
275
426
|
hideVerticalScrollBar() {
|
|
276
427
|
const visable = this.table.theme.scrollStyle.visible;
|
|
277
428
|
"focus" !== visable && "scrolling" !== visable || (this.vScrollBar.setAttribute("visible", !1),
|
|
@@ -350,6 +501,17 @@ export class TableComponent {
|
|
|
350
501
|
height: labelFontSize + 8,
|
|
351
502
|
cornerRadius: labelBackgroundCornerRadius,
|
|
352
503
|
dy: -labelFontSize / 2 - 4
|
|
504
|
+
}), this.rowResizeLabel.lastChild.setAttributes({
|
|
505
|
+
fontSize: labelFontSize,
|
|
506
|
+
fill: labelColor,
|
|
507
|
+
fontFamily: labelFontFamily,
|
|
508
|
+
dy: -labelFontSize / 2
|
|
509
|
+
}), this.rowResizeLabel.firstChild.setAttributes({
|
|
510
|
+
fill: labelBackgroundFill,
|
|
511
|
+
width: 5 * labelFontSize * .8,
|
|
512
|
+
height: labelFontSize + 8,
|
|
513
|
+
cornerRadius: labelBackgroundCornerRadius,
|
|
514
|
+
dy: -labelFontSize / 2 - 4
|
|
353
515
|
});
|
|
354
516
|
const shadowWidth = null === (_p = null === (_o = theme.frozenColumnLine) || void 0 === _o ? void 0 : _o.shadow) || void 0 === _p ? void 0 : _p.width, shadowStartColor = null === (_r = null === (_q = theme.frozenColumnLine) || void 0 === _q ? void 0 : _q.shadow) || void 0 === _r ? void 0 : _r.startColor, shadowEndColor = null === (_t = null === (_s = theme.frozenColumnLine) || void 0 === _s ? void 0 : _s.shadow) || void 0 === _t ? void 0 : _t.endColor;
|
|
355
517
|
this.frozenShadowLine.setAttributes({
|
|
@@ -368,6 +530,22 @@ export class TableComponent {
|
|
|
368
530
|
offset: 1
|
|
369
531
|
} ]
|
|
370
532
|
}
|
|
533
|
+
}), this.rightFrozenShadowLine.setAttributes({
|
|
534
|
+
width: shadowWidth,
|
|
535
|
+
fill: {
|
|
536
|
+
gradient: "linear",
|
|
537
|
+
x0: 0,
|
|
538
|
+
y0: 0,
|
|
539
|
+
x1: 1,
|
|
540
|
+
y1: 0,
|
|
541
|
+
stops: [ {
|
|
542
|
+
color: shadowEndColor,
|
|
543
|
+
offset: 0
|
|
544
|
+
}, {
|
|
545
|
+
color: shadowStartColor,
|
|
546
|
+
offset: 1
|
|
547
|
+
} ]
|
|
548
|
+
}
|
|
371
549
|
}), this.cellMover.updateStyle();
|
|
372
550
|
}
|
|
373
551
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/table-component.ts"],"names":[],"mappings":"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","file":"table-component.js","sourcesContent":["import type { ILine, IRect, IGroup, FederatedPointerEvent, Text, IText } from './../../vrender';\nimport { createRect, createLine, createText, createGroup, createSymbol } from './../../vrender';\nimport { ScrollBar } from '@visactor/vrender-components';\nimport type { Group } from '../graphic/group';\nimport { MenuHandler } from './menu';\nimport { DrillIcon } from './drill-icon';\nimport { CellMover } from './cell-mover';\nimport { getColX } from './util';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { SceneEvent } from '../../event/util';\nimport { getCellEventArgsSet } from '../../event/util';\nimport type { ListTableAPI } from '../../ts-types';\n\n/**\n * @description: 表格内容外组件\n * @return {*}\n */\nexport class TableComponent {\n table: BaseTableAPI;\n\n border: IRect; // 表格外边框\n // selectBorder: IRect; // 表格选择区域边框\n columnResizeLine: ILine; // 表格列宽调整基准线\n columnResizeBgLine: ILine; // 表格列宽调整基准线背景\n columnResizeLabel: IGroup; // 表格列宽调整标记\n menu: MenuHandler; // 表格菜单\n vScrollBar: ScrollBar; // 表格横向滚动条\n hScrollBar: ScrollBar; // 表格纵向滚动条\n frozenShadowLine: IRect; // 表格冻结列右侧阴影块\n drillIcon: DrillIcon; // drill icon\n cellMover: CellMover; // 表格列顺序调整标记\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n const theme = this.table.theme;\n\n // 滚动条\n this.createScrollBar();\n\n // 列宽调整基准线\n const columnResizeColor = theme.columnResize?.lineColor;\n const columnResizeWidth = theme.columnResize?.lineWidth;\n const columnResizeBgColor = theme.columnResize?.bgColor;\n const columnResizeBgWidth = theme.columnResize?.width;\n const labelColor = theme.columnResize?.labelColor;\n const labelFontSize = theme.columnResize?.labelFontSize;\n const labelFontFamily = theme.columnResize?.labelFontFamily;\n const labelBackgroundFill = theme.columnResize?.labelBackgroundFill;\n const labelBackgroundCornerRadius = theme.columnResize?.labelBackgroundCornerRadius;\n\n this.columnResizeLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeColor as string,\n lineWidth: columnResizeWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n this.columnResizeBgLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeBgColor as string,\n lineWidth: columnResizeBgWidth as number,\n x: 0,\n y: 0,\n // dx: -(columnResizeBgWidth - columnResizeWidth) / 2,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列宽调整文字标签\n const columnResizeLabelText = createText({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n text: '',\n textBaseline: 'top',\n dx: 12 + 4,\n dy: -labelFontSize / 2\n });\n const columnResizeLabelBack = createRect({\n visible: false,\n pickable: false,\n fill: labelBackgroundFill,\n x: 0,\n y: 0,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dx: 12,\n dy: -labelFontSize / 2 - 4\n });\n this.columnResizeLabel = createGroup({\n visible: false,\n pickable: false,\n x: 0,\n y: 0\n });\n this.columnResizeLabel.appendChild(columnResizeLabelBack);\n this.columnResizeLabel.appendChild(columnResizeLabelText);\n\n // 列顺序调整基准线\n this.cellMover = new CellMover(this.table);\n\n // 冻结列阴影\n const shadowWidth = theme.frozenColumnLine?.shadow?.width;\n const shadowStartColor = theme.frozenColumnLine?.shadow?.startColor;\n const shadowEndColor = theme.frozenColumnLine?.shadow?.endColor;\n this.frozenShadowLine = createRect({\n visible: true,\n pickable: false,\n x: 0,\n y: 0,\n width: shadowWidth,\n height: 0,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowStartColor, offset: 0 },\n { color: shadowEndColor, offset: 1 }\n ]\n }\n });\n\n // TO BE DONE 冻结列border(theme.frozenColumnLine?.border)\n\n // 弹出窗口\n // this.menu = createGroup({\n // visible: false,\n // pickable: false,\n // x: 0,\n // y: 0,\n // });\n this.menu = new MenuHandler(this.table);\n\n this.drillIcon = new DrillIcon();\n }\n\n /**\n * @description: 组件mark加入到容器Group中\n * @param {Group} componentGroup\n * @return {*}\n */\n addToGroup(componentGroup: Group) {\n componentGroup.addChild(this.frozenShadowLine);\n // componentGroup.addChild(this.selectBorder);\n componentGroup.addChild(this.columnResizeBgLine);\n componentGroup.addChild(this.columnResizeLine);\n componentGroup.addChild(this.columnResizeLabel);\n\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n if (hoverOn && !this.table.theme.scrollStyle.barToSide) {\n componentGroup.addChild(this.hScrollBar);\n componentGroup.addChild(this.vScrollBar);\n } else {\n componentGroup.stage.defaultLayer.addChild(this.hScrollBar);\n componentGroup.stage.defaultLayer.addChild(this.vScrollBar);\n }\n this.menu.bindTableComponent(componentGroup);\n this.drillIcon.appand(componentGroup);\n this.cellMover.appand(componentGroup);\n }\n\n /**\n * @description: 创建滚动条组件\n * @return {*}\n */\n createScrollBar() {\n const theme = this.table.theme;\n const scrollRailColor = theme.scrollStyle?.scrollRailColor as string;\n const scrollSliderColor = theme.scrollStyle?.scrollSliderColor as string;\n const width = theme.scrollStyle?.width as number;\n // const visible = theme.scrollStyle?.visible as string;\n // const hoverOn = theme.scrollStyle?.hoverOn as boolean;\n\n this.hScrollBar = new ScrollBar({\n direction: 'horizontal',\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width: this.table.tableNoFrameWidth,\n height: width,\n padding: 0,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n },\n range: [0, 0.1],\n // scrollRange: [0.4, 0.8]\n visible: false\n });\n // hack方案实现初始化隐藏滚动条,也可以add到stage之后执行hideAll\n (this.hScrollBar as any).render();\n this.hScrollBar.hideAll();\n\n this.vScrollBar = new ScrollBar({\n direction: 'vertical',\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width,\n height: this.table.tableNoFrameHeight - this.table.getFrozenRowsHeight(),\n padding: 0,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n },\n range: [0, 0.1],\n visible: false\n });\n (this.vScrollBar as any).render();\n this.vScrollBar.hideAll();\n }\n\n /**\n * @description: 更新滚动条尺寸\n * @return {*}\n */\n updateScrollBar() {\n const oldHorizontalBarPos = this.table.stateManager.scroll.horizontalBarPos;\n const oldVerticalBarPos = this.table.stateManager.scroll.verticalBarPos;\n\n const theme = this.table.theme;\n const width = theme.scrollStyle?.width as number;\n const visible = theme.scrollStyle?.visible as string;\n // const hoverOn = theme.scrollStyle?.hoverOn as boolean;\n const tableWidth = Math.ceil(this.table.scenegraph.tableGroup.attribute.width);\n const tableHeight = Math.ceil(this.table.scenegraph.tableGroup.attribute.height);\n\n const totalHeight = this.table.getAllRowsHeight();\n const totalWidth = this.table.getAllColsWidth();\n const frozenRowsHeight = this.table.getFrozenRowsHeight();\n const frozenColsWidth = this.table.getFrozenColsWidth();\n const bottomFrozenRowsHeight = this.table.getBottomFrozenRowsHeight();\n const rightFrozenColsWidth = this.table.getRightFrozenColsWidth();\n if (totalWidth > tableWidth) {\n const y = Math.min(tableHeight, totalHeight);\n const rangeEnd = Math.max(0.05, (tableWidth - frozenColsWidth) / (totalWidth - frozenColsWidth));\n\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n\n let attrY = 0;\n if (this.table.theme.scrollStyle.barToSide) {\n attrY =\n this.table.tableNoFrameHeight -\n (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.y) +\n this.table.tableY;\n } else {\n attrY = y - (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.y);\n }\n\n this.hScrollBar.setAttributes({\n x: frozenColsWidth + (!hoverOn ? this.table.scenegraph.tableGroup.attribute.x : 0),\n y: attrY,\n width: tableWidth - frozenColsWidth - rightFrozenColsWidth,\n range: [0, rangeEnd],\n visible: visible === 'always'\n });\n const bounds = this.hScrollBar.AABBBounds && this.hScrollBar.globalAABBBounds;\n (this.hScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n if (visible === 'always') {\n this.hScrollBar.showAll();\n }\n } else {\n this.hScrollBar.setAttributes({\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width: 0,\n visible: false\n });\n }\n\n if (totalHeight > tableHeight) {\n const x = Math.min(tableWidth, totalWidth);\n const rangeEnd = Math.max(0.05, (tableHeight - frozenRowsHeight) / (totalHeight - frozenRowsHeight));\n\n let attrX = 0;\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n\n if (this.table.theme.scrollStyle.barToSide) {\n attrX =\n this.table.tableNoFrameWidth -\n (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.x) +\n this.table.tableX;\n } else {\n attrX = x - (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.x);\n }\n\n this.vScrollBar.setAttributes({\n x: attrX,\n y: frozenRowsHeight + (!hoverOn ? this.table.scenegraph.tableGroup.attribute.y : 0),\n height: tableHeight - frozenRowsHeight - bottomFrozenRowsHeight,\n range: [0, rangeEnd],\n visible: visible === 'always'\n });\n const bounds = this.vScrollBar.AABBBounds && this.vScrollBar.globalAABBBounds;\n (this.vScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n\n if (visible === 'always') {\n this.vScrollBar.showAll();\n }\n } else {\n this.vScrollBar.setAttributes({\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n height: 0,\n visible: false\n });\n }\n\n this.table.stateManager.setScrollLeft(oldHorizontalBarPos);\n this.table.stateManager.setScrollTop(oldVerticalBarPos);\n }\n\n /**\n * @description: 隐藏列宽调整组件\n * @return {*}\n */\n hideResizeCol() {\n // this.columnResizeLine.attribute.visible = false;\n this.columnResizeLine.setAttribute('visible', false);\n this.columnResizeBgLine.setAttribute('visible', false);\n this.columnResizeLabel.setAttribute('visible', false);\n this.columnResizeLabel.hideAll();\n }\n\n /**\n * @description: 显示列宽调整组件\n * @param {number} col\n * @param {number} y\n * @return {*}\n */\n showResizeCol(col: number, y: number, isRightFrozen?: boolean) {\n // this.columnResizeLine.attribute.visible = false;\n // 基准线\n const colX = getColX(col, this.table, isRightFrozen);\n this.columnResizeLine.setAttributes({\n visible: true,\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) }\n ]\n });\n this.columnResizeBgLine.setAttributes({\n visible: true,\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) }\n ]\n });\n\n // 标签\n // this.columnResizeLabel.setAttribute('visible', true);\n this.columnResizeLabel.showAll();\n this.columnResizeLabel.setAttributes({\n visible: true,\n x: colX,\n y\n });\n (this.columnResizeLabel.lastChild as Text).setAttribute('text', `${this.table.getColWidth(col)}px`);\n }\n\n /**\n * @description: 更新列宽调整组件\n * @param {number} col\n * @param {number} y 标签显示的y坐标\n * @return {*}\n */\n updateResizeCol(col: number, y: number, isRightFrozen?: boolean) {\n // 基准线\n const colX = getColX(col, this.table, isRightFrozen);\n // this.columnResizeLine.setAttribute('x', x);\n this.columnResizeLine.setAttributes({\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) } // todo: 优化points赋值\n ]\n });\n this.columnResizeBgLine.setAttributes({\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) } // todo: 优化points赋值\n ]\n });\n\n // 标签\n this.columnResizeLabel.setAttributes({\n x: colX,\n y\n });\n (this.columnResizeLabel.lastChild as Text).setAttribute('text', `${Math.floor(this.table.getColWidth(col))}px`);\n }\n\n /**\n * @description: 隐藏列顺序调整组件\n * @return {*}\n */\n hideMoveCol() {\n this.cellMover.hide();\n }\n\n /**\n * @description: 显示列顺序调整组件\n * @param {number} col\n * @param {number} x\n * @return {*}\n */\n showMoveCol(col: number, row: number, delta: number) {\n this.cellMover.show(col, row, delta);\n }\n\n /**\n * @description: 更新列顺序调整组件\n * @param {number} backX\n * @param {number} lineX\n * @return {*}\n */\n updateMoveCol(backX: number, lineX: number, backY: number, lineY: number) {\n this.cellMover.update(backX, lineX, backY, lineY);\n }\n\n /**\n * @description: 显示冻结列shadow\n * @param {number} col\n * @return {*}\n */\n setFrozenColumnShadow(col: number, isRightFrozen?: boolean) {\n if (col < 0) {\n this.frozenShadowLine.setAttributes({\n visible: false\n });\n } else {\n // const colX = this.table.getColsWidth(0, col);\n const colX = getColX(col, this.table, isRightFrozen);\n this.frozenShadowLine.setAttributes({\n visible: true,\n x: colX,\n height: this.table.getDrawRange().height\n });\n }\n }\n\n hideVerticalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.vScrollBar.setAttribute('visible', false);\n this.vScrollBar.hideAll();\n this.table.scenegraph.updateNextFrame();\n }\n showVerticalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.vScrollBar.setAttribute('visible', true);\n this.vScrollBar.showAll();\n this.table.scenegraph.updateNextFrame();\n }\n hideHorizontalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.hScrollBar.setAttribute('visible', false);\n this.hScrollBar.hideAll();\n this.table.scenegraph.updateNextFrame();\n }\n showHorizontalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.hScrollBar.setAttribute('visible', true);\n this.hScrollBar.showAll();\n this.table.scenegraph.updateNextFrame();\n }\n updateVerticalScrollBarPos(topRatio: number) {\n const range = this.vScrollBar.attribute.range;\n const size = range[1] - range[0];\n const range0 = topRatio * (1 - size);\n this.vScrollBar.setAttribute('range', [range0, range0 + size]);\n const bounds = this.vScrollBar.AABBBounds && this.vScrollBar.globalAABBBounds;\n (this.vScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n }\n updateHorizontalScrollBarPos(leftRatio: number) {\n const range = this.hScrollBar.attribute.range;\n const size = range[1] - range[0];\n const range0 = leftRatio * (1 - size);\n this.hScrollBar.setAttribute('range', [range0, range0 + size]);\n const bounds = this.hScrollBar.AABBBounds && this.hScrollBar.globalAABBBounds;\n (this.hScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n }\n\n updateStyle() {\n const theme = this.table.theme;\n\n // scrollbar\n const scrollRailColor = theme.scrollStyle?.scrollRailColor as string;\n const scrollSliderColor = theme.scrollStyle?.scrollSliderColor as string;\n const width = theme.scrollStyle?.width as number;\n this.hScrollBar.setAttributes({\n height: width,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n }\n });\n\n this.vScrollBar.setAttributes({\n width,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n }\n });\n\n // columnResizeLine & columnResizeBgLine\n const columnResizeColor = theme.columnResize?.lineColor;\n const columnResizeWidth = theme.columnResize?.lineWidth;\n const columnResizeBgColor = theme.columnResize?.bgColor;\n const columnResizeBgWidth = theme.columnResize?.width;\n\n this.columnResizeLine.setAttributes({\n stroke: columnResizeColor as string,\n lineWidth: columnResizeWidth as number\n });\n this.columnResizeBgLine = createLine({\n stroke: columnResizeBgColor as string,\n lineWidth: columnResizeBgWidth as number\n });\n\n const labelColor = theme.columnResize?.labelColor;\n const labelFontSize = theme.columnResize?.labelFontSize;\n const labelFontFamily = theme.columnResize?.labelFontFamily;\n const labelBackgroundFill = theme.columnResize?.labelBackgroundFill;\n const labelBackgroundCornerRadius = theme.columnResize?.labelBackgroundCornerRadius;\n\n // columnResizeLabelBack\n (this.columnResizeLabel.lastChild as IText).setAttributes({\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n dy: -labelFontSize / 2\n });\n // columnResizeLabelText\n (this.columnResizeLabel.firstChild as IRect).setAttributes({\n fill: labelBackgroundFill,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dy: -labelFontSize / 2 - 4\n });\n\n // frozenShadowLine\n const shadowWidth = theme.frozenColumnLine?.shadow?.width;\n const shadowStartColor = theme.frozenColumnLine?.shadow?.startColor;\n const shadowEndColor = theme.frozenColumnLine?.shadow?.endColor;\n this.frozenShadowLine.setAttributes({\n width: shadowWidth,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowStartColor, offset: 0 },\n { color: shadowEndColor, offset: 1 }\n ]\n }\n });\n\n this.cellMover.updateStyle();\n // this.menu.updateStyle();\n // this.drillIcon.updateStyle();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/table-component.ts"],"names":[],"mappings":"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","file":"table-component.js","sourcesContent":["import type { ILine, IRect, IGroup, FederatedPointerEvent, Text, IText } from './../../vrender';\nimport { createRect, createLine, createText, createGroup, createSymbol } from './../../vrender';\nimport { ScrollBar } from '@visactor/vrender-components';\nimport type { Group } from '../graphic/group';\nimport { MenuHandler } from './menu';\nimport { DrillIcon } from './drill-icon';\nimport { CellMover } from './cell-mover';\nimport { getColX, getRowY } from './util';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\n/**\n * @description: 表格内容外组件\n * @return {*}\n */\nexport class TableComponent {\n table: BaseTableAPI;\n\n border: IRect; // 表格外边框\n // selectBorder: IRect; // 表格选择区域边框\n columnResizeLine: ILine; // 表格列宽调整基准线\n columnResizeBgLine: ILine; // 表格列宽调整基准线背景\n columnResizeLabel: IGroup; // 表格列宽调整标记\n rowResizeLine: ILine; // 表格列宽调整基准线\n rowResizeBgLine: ILine; // 表格列宽调整基准线背景\n rowResizeLabel: IGroup; // 表格列宽调整标记\n menu: MenuHandler; // 表格菜单\n vScrollBar: ScrollBar; // 表格横向滚动条\n hScrollBar: ScrollBar; // 表格纵向滚动条\n frozenShadowLine: IRect; // 表格冻结列右侧阴影块\n rightFrozenShadowLine: IRect; // 表格右侧冻结列左侧阴影块\n drillIcon: DrillIcon; // drill icon\n cellMover: CellMover; // 表格列顺序调整标记\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n const theme = this.table.theme;\n\n // 滚动条\n this.createScrollBar();\n\n // 列宽调整基准线\n const columnResizeColor = theme.columnResize?.lineColor;\n const columnResizeWidth = theme.columnResize?.lineWidth;\n const columnResizeBgColor = theme.columnResize?.bgColor;\n const columnResizeBgWidth = theme.columnResize?.width;\n const labelColor = theme.columnResize?.labelColor;\n const labelFontSize = theme.columnResize?.labelFontSize;\n const labelFontFamily = theme.columnResize?.labelFontFamily;\n const labelBackgroundFill = theme.columnResize?.labelBackgroundFill;\n const labelBackgroundCornerRadius = theme.columnResize?.labelBackgroundCornerRadius;\n\n this.columnResizeLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeColor as string,\n lineWidth: columnResizeWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n this.columnResizeBgLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeBgColor as string,\n lineWidth: columnResizeBgWidth as number,\n x: 0,\n y: 0,\n // dx: -(columnResizeBgWidth - columnResizeWidth) / 2,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列宽调整文字标签\n const columnResizeLabelText = createText({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n text: '',\n textBaseline: 'top',\n dx: 12 + 4,\n dy: -labelFontSize / 2\n });\n const columnResizeLabelBack = createRect({\n visible: false,\n pickable: false,\n fill: labelBackgroundFill,\n x: 0,\n y: 0,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dx: 12,\n dy: -labelFontSize / 2 - 4\n });\n this.columnResizeLabel = createGroup({\n visible: false,\n pickable: false,\n x: 0,\n y: 0\n });\n this.columnResizeLabel.appendChild(columnResizeLabelBack);\n this.columnResizeLabel.appendChild(columnResizeLabelText);\n\n this.rowResizeLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeColor as string,\n lineWidth: columnResizeWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n this.rowResizeBgLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnResizeBgColor as string,\n lineWidth: columnResizeBgWidth as number,\n x: 0,\n y: 0,\n // dx: -(columnResizeBgWidth - columnResizeWidth) / 2,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列宽调整文字标签\n const rowResizeLabelText = createText({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n text: '',\n textBaseline: 'top',\n dx: 12 + 4,\n dy: -labelFontSize / 2\n });\n const rowResizeLabelBack = createRect({\n visible: false,\n pickable: false,\n fill: labelBackgroundFill,\n x: 0,\n y: 0,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dx: 12,\n dy: -labelFontSize / 2 - 4\n });\n this.rowResizeLabel = createGroup({\n visible: false,\n pickable: false,\n x: 0,\n y: 0\n });\n this.rowResizeLabel.appendChild(rowResizeLabelBack);\n this.rowResizeLabel.appendChild(rowResizeLabelText);\n\n // 列顺序调整基准线\n this.cellMover = new CellMover(this.table);\n\n // 冻结列阴影\n const shadowWidth = theme.frozenColumnLine?.shadow?.width;\n const shadowStartColor = theme.frozenColumnLine?.shadow?.startColor;\n const shadowEndColor = theme.frozenColumnLine?.shadow?.endColor;\n this.frozenShadowLine = createRect({\n visible: true,\n pickable: false,\n x: 0,\n y: 0,\n width: shadowWidth,\n height: 0,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowStartColor, offset: 0 },\n { color: shadowEndColor, offset: 1 }\n ]\n }\n });\n this.rightFrozenShadowLine = createRect({\n visible: true,\n pickable: false,\n x: 0,\n y: 0,\n width: shadowWidth,\n height: 0,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowEndColor, offset: 0 },\n { color: shadowStartColor, offset: 1 }\n ]\n }\n });\n\n // TO BE DONE 冻结列border(theme.frozenColumnLine?.border)\n\n // 弹出窗口\n // this.menu = createGroup({\n // visible: false,\n // pickable: false,\n // x: 0,\n // y: 0,\n // });\n this.menu = new MenuHandler(this.table);\n\n this.drillIcon = new DrillIcon();\n }\n\n /**\n * @description: 组件mark加入到容器Group中\n * @param {Group} componentGroup\n * @return {*}\n */\n addToGroup(componentGroup: Group) {\n componentGroup.addChild(this.frozenShadowLine);\n componentGroup.addChild(this.rightFrozenShadowLine);\n // componentGroup.addChild(this.selectBorder);\n componentGroup.addChild(this.columnResizeBgLine);\n componentGroup.addChild(this.columnResizeLine);\n componentGroup.addChild(this.columnResizeLabel);\n componentGroup.addChild(this.rowResizeBgLine);\n componentGroup.addChild(this.rowResizeLine);\n componentGroup.addChild(this.rowResizeLabel);\n\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n if (hoverOn && !this.table.theme.scrollStyle.barToSide) {\n componentGroup.addChild(this.hScrollBar);\n componentGroup.addChild(this.vScrollBar);\n } else {\n componentGroup.stage.defaultLayer.addChild(this.hScrollBar);\n componentGroup.stage.defaultLayer.addChild(this.vScrollBar);\n }\n this.menu.bindTableComponent(componentGroup);\n this.drillIcon.appand(componentGroup);\n this.cellMover.appand(componentGroup);\n }\n\n /**\n * @description: 创建滚动条组件\n * @return {*}\n */\n createScrollBar() {\n const theme = this.table.theme;\n const scrollRailColor = theme.scrollStyle?.scrollRailColor as string;\n const scrollSliderColor = theme.scrollStyle?.scrollSliderColor as string;\n const width = theme.scrollStyle?.width as number;\n // const visible = theme.scrollStyle?.visible as string;\n // const hoverOn = theme.scrollStyle?.hoverOn as boolean;\n\n this.hScrollBar = new ScrollBar({\n direction: 'horizontal',\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width: this.table.tableNoFrameWidth,\n height: width,\n padding: 0,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n },\n range: [0, 0.1],\n // scrollRange: [0.4, 0.8]\n visible: false\n });\n // hack方案实现初始化隐藏滚动条,也可以add到stage之后执行hideAll\n (this.hScrollBar as any).render();\n this.hScrollBar.hideAll();\n\n this.vScrollBar = new ScrollBar({\n direction: 'vertical',\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width,\n height: this.table.tableNoFrameHeight - this.table.getFrozenRowsHeight(),\n padding: 0,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n },\n range: [0, 0.1],\n visible: false\n });\n (this.vScrollBar as any).render();\n this.vScrollBar.hideAll();\n }\n\n /**\n * @description: 更新滚动条尺寸\n * @return {*}\n */\n updateScrollBar() {\n const oldHorizontalBarPos = this.table.stateManager.scroll.horizontalBarPos;\n const oldVerticalBarPos = this.table.stateManager.scroll.verticalBarPos;\n\n const theme = this.table.theme;\n const width = theme.scrollStyle?.width as number;\n const visible = theme.scrollStyle?.visible as string;\n // const hoverOn = theme.scrollStyle?.hoverOn as boolean;\n const tableWidth = Math.ceil(this.table.scenegraph.tableGroup.attribute.width);\n const tableHeight = Math.ceil(this.table.scenegraph.tableGroup.attribute.height);\n\n const totalHeight = this.table.getAllRowsHeight();\n const totalWidth = this.table.getAllColsWidth();\n const frozenRowsHeight = this.table.getFrozenRowsHeight();\n const frozenColsWidth = this.table.getFrozenColsWidth();\n const bottomFrozenRowsHeight = this.table.getBottomFrozenRowsHeight();\n const rightFrozenColsWidth = this.table.getRightFrozenColsWidth();\n if (totalWidth > tableWidth) {\n const y = Math.min(tableHeight, totalHeight);\n const rangeEnd = Math.max(0.05, (tableWidth - frozenColsWidth) / (totalWidth - frozenColsWidth));\n\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n\n let attrY = 0;\n if (this.table.theme.scrollStyle.barToSide) {\n attrY =\n this.table.tableNoFrameHeight -\n (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.y) +\n this.table.tableY;\n } else {\n attrY = y - (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.y);\n }\n\n this.hScrollBar.setAttributes({\n x: frozenColsWidth + (!hoverOn ? this.table.scenegraph.tableGroup.attribute.x : 0),\n y: attrY,\n width: tableWidth - frozenColsWidth - rightFrozenColsWidth,\n range: [0, rangeEnd],\n visible: visible === 'always'\n });\n const bounds = this.hScrollBar.AABBBounds && this.hScrollBar.globalAABBBounds;\n (this.hScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n if (visible === 'always') {\n this.hScrollBar.showAll();\n }\n } else {\n this.hScrollBar.setAttributes({\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n width: 0,\n visible: false\n });\n }\n\n if (totalHeight > tableHeight) {\n const x = Math.min(tableWidth, totalWidth);\n const rangeEnd = Math.max(0.05, (tableHeight - frozenRowsHeight) / (totalHeight - frozenRowsHeight));\n\n let attrX = 0;\n const hoverOn = this.table.theme.scrollStyle.hoverOn;\n\n if (this.table.theme.scrollStyle.barToSide) {\n attrX =\n this.table.tableNoFrameWidth -\n (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.x) +\n this.table.tableX;\n } else {\n attrX = x - (hoverOn ? width : -this.table.scenegraph.tableGroup.attribute.x);\n }\n\n this.vScrollBar.setAttributes({\n x: attrX,\n y: frozenRowsHeight + (!hoverOn ? this.table.scenegraph.tableGroup.attribute.y : 0),\n height: tableHeight - frozenRowsHeight - bottomFrozenRowsHeight,\n range: [0, rangeEnd],\n visible: visible === 'always'\n });\n const bounds = this.vScrollBar.AABBBounds && this.vScrollBar.globalAABBBounds;\n (this.vScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n\n if (visible === 'always') {\n this.vScrollBar.showAll();\n }\n } else {\n this.vScrollBar.setAttributes({\n x: -this.table.tableNoFrameWidth * 2,\n y: -this.table.tableNoFrameHeight * 2,\n height: 0,\n visible: false\n });\n }\n\n this.table.stateManager.setScrollLeft(oldHorizontalBarPos);\n this.table.stateManager.setScrollTop(oldVerticalBarPos);\n }\n\n /**\n * @description: 隐藏列宽调整组件\n * @return {*}\n */\n hideResizeCol() {\n // this.columnResizeLine.attribute.visible = false;\n this.columnResizeLine.setAttribute('visible', false);\n this.columnResizeBgLine.setAttribute('visible', false);\n this.columnResizeLabel.setAttribute('visible', false);\n this.columnResizeLabel.hideAll();\n }\n\n /**\n * @description: 显示列宽调整组件\n * @param {number} col\n * @param {number} y\n * @return {*}\n */\n showResizeCol(col: number, y: number, isRightFrozen?: boolean) {\n // this.columnResizeLine.attribute.visible = false;\n // 基准线\n const colX = getColX(col, this.table, isRightFrozen);\n this.columnResizeLine.setAttributes({\n visible: true,\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) }\n ]\n });\n this.columnResizeBgLine.setAttributes({\n visible: true,\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) }\n ]\n });\n\n // 标签\n // this.columnResizeLabel.setAttribute('visible', true);\n this.columnResizeLabel.showAll();\n this.columnResizeLabel.setAttributes({\n visible: true,\n x: colX,\n y\n });\n (this.columnResizeLabel.lastChild as Text).setAttribute('text', `${this.table.getColWidth(col)}px`);\n }\n\n /**\n * @description: 更新列宽调整组件\n * @param {number} col\n * @param {number} y 标签显示的y坐标\n * @return {*}\n */\n updateResizeCol(col: number, y: number, isRightFrozen?: boolean) {\n // 基准线\n const colX = getColX(col, this.table, isRightFrozen);\n // this.columnResizeLine.setAttribute('x', x);\n this.columnResizeLine.setAttributes({\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) } // todo: 优化points赋值\n ]\n });\n this.columnResizeBgLine.setAttributes({\n x: colX,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.table.getRowsHeight(0, this.table.rowCount - 1) } // todo: 优化points赋值\n ]\n });\n\n // 标签\n this.columnResizeLabel.setAttributes({\n x: colX,\n y\n });\n (this.columnResizeLabel.lastChild as Text).setAttribute('text', `${Math.floor(this.table.getColWidth(col))}px`);\n }\n\n /**\n * @description: 隐藏列宽调整组件\n * @return {*}\n */\n hideResizeRow() {\n // this.columnResizeLine.attribute.visible = false;\n this.rowResizeLine.setAttribute('visible', false);\n this.rowResizeBgLine.setAttribute('visible', false);\n this.rowResizeLabel.setAttribute('visible', false);\n this.rowResizeLabel.hideAll();\n }\n\n /**\n * @description: 显示列宽调整组件\n * @param {number} col\n * @param {number} y\n * @return {*}\n */\n showResizeRow(row: number, x: number, isRightFrozen?: boolean) {\n // 基准线\n const rowY = getRowY(row, this.table, isRightFrozen);\n this.rowResizeLine.setAttributes({\n visible: true,\n y: rowY,\n points: [\n { y: 0, x: 0 },\n { y: 0, x: this.table.getColsWidth(0, this.table.colCount - 1) }\n ]\n });\n this.rowResizeBgLine.setAttributes({\n visible: true,\n y: rowY,\n points: [\n { y: 0, x: 0 },\n { y: 0, x: this.table.getColsWidth(0, this.table.colCount - 1) }\n ]\n });\n\n // 标签\n this.rowResizeLabel.showAll();\n this.rowResizeLabel.setAttributes({\n visible: true,\n y: rowY,\n x\n });\n (this.rowResizeLabel.lastChild as Text).setAttribute('text', `${this.table.getRowHeight(row)}px`);\n }\n\n /**\n * @description: 更新列宽调整组件\n * @param {number} col\n * @param {number} y 标签显示的y坐标\n * @return {*}\n */\n updateResizeRow(row: number, x: number, isBottomFrozen?: boolean) {\n // 基准线\n const rowY = getRowY(row, this.table, isBottomFrozen);\n // this.columnResizeLine.setAttribute('x', x);\n this.rowResizeLine.setAttributes({\n y: rowY,\n points: [\n { y: 0, x: 0 },\n { y: 0, x: this.table.getColsWidth(0, this.table.colCount - 1) } // todo: 优化points赋值\n ]\n });\n this.rowResizeBgLine.setAttributes({\n y: rowY,\n points: [\n { y: 0, x: 0 },\n { y: 0, x: this.table.getColsWidth(0, this.table.colCount - 1) } // todo: 优化points赋值\n ]\n });\n\n // 标签\n this.rowResizeLabel.setAttributes({\n y: rowY,\n x\n });\n (this.rowResizeLabel.lastChild as Text).setAttribute('text', `${Math.floor(this.table.getRowHeight(row))}px`);\n }\n\n /**\n * @description: 隐藏列顺序调整组件\n * @return {*}\n */\n hideMoveCol() {\n this.cellMover.hide();\n }\n\n /**\n * @description: 显示列顺序调整组件\n * @param {number} col\n * @param {number} x\n * @return {*}\n */\n showMoveCol(col: number, row: number, delta: number) {\n this.cellMover.show(col, row, delta);\n }\n\n /**\n * @description: 更新列顺序调整组件\n * @param {number} backX\n * @param {number} lineX\n * @return {*}\n */\n updateMoveCol(backX: number, lineX: number, backY: number, lineY: number) {\n this.cellMover.update(backX, lineX, backY, lineY);\n }\n\n /**\n * @description: 显示冻结列shadow\n * @param {number} col\n * @return {*}\n */\n setFrozenColumnShadow(col: number, isRightFrozen?: boolean) {\n if (col < 0) {\n this.frozenShadowLine.setAttributes({\n visible: false\n });\n } else {\n // const colX = this.table.getColsWidth(0, col);\n const colX = getColX(col, this.table, isRightFrozen);\n this.frozenShadowLine.setAttributes({\n visible: true,\n x: colX,\n height: this.table.getDrawRange().height\n });\n }\n }\n\n /**\n * @description: 显示右侧冻结列shadow\n * @param {number} col\n * @return {*}\n */\n setRightFrozenColumnShadow(col: number) {\n if (col >= this.table.colCount) {\n this.rightFrozenShadowLine.setAttributes({\n visible: false\n });\n } else {\n // const colX = this.table.getColsWidth(0, col);\n const colX = getColX(col, this.table, true);\n this.rightFrozenShadowLine.setAttributes({\n visible: true,\n x: colX - this.rightFrozenShadowLine.attribute.width,\n height: this.table.getDrawRange().height\n });\n }\n }\n\n hideVerticalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.vScrollBar.setAttribute('visible', false);\n this.vScrollBar.hideAll();\n this.table.scenegraph.updateNextFrame();\n }\n showVerticalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.vScrollBar.setAttribute('visible', true);\n this.vScrollBar.showAll();\n this.table.scenegraph.updateNextFrame();\n }\n hideHorizontalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.hScrollBar.setAttribute('visible', false);\n this.hScrollBar.hideAll();\n this.table.scenegraph.updateNextFrame();\n }\n showHorizontalScrollBar() {\n const visable = this.table.theme.scrollStyle.visible;\n if (visable !== 'focus' && visable !== 'scrolling') {\n return;\n }\n this.hScrollBar.setAttribute('visible', true);\n this.hScrollBar.showAll();\n this.table.scenegraph.updateNextFrame();\n }\n updateVerticalScrollBarPos(topRatio: number) {\n const range = this.vScrollBar.attribute.range;\n const size = range[1] - range[0];\n const range0 = topRatio * (1 - size);\n this.vScrollBar.setAttribute('range', [range0, range0 + size]);\n const bounds = this.vScrollBar.AABBBounds && this.vScrollBar.globalAABBBounds;\n (this.vScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n }\n updateHorizontalScrollBarPos(leftRatio: number) {\n const range = this.hScrollBar.attribute.range;\n const size = range[1] - range[0];\n const range0 = leftRatio * (1 - size);\n this.hScrollBar.setAttribute('range', [range0, range0 + size]);\n const bounds = this.hScrollBar.AABBBounds && this.hScrollBar.globalAABBBounds;\n (this.hScrollBar as any)._viewPosition = {\n x: bounds.x1,\n y: bounds.y1\n };\n }\n\n updateStyle() {\n const theme = this.table.theme;\n\n // scrollbar\n const scrollRailColor = theme.scrollStyle?.scrollRailColor as string;\n const scrollSliderColor = theme.scrollStyle?.scrollSliderColor as string;\n const width = theme.scrollStyle?.width as number;\n this.hScrollBar.setAttributes({\n height: width,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n }\n });\n\n this.vScrollBar.setAttributes({\n width,\n railStyle: {\n fill: scrollRailColor\n },\n sliderStyle: {\n fill: scrollSliderColor\n }\n });\n\n // columnResizeLine & columnResizeBgLine\n const columnResizeColor = theme.columnResize?.lineColor;\n const columnResizeWidth = theme.columnResize?.lineWidth;\n const columnResizeBgColor = theme.columnResize?.bgColor;\n const columnResizeBgWidth = theme.columnResize?.width;\n\n this.columnResizeLine.setAttributes({\n stroke: columnResizeColor as string,\n lineWidth: columnResizeWidth as number\n });\n this.columnResizeBgLine = createLine({\n stroke: columnResizeBgColor as string,\n lineWidth: columnResizeBgWidth as number\n });\n\n const labelColor = theme.columnResize?.labelColor;\n const labelFontSize = theme.columnResize?.labelFontSize;\n const labelFontFamily = theme.columnResize?.labelFontFamily;\n const labelBackgroundFill = theme.columnResize?.labelBackgroundFill;\n const labelBackgroundCornerRadius = theme.columnResize?.labelBackgroundCornerRadius;\n\n // columnResizeLabelBack\n (this.columnResizeLabel.lastChild as IText).setAttributes({\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n dy: -labelFontSize / 2\n });\n // columnResizeLabelText\n (this.columnResizeLabel.firstChild as IRect).setAttributes({\n fill: labelBackgroundFill,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dy: -labelFontSize / 2 - 4\n });\n\n // rowResizeLabelBack\n (this.rowResizeLabel.lastChild as IText).setAttributes({\n fontSize: labelFontSize, // 10\n fill: labelColor,\n fontFamily: labelFontFamily,\n dy: -labelFontSize / 2\n });\n // rowResizeLabelText\n (this.rowResizeLabel.firstChild as IRect).setAttributes({\n fill: labelBackgroundFill,\n width: 5 * labelFontSize * 0.8,\n height: labelFontSize + 8,\n cornerRadius: labelBackgroundCornerRadius,\n dy: -labelFontSize / 2 - 4\n });\n\n // frozenShadowLine\n const shadowWidth = theme.frozenColumnLine?.shadow?.width;\n const shadowStartColor = theme.frozenColumnLine?.shadow?.startColor;\n const shadowEndColor = theme.frozenColumnLine?.shadow?.endColor;\n this.frozenShadowLine.setAttributes({\n width: shadowWidth,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowStartColor, offset: 0 },\n { color: shadowEndColor, offset: 1 }\n ]\n }\n });\n this.rightFrozenShadowLine.setAttributes({\n width: shadowWidth,\n fill: {\n gradient: 'linear',\n x0: 0,\n y0: 0,\n x1: 1,\n y1: 0,\n stops: [\n { color: shadowEndColor, offset: 0 },\n { color: shadowStartColor, offset: 1 }\n ]\n }\n });\n\n this.cellMover.updateStyle();\n // this.menu.updateStyle();\n // this.drillIcon.updateStyle();\n }\n}\n"]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export function getColX(col, table, isRightFrozen) {
|
|
2
|
-
if (isRightFrozen) return table.tableNoFrameWidth - table.getColsWidth(col, table.colCount - 1);
|
|
2
|
+
if (isRightFrozen) return Math.min(table.tableNoFrameWidth, table.getAllColsWidth()) - table.getColsWidth(col, table.colCount - 1);
|
|
3
3
|
let colX = table.getColsWidth(0, col);
|
|
4
4
|
return col >= table.frozenColCount && (colX -= table.scrollLeft), colX;
|
|
5
5
|
}
|
|
6
|
+
|
|
7
|
+
export function getRowY(row, table, isBottomFrozen) {
|
|
8
|
+
if (isBottomFrozen) return Math.min(table.tableNoFrameWidth, table.getAllRowsHeight()) - table.getRowsHeight(row, table.rowCount - 1);
|
|
9
|
+
let rowY = table.getRowsHeight(0, row);
|
|
10
|
+
return row >= table.frozenRowCount && (rowY -= table.scrollLeft), rowY;
|
|
11
|
+
}
|
|
6
12
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,aAAuB;IAC/E,IAAI,aAAa,EAAE;QACjB,OAAO,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,aAAuB;IAC/E,IAAI,aAAa,EAAE;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACjH;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;KAC1B;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,cAAwB;IAChF,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACnH;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;KAC1B;IACD,OAAO,IAAI,CAAC;AACd,CAAC","file":"util.js","sourcesContent":["import type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport function getColX(col: number, table: BaseTableAPI, isRightFrozen?: boolean) {\n if (isRightFrozen) {\n return Math.min(table.tableNoFrameWidth, table.getAllColsWidth()) - table.getColsWidth(col, table.colCount - 1);\n }\n let colX = table.getColsWidth(0, col);\n if (col >= table.frozenColCount) {\n colX -= table.scrollLeft;\n }\n return colX;\n}\n\nexport function getRowY(row: number, table: BaseTableAPI, isBottomFrozen?: boolean) {\n if (isBottomFrozen) {\n return Math.min(table.tableNoFrameWidth, table.getAllRowsHeight()) - table.getRowsHeight(row, table.rowCount - 1);\n }\n let rowY = table.getRowsHeight(0, row);\n if (row >= table.frozenRowCount) {\n rowY -= table.scrollLeft;\n }\n return rowY;\n}\n"]}
|
|
@@ -78,32 +78,38 @@ export function getWidthInfo(widthArray) {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
export function renderStroke(group, context, x, y, groupAttribute, stroke, strokeArrayWidth, strokeArrayColor, width, height, isHighlight, part) {
|
|
81
|
+
var _a, _b, _c, _d;
|
|
81
82
|
const widthInfo = getWidthInfo(strokeArrayWidth), isWidthNumber = !Array.isArray(strokeArrayWidth), isStrokeTrue = !Array.isArray(stroke), isPart = Array.isArray(part), isSplitDraw = Array.isArray(strokeArrayColor) || widthInfo.isSplitDraw;
|
|
82
83
|
context.setStrokeStyle(group, group.attribute, x, y, groupAttribute);
|
|
84
|
+
const {lineDash: lineDash = groupAttribute.lineDash} = group.attribute;
|
|
83
85
|
let isDash = !1;
|
|
84
|
-
|
|
85
|
-
(isStrokeTrue || stroke[0]) && (isWidthNumber || strokeArrayWidth[0]) ? (isPart && Array.isArray(part[0]) ? (context.moveTo(x + width * part[0][0], y),
|
|
86
|
+
lineDash.length && lineDash.some((dash => Array.isArray(dash))) && (isDash = !0),
|
|
87
|
+
context.beginPath(), context.moveTo(x, y), (isStrokeTrue || stroke[0]) && (isWidthNumber || strokeArrayWidth[0]) ? (isPart && Array.isArray(part[0]) ? (context.moveTo(x + width * part[0][0], y),
|
|
86
88
|
context.lineTo(x + width * (part[0][1] - part[0][0]), y), context.moveTo(x + width, y)) : (context.moveTo(x, y),
|
|
87
89
|
context.lineTo(x + width, y)), (isSplitDraw || isDash) && (strokeArrayColor && strokeArrayColor[0] ? context.strokeStyle = strokeArrayColor[0] : context.strokeStyle = "transparent",
|
|
88
90
|
isWidthNumber || (context.lineWidth = strokeArrayWidth[0]), context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a,
|
|
91
|
+
isDash && context.setLineDash(null !== (_a = lineDash[0]) && void 0 !== _a ? _a : []),
|
|
89
92
|
context.stroke(), context.beginPath(), context.moveTo(x + width, y))) : context.moveTo(x + width, y),
|
|
90
93
|
(isStrokeTrue || stroke[1]) && (isWidthNumber || strokeArrayWidth[1]) ? (isPart && Array.isArray(part[1]) ? (context.moveTo(x + width, y + height * part[1][0]),
|
|
91
94
|
context.lineTo(x + width, y + height * (part[1][1] - part[1][0])), context.moveTo(x + width, y + height)) : (context.moveTo(x + width, y),
|
|
92
95
|
context.lineTo(x + width, y + height)), (isSplitDraw || isDash) && (strokeArrayColor && strokeArrayColor[1] ? context.strokeStyle = strokeArrayColor[1] : context.strokeStyle = "transparent",
|
|
93
96
|
isWidthNumber || (context.lineWidth = strokeArrayWidth[1]), context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d,
|
|
97
|
+
isDash && context.setLineDash(null !== (_b = lineDash[1]) && void 0 !== _b ? _b : []),
|
|
94
98
|
context.stroke(), context.beginPath(), context.moveTo(x + width, y + height))) : context.moveTo(x + width, y + height),
|
|
95
99
|
(isStrokeTrue || stroke[2]) && (isWidthNumber || strokeArrayWidth[2]) ? (isPart && Array.isArray(part[2]) ? (context.moveTo(x + width * part[2][0], y + height),
|
|
96
100
|
context.lineTo(x + width * (part[2][1] - part[2][0]), y + height), context.moveTo(x, y + height)) : (context.moveTo(x, y + height),
|
|
97
101
|
context.lineTo(x + width, y + height)), (isSplitDraw || isDash) && (strokeArrayColor && strokeArrayColor[2] ? context.strokeStyle = strokeArrayColor[2] : context.strokeStyle = "transparent",
|
|
98
102
|
isWidthNumber || (context.lineWidth = strokeArrayWidth[2]), context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a,
|
|
103
|
+
isDash && context.setLineDash(null !== (_c = lineDash[2]) && void 0 !== _c ? _c : []),
|
|
99
104
|
context.stroke(), context.beginPath(), context.moveTo(x, y + height))) : context.moveTo(x, y + height),
|
|
100
105
|
(isStrokeTrue || stroke[3]) && (isWidthNumber || strokeArrayWidth[3]) ? (isPart && Array.isArray(part[3]) ? (context.moveTo(x, y + height * part[3][0]),
|
|
101
106
|
context.lineTo(x, y + height * (part[3][1] - part[3][0])), context.moveTo(x, y)) : (context.moveTo(x, y),
|
|
102
107
|
context.lineTo(x, y + height)), (isSplitDraw || isDash) && (strokeArrayColor && strokeArrayColor[3] ? context.strokeStyle = strokeArrayColor[3] : context.strokeStyle = "transparent",
|
|
103
108
|
isWidthNumber || (context.lineWidth = strokeArrayWidth[3]), context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d,
|
|
109
|
+
isDash && context.setLineDash(null !== (_d = lineDash[3]) && void 0 !== _d ? _d : []),
|
|
104
110
|
context.stroke(), context.beginPath(), context.moveTo(x, y))) : context.moveTo(x, y),
|
|
105
111
|
isSplitDraw || isDash || (!isWidthNumber && widthInfo.width && (context.lineWidth = widthInfo.width),
|
|
106
|
-
context.stroke()), context.lineDashOffset = 0;
|
|
112
|
+
context.stroke()), context.lineDashOffset = 0, context.setLineDash([]);
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
let DashGroupBeforeRenderContribution = class {
|
|
@@ -125,6 +131,7 @@ let DashGroupAfterRenderContribution = class {
|
|
|
125
131
|
this.time = BaseRenderContributionTime.afterFillStroke, this.useStyle = !0, this.order = 0;
|
|
126
132
|
}
|
|
127
133
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb) {
|
|
134
|
+
var _a, _b, _c, _d;
|
|
128
135
|
const {lineDash: lineDash = groupAttribute.lineDash, stroke: stroke = groupAttribute.stroke, strokeArrayColor: strokeArrayColor = groupAttribute.strokeArrayColor, strokeArrayWidth: strokeArrayWidth = groupAttribute.strokeArrayWidth, lineWidth: lineWidth = groupAttribute.lineWidth} = group.attribute;
|
|
129
136
|
if (!stroke || !Array.isArray(lineDash) || !lineDash.length || Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth)) return;
|
|
130
137
|
let widthForStroke, heightForStroke, {width: width = groupAttribute.width, height: height = groupAttribute.height} = group.attribute;
|
|
@@ -143,12 +150,14 @@ let DashGroupAfterRenderContribution = class {
|
|
|
143
150
|
} else widthForStroke = Math.ceil(width), heightForStroke = Math.ceil(height);
|
|
144
151
|
context.setStrokeStyle(group, group.attribute, x, y, groupAttribute), context.beginPath(),
|
|
145
152
|
context.moveTo(x, y), context.lineTo(x + widthForStroke, y), context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a,
|
|
146
|
-
context.
|
|
147
|
-
context.
|
|
148
|
-
context.
|
|
149
|
-
context.
|
|
150
|
-
context.
|
|
151
|
-
context.
|
|
153
|
+
context.setLineDash(null !== (_a = lineDash[0]) && void 0 !== _a ? _a : []), context.stroke(),
|
|
154
|
+
context.beginPath(), context.moveTo(x + widthForStroke, y), context.lineTo(x + widthForStroke, y + heightForStroke),
|
|
155
|
+
context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d, context.setLineDash(null !== (_b = lineDash[1]) && void 0 !== _b ? _b : []),
|
|
156
|
+
context.stroke(), context.beginPath(), context.moveTo(x, y + heightForStroke), context.lineTo(x + widthForStroke, y + heightForStroke),
|
|
157
|
+
context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a, context.setLineDash(null !== (_c = lineDash[2]) && void 0 !== _c ? _c : []),
|
|
158
|
+
context.stroke(), context.beginPath(), context.moveTo(x, y), context.lineTo(x, y + heightForStroke),
|
|
159
|
+
context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d, context.setLineDash(null !== (_d = lineDash[3]) && void 0 !== _d ? _d : []),
|
|
160
|
+
context.stroke(), context.lineDashOffset = 0, context.setLineDash([]);
|
|
152
161
|
}
|
|
153
162
|
};
|
|
154
163
|
|