@ctzhian/tiptap 2.13.7-beta.0 → 2.13.7
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/extension/node/Image.js +23 -19
- package/package.json +1 -1
|
@@ -428,7 +428,7 @@ var customImage = function customImage(props) {
|
|
|
428
428
|
};
|
|
429
429
|
}();
|
|
430
430
|
|
|
431
|
-
// 如果没有图片文件,尝试从 HTML 中提取图片 URL
|
|
431
|
+
// 如果没有图片文件,尝试从 HTML 中提取图片 URL
|
|
432
432
|
if (imageFiles.length === 0) {
|
|
433
433
|
if (!htmlData) {
|
|
434
434
|
return false; // 没有 HTML 数据,让默认粘贴处理
|
|
@@ -480,13 +480,15 @@ var customImage = function customImage(props) {
|
|
|
480
480
|
console.error('[图片粘贴] URL 上传失败:', _context3.t0);
|
|
481
481
|
(_props$onError2 = props.onError) === null || _props$onError2 === void 0 || _props$onError2.call(props, _context3.t0);
|
|
482
482
|
try {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
483
|
+
if (htmlData) {
|
|
484
|
+
_extensions = editor.extensionManager.extensions;
|
|
485
|
+
_parsed = generateJSON(htmlData, _extensions);
|
|
486
|
+
if (_parsed !== null && _parsed !== void 0 && (_parsed$content3 = _parsed.content) !== null && _parsed$content3 !== void 0 && _parsed$content3.length) {
|
|
487
|
+
editor.chain().insertContentAt({
|
|
488
|
+
from: from,
|
|
489
|
+
to: to
|
|
490
|
+
}, _parsed).focus().run();
|
|
491
|
+
}
|
|
490
492
|
}
|
|
491
493
|
} catch (fallbackError) {
|
|
492
494
|
// 解析失败则不再处理
|
|
@@ -535,18 +537,20 @@ var customImage = function customImage(props) {
|
|
|
535
537
|
// 没有图片 URL,尝试处理 HTML 或纯文本
|
|
536
538
|
// 先尝试使用 generateJSON 解析 HTML
|
|
537
539
|
try {
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
540
|
+
if (htmlData) {
|
|
541
|
+
var _parsed$content4;
|
|
542
|
+
var extensions = editor.extensionManager.extensions;
|
|
543
|
+
var parsed = generateJSON(htmlData, extensions);
|
|
541
544
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
545
|
+
// 检查解析后的内容是否包含有效文本
|
|
546
|
+
if (parsed !== null && parsed !== void 0 && (_parsed$content4 = parsed.content) !== null && _parsed$content4 !== void 0 && _parsed$content4.length && hasValidTextContent(parsed.content)) {
|
|
547
|
+
event.preventDefault();
|
|
548
|
+
editor.chain().insertContentAt({
|
|
549
|
+
from: from,
|
|
550
|
+
to: to
|
|
551
|
+
}, parsed).focus().run();
|
|
552
|
+
return true;
|
|
553
|
+
}
|
|
550
554
|
}
|
|
551
555
|
} catch (error) {
|
|
552
556
|
// HTML 解析失败,继续尝试纯文本
|