e-virt-table 1.3.26 → 1.4.1
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/dist/index.cjs.js +16 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +2993 -2520
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +16 -5
- package/dist/index.umd.js.map +1 -1
- package/dist/lib/Autofill.js +3 -2
- package/dist/lib/Autofill.js.map +1 -1
- package/dist/lib/BaseCell.d.ts +15 -2
- package/dist/lib/BaseCell.js +55 -15
- package/dist/lib/BaseCell.js.map +1 -1
- package/dist/lib/Body.d.ts +8 -0
- package/dist/lib/Body.js +230 -0
- package/dist/lib/Body.js.map +1 -1
- package/dist/lib/Cell.d.ts +9 -18
- package/dist/lib/Cell.js +143 -181
- package/dist/lib/Cell.js.map +1 -1
- package/dist/lib/CellHeader.d.ts +9 -2
- package/dist/lib/CellHeader.js +80 -44
- package/dist/lib/CellHeader.js.map +1 -1
- package/dist/lib/CellImage.d.ts +15 -0
- package/dist/lib/CellImage.js +72 -0
- package/dist/lib/CellImage.js.map +1 -0
- package/dist/lib/Config.d.ts +18 -3
- package/dist/lib/Config.js +72 -25
- package/dist/lib/Config.js.map +1 -1
- package/dist/lib/Context.d.ts +5 -1
- package/dist/lib/Context.js +22 -3
- package/dist/lib/Context.js.map +1 -1
- package/dist/lib/ContextMenu.js +10 -2
- package/dist/lib/ContextMenu.js.map +1 -1
- package/dist/lib/DOMTreeMenu.js +1 -1
- package/dist/lib/DOMTreeMenu.js.map +1 -1
- package/dist/lib/Database.d.ts +1 -0
- package/dist/lib/Database.js +105 -94
- package/dist/lib/Database.js.map +1 -1
- package/dist/lib/EVirtTable.d.ts +5 -0
- package/dist/lib/EVirtTable.js +24 -0
- package/dist/lib/EVirtTable.js.map +1 -1
- package/dist/lib/Editor.d.ts +1 -0
- package/dist/lib/Editor.js +10 -3
- package/dist/lib/Editor.js.map +1 -1
- package/dist/lib/Empty.d.ts +2 -0
- package/dist/lib/Empty.js +11 -2
- package/dist/lib/Empty.js.map +1 -1
- package/dist/lib/EventTable.d.ts +0 -13
- package/dist/lib/EventTable.js +33 -221
- package/dist/lib/EventTable.js.map +1 -1
- package/dist/lib/Header.d.ts +2 -0
- package/dist/lib/Header.js +46 -2
- package/dist/lib/Header.js.map +1 -1
- package/dist/lib/Icons.d.ts +8 -7
- package/dist/lib/Icons.js +22 -10
- package/dist/lib/Icons.js.map +1 -1
- package/dist/lib/Loading.d.ts +3 -0
- package/dist/lib/Loading.js +18 -4
- package/dist/lib/Loading.js.map +1 -1
- package/dist/lib/Locale.d.ts +7 -0
- package/dist/lib/Locale.js +26 -0
- package/dist/lib/Locale.js.map +1 -0
- package/dist/lib/Paint.d.ts +7 -0
- package/dist/lib/Paint.js +220 -67
- package/dist/lib/Paint.js.map +1 -1
- package/dist/lib/Selector.js +16 -12
- package/dist/lib/Selector.js.map +1 -1
- package/dist/lib/TextSelector.d.ts +95 -0
- package/dist/lib/TextSelector.js +250 -0
- package/dist/lib/TextSelector.js.map +1 -0
- package/dist/lib/TreeUtil.d.ts +6 -8
- package/dist/lib/TreeUtil.js +49 -40
- package/dist/lib/TreeUtil.js.map +1 -1
- package/dist/lib/lang/en-US.d.ts +25 -0
- package/dist/lib/lang/en-US.js +25 -0
- package/dist/lib/lang/en-US.js.map +1 -0
- package/dist/lib/lang/zh-CN.d.ts +25 -0
- package/dist/lib/lang/zh-CN.js +25 -0
- package/dist/lib/lang/zh-CN.js.map +1 -0
- package/dist/lib/types.d.ts +25 -3
- package/dist/lib/util.d.ts +2 -1
- package/dist/lib/util.js +5 -1
- package/dist/lib/util.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/Paint.js
CHANGED
|
@@ -17,6 +17,9 @@ export class Paint {
|
|
|
17
17
|
throw new Error('canvas context not found');
|
|
18
18
|
this.ctx = ctx;
|
|
19
19
|
}
|
|
20
|
+
getCtx() {
|
|
21
|
+
return this.ctx;
|
|
22
|
+
}
|
|
20
23
|
clearTextCache() {
|
|
21
24
|
this.textCacheMap.clear();
|
|
22
25
|
}
|
|
@@ -177,19 +180,70 @@ export class Paint {
|
|
|
177
180
|
const { font = '12px Arial', align = 'center', color = '#495060', padding = 0, verticalAlign = 'middle', maxLineClamp = 1, autoRowHeight = false, offsetLeft = 0, offsetRight = 0, } = options;
|
|
178
181
|
this.ctx.font = font;
|
|
179
182
|
this.ctx.fillStyle = color;
|
|
180
|
-
this.ctx.textAlign = align;
|
|
181
183
|
if (['', null, undefined].includes(text)) {
|
|
182
184
|
this.ctx.restore();
|
|
183
185
|
return false;
|
|
184
186
|
}
|
|
185
187
|
const fontSize = parseInt(font.match(/\d+/)?.[0] || '12');
|
|
186
|
-
const lineHeight = fontSize * (options.lineHeight || 1.2);
|
|
188
|
+
const lineHeight = fontSize * (options.lineHeight || 1.2);
|
|
189
|
+
const layout = this.buildTextLayout(text, x, y, width, height, {
|
|
190
|
+
font,
|
|
191
|
+
color,
|
|
192
|
+
align,
|
|
193
|
+
padding,
|
|
194
|
+
verticalAlign,
|
|
195
|
+
maxLineClamp,
|
|
196
|
+
autoRowHeight,
|
|
197
|
+
lineHeight,
|
|
198
|
+
offsetLeft,
|
|
199
|
+
offsetRight,
|
|
200
|
+
});
|
|
201
|
+
this.ctx.textBaseline = 'top';
|
|
202
|
+
this.ctx.textAlign = 'left';
|
|
203
|
+
layout.lines.forEach((line) => {
|
|
204
|
+
this.ctx.fillText(line.text, line.drawX, line.drawY);
|
|
205
|
+
});
|
|
206
|
+
if (options.textCallback && layout.lines.length) {
|
|
207
|
+
const maxLineWidth = layout.lines.reduce((max, line) => Math.max(max, line.width), 0);
|
|
208
|
+
const textMaxWidth = Math.round(maxLineWidth);
|
|
209
|
+
let left = layout.lines[0]?.drawX ?? x + padding + offsetLeft;
|
|
210
|
+
let right = left + textMaxWidth;
|
|
211
|
+
if (align === 'center') {
|
|
212
|
+
left = x + width / 2 - textMaxWidth / 2;
|
|
213
|
+
right = x + width / 2 + textMaxWidth / 2;
|
|
214
|
+
}
|
|
215
|
+
else if (align === 'right') {
|
|
216
|
+
left = x + width - padding - offsetRight - textMaxWidth;
|
|
217
|
+
right = x + width - padding - offsetRight;
|
|
218
|
+
}
|
|
219
|
+
const textInfo = {
|
|
220
|
+
x: layout.lines[0]?.drawX ?? left,
|
|
221
|
+
y: layout.contentY,
|
|
222
|
+
width: textMaxWidth,
|
|
223
|
+
height: layout.lines.length * lineHeight,
|
|
224
|
+
left,
|
|
225
|
+
right,
|
|
226
|
+
top: layout.contentY,
|
|
227
|
+
bottom: layout.contentY + layout.lines.length * lineHeight,
|
|
228
|
+
};
|
|
229
|
+
options.textCallback(textInfo);
|
|
230
|
+
}
|
|
231
|
+
if (options.layoutCallback) {
|
|
232
|
+
options.layoutCallback(layout);
|
|
233
|
+
}
|
|
234
|
+
this.ctx.restore();
|
|
235
|
+
return layout.ellipsis;
|
|
236
|
+
}
|
|
237
|
+
buildTextLayout(text, x, y, width, height, options) {
|
|
238
|
+
const { font, color, align, padding, verticalAlign, maxLineClamp, autoRowHeight, lineHeight, offsetLeft, offsetRight, } = options;
|
|
239
|
+
this.ctx.save();
|
|
240
|
+
this.ctx.font = font;
|
|
187
241
|
const availableWidth = width - padding * 2 - offsetLeft - offsetRight;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
242
|
+
const contentWidth = availableWidth;
|
|
243
|
+
const contentHeight = height - padding * 2;
|
|
244
|
+
const chars = Array.from(text);
|
|
245
|
+
let lines = this.wrapTextToLines(text, availableWidth);
|
|
246
|
+
const maxTextLine = Math.round(contentHeight / lineHeight);
|
|
193
247
|
let totalTextLine = Math.min(lines.length, Math.max(maxTextLine, 1));
|
|
194
248
|
if (maxLineClamp === 'auto' && autoRowHeight) {
|
|
195
249
|
totalTextLine = lines.length;
|
|
@@ -198,81 +252,180 @@ export class Paint {
|
|
|
198
252
|
totalTextLine = maxLineClamp;
|
|
199
253
|
}
|
|
200
254
|
else {
|
|
201
|
-
// 处理边界问题
|
|
202
255
|
if (maxLineClamp === 1) {
|
|
203
|
-
lines = [text];
|
|
256
|
+
lines = [{ items: chars.map((char, i) => ({ char, sourceIndex: i })), text, caretIndex: 0, lineIndex: 0, drawX: 0, drawY: 0, width: 0, segments: [] }];
|
|
204
257
|
totalTextLine = 1;
|
|
205
258
|
}
|
|
206
259
|
if (maxLineClamp === 'auto' && maxTextLine === 1) {
|
|
207
|
-
lines = [text];
|
|
260
|
+
lines = [{ items: chars.map((char, i) => ({ char, sourceIndex: i })), text, caretIndex: 0, lineIndex: 0, drawX: 0, drawY: 0, width: 0, segments: [] }];
|
|
208
261
|
totalTextLine = 1;
|
|
209
262
|
}
|
|
210
263
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
264
|
+
let ellipsis = false;
|
|
265
|
+
const visibleLines = lines.slice(0, totalTextLine);
|
|
266
|
+
if (lines.length > totalTextLine) {
|
|
267
|
+
ellipsis = true;
|
|
268
|
+
const remainingLines = lines.slice(totalTextLine - 1);
|
|
269
|
+
const ellipsisLine = this.buildEllipsisLine(remainingLines, width, padding);
|
|
270
|
+
ellipsisLine.lineIndex = totalTextLine - 1;
|
|
271
|
+
visibleLines[totalTextLine - 1] = ellipsisLine;
|
|
272
|
+
}
|
|
273
|
+
else if (totalTextLine > 0) {
|
|
274
|
+
const lastLineIndex = totalTextLine - 1;
|
|
275
|
+
const remainingLines = lines.slice(lastLineIndex);
|
|
276
|
+
const remainingText = remainingLines.map((line) => line.text).join('');
|
|
277
|
+
const { ellipsis: widthEllipsis } = this.handleEllipsis(remainingText, width, padding, font);
|
|
278
|
+
if (widthEllipsis) {
|
|
279
|
+
ellipsis = true;
|
|
280
|
+
const ellipsisLine = this.buildEllipsisLine(remainingLines, width, padding);
|
|
281
|
+
ellipsisLine.lineIndex = lastLineIndex;
|
|
282
|
+
visibleLines[lastLineIndex] = ellipsisLine;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
const totalTextHeight = visibleLines.length * lineHeight;
|
|
286
|
+
let contentY = y + padding;
|
|
214
287
|
if (verticalAlign === 'middle') {
|
|
215
|
-
|
|
288
|
+
contentY = y + (height - totalTextHeight) / 2;
|
|
216
289
|
}
|
|
217
290
|
else if (verticalAlign === 'bottom') {
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
startX = x + width - padding - offsetRight;
|
|
227
|
-
}
|
|
228
|
-
// 绘制每一行用for循环
|
|
229
|
-
for (let i = 0; i < lines.length; i++) {
|
|
230
|
-
const lineText = lines[i];
|
|
231
|
-
const lineY = startY + i * lineHeight;
|
|
232
|
-
this.ctx.textBaseline = 'top';
|
|
233
|
-
// 如果设置了lineClamp,则只绘制lineClamp行
|
|
234
|
-
if (i === totalTextLine - 1) {
|
|
235
|
-
//截取剩余lines,组合成字符串处理省略号
|
|
236
|
-
const remainingLines = lines.slice(i);
|
|
237
|
-
const remainingText = remainingLines.join('');
|
|
238
|
-
const { _text, ellipsis } = this.handleEllipsis(remainingText, width, padding, font);
|
|
239
|
-
this.ctx.fillText(_text, startX, lineY);
|
|
240
|
-
textEllipsis = ellipsis;
|
|
241
|
-
break;
|
|
242
|
-
}
|
|
243
|
-
this.ctx.fillText(lineText, startX, lineY);
|
|
244
|
-
}
|
|
245
|
-
// 文字信息回调,用于画跟随图标的
|
|
246
|
-
if (options.textCallback && lines.length) {
|
|
247
|
-
// 取最长行
|
|
248
|
-
const maxLineWidth = lines.reduce((max, line) => {
|
|
249
|
-
return Math.max(max, this.ctx.measureText(line).width);
|
|
250
|
-
}, 0);
|
|
251
|
-
const textMaxWidth = Math.round(maxLineWidth);
|
|
252
|
-
let left = startX;
|
|
253
|
-
let right = startX + textMaxWidth;
|
|
291
|
+
contentY = y + height - totalTextHeight - padding;
|
|
292
|
+
}
|
|
293
|
+
const glyphs = [];
|
|
294
|
+
visibleLines.forEach((line, index) => {
|
|
295
|
+
line.lineIndex = index;
|
|
296
|
+
const segments = this.buildLineSegments(line);
|
|
297
|
+
const lineWidth = segments.reduce((sum, segment) => sum + segment.width, 0);
|
|
298
|
+
let lineX = x + padding + offsetLeft;
|
|
254
299
|
if (align === 'center') {
|
|
255
|
-
|
|
256
|
-
right = startX + textMaxWidth / 2;
|
|
300
|
+
lineX = x + (width - lineWidth) / 2;
|
|
257
301
|
}
|
|
258
302
|
else if (align === 'right') {
|
|
259
|
-
|
|
260
|
-
right = startX;
|
|
303
|
+
lineX = x + width - padding - offsetRight - lineWidth;
|
|
261
304
|
}
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
305
|
+
const lineY = contentY + index * lineHeight;
|
|
306
|
+
line.drawX = lineX;
|
|
307
|
+
line.drawY = lineY;
|
|
308
|
+
line.width = lineWidth;
|
|
309
|
+
line.segments = segments;
|
|
310
|
+
segments.forEach((segment) => {
|
|
311
|
+
if (segment.sourceIndex < 0) {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
glyphs.push({
|
|
315
|
+
char: segment.char,
|
|
316
|
+
index: segment.sourceIndex,
|
|
317
|
+
line: index,
|
|
318
|
+
x: lineX + segment.x,
|
|
319
|
+
y: lineY,
|
|
320
|
+
width: segment.width,
|
|
321
|
+
height: lineHeight,
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
});
|
|
274
325
|
this.ctx.restore();
|
|
275
|
-
return
|
|
326
|
+
return {
|
|
327
|
+
text,
|
|
328
|
+
chars,
|
|
329
|
+
glyphs,
|
|
330
|
+
lines: visibleLines,
|
|
331
|
+
box: { x, y, width, height },
|
|
332
|
+
contentBox: { x: x + padding + offsetLeft, y: y + padding, width: contentWidth, height: contentHeight },
|
|
333
|
+
contentY,
|
|
334
|
+
lineHeight,
|
|
335
|
+
font,
|
|
336
|
+
color,
|
|
337
|
+
align,
|
|
338
|
+
ellipsis,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
wrapTextToLines(text, maxWidth) {
|
|
342
|
+
if (!text) {
|
|
343
|
+
return [{ items: [], text: '', caretIndex: 0, lineIndex: 0, drawX: 0, drawY: 0, width: 0, segments: [] }];
|
|
344
|
+
}
|
|
345
|
+
const chars = Array.from(text);
|
|
346
|
+
const lines = [];
|
|
347
|
+
let currentItems = [];
|
|
348
|
+
let currentWidth = 0;
|
|
349
|
+
let lineCaretIndex = 0;
|
|
350
|
+
const flushLine = (nextCaretIndex) => {
|
|
351
|
+
const lineText = currentItems.map((item) => item.char).join('');
|
|
352
|
+
lines.push({
|
|
353
|
+
items: currentItems,
|
|
354
|
+
text: lineText,
|
|
355
|
+
caretIndex: lineCaretIndex,
|
|
356
|
+
lineIndex: lines.length,
|
|
357
|
+
drawX: 0,
|
|
358
|
+
drawY: 0,
|
|
359
|
+
width: 0,
|
|
360
|
+
segments: [],
|
|
361
|
+
});
|
|
362
|
+
currentItems = [];
|
|
363
|
+
currentWidth = 0;
|
|
364
|
+
lineCaretIndex = nextCaretIndex;
|
|
365
|
+
};
|
|
366
|
+
for (let i = 0; i < chars.length; i++) {
|
|
367
|
+
const char = chars[i];
|
|
368
|
+
if (char === '\n') {
|
|
369
|
+
flushLine(i + 1);
|
|
370
|
+
continue;
|
|
371
|
+
}
|
|
372
|
+
const charWidth = this.ctx.measureText(char).width;
|
|
373
|
+
if (currentWidth + charWidth > maxWidth && currentItems.length > 0) {
|
|
374
|
+
flushLine(currentItems[currentItems.length - 1].sourceIndex + 1);
|
|
375
|
+
currentItems.push({ char, sourceIndex: i });
|
|
376
|
+
currentWidth = charWidth;
|
|
377
|
+
continue;
|
|
378
|
+
}
|
|
379
|
+
currentItems.push({ char, sourceIndex: i });
|
|
380
|
+
currentWidth += charWidth;
|
|
381
|
+
}
|
|
382
|
+
if (currentItems.length > 0 || lines.length === 0) {
|
|
383
|
+
flushLine(chars.length);
|
|
384
|
+
}
|
|
385
|
+
return lines;
|
|
386
|
+
}
|
|
387
|
+
buildEllipsisLine(remainingLines, width, padding) {
|
|
388
|
+
const remainingItems = remainingLines.flatMap((line) => line.items);
|
|
389
|
+
const remainingText = remainingItems.map((item) => item.char).join('');
|
|
390
|
+
const { _text, ellipsis } = this.handleEllipsis(remainingText, width, padding, this.ctx.font);
|
|
391
|
+
const contentText = ellipsis ? _text.slice(0, -3) : _text;
|
|
392
|
+
const items = [];
|
|
393
|
+
for (let i = 0; i < contentText.length; i++) {
|
|
394
|
+
const item = remainingItems[i];
|
|
395
|
+
if (!item) {
|
|
396
|
+
break;
|
|
397
|
+
}
|
|
398
|
+
items.push({ char: item.char, sourceIndex: item.sourceIndex });
|
|
399
|
+
}
|
|
400
|
+
if (ellipsis) {
|
|
401
|
+
items.push({ char: '.', sourceIndex: -1, ellipsis: true }, { char: '.', sourceIndex: -1, ellipsis: true }, { char: '.', sourceIndex: -1, ellipsis: true });
|
|
402
|
+
}
|
|
403
|
+
return {
|
|
404
|
+
items,
|
|
405
|
+
text: _text,
|
|
406
|
+
caretIndex: remainingLines[0]?.caretIndex ?? 0,
|
|
407
|
+
lineIndex: 0,
|
|
408
|
+
drawX: 0,
|
|
409
|
+
drawY: 0,
|
|
410
|
+
width: 0,
|
|
411
|
+
segments: [],
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
buildLineSegments(line) {
|
|
415
|
+
const segments = [];
|
|
416
|
+
let offsetX = 0;
|
|
417
|
+
line.items.forEach((item, itemIndex) => {
|
|
418
|
+
const segmentWidth = this.ctx.measureText(item.char).width;
|
|
419
|
+
segments.push({
|
|
420
|
+
char: item.char,
|
|
421
|
+
itemIndex,
|
|
422
|
+
sourceIndex: item.sourceIndex,
|
|
423
|
+
x: offsetX,
|
|
424
|
+
width: segmentWidth,
|
|
425
|
+
});
|
|
426
|
+
offsetX += segmentWidth;
|
|
427
|
+
});
|
|
428
|
+
return segments;
|
|
276
429
|
}
|
|
277
430
|
/**
|
|
278
431
|
* 将文本按宽度换行
|
package/dist/lib/Paint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paint.js","sourceRoot":"","sources":["../../src/Paint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Paint.js","sourceRoot":"","sources":["../../src/Paint.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Selector.js
CHANGED
|
@@ -63,9 +63,6 @@ export default class Selector {
|
|
|
63
63
|
if (this.ctx.stageElement.style.cursor === 'pointer') {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
if (this.ctx.isPointer) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
66
|
// 如果是填充返回
|
|
70
67
|
if (this.ctx.stageElement.style.cursor === 'crosshair') {
|
|
71
68
|
return;
|
|
@@ -92,11 +89,17 @@ export default class Selector {
|
|
|
92
89
|
}, 0);
|
|
93
90
|
});
|
|
94
91
|
this.ctx.on('cellHeaderHoverChange', (cell) => {
|
|
92
|
+
if (this.ctx.textSelecting) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
95
|
if (this.ctx.mousedown) {
|
|
96
96
|
this.selectCols(cell);
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
this.ctx.on('cellHoverChange', (cell) => {
|
|
100
|
+
if (this.ctx.textSelecting) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
100
103
|
if (this.ctx.mousedown) {
|
|
101
104
|
this.selectCols(cell);
|
|
102
105
|
}
|
|
@@ -106,9 +109,6 @@ export default class Selector {
|
|
|
106
109
|
if (this.ctx.stageElement.style.cursor === 'pointer') {
|
|
107
110
|
return;
|
|
108
111
|
}
|
|
109
|
-
if (this.ctx.isPointer) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
112
|
// 解决dom文档选中问题
|
|
113
113
|
const style = window.getComputedStyle(e.target);
|
|
114
114
|
if (style.userSelect !== 'text') {
|
|
@@ -206,6 +206,9 @@ export default class Selector {
|
|
|
206
206
|
if (this.ctx.dragHeaderIng) {
|
|
207
207
|
return;
|
|
208
208
|
}
|
|
209
|
+
if (this.ctx.dragRowIng) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
209
212
|
const { ENABLE_SELECTOR_SPAN_COL, ENABLE_SELECTOR_SPAN_ROW } = this.ctx.config;
|
|
210
213
|
let _xArr = xArr;
|
|
211
214
|
let _yArr = yArr;
|
|
@@ -538,8 +541,8 @@ export default class Selector {
|
|
|
538
541
|
if (!this.ctx.config.ENABLE_COPY) {
|
|
539
542
|
return;
|
|
540
543
|
}
|
|
541
|
-
// dom
|
|
542
|
-
if (this.ctx.domSelectionStr) {
|
|
544
|
+
// dom选中或文字选中时会阻止复制
|
|
545
|
+
if (this.ctx.domSelectionStr || this.ctx.textSelectionStr) {
|
|
543
546
|
return;
|
|
544
547
|
}
|
|
545
548
|
let { value, xArr, yArr } = this.ctx.getSelectedData();
|
|
@@ -553,13 +556,13 @@ export default class Selector {
|
|
|
553
556
|
else {
|
|
554
557
|
const err = {
|
|
555
558
|
code: 'ERR_MERGED_CELLS_COPY',
|
|
556
|
-
message: '
|
|
559
|
+
message: this.ctx.locale.getText('mergeCellNoCopy'),
|
|
557
560
|
};
|
|
558
561
|
if (this.ctx.hasEvent('error')) {
|
|
559
562
|
this.ctx.emit('error', err);
|
|
560
563
|
}
|
|
561
564
|
else {
|
|
562
|
-
|
|
565
|
+
console.error(err.message);
|
|
563
566
|
}
|
|
564
567
|
return;
|
|
565
568
|
}
|
|
@@ -680,13 +683,14 @@ export default class Selector {
|
|
|
680
683
|
!isOneData) {
|
|
681
684
|
const err = {
|
|
682
685
|
code: 'ERR_MERGED_CELLS_PASTE',
|
|
683
|
-
message: '
|
|
686
|
+
message: this.ctx.locale.getText('mergeCellNoPaste'),
|
|
687
|
+
data: [],
|
|
684
688
|
};
|
|
685
689
|
if (this.ctx.hasEvent('error')) {
|
|
686
690
|
this.ctx.emit('error', err);
|
|
687
691
|
}
|
|
688
692
|
else {
|
|
689
|
-
|
|
693
|
+
console.error(err.message);
|
|
690
694
|
}
|
|
691
695
|
return;
|
|
692
696
|
}
|