@ctzhian/tiptap 2.13.4 → 2.13.5

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.
@@ -438,7 +438,7 @@ var customImage = function customImage(props) {
438
438
  if (imageUrls.length > 0) {
439
439
  event.preventDefault();
440
440
  _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
441
- var downloadedFiles, validFiles;
441
+ var downloadedFiles, validFiles, _parsed$content2, extensions, parsed;
442
442
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
443
443
  while (1) switch (_context3.prev = _context3.next) {
444
444
  case 0:
@@ -452,14 +452,27 @@ var customImage = function customImage(props) {
452
452
  return f !== null;
453
453
  });
454
454
  if (!(validFiles.length === 0)) {
455
- _context3.next = 6;
455
+ _context3.next = 7;
456
456
  break;
457
457
  }
458
+ // 下载失败:回退为直接粘贴原始 HTML(保留原始图片 URL)
459
+ try {
460
+ extensions = editor.extensionManager.extensions;
461
+ parsed = generateJSON(htmlData, extensions);
462
+ if (parsed !== null && parsed !== void 0 && (_parsed$content2 = parsed.content) !== null && _parsed$content2 !== void 0 && _parsed$content2.length) {
463
+ editor.chain().insertContentAt({
464
+ from: from,
465
+ to: to
466
+ }, parsed).focus().run();
467
+ }
468
+ } catch (error) {
469
+ // 解析失败则不再处理,交给默认粘贴逻辑
470
+ }
458
471
  return _context3.abrupt("return");
459
- case 6:
460
- _context3.next = 8;
472
+ case 7:
473
+ _context3.next = 9;
461
474
  return processImagePaste(validFiles, htmlData, from, to);
462
- case 8:
475
+ case 9:
463
476
  case "end":
464
477
  return _context3.stop();
465
478
  }
@@ -471,12 +484,12 @@ var customImage = function customImage(props) {
471
484
  // 没有图片 URL,尝试处理 HTML 或纯文本
472
485
  // 先尝试使用 generateJSON 解析 HTML
473
486
  try {
474
- var _parsed$content2;
487
+ var _parsed$content3;
475
488
  var extensions = editor.extensionManager.extensions;
476
489
  var parsed = generateJSON(htmlData, extensions);
477
490
 
478
491
  // 检查解析后的内容是否包含有效文本
479
- if (parsed !== null && parsed !== void 0 && (_parsed$content2 = parsed.content) !== null && _parsed$content2 !== void 0 && _parsed$content2.length && hasValidTextContent(parsed.content)) {
492
+ if (parsed !== null && parsed !== void 0 && (_parsed$content3 = parsed.content) !== null && _parsed$content3 !== void 0 && _parsed$content3.length && hasValidTextContent(parsed.content)) {
480
493
  event.preventDefault();
481
494
  editor.chain().insertContentAt({
482
495
  from: from,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ctzhian/tiptap",
3
- "version": "2.13.4",
3
+ "version": "2.13.5",
4
4
  "description": "基于 Tiptap 二次开发的编辑器组件",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",