e-virt-table 1.4.1 → 1.4.2

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.
Files changed (41) hide show
  1. package/dist/index.cjs.js +14 -14
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.es.js +1003 -833
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.umd.js +14 -14
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/lib/Body.js +17 -17
  8. package/dist/lib/Body.js.map +1 -1
  9. package/dist/lib/Config.d.ts +6 -0
  10. package/dist/lib/Config.js +21 -0
  11. package/dist/lib/Config.js.map +1 -1
  12. package/dist/lib/Context.d.ts +11 -0
  13. package/dist/lib/Context.js +49 -3
  14. package/dist/lib/Context.js.map +1 -1
  15. package/dist/lib/EVirtTable.d.ts +6 -0
  16. package/dist/lib/EVirtTable.js +12 -2
  17. package/dist/lib/EVirtTable.js.map +1 -1
  18. package/dist/lib/Editor.js +21 -18
  19. package/dist/lib/Editor.js.map +1 -1
  20. package/dist/lib/Empty.js +1 -1
  21. package/dist/lib/Empty.js.map +1 -1
  22. package/dist/lib/EventBrowser.js +10 -2
  23. package/dist/lib/EventBrowser.js.map +1 -1
  24. package/dist/lib/Header.js +12 -10
  25. package/dist/lib/Header.js.map +1 -1
  26. package/dist/lib/Overlayer.js +4 -11
  27. package/dist/lib/Overlayer.js.map +1 -1
  28. package/dist/lib/Paint.d.ts +1 -1
  29. package/dist/lib/Paint.js +3 -2
  30. package/dist/lib/Paint.js.map +1 -1
  31. package/dist/lib/Scroller.js +12 -4
  32. package/dist/lib/Scroller.js.map +1 -1
  33. package/dist/lib/TextSelector.d.ts +13 -16
  34. package/dist/lib/TextSelector.js +150 -119
  35. package/dist/lib/TextSelector.js.map +1 -1
  36. package/dist/lib/Tooltip.js +7 -13
  37. package/dist/lib/Tooltip.js.map +1 -1
  38. package/dist/lib/ZoomScale.d.ts +55 -0
  39. package/dist/lib/ZoomScale.js +137 -0
  40. package/dist/lib/ZoomScale.js.map +1 -0
  41. package/package.json +1 -1
@@ -128,8 +128,9 @@ class Scrollbar {
128
128
  }
