From 594feeae97386a01b5d81f37632d9cc5d75b1617 Mon Sep 17 00:00:00 2001 From: Richard Olsson Date: Tue, 14 Jan 2025 17:59:05 +0100 Subject: [PATCH 1/2] Handle pasting links by properly parsing attributes --- src/zui/ZUIEditor/extensions/LinkExtension.tsx | 7 ++++++- src/zui/ZUIEditor/index.tsx | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/zui/ZUIEditor/extensions/LinkExtension.tsx b/src/zui/ZUIEditor/extensions/LinkExtension.tsx index d98a7ec6e..e4e3d2199 100644 --- a/src/zui/ZUIEditor/extensions/LinkExtension.tsx +++ b/src/zui/ZUIEditor/extensions/LinkExtension.tsx @@ -42,7 +42,12 @@ class LinkExtension extends MarkExtension { }, parseDOM: [ { - getAttrs: extra.parse, + getAttrs: (node) => { + return { + ...extra.parse(node), + href: node.getAttribute('href'), + }; + }, tag: 'a', //Sätt href-propertyn till värdet href från options } as TagParseRule, diff --git a/src/zui/ZUIEditor/index.tsx b/src/zui/ZUIEditor/index.tsx index 218cc1402..4a02585ec 100644 --- a/src/zui/ZUIEditor/index.tsx +++ b/src/zui/ZUIEditor/index.tsx @@ -6,6 +6,7 @@ import { } from '@remirror/react'; import { FC } from 'react'; import { BoldExtension, HeadingExtension } from 'remirror/extensions'; +import { PasteRulesExtension } from 'remirror'; import { Box } from '@mui/material'; import LinkExtension from './extensions/LinkExtension'; @@ -66,6 +67,7 @@ const ZUIEditor: FC = ({ enableButton, enableHeading, enableImage }) => { type: 'doc', }, extensions: () => [ + new PasteRulesExtension({}), new BoldExtension({}), ...extensions, new LinkExtension(), From c440e0a00ba6a9309c0560bbf6241db4547a75d9 Mon Sep 17 00:00:00 2001 From: Richard Olsson Date: Wed, 15 Jan 2025 06:17:04 +0100 Subject: [PATCH 2/2] Handle pasting images properly --- src/zui/ZUIEditor/extensions/ImageExtension.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/zui/ZUIEditor/extensions/ImageExtension.ts b/src/zui/ZUIEditor/extensions/ImageExtension.ts index a6dac66c1..c097a29b6 100644 --- a/src/zui/ZUIEditor/extensions/ImageExtension.ts +++ b/src/zui/ZUIEditor/extensions/ImageExtension.ts @@ -52,7 +52,10 @@ export default class ImageExtension extends NodeExtension { parseDOM: [ { getAttrs: (element) => { - return extra.parse(element); + return { + ...extra.parse(element), + src: element.getAttribute('src'), + }; }, tag: 'img', },