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,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
|
+
}
|