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.
Files changed (90) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/dist/index.cjs.js +14 -0
  4. package/dist/index.cjs.js.map +1 -0
  5. package/dist/index.es.js +5422 -0
  6. package/dist/index.es.js.map +1 -0
  7. package/dist/index.umd.js +14 -0
  8. package/dist/index.umd.js.map +1 -0
  9. package/dist/lib/Autofill.d.ts +20 -0
  10. package/dist/lib/Autofill.js +185 -0
  11. package/dist/lib/Autofill.js.map +1 -0
  12. package/dist/lib/BaseCell.d.ts +22 -0
  13. package/dist/lib/BaseCell.js +111 -0
  14. package/dist/lib/BaseCell.js.map +1 -0
  15. package/dist/lib/Body.d.ts +29 -0
  16. package/dist/lib/Body.js +382 -0
  17. package/dist/lib/Body.js.map +1 -0
  18. package/dist/lib/Cell.d.ts +101 -0
  19. package/dist/lib/Cell.js +943 -0
  20. package/dist/lib/Cell.js.map +1 -0
  21. package/dist/lib/CellHeader.d.ts +64 -0
  22. package/dist/lib/CellHeader.js +355 -0
  23. package/dist/lib/CellHeader.js.map +1 -0
  24. package/dist/lib/Config.d.ts +106 -0
  25. package/dist/lib/Config.js +617 -0
  26. package/dist/lib/Config.js.map +1 -0
  27. package/dist/lib/Context.d.ts +123 -0
  28. package/dist/lib/Context.js +419 -0
  29. package/dist/lib/Context.js.map +1 -0
  30. package/dist/lib/Database.d.ts +228 -0
  31. package/dist/lib/Database.js +931 -0
  32. package/dist/lib/Database.js.map +1 -0
  33. package/dist/lib/EVirtTable.d.ts +61 -0
  34. package/dist/lib/EVirtTable.js +321 -0
  35. package/dist/lib/EVirtTable.js.map +1 -0
  36. package/dist/lib/Editor.d.ts +16 -0
  37. package/dist/lib/Editor.js +251 -0
  38. package/dist/lib/Editor.js.map +1 -0
  39. package/dist/lib/Empty.d.ts +7 -0
  40. package/dist/lib/Empty.js +45 -0
  41. package/dist/lib/Empty.js.map +1 -0
  42. package/dist/lib/EventBrowser.d.ts +17 -0
  43. package/dist/lib/EventBrowser.js +79 -0
  44. package/dist/lib/EventBrowser.js.map +1 -0
  45. package/dist/lib/EventBus.d.ts +12 -0
  46. package/dist/lib/EventBus.js +58 -0
  47. package/dist/lib/EventBus.js.map +1 -0
  48. package/dist/lib/EventTable.d.ts +26 -0
  49. package/dist/lib/EventTable.js +358 -0
  50. package/dist/lib/EventTable.js.map +1 -0
  51. package/dist/lib/Footer.d.ts +17 -0
  52. package/dist/lib/Footer.js +138 -0
  53. package/dist/lib/Footer.js.map +1 -0
  54. package/dist/lib/Header.d.ts +37 -0
  55. package/dist/lib/Header.js +482 -0
  56. package/dist/lib/Header.js.map +1 -0
  57. package/dist/lib/History.d.ts +27 -0
  58. package/dist/lib/History.js +106 -0
  59. package/dist/lib/History.js.map +1 -0
  60. package/dist/lib/Icons.d.ts +15 -0
  61. package/dist/lib/Icons.js +145 -0
  62. package/dist/lib/Icons.js.map +1 -0
  63. package/dist/lib/Overlayer.d.ts +10 -0
  64. package/dist/lib/Overlayer.js +267 -0
  65. package/dist/lib/Overlayer.js.map +1 -0
  66. package/dist/lib/Paint.d.ts +65 -0
  67. package/dist/lib/Paint.js +223 -0
  68. package/dist/lib/Paint.js.map +1 -0
  69. package/dist/lib/Row.d.ts +22 -0
  70. package/dist/lib/Row.js +125 -0
  71. package/dist/lib/Row.js.map +1 -0
  72. package/dist/lib/Scroller.d.ts +20 -0
  73. package/dist/lib/Scroller.js +448 -0
  74. package/dist/lib/Scroller.js.map +1 -0
  75. package/dist/lib/Selector.d.ts +38 -0
  76. package/dist/lib/Selector.js +532 -0
  77. package/dist/lib/Selector.js.map +1 -0
  78. package/dist/lib/Tooltip.d.ts +13 -0
  79. package/dist/lib/Tooltip.js +204 -0
  80. package/dist/lib/Tooltip.js.map +1 -0
  81. package/dist/lib/index.d.ts +3 -0
  82. package/dist/lib/index.js +4 -0
  83. package/dist/lib/index.js.map +1 -0
  84. package/dist/lib/types.d.ts +160 -0
  85. package/dist/lib/types.js +2 -0
  86. package/dist/lib/types.js.map +1 -0
  87. package/dist/lib/util.d.ts +15 -0
  88. package/dist/lib/util.js +113 -0
  89. package/dist/lib/util.js.map +1 -0
  90. package/package.json +37 -0