129
129
  onTouchmove(e) {
130
130
  const { clientY, clientX } = e.touches[0];
131
- const deltaY = clientY - this.clientY; // 计算滑动距离
132
- const deltaX = clientX - this.clientX; // 计算滑动距离
131
+ // 物理滑动距离换算为逻辑距离
132
+ const deltaY = this.ctx.zoomScale.toLogical(clientY - this.clientY);
133
+ const deltaX = this.ctx.zoomScale.toLogical(clientX - this.clientX);
133
134
  let scroll = 0;
134
135
  if (this.type === 'vertical') {
135
136
  scroll = Math.max(0, Math.min(this.dragStart - deltaY, this.distance));
@@ -165,7 +166,10 @@ class Scrollbar {
165
166
  if (this.ctx.stageElement.style.cursor === 'col-resize') {
166
167
  return true;
167
168
  }
168
- const { offsetX, offsetY, clientX, clientY } = e;
169
+ const { clientX, clientY } = e;
170
+ // 滚动条按逻辑坐标绘制,鼠标 offset 是物理像素,需换算
171
+ const offsetX = this.ctx.zoomScale.toLogical(e.offsetX);
172
+ const offsetY = this.ctx.zoomScale.toLogical(e.offsetY);
169
173
  if (clientX == this.clientX && clientY == this.clientY)
170
174
  return;
171
175
  if (this.isOnScrollbar(offsetX, offsetY)) {
@@ -200,7 +204,9 @@ class Scrollbar {
200
204
  this.clientY = 0;
201
205
  }
202
206
  onMouseMove(e) {
203
- const { offsetX, offsetY, clientX, clientY, buttons } = e;
207
+ const { clientX, clientY, buttons } = e;
208
+ const offsetX = this.ctx.zoomScale.toLogical(e.offsetX);
209
+ const offsetY = this.ctx.zoomScale.toLogical(e.offsetY);
204
210
  // 没有鼠标按下时不处理,要重置抬起事件
205
211
  // 悬浮提示
206
212
  if (this.isOnScrollbar(offsetX, offsetY) && e.target === this.ctx.canvasElement) {
@@ -222,6 +228,8 @@ class Scrollbar {
222
228
  else {
223
229
  offset = clientY - this.clientY;
224
230
  }
231
+ // 物理位移换算为逻辑位移
232
+ offset = this.ctx.zoomScale.toLogical(offset);
225
233
  if (this.isDragging && offset !== 0) {
226
234
  // scroll= 开始滚动条位置+(鼠标移动的距离/可见区域的长度)*滚动条的长度
227
235
  let scroll = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"Scroller.js","sourceRoot":"","sources":["../../src/Scroller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scroller.js","sourceRoot":"","sources":["../../src/Scroller.ts"],"names":[],"mappings":"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"}
@@ -60,36 +60,33 @@ export type TextLayout = {
60
60
  ellipsis: boolean;
61
61
  };
62
62
  export default class TextSelector {
63
+ private static readonly DRAG_THRESHOLD;
63
64
  private ctx;
64
65
  private layouts;
65
66
  private activeCellKey;
66
67
  private selectionStart;
67
68
  private selectionEnd;
68
- private dragging;
69
+ private pending;
69
70
  constructor(ctx: Context);
70
- /** 是否允许进行文字选择(开启配置且不在编辑/查找状态) */
71
71
  private get canSelect();
72
+ /** 跨表头列或从表头拖入 body 时,让位给列/区域选择 */
73
+ private yieldToColumnDrag;
74
+ private onMouseDown;
75
+ private onMouseMove;
76
+ private tryStartDrag;
77
+ private onMouseUp;
78
+ private onCopyKeydown;
72
79
  /**
73
- * 在所有已注册的文字 layout(body/header/footer)中命中鼠标位置,返回命中的单元格 key 与字符索引。
74
- * 由于固定列/表头会后绘制并覆盖普通单元格,这里取最后一个命中的 layout 作为最顶层结果。
75
- */
76
- private hitTestLayouts;
77
- /** 同步选中文本并触发重绘 */
78
- private syncSelection;
79
- private init;
80
- /**
81
- * 命中测试,返回字符索引
80
+ * 命中最顶层文字(固定列/表头后绘制会覆盖普通单元格,取最后一个命中)。
82
81
  */
82
+ private hitTest;
83
+ private updateSelection;
83
84
  private hitTestText;
84
- registerLayout(cellKey: string, layout: TextLayout): void;
85
85
  clearLayouts(): void;
86
86
  draw(): void;
87
- /**
88
- * 绘制文字选中高亮
89
- */
90
87
  private drawTextSelection;
91
88
  private getSelectionRange;
92
89
  private getSelectedText;
93
- private clearSelection;
90
+ private resetSelection;
94
91
  destroy(): void;
95
92
  }
@@ -1,4 +1,4 @@
1
- export default class TextSelector {
1
+ class TextSelector {
2
2
  constructor(ctx) {
3
3
  Object.defineProperty(this, "ctx", {
4
4
  enumerable: true,
@@ -30,24 +30,123 @@ export default class TextSelector {
30
30
  writable: true,
31
31
  value: null
32
32
  });
33
- Object.defineProperty(this, "dragging", {
33
+ Object.defineProperty(this, "pending", {
34
34
  enumerable: true,
35
35
  configurable: true,
36
36
  writable: true,
37
- value: false
37
+ value: null
38
38
  });
39
39
  this.ctx = ctx;
40
- this.init();
40
+ this.ctx.on('registerTextLayout', (key, layout) => this.layouts.set(key, layout));
41
+ this.ctx.on('mousedown', (e) => this.onMouseDown(e));
42
+ this.ctx.on('mousemove', (e) => this.onMouseMove(e));
43
+ this.ctx.on('mouseup', () => this.onMouseUp());
44
+ this.ctx.on('cellHeaderHoverChange', (cell) => this.yieldToColumnDrag(cell));
45
+ this.ctx.on('cellHoverChange', () => this.yieldToColumnDrag());
46
+ this.ctx.on('keydown', (e) => this.onCopyKeydown(e));
47
+ this.ctx.on('outsideMousedown', () => this.resetSelection());
41
48
  }
42
- /** 是否允许进行文字选择(开启配置且不在编辑/查找状态) */
43
49
  get canSelect() {
44
50
  return this.ctx.config.ENABLE_TEXT_SELECTION && !this.ctx.editing && !this.ctx.finding;
45
51
  }
52
+ /** 跨表头列或从表头拖入 body 时,让位给列/区域选择 */
53
+ yieldToColumnDrag(target) {
54
+ const anchor = this.ctx.focusCellHeader;
55
+ if (!this.ctx.textSelecting || !anchor) {
56
+ return;
57
+ }
58
+ if (target) {
59
+ const min = anchor.colIndex;
60
+ const max = anchor.colIndex + anchor.colspan - 1;
61
+ const tMin = target.colIndex;
62
+ const tMax = target.colIndex + target.colspan - 1;
63
+ if (tMin >= min && tMax <= max) {
64
+ return;
65
+ }
66
+ }
67
+ this.resetSelection();
68
+ }
69
+ onMouseDown(e) {
70
+ if (!this.canSelect || !this.ctx.isTarget(e)) {
71
+ return;
72
+ }
73
+ if (!this.ctx.containerElement.contains(document.activeElement)) {
74
+ this.ctx.containerElement.focus({ preventScroll: true });
75
+ }
76
+ const hit = this.hitTest(e);
77
+ if (!hit) {
78
+ this.resetSelection();
79
+ return;
80
+ }
81
+ const { offsetX, offsetY } = this.ctx.getOffset(e);
82
+ this.pending = { cellKey: hit.cellKey, index: hit.index, startX: offsetX, startY: offsetY };
83
+ }
84
+ onMouseMove(e) {
85
+ if (!this.canSelect) {
86
+ return;
87
+ }
88
+ if (!this.ctx.textSelecting) {
89
+ this.tryStartDrag(e);
90
+ }
91
+ if (!this.ctx.textSelecting) {
92
+ return;
93
+ }
94
+ const layout = this.layouts.get(this.activeCellKey);
95
+ if (!layout) {
96
+ return;
97
+ }
98
+ const { offsetX, offsetY } = this.ctx.getOffset(e);
99
+ const index = this.hitTestText(layout, offsetX, offsetY);
100
+ if (index !== null) {
101
+ this.selectionEnd = index;
102
+ this.updateSelection();
103
+ }
104
+ }
105
+ tryStartDrag(e) {
106
+ if (!this.pending || !this.ctx.mousedown) {
107
+ return;
108
+ }
109
+ const { offsetX, offsetY } = this.ctx.getOffset(e);
110
+ const dx = Math.abs(offsetX - this.pending.startX);
111
+ const dy = Math.abs(offsetY - this.pending.startY);
112
+ if (dx < TextSelector.DRAG_THRESHOLD && dy < TextSelector.DRAG_THRESHOLD) {
113
+ return;
114
+ }
115
+ const hit = this.hitTest(e);
116
+ if (!hit || hit.cellKey !== this.pending.cellKey) {
117
+ this.pending = null;
118
+ return;
119
+ }
120
+ this.activeCellKey = this.pending.cellKey;
121
+ this.selectionStart = this.pending.index;
122
+ this.selectionEnd = hit.index;
123
+ this.pending = null;
124
+ this.ctx.textSelecting = true;
125
+ this.updateSelection();
126
+ }
127
+ onMouseUp() {
128
+ this.pending = null;
129
+ this.ctx.textSelecting = false;
130
+ this.ctx.textSelectionStr = this.getSelectedText();
131
+ if (this.ctx.textSelectionStr) {
132
+ this.ctx.emit('drawView');
133
+ }
134
+ }
135
+ onCopyKeydown(e) {
136
+ if (!this.canSelect || !((e.ctrlKey || e.metaKey) && e.code === 'KeyC')) {
137
+ return;
138
+ }
139
+ const text = this.getSelectedText();
140
+ if (!text) {
141
+ return;
142
+ }
143
+ e.preventDefault();
144
+ navigator.clipboard?.writeText(text).catch((error) => console.error('Copy Failure:', error));
145
+ }
46
146
  /**
47
- * 在所有已注册的文字 layout(body/header/footer)中命中鼠标位置,返回命中的单元格 key 与字符索引。
48
- * 由于固定列/表头会后绘制并覆盖普通单元格,这里取最后一个命中的 layout 作为最顶层结果。
147
+ * 命中最顶层文字(固定列/表头后绘制会覆盖普通单元格,取最后一个命中)。
49
148
  */
50
- hitTestLayouts(e) {
149
+ hitTest(e) {
51
150
  const { offsetX, offsetY } = this.ctx.getOffset(e);
52
151
  let hit = null;
53
152
  for (const [cellKey, layout] of this.layouts) {
@@ -58,105 +157,42 @@ export default class TextSelector {
58
157
  }
59
158
  return hit;
60
159
  }
61
- /** 同步选中文本并触发重绘 */
62
- syncSelection() {
160
+ updateSelection() {
63
161
  this.ctx.textSelectionStr = this.getSelectedText();
64
162
  this.ctx.emit('drawView');
65
163
  }
66
- init() {
67
- this.ctx.on('registerTextLayout', (cellKey, layout) => {
68
- this.registerLayout(cellKey, layout);
69
- });
70
- this.ctx.on('mousedown', (e) => {
71
- if (!this.canSelect || !this.ctx.isTarget(e)) {
72
- return;
73
- }
74
- if (!this.ctx.containerElement.contains(document.activeElement)) {
75
- this.ctx.containerElement.focus({ preventScroll: true });
76
- }
77
- const hit = this.hitTestLayouts(e);
78
- if (!hit) {
79
- this.clearSelection();
80
- return;
81
- }
82
- this.activeCellKey = hit.cellKey;
83
- this.selectionStart = hit.index;
84
- this.selectionEnd = hit.index;
85
- this.dragging = true;
86
- this.ctx.textSelecting = true;
87
- this.syncSelection();
88
- });
89
- this.ctx.on('mousemove', (e) => {
90
- if (!this.canSelect || !this.dragging) {
91
- return;
92
- }
93
- // 拖拽选区限制在起始单元格内
94
- const layout = this.layouts.get(this.activeCellKey);
95
- if (!layout) {
96
- return;
97
- }
98
- const { offsetX, offsetY } = this.ctx.getOffset(e);
99
- const index = this.hitTestText(layout, offsetX, offsetY);
100
- if (index === null) {
101
- return;
102
- }
103
- this.selectionEnd = index;
104
- this.syncSelection();
105
- });
106
- this.ctx.on('mouseup', () => {
107
- this.dragging = false;
108
- this.ctx.textSelecting = false;
109
- this.ctx.textSelectionStr = this.getSelectedText();
110
- if (this.ctx.textSelectionStr) {
111
- this.ctx.emit('drawView');
112
- }
113
- });
114
- this.ctx.on('keydown', (e) => {
115
- console.log('keydown');
116
- if (!this.canSelect || !((e.ctrlKey || e.metaKey) && e.code === 'KeyC')) {
117
- return;
118
- }
119
- const text = this.getSelectedText();
120
- if (!text) {
121
- return;
122
- }
123
- e.preventDefault();
124
- navigator.clipboard?.writeText(text).catch((error) => console.error('Copy Failure:', error));
125
- });
126
- this.ctx.on('outsideMousedown', () => {
127
- this.clearSelection();
128
- });
129
- }
130
- /**
131
- * 命中测试,返回字符索引
132
- */
133
164
  hitTestText(layout, mouseX, mouseY) {
134
- const { contentBox, lines, glyphs, contentY, lineHeight } = layout;
135
- if (mouseX < contentBox.x ||
136
- mouseX > contentBox.x + contentBox.width ||
137
- mouseY < contentBox.y ||
138
- mouseY > contentBox.y + contentBox.height) {
165
+ const { glyphs, contentY, lineHeight, lines } = layout;
166
+ if (!glyphs.length) {
167
+ return null;
168
+ }
169
+ const lineIndex = Math.floor((mouseY - contentY) / lineHeight);
170
+ if (lineIndex < 0 || lineIndex >= lines.length) {
139
171
  return null;
140
172
  }
141
- const relativeY = mouseY - contentY;
142
- const lineIndex = Math.max(0, Math.min(Math.floor(relativeY / lineHeight), lines.length - 1));
143
- const line = lines[lineIndex];
144
- const lineGlyphs = glyphs.filter((glyph) => glyph.line === lineIndex);
173
+ const lineGlyphs = glyphs.filter((g) => g.line === lineIndex);
145
174
  if (!lineGlyphs.length) {
146
- return line.caretIndex;
175
+ return null;
176
+ }
177
+ const pad = 2;
178
+ const lineTop = contentY + lineIndex * lineHeight;
179
+ if (mouseY < lineTop - pad || mouseY >= lineTop + lineHeight + pad) {
180
+ return null;
147
181
  }
148
- if (mouseX <= lineGlyphs[0].x) {
149
- return lineGlyphs[0].index;
182
+ const first = lineGlyphs[0];
183
+ const last = lineGlyphs[lineGlyphs.length - 1];
184
+ if (mouseX < first.x - pad || mouseX > last.x + last.width + pad) {
185
+ return null;
186
+ }
187
+ if (mouseX <= first.x) {
188
+ return first.index;
150
189
  }
151
190
  for (const glyph of lineGlyphs) {
152
191
  if (mouseX < glyph.x + glyph.width / 2) {
153
192
  return glyph.index;
154
193
  }
155
194
  }
156
- return lineGlyphs[lineGlyphs.length - 1].index + 1;
157
- }
158
- registerLayout(cellKey, layout) {
159
- this.layouts.set(cellKey, layout);
195
+ return last.index + 1;
160
196
  }
161
197
  clearLayouts() {
162
198
  this.layouts.clear();
@@ -166,18 +202,11 @@ export default class TextSelector {
166
202
  return;
167
203
  }
168
204
  const range = this.getSelectionRange();
169
- if (!range) {
170
- return;
205
+ const layout = range && this.layouts.get(this.activeCellKey);
206
+ if (layout) {
207
+ this.drawTextSelection(layout, range);
171
208
  }
172
- const layout = this.layouts.get(this.activeCellKey);
173
- if (!layout) {
174
- return;
175
- }
176
- this.drawTextSelection(layout, range);
177
209
  }
178
- /**
179
- * 绘制文字选中高亮
180
- */
181
210
  drawTextSelection(layout, range, selectedColor = '#fff', selectionBgColor = '#3b82f6') {
182
211
  if (range.start >= range.end) {
183
212
  return;
@@ -187,13 +216,9 @@ export default class TextSelector {
187
216
  if (glyph.index < range.start || glyph.index >= range.end) {
188
217
  continue;
189
218
  }
190
- const lineGlyphs = byLine.get(glyph.line);
191
- if (lineGlyphs) {
192
- lineGlyphs.push(glyph);
193
- }
194
- else {
195
- byLine.set(glyph.line, [glyph]);
196
- }
219
+ const list = byLine.get(glyph.line) ?? [];
220
+ list.push(glyph);
221
+ byLine.set(glyph.line, list);
197
222
  }
198
223
  if (!byLine.size) {
199
224
  return;
@@ -207,7 +232,7 @@ export default class TextSelector {
207
232
  const first = lineGlyphs[0];
208
233
  const last = lineGlyphs[lineGlyphs.length - 1];
209
234
  ctx.fillStyle = selectionBgColor;
210
- ctx.fillRect(first.x, first.y, last.x + last.width - first.x, first.height);
235
+ ctx.fillRect(first.x, first.y - 1, last.x + last.width - first.x, first.height);
211
236
  ctx.fillStyle = selectedColor;
212
237
  for (const glyph of lineGlyphs) {
213
238
  ctx.fillText(glyph.char, glyph.x, glyph.y);
@@ -226,25 +251,31 @@ export default class TextSelector {
226
251
  }
227
252
  getSelectedText() {
228
253
  const range = this.getSelectionRange();
229
- if (!range || range.start >= range.end) {
230
- return '';
231
- }
232
- const layout = this.layouts.get(this.activeCellKey);
233
- if (!layout) {
254
+ const layout = range && this.layouts.get(this.activeCellKey);
255
+ if (!layout || range.start >= range.end) {
234
256
  return '';
235
257
  }
236
258
  return layout.chars.slice(range.start, range.end).join('');
237
259
  }
238
- clearSelection() {
260
+ resetSelection() {
239
261
  this.activeCellKey = '';
240
262
  this.selectionStart = null;
241
263
  this.selectionEnd = null;
242
- this.dragging = false;
264
+ this.pending = null;
265
+ this.ctx.textSelecting = false;
243
266
  this.ctx.textSelectionStr = '';
267
+ this.ctx.emit('drawView');
244
268
  }
245
269
  destroy() {
246
270
  this.layouts.clear();
247
- this.clearSelection();
271
+ this.resetSelection();
248
272
  }
249
273
  }
274
+ Object.defineProperty(TextSelector, "DRAG_THRESHOLD", {
275
+ enumerable: true,
276
+ configurable: true,
277
+ writable: true,
278
+ value: 4
279
+ });
280
+ export default TextSelector;
250
281
  //# sourceMappingURL=TextSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextSelector.js","sourceRoot":"","sources":["../../src/TextSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextSelector.js","sourceRoot":"","sources":["../../src/TextSelector.ts"],"names":[],"mappings":"AAyDA,MAAqB,YAAY;IAS7B,YAAY,GAAY;QAPhB;;;;;WAAa;QACb;;;;mBAAU,IAAI,GAAG,EAAsB;WAAC;QACxC;;;;mBAAgB,EAAE;WAAC;QACnB;;;;mBAAgC,IAAI;WAAC;QACrC;;;;mBAA8B,IAAI;WAAC;QACnC;;;;mBAAgC,IAAI;WAAC;QAGzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAY,SAAS;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC3F,CAAC;IAED,kCAAkC;IAC1B,iBAAiB,CAAC,MAAmB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YAClD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAC7B,OAAO;YACX,CAAC;QACL,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,WAAW,CAAC,CAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC;IAEO,WAAW,CAAC,CAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,CAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,EAAE,GAAG,YAAY,CAAC,cAAc,IAAI,EAAE,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACvE,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,CAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YACtE,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,CAAa;QACzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,GAAmB,IAAI,CAAC;QAC/B,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAEO,WAAW,CAAC,MAAkB,EAAE,MAAc,EAAE,MAAc;QAClE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;QAClD,IAAI,MAAM,GAAG,OAAO,GAAG,GAAG,IAAI,MAAM,IAAI,OAAO,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC,KAAK,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY;QACR,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAEO,iBAAiB,CACrB,MAAkB,EAClB,KAAyB,EACzB,aAAa,GAAG,MAAM,EACtB,gBAAgB,GAAG,SAAS;QAE5B,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACxD,SAAS;YACb,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QACzB,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,SAAS,GAAG,gBAAgB,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChF,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC7B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;YACvD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;SACxD,CAAC;IACN,CAAC;IAEO,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;;AAxQuB;;;;WAAiB,CAAC;EAAJ,CAAK;eAD1B,YAAY"}
@@ -173,21 +173,15 @@ export default class Tooltip {
173
173
  this.contentEl.style.wordBreak = 'break-all';
174
174
  this.contentEl.style.lineHeight = '1.5';
175
175
  this.contentEl.innerText = text;
176
- const cellX = cell.drawX + targetRect.x;
177
- const cellY = cell.drawY + targetRect.y;
178
- // 这个是相对于视口的位置
176
+ const viewportRect = this.ctx.zoomScale.getViewportRect({
177
+ x: cell.drawX,
178
+ y: cell.drawY,
179
+ width: cell.visibleWidth,
180
+ height: cell.visibleHeight,
181
+ }, targetRect);
179
182
  const virtualEl = {
180
183
  getBoundingClientRect() {
181
- return {
182
- width: cell.visibleWidth,
183
- height: cell.visibleHeight,
184
- x: cellX,
185
- y: cellY,
186
- left: cellX,
187
- right: cellX + cell.visibleWidth,
188
- top: cellY,
189
- bottom: cellY + cell.visibleHeight,
190
- };
184
+ return viewportRect;
191
185
  },
192
186
  };
193
187
  computePosition(virtualEl, this.floatingEl, {