e-virt-table 0.0.3
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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/index.cjs.js +14 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +5422 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +14 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/lib/Autofill.d.ts +20 -0
- package/dist/lib/Autofill.js +185 -0
- package/dist/lib/Autofill.js.map +1 -0
- package/dist/lib/BaseCell.d.ts +22 -0
- package/dist/lib/BaseCell.js +111 -0
- package/dist/lib/BaseCell.js.map +1 -0
- package/dist/lib/Body.d.ts +29 -0
- package/dist/lib/Body.js +382 -0
- package/dist/lib/Body.js.map +1 -0
- package/dist/lib/Cell.d.ts +101 -0
- package/dist/lib/Cell.js +943 -0
- package/dist/lib/Cell.js.map +1 -0
- package/dist/lib/CellHeader.d.ts +64 -0
- package/dist/lib/CellHeader.js +355 -0
- package/dist/lib/CellHeader.js.map +1 -0
- package/dist/lib/Config.d.ts +106 -0
- package/dist/lib/Config.js +617 -0
- package/dist/lib/Config.js.map +1 -0
- package/dist/lib/Context.d.ts +123 -0
- package/dist/lib/Context.js +419 -0
- package/dist/lib/Context.js.map +1 -0
- package/dist/lib/Database.d.ts +228 -0
- package/dist/lib/Database.js +931 -0
- package/dist/lib/Database.js.map +1 -0
- package/dist/lib/EVirtTable.d.ts +61 -0
- package/dist/lib/EVirtTable.js +321 -0
- package/dist/lib/EVirtTable.js.map +1 -0
- package/dist/lib/Editor.d.ts +16 -0
- package/dist/lib/Editor.js +251 -0
- package/dist/lib/Editor.js.map +1 -0
- package/dist/lib/Empty.d.ts +7 -0
- package/dist/lib/Empty.js +45 -0
- package/dist/lib/Empty.js.map +1 -0
- package/dist/lib/EventBrowser.d.ts +17 -0
- package/dist/lib/EventBrowser.js +79 -0
- package/dist/lib/EventBrowser.js.map +1 -0
- package/dist/lib/EventBus.d.ts +12 -0
- package/dist/lib/EventBus.js +58 -0
- package/dist/lib/EventBus.js.map +1 -0
- package/dist/lib/EventTable.d.ts +26 -0
- package/dist/lib/EventTable.js +358 -0
- package/dist/lib/EventTable.js.map +1 -0
- package/dist/lib/Footer.d.ts +17 -0
- package/dist/lib/Footer.js +138 -0
- package/dist/lib/Footer.js.map +1 -0
- package/dist/lib/Header.d.ts +37 -0
- package/dist/lib/Header.js +482 -0
- package/dist/lib/Header.js.map +1 -0
- package/dist/lib/History.d.ts +27 -0
- package/dist/lib/History.js +106 -0
- package/dist/lib/History.js.map +1 -0
- package/dist/lib/Icons.d.ts +15 -0
- package/dist/lib/Icons.js +145 -0
- package/dist/lib/Icons.js.map +1 -0
- package/dist/lib/Overlayer.d.ts +10 -0
- package/dist/lib/Overlayer.js +267 -0
- package/dist/lib/Overlayer.js.map +1 -0
- package/dist/lib/Paint.d.ts +65 -0
- package/dist/lib/Paint.js +223 -0
- package/dist/lib/Paint.js.map +1 -0
- package/dist/lib/Row.d.ts +22 -0
- package/dist/lib/Row.js +125 -0
- package/dist/lib/Row.js.map +1 -0
- package/dist/lib/Scroller.d.ts +20 -0
- package/dist/lib/Scroller.js +448 -0
- package/dist/lib/Scroller.js.map +1 -0
- package/dist/lib/Selector.d.ts +38 -0
- package/dist/lib/Selector.js +532 -0
- package/dist/lib/Selector.js.map +1 -0
- package/dist/lib/Tooltip.d.ts +13 -0
- package/dist/lib/Tooltip.js +204 -0
- package/dist/lib/Tooltip.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/types.d.ts +160 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/util.d.ts +15 -0
- package/dist/lib/util.js +113 -0
- package/dist/lib/util.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
export class Paint {
|
|
2
|
+
constructor(target) {
|
|
3
|
+
Object.defineProperty(this, "ctx", {
|
|
4
|
+
enumerable: true,
|
|
5
|
+
configurable: true,
|
|
6
|
+
writable: true,
|
|
7
|
+
value: void 0
|
|
8
|
+
});
|
|
9
|
+
const ctx = target.getContext("2d");
|
|
10
|
+
if (!ctx)
|
|
11
|
+
throw new Error("canvas context not found");
|
|
12
|
+
this.ctx = ctx;
|
|
13
|
+
}
|
|
14
|
+
save() {
|
|
15
|
+
this.ctx.save();
|
|
16
|
+
}
|
|
17
|
+
restore() {
|
|
18
|
+
this.ctx.restore();
|
|
19
|
+
}
|
|
20
|
+
translate(x, y) {
|
|
21
|
+
this.ctx.translate(x, y);
|
|
22
|
+
}
|
|
23
|
+
setCursor(cursor = "default") {
|
|
24
|
+
this.ctx.canvas.style.cursor = cursor;
|
|
25
|
+
}
|
|
26
|
+
clear(x = 0, y = 0, width, height) {
|
|
27
|
+
this.ctx.clearRect(x, y, width || this.ctx.canvas.width, height || this.ctx.canvas.height);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 在 Canvas 上绘制单侧阴影
|
|
31
|
+
* @param {number} x - 矩形的 x 坐标
|
|
32
|
+
* @param {number} y - 矩形的 y 坐标
|
|
33
|
+
* @param {number} width - 矩形的宽度
|
|
34
|
+
* @param {number} height - 矩形的高度
|
|
35
|
+
* @param {string} side - 阴影的位置('left', 'right', 'top', 'bottom')
|
|
36
|
+
* @param {number} shadowWidth - 阴影的宽度
|
|
37
|
+
* @param {string} color - 阴影的颜色
|
|
38
|
+
*/
|
|
39
|
+
drawShadow(x, y, width, height, options) {
|
|
40
|
+
const { fillColor, side, shadowWidth, colorStart, colorEnd } = options;
|
|
41
|
+
this.ctx.save();
|
|
42
|
+
if (fillColor) {
|
|
43
|
+
this.ctx.fillStyle = fillColor;
|
|
44
|
+
this.ctx.fillRect(x, y, width, height);
|
|
45
|
+
}
|
|
46
|
+
let gradient;
|
|
47
|
+
switch (side) {
|
|
48
|
+
case "left":
|
|
49
|
+
gradient = this.ctx.createLinearGradient(x - shadowWidth, y, x, y);
|
|
50
|
+
gradient.addColorStop(0, colorStart);
|
|
51
|
+
gradient.addColorStop(1, colorEnd);
|
|
52
|
+
this.ctx.fillStyle = gradient;
|
|
53
|
+
this.ctx.fillRect(x - shadowWidth, y, shadowWidth, height);
|
|
54
|
+
break;
|
|
55
|
+
case "right":
|
|
56
|
+
gradient = this.ctx.createLinearGradient(x + width, y, x + width + shadowWidth, y);
|
|
57
|
+
gradient.addColorStop(0, colorStart);
|
|
58
|
+
gradient.addColorStop(1, colorEnd);
|
|
59
|
+
this.ctx.fillStyle = gradient;
|
|
60
|
+
this.ctx.fillRect(x + width, y, shadowWidth, height);
|
|
61
|
+
break;
|
|
62
|
+
case "top":
|
|
63
|
+
gradient = this.ctx.createLinearGradient(x, y - shadowWidth, x, y);
|
|
64
|
+
gradient.addColorStop(0, colorStart);
|
|
65
|
+
gradient.addColorStop(1, colorEnd);
|
|
66
|
+
this.ctx.fillStyle = gradient;
|
|
67
|
+
this.ctx.fillRect(x, y - shadowWidth, width, shadowWidth);
|
|
68
|
+
break;
|
|
69
|
+
case "bottom":
|
|
70
|
+
gradient = this.ctx.createLinearGradient(x, y + height, x, y + height + shadowWidth);
|
|
71
|
+
gradient.addColorStop(0, colorStart);
|
|
72
|
+
gradient.addColorStop(1, colorEnd);
|
|
73
|
+
this.ctx.fillStyle = gradient;
|
|
74
|
+
this.ctx.fillRect(x, y + height, width, shadowWidth);
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
console.error("Invalid side specified for shadow");
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// 绘制线条
|
|
82
|
+
drawLine(points, options) {
|
|
83
|
+
if (points.length < 4 || points.length % 2 !== 0) {
|
|
84
|
+
throw new Error("A valid array of points is required to draw a line");
|
|
85
|
+
}
|
|
86
|
+
this.ctx.save();
|
|
87
|
+
const { borderColor = "black", borderWidth = 1 } = options;
|
|
88
|
+
this.ctx.beginPath();
|
|
89
|
+
this.ctx.moveTo(points[0] + 0.5, points[1] + 0.5);
|
|
90
|
+
for (let i = 2; i < points.length; i += 2) {
|
|
91
|
+
this.ctx.lineTo(points[i] + 0.5, points[i + 1] + 0.5);
|
|
92
|
+
}
|
|
93
|
+
this.ctx.strokeStyle = borderColor;
|
|
94
|
+
this.ctx.lineWidth = borderWidth;
|
|
95
|
+
if (options.lineDash) {
|
|
96
|
+
this.ctx.lineDashOffset = 4;
|
|
97
|
+
this.ctx.setLineDash(options.lineDash);
|
|
98
|
+
}
|
|
99
|
+
if (options.fillColor) {
|
|
100
|
+
this.ctx.fillStyle = options.fillColor;
|
|
101
|
+
this.ctx.fill();
|
|
102
|
+
}
|
|
103
|
+
if (options.borderColor) {
|
|
104
|
+
this.ctx.strokeStyle = options.borderColor;
|
|
105
|
+
}
|
|
106
|
+
this.ctx.stroke();
|
|
107
|
+
this.ctx.closePath();
|
|
108
|
+
this.ctx.restore();
|
|
109
|
+
}
|
|
110
|
+
drawImage(img, x, y, width, height) {
|
|
111
|
+
this.ctx.save();
|
|
112
|
+
this.ctx.drawImage(img, x, y, width, height);
|
|
113
|
+
this.ctx.restore();
|
|
114
|
+
}
|
|
115
|
+
drawRect(x, y, width, height, { borderWidth = 1, borderColor, fillColor, radius = 0 } = {}) {
|
|
116
|
+
this.ctx.save();
|
|
117
|
+
this.ctx.beginPath();
|
|
118
|
+
// 填充颜色
|
|
119
|
+
if (fillColor !== undefined) {
|
|
120
|
+
this.ctx.fillStyle = fillColor;
|
|
121
|
+
}
|
|
122
|
+
// 线条宽度及绘制颜色
|
|
123
|
+
if (borderColor !== undefined) {
|
|
124
|
+
this.ctx.lineWidth = borderWidth;
|
|
125
|
+
this.ctx.strokeStyle = borderColor;
|
|
126
|
+
}
|
|
127
|
+
if (radius === 0) {
|
|
128
|
+
// 绘制矩形路径,+ 0.5解决1px模糊的问题
|
|
129
|
+
this.ctx.rect(x + 0.5, y + 0.5, width, height);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// 确保 radius 是一个包含四个元素的数组
|
|
133
|
+
const [tl, tr, br, bl] = typeof radius === "number" ? [radius, radius, radius, radius] : radius;
|
|
134
|
+
// 绘制圆角矩形路径
|
|
135
|
+
this.ctx.moveTo(x + tl, y);
|
|
136
|
+
this.ctx.arcTo(x + width, y, x + width, y + tr, tr); // draw right side and top-right corner
|
|
137
|
+
this.ctx.arcTo(x + width, y + height, x + width - br, y + height, br); // draw bottom side and bottom-right corner
|
|
138
|
+
this.ctx.arcTo(x, y + height, x, y + height - bl, bl); // draw left side and bottom-left corner
|
|
139
|
+
this.ctx.arcTo(x, y, x + tl, y, tl); // draw top side and top-left corner
|
|
140
|
+
}
|
|
141
|
+
// 如果有填充色,则填充
|
|
142
|
+
if (fillColor !== undefined) {
|
|
143
|
+
this.ctx.fill();
|
|
144
|
+
}
|
|
145
|
+
// 如果有绘制色,则绘制
|
|
146
|
+
if (borderColor !== undefined) {
|
|
147
|
+
this.ctx.stroke();
|
|
148
|
+
}
|
|
149
|
+
this.ctx.restore();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* 画文本
|
|
153
|
+
* @param text
|
|
154
|
+
* @param x
|
|
155
|
+
* @param y
|
|
156
|
+
* @param width
|
|
157
|
+
* @param height
|
|
158
|
+
* @param options
|
|
159
|
+
* @returns 是否溢出
|
|
160
|
+
*/
|
|
161
|
+
drawText(text = "", x, y, width, height, options = {}) {
|
|
162
|
+
this.ctx.save();
|
|
163
|
+
const { font = "12px Arial", align = "center", color = "#495060", padding = 0, verticalAlign = "middle", } = options;
|
|
164
|
+
this.ctx.font = font;
|
|
165
|
+
this.ctx.fillStyle = color;
|
|
166
|
+
this.ctx.textBaseline = verticalAlign;
|
|
167
|
+
this.ctx.textAlign = align;
|
|
168
|
+
let yPos = 0;
|
|
169
|
+
if (verticalAlign === "top") {
|
|
170
|
+
yPos = y + padding;
|
|
171
|
+
}
|
|
172
|
+
else if (verticalAlign === "bottom") {
|
|
173
|
+
yPos = y + height - padding;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
yPos = y + (height + padding) / 2;
|
|
177
|
+
}
|
|
178
|
+
let xPos = 0;
|
|
179
|
+
if (align === "left") {
|
|
180
|
+
xPos = x + padding;
|
|
181
|
+
}
|
|
182
|
+
else if (align === "right") {
|
|
183
|
+
xPos = x + width - padding;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
xPos = x + width / 2;
|
|
187
|
+
}
|
|
188
|
+
const { _text, ellipsis } = this.handleEllipsis(text, width, padding);
|
|
189
|
+
this.ctx.fillText(_text, xPos, yPos);
|
|
190
|
+
this.ctx.restore();
|
|
191
|
+
return ellipsis;
|
|
192
|
+
}
|
|
193
|
+
handleEllipsis(text, width, padding = 0) {
|
|
194
|
+
let ellipsis = false;
|
|
195
|
+
let _text = text;
|
|
196
|
+
if (text === null || text === undefined || text === "") {
|
|
197
|
+
return {
|
|
198
|
+
_text: "",
|
|
199
|
+
ellipsis,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
const ellipsesWidth = this.ctx.measureText("...").width;
|
|
203
|
+
const textWidth = this.ctx.measureText(text).width;
|
|
204
|
+
if (textWidth && textWidth + ellipsesWidth >= width - padding * 2) {
|
|
205
|
+
ellipsis = true;
|
|
206
|
+
// text字符截取并添加省略号
|
|
207
|
+
let textLength = 0;
|
|
208
|
+
for (let i = 0; i < text.length; i++) {
|
|
209
|
+
textLength += this.ctx.measureText(text[i]).width;
|
|
210
|
+
if (textLength >= width - padding * 2 - ellipsesWidth) {
|
|
211
|
+
_text = text.slice(0, i) + "...";
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
_text,
|
|
218
|
+
ellipsis,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
export default Paint;
|
|
223
|
+
//# sourceMappingURL=Paint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Paint.js","sourceRoot":"","sources":["../../src/Paint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Cell from "./Cell";
|
|
2
|
+
import Context from "./Context";
|
|
3
|
+
import type { RowType } from "./types";
|
|
4
|
+
export default class Row {
|
|
5
|
+
private ctx;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
cells: Cell[];
|
|
11
|
+
fixedCells: Cell[];
|
|
12
|
+
noFixedCells: Cell[];
|
|
13
|
+
rowIndex: number;
|
|
14
|
+
rowKey: string;
|
|
15
|
+
rowType: RowType;
|
|
16
|
+
data: any;
|
|
17
|
+
constructor(ctx: Context, rowIndex: number, x: number | undefined, y: number | undefined, width: number | undefined, height: number | undefined, data: any, rowType?: RowType);
|
|
18
|
+
update(): void;
|
|
19
|
+
drawCenter(): void;
|
|
20
|
+
drawFixed(): void;
|
|
21
|
+
draw(): void;
|
|
22
|
+
}
|
package/dist/lib/Row.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import Cell from "./Cell";
|
|
2
|
+
export default class Row {
|
|
3
|
+
constructor(ctx, rowIndex, x = 0, y = 0, width = 0, height = 0, data, rowType = "body") {
|
|
4
|
+
Object.defineProperty(this, "ctx", {
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true,
|
|
8
|
+
value: void 0
|
|
9
|
+
});
|
|
10
|
+
Object.defineProperty(this, "x", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
writable: true,
|
|
14
|
+
value: 0
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(this, "y", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: 0
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(this, "width", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: 0
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(this, "height", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true,
|
|
32
|
+
value: void 0
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(this, "cells", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true,
|
|
38
|
+
value: []
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(this, "fixedCells", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
writable: true,
|
|
44
|
+
value: []
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(this, "noFixedCells", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
writable: true,
|
|
50
|
+
value: []
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(this, "rowIndex", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true,
|
|
55
|
+
writable: true,
|
|
56
|
+
value: 0
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(this, "rowKey", {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true,
|
|
61
|
+
writable: true,
|
|
62
|
+
value: ""
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(this, "rowType", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
configurable: true,
|
|
67
|
+
writable: true,
|
|
68
|
+
value: "body"
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(this, "data", {
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: true,
|
|
73
|
+
writable: true,
|
|
74
|
+
value: void 0
|
|
75
|
+
});
|
|
76
|
+
this.ctx = ctx;
|
|
77
|
+
this.x = x;
|
|
78
|
+
this.y = y;
|
|
79
|
+
this.width = width;
|
|
80
|
+
this.height = height;
|
|
81
|
+
this.rowIndex = rowIndex;
|
|
82
|
+
this.rowKey = ctx.database.getRowKeyForRowIndex(rowIndex);
|
|
83
|
+
this.rowType = rowType;
|
|
84
|
+
this.data = data;
|
|
85
|
+
this.update();
|
|
86
|
+
}
|
|
87
|
+
update() {
|
|
88
|
+
const { header } = this.ctx;
|
|
89
|
+
const cells = [];
|
|
90
|
+
const fixedCells = [];
|
|
91
|
+
const noFixedCells = [];
|
|
92
|
+
header.renderLeafCellHeaders.forEach((header) => {
|
|
93
|
+
const cell = new Cell(this.ctx, this.rowIndex, header.colIndex, header.x, this.y, header.width, this.height, header.column, this.data, this.rowType);
|
|
94
|
+
if (cell.fixed) {
|
|
95
|
+
fixedCells.push(cell);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
noFixedCells.push(cell);
|
|
99
|
+
}
|
|
100
|
+
cells.push(cell);
|
|
101
|
+
});
|
|
102
|
+
this.cells = cells;
|
|
103
|
+
this.fixedCells = fixedCells;
|
|
104
|
+
this.noFixedCells = noFixedCells;
|
|
105
|
+
}
|
|
106
|
+
drawCenter() {
|
|
107
|
+
this.noFixedCells.forEach((cell) => {
|
|
108
|
+
cell.draw();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
drawFixed() {
|
|
112
|
+
this.fixedCells.forEach((cell) => {
|
|
113
|
+
cell.draw();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
draw() {
|
|
117
|
+
this.noFixedCells.forEach((cell) => {
|
|
118
|
+
cell.draw();
|
|
119
|
+
});
|
|
120
|
+
this.fixedCells.forEach((cell) => {
|
|
121
|
+
cell.draw();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=Row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/Row.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Context from "./Context";
|
|
2
|
+
export type ScrollbarType = "horizontal" | "vertical";
|
|
3
|
+
export default class Scroller {
|
|
4
|
+
private ctx;
|
|
5
|
+
private verticalScrollbar;
|
|
6
|
+
private horizontalScrollbar;
|
|
7
|
+
constructor(ctx: Context);
|
|
8
|
+
onWheel(e: WheelEvent): void;
|
|
9
|
+
onMouseDown(e: MouseEvent): void;
|
|
10
|
+
onMouseMove(e: MouseEvent): void;
|
|
11
|
+
onMouseUp(): void;
|
|
12
|
+
draw(): void;
|
|
13
|
+
setScroll(x: number, y: number): void;
|
|
14
|
+
setScrollX(scrollX: number): void;
|
|
15
|
+
setScrollY(scrollY: number): void;
|
|
16
|
+
scrollToColkey(key: string): void;
|
|
17
|
+
scrollToColIndex(colIndex: number): void;
|
|
18
|
+
scrollToRowIndex(rowIndex: number): void;
|
|
19
|
+
scrollToRowKey(rowKey: string): void;
|
|
20
|
+
}
|