@@ -0,0 +1,532 @@
1
+ export default class Selector {
2
+ constructor(ctx) {
3
+ Object.defineProperty(this, "isCut", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: false
8
+ });
9
+ Object.defineProperty(this, "isMultipleRow", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: false
14
+ });
15
+ Object.defineProperty(this, "ctx", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ this.ctx = ctx;
22
+ this.init();
23
+ }
24
+ init() {
25
+ this.ctx.on("cellHoverChange", (cell) => {
26
+ // 如果是自动填充移动就不处理
27
+ if (this.ctx.autofillMove) {
28
+ return;
29
+ }
30
+ if (["index-selection", "selection", "index"].includes(cell.type)) {
31
+ this.selectRows(cell, false);
32
+ // 如果是自动填充就不处理
33
+ return;
34
+ }
35
+ // 多选行
36
+ if (this.isMultipleRow) {
37
+ return;
38
+ }
39
+ this.mouseenter();
40
+ });
41
+ this.ctx.on("cellMousedown", (cell, e) => {
42
+ if (!this.ctx.isTarget(e.target)) {
43
+ return;
44
+ }
45
+ // 如果是选中就不处理,比如chexkbox
46
+ if (this.ctx.target.style.cursor === "pointer") {
47
+ return;
48
+ }
49
+ if (this.ctx.isPointer) {
50
+ return;
51
+ }
52
+ // 如果是填充返回
53
+ if (this.ctx.target.style.cursor === "crosshair") {
54
+ return;
55
+ }
56
+ if (["index-selection", "selection", "index"].includes(cell.type)) {
57
+ this.isMultipleRow = true;
58
+ this.selectRows(cell);
59
+ return;
60
+ }
61
+ this.isMultipleRow = false;
62
+ this.click(e.shiftKey);
63
+ });
64
+ this.ctx.on("cellHeaderHoverChange", (cell) => {
65
+ if (this.ctx.mousedown) {
66
+ this.selectCols(cell);
67
+ }
68
+ });
69
+ this.ctx.on("cellHeaderMousedown", (cell) => {
70
+ // 如果是选中就不处理,比如chexkbox
71
+ if (this.ctx.target.style.cursor === "pointer") {
72
+ return;
73
+ }
74
+ if (this.ctx.isPointer) {
75
+ return;
76
+ }
77
+ this.selectCols(cell);
78
+ });
79
+ this.ctx.on("keydown", (e) => {
80
+ // CTRL+C/Command+C
81
+ if ((e.ctrlKey && e.code === "KeyV") ||
82
+ (e.metaKey && e.code === "KeyV")) {
83
+ // e.preventDefault() // 注意:这里一定不能阻止默认事件,因为粘贴功能依赖原生的paste事件
84
+ this.paste();
85
+ return;
86
+ }
87
+ if ((e.ctrlKey && e.code === "KeyC") ||
88
+ (e.metaKey && e.code === "KeyC")) {
89
+ e.preventDefault();
90
+ this.copy();
91
+ this.isCut = false;
92
+ return;
93
+ }
94
+ // CTRL+X/Command+X
95
+ if ((e.ctrlKey && e.code === "KeyX") ||
96
+ (e.metaKey && e.code === "KeyX")) {
97
+ e.preventDefault();
98
+ this.isCut = true;
99
+ this.copy();
100
+ return;
101
+ }
102
+ // CTRL+A/Command+A
103
+ if ((e.ctrlKey && e.code === "KeyA") ||
104
+ (e.metaKey && e.code === "KeyA")) {
105
+ e.preventDefault();
106
+ this.selectAll();
107
+ }
108
+ if (e.code === "ArrowLeft") {
109
+ e.preventDefault();
110
+ this.moveFocus("LEFT");
111
+ return;
112
+ }
113
+ if (e.code === "ArrowUp") {
114
+ e.preventDefault();
115
+ this.moveFocus("TOP");
116
+ return;
117
+ }
118
+ if (e.code === "ArrowRight" || e.code === "Tab") {
119
+ e.preventDefault();
120
+ this.moveFocus("RIGHT");
121
+ return;
122
+ }
123
+ if (e.code === "ArrowDown") {
124
+ e.preventDefault();
125
+ this.moveFocus("BOTTOM");
126
+ return;
127
+ }
128
+ if (e.code === "Delete" || e.code === "Backspace") {
129
+ e.preventDefault();
130
+ const { xArr, yArr } = this.ctx.selector;
131
+ this.clearSelectedData(xArr, yArr);
132
+ return;
133
+ }
134
+ });
135
+ }
136
+ setSelector(xArr, yArr) {
137
+ const { ENABLE_SELECTOR_SPAN_COL, ENABLE_SELECTOR_SPAN_ROW } = this.ctx.config;
138
+ let _xArr = xArr;
139
+ let _yArr = yArr;
140
+ if (!ENABLE_SELECTOR_SPAN_ROW) {
141
+ const [rowstart] = _yArr;
142
+ _yArr = [rowstart, rowstart];
143
+ }
144
+ if (!ENABLE_SELECTOR_SPAN_COL) {
145
+ const [colstart] = _xArr;
146
+ _xArr = [colstart, colstart];
147
+ }
148
+ // 减少渲染
149
+ if (JSON.stringify(this.ctx.selector.xArr) !== JSON.stringify(_xArr) ||
150
+ JSON.stringify(this.ctx.selector.yArr) !== JSON.stringify(_yArr)) {
151
+ this.ctx.selector.enable = true;
152
+ this.ctx.selector.xArr = _xArr;
153
+ this.ctx.selector.yArr = _yArr;
154
+ this.ctx.emit("setSelector", this.ctx.selector);
155
+ this.ctx.emit("draw");
156
+ }
157
+ }
158
+ selectCols(cell) {
159
+ // 如果是拖拽改变列宽就不处理
160
+ if (this.ctx.columnResizing) {
161
+ return;
162
+ }
163
+ // 启用单选就不能批量选中
164
+ if (this.ctx.config.ENABLE_SELECTOR_SINGLE) {
165
+ return;
166
+ }
167
+ if (!this.ctx.config.ENABLE_SELECTOR_ALL_ROWS) {
168
+ return;
169
+ }
170
+ // index, index-selection, selection全选
171
+ if (["index", "index-selection", "selection"].includes(cell.type)) {
172
+ this.selectAll();
173
+ return;
174
+ }
175
+ const minY = 0;
176
+ const maxY = this.ctx.maxRowIndex;
177
+ if (this.ctx.mousedown && this.ctx.focusCellHeader) {
178
+ const { colIndex } = this.ctx.focusCellHeader;
179
+ if (cell.colIndex >= colIndex) {
180
+ const xArr = [colIndex, cell.colIndex + cell.colspan - 1];
181
+ const yArr = [minY, maxY];
182
+ this.setSelector(xArr, yArr);
183
+ }
184
+ else {
185
+ const xArr = [cell.colIndex, colIndex];
186
+ const yArr = [minY, maxY];
187
+ this.setSelector(xArr, yArr);
188
+ }
189
+ }
190
+ else {
191
+ // this.setFocusCellHeader(cell);
192
+ const xArr = [cell.colIndex, cell.colIndex + cell.colspan - 1];
193
+ const yArr = [minY, maxY];
194
+ this.setSelector(xArr, yArr);
195
+ }
196
+ }
197
+ selectAll() {
198
+ // 只有两个全选启用了才能全选
199
+ const { ENABLE_SELECTOR_ALL_ROWS, ENABLE_SELECTOR_ALL_COLS } = this.ctx.config;
200
+ if (ENABLE_SELECTOR_ALL_ROWS && ENABLE_SELECTOR_ALL_COLS) {
201
+ const minX = 0;
202
+ const maxX = this.ctx.maxColIndex;
203
+ const minY = 0;
204
+ const maxY = this.ctx.maxRowIndex;
205
+ const xArr = [minX + 1, maxX];
206
+ const yArr = [minY, maxY];
207
+ this.setSelector(xArr, yArr);
208
+ }
209
+ }
210
+ selectRows(cell, isSetFocus = true) {
211
+ // 启用单选就不能批量选中
212
+ if (this.ctx.config.ENABLE_SELECTOR_SINGLE) {
213
+ return;
214
+ }
215
+ if (!this.ctx.config.ENABLE_SELECTOR_ALL_COLS) {
216
+ return;
217
+ }
218
+ const maxX = this.ctx.maxColIndex;
219
+ const minX = cell.colIndex + 1;
220
+ if (isSetFocus) {
221
+ this.ctx.setFocusCell(cell);
222
+ const xArr = [minX, maxX];
223
+ const yArr = [cell.rowIndex, cell.rowIndex];
224
+ this.setSelector(xArr, yArr);
225
+ }
226
+ if (this.ctx.focusCell && this.ctx.mousedown) {
227
+ const { rowIndex } = this.ctx.focusCell;
228
+ if (cell.rowIndex >= rowIndex) {
229
+ const xArr = [minX, maxX];
230
+ const yArr = [rowIndex, cell.rowIndex];
231
+ this.setSelector(xArr, yArr);
232
+ }
233
+ else {
234
+ const xArr = [minX, maxX];
235
+ const yArr = [cell.rowIndex, rowIndex];
236
+ this.setSelector(xArr, yArr);
237
+ }
238
+ }
239
+ }
240
+ mouseenter() {
241
+ if (this.ctx.config.ENABLE_SELECTOR_SINGLE) {
242
+ return;
243
+ }
244
+ const { mousedown, focusCell, hoverCell } = this.ctx;
245
+ if (mousedown && focusCell && hoverCell) {
246
+ const { rowIndex, colIndex } = focusCell;
247
+ const minX = Math.min(hoverCell.colIndex, colIndex);
248
+ const maxX = Math.max(hoverCell.colIndex, colIndex);
249
+ const minY = Math.min(hoverCell.rowIndex, rowIndex);
250
+ const maxY = Math.max(hoverCell.rowIndex, rowIndex);
251
+ const xArr = [minX, maxX];
252
+ const yArr = [minY, maxY];
253
+ this.setSelector(xArr, yArr);
254
+ }
255
+ }
256
+ click(shiftKey = false) {
257
+ const { focusCell, clickCell } = this.ctx;
258
+ if (!focusCell) {
259
+ return;
260
+ }
261
+ this.ctx.selector.enable = true;
262
+ if (clickCell && shiftKey) {
263
+ // shiftKey快捷选中
264
+ const { colIndex, rowIndex } = clickCell;
265
+ const { colIndex: oldX, rowIndex: oldY } = focusCell;
266
+ const minX = Math.min(oldX, colIndex);
267
+ const maxX = Math.max(oldX, colIndex);
268
+ const minY = Math.min(oldY, rowIndex);
269
+ const maxY = Math.max(oldY, rowIndex);
270
+ const xArr = [minX, maxX];
271
+ const yArr = [minY, maxY];
272
+ this.setSelector(xArr, yArr);
273
+ }
274
+ else {
275
+ this.ctx.emit("cellSelectedClick", focusCell);
276
+ const xArr = [focusCell.colIndex, focusCell.colIndex];
277
+ const yArr = [focusCell.rowIndex, focusCell.rowIndex];
278
+ this.setSelector(xArr, yArr);
279
+ this.adjustBoundaryPosition();
280
+ }
281
+ }
282
+ clearCopyLine() {
283
+ this.ctx.selector.xArrCopy = [-1, -1];
284
+ this.ctx.selector.yArrCopy = [-1, -1];
285
+ }
286
+ /**
287
+ * 获取选中单元格
288
+ * @param rowIndex
289
+ * @param colIndex
290
+ * @returns
291
+ */
292
+ getCell(rowIndex, colIndex) {
293
+ // 设置选中FocusCell
294
+ const row = this.ctx.body.renderRows.find((row) => row.rowIndex === rowIndex);
295
+ const cell = row?.cells.find((cell) => cell.colIndex === colIndex);
296
+ return cell;
297
+ }
298
+ /**
299
+ * 复制
300
+ * @returns
301
+ */
302
+ copy() {
303
+ if (!this.ctx.config.ENABLE_COPY) {
304
+ return;
305
+ }
306
+ const { text } = this.ctx.getSelectedData();
307
+ if (navigator.clipboard) {
308
+ navigator.clipboard
309
+ .writeText(text)
310
+ .then(() => {
311
+ // 处理复制线
312
+ this.ctx.selector.xArrCopy = this.ctx.selector.xArr.slice();
313
+ this.ctx.selector.yArrCopy = this.ctx.selector.yArr.slice();
314
+ this.ctx.emit("setCopy", this.ctx.selector);
315
+ this.ctx.emit("draw");
316
+ })
317
+ .catch((error) => console.error("复制失败:", error));
318
+ }
319
+ else {
320
+ console.error("当前浏览器不支持Clipboard API");
321
+ }
322
+ }
323
+ clearSelectedData(xArr, yArr, ignoreSet = false) {
324
+ let changeList = [];
325
+ const rowKeyList = new Set();
326
+ for (let ri = 0; ri <= yArr[1] - yArr[0]; ri++) {
327
+ for (let ci = 0; ci <= xArr[1] - xArr[0]; ci++) {
328
+ const _rowIndex = ri + yArr[0];
329
+ const _colIndex = ci + xArr[0];
330
+ const itemValue = this.ctx.database.getItemValueForRowIndexAndColIndex(_rowIndex, _colIndex);
331
+ if (itemValue) {
332
+ const { rowKey, key } = itemValue;
333
+ // 只读就跳过
334
+ if (!this.ctx.database.getReadonly(rowKey, key)) {
335
+ rowKeyList.add(rowKey);
336
+ changeList.push({
337
+ rowKey,
338
+ key,
339
+ value: null,
340
+ row: {}, //内部有设置
341
+ });
342
+ }
343
+ }
344
+ }
345
+ }
346
+ // 没有变化就返回
347
+ if (!changeList.length) {
348
+ return [];
349
+ }
350
+ // 忽略设置,只返回数据,用于cut
351
+ if (ignoreSet) {
352
+ return changeList;
353
+ }
354
+ // 批量设置数据,并记录历史
355
+ this.ctx.database.batchSetItemValue(changeList, true);
356
+ let rows = [];
357
+ rowKeyList.forEach((rowKey) => {
358
+ rows.push(this.ctx.database.getRowDataItemForRowKey(rowKey));
359
+ });
360
+ this.ctx.emit("clearSelectedDataChange", changeList, rows);
361
+ this.ctx.emit("draw");
362
+ return changeList;
363
+ }
364
+ paste() {
365
+ if (!navigator.clipboard) {
366
+ console.error("当前浏览器不支持Clipboard API");
367
+ return;
368
+ }
369
+ const { ENABLE_PASTER } = this.ctx.config;
370
+ if (this.ctx.selector.enable && ENABLE_PASTER) {
371
+ const rowIndex = this.ctx.selector.yArr[0];
372
+ const colIndex = this.ctx.selector.xArr[0];
373
+ const rowKeyList = new Set();
374
+ navigator.clipboard
375
+ .readText()
376
+ .then((val) => {
377
+ let textArr = [];
378
+ const arr = val.split("\r");
379
+ if (arr.length === 1) {
380
+ const _arr = arr[0].split("\n");
381
+ textArr = _arr.map((item) => item.split("\t"));
382
+ }
383
+ else {
384
+ textArr = arr.map((item) => item.split("\t"));
385
+ }
386
+ let changeList = [];
387
+ for (let ri = 0; ri <= textArr.length - 1; ri++) {
388
+ const len = textArr[ri].length;
389
+ for (let ci = 0; ci <= len - 1; ci++) {
390
+ const _rowIndex = ri + rowIndex;
391
+ const _colIndex = ci + colIndex;
392
+ const value = textArr[ri][ci];
393
+ const itemValue = this.ctx.database.getItemValueForRowIndexAndColIndex(_rowIndex, _colIndex);
394
+ if (itemValue) {
395
+ const { rowKey, key } = itemValue;
396
+ // 只读就跳过
397
+ if (!this.ctx.database.getReadonly(rowKey, key)) {
398
+ rowKeyList.add(rowKey);
399
+ changeList.push({
400
+ rowKey,
401
+ key,
402
+ value,
403
+ row: {}, //内部有设置
404
+ });
405
+ }
406
+ }
407
+ }
408
+ }
409
+ // 剪切时清除选中数据
410
+ if (this.isCut) {
411
+ const cutList = this.clearSelectedData(this.ctx.selector.xArrCopy, this.ctx.selector.yArrCopy, true // 忽略设置,只返回数据,用于cut,实现历史回退需要返回两次问题
412
+ );
413
+ const changeListRowkeys = changeList.map((item) => `${item.rowKey}-${item.key}`);
414
+ // 剔除剪切的数据
415
+ cutList.forEach((item) => {
416
+ if (!changeListRowkeys.includes(`${item.rowKey}-${item.key}`)) {
417
+ // 剪切的数据放在最前面
418
+ changeList.unshift(item);
419
+ }
420
+ });
421
+ this.isCut = false;
422
+ }
423
+ // 没有变化就返回
424
+ if (!changeList.length) {
425
+ return;
426
+ }
427
+ // 批量设置数据,并记录历史
428
+ this.ctx.database.batchSetItemValue(changeList, true);
429
+ let rows = [];
430
+ rowKeyList.forEach((rowKey) => {
431
+ rows.push(this.ctx.database.getRowDataItemForRowKey(rowKey));
432
+ });
433
+ this.ctx.emit("pasteChange", changeList, rows);
434
+ // 清除复制线
435
+ this.clearCopyLine();
436
+ this.ctx.emit("draw");
437
+ })
438
+ .catch((error) => {
439
+ console.error("获取剪贴板内容失败:", error);
440
+ });
441
+ }
442
+ }
443
+ /**键盘上下左右切换
444
+ * @param dir
445
+ */
446
+ moveFocus(dir) {
447
+ // 编辑状态不处理
448
+ if (this.ctx.editing) {
449
+ return;
450
+ }
451
+ const { focusCell } = this.ctx;
452
+ if (!focusCell) {
453
+ return;
454
+ }
455
+ let { colIndex = 0, rowIndex = 0 } = focusCell;
456
+ const minX = 0;
457
+ const minY = 0;
458
+ const maxX = this.ctx.maxColIndex;
459
+ const maxY = this.ctx.maxRowIndex;
460
+ switch (dir) {
461
+ case "LEFT":
462
+ if (colIndex > minX) {
463
+ colIndex--;
464
+ }
465
+ break;
466
+ case "TOP":
467
+ if (rowIndex > minY) {
468
+ rowIndex--;
469
+ }
470
+ break;
471
+ case "RIGHT":
472
+ if (colIndex < maxX) {
473
+ colIndex++;
474
+ }
475
+ break;
476
+ case "BOTTOM":
477
+ if (rowIndex < maxY) {
478
+ rowIndex++;
479
+ }
480
+ break;
481
+ default:
482
+ }
483
+ const xArr = [colIndex, colIndex];
484
+ const yArr = [rowIndex, rowIndex];
485
+ const cell = this.getCell(rowIndex, colIndex);
486
+ if (cell) {
487
+ if (["index", "index-selection", "selection"].includes(cell.type)) {
488
+ return;
489
+ }
490
+ this.ctx.setFocusCell(cell);
491
+ }
492
+ this.setSelector(xArr, yArr);
493
+ this.adjustBoundaryPosition();
494
+ this.ctx.emit("draw");
495
+ }
496
+ /**
497
+ * 调整滚动条位置,让焦点单元格始终出现在可视区域内
498
+ */
499
+ adjustBoundaryPosition() {
500
+ const { target, focusCell, fixedRightWidth, fixedLeftWidth, header, footer, scrollX, scrollY, } = this.ctx;
501
+ if (!focusCell) {
502
+ return;
503
+ }
504
+ const { SCROLLER_TRACK_SIZE = 0, FOOTER_FIXED } = this.ctx.config;
505
+ let footerHeight = 0;
506
+ if (FOOTER_FIXED) {
507
+ footerHeight = footer.visibleHeight;
508
+ }
509
+ // 加1补选中框的边框,且可以移动滚动,以为getCell是获取渲染的cell
510
+ const diffLeft = fixedLeftWidth - focusCell.drawX + 1;
511
+ const diffRight = focusCell.drawX + focusCell.width - (target.width - fixedRightWidth) + 1;
512
+ const diffTop = header.height - focusCell.drawY;
513
+ const diffBottom = focusCell.drawY +
514
+ focusCell.height -
515
+ (target.height - footerHeight - SCROLLER_TRACK_SIZE);
516
+ // fixed禁用左右横向移动
517
+ if (diffRight > 0 && !focusCell.fixed) {
518
+ this.ctx.setScrollX(scrollX + diffRight);
519
+ }
520
+ else if (diffLeft > 0 && !focusCell.fixed) {
521
+ this.ctx.setScrollX(scrollX - diffLeft);
522
+ }
523
+ if (diffTop > 0) {
524
+ this.ctx.setScrollY(scrollY - diffTop);
525
+ }
526
+ else if (diffBottom > 0) {
527
+ this.ctx.setScrollY(scrollY + diffBottom);
528
+ }
529
+ }
530
+ destroy() { }
531
+ }
532
+ //# sourceMappingURL=Selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../src/Selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import Context from './Context';
2
+ export default class Tooltip {
3
+ private ctx;
4
+ private enable;
5
+ private contentEl;
6
+ private floatingEl;
7
+ private arrowEl;
8
+ constructor(ctx: Context);
9
+ private init;
10
+ private show;
11
+ private hide;
12
+ destroy(): void;
13
+ }