fix: Emojis and embeds cannot be copied to plain text clipboard (#3561)

This commit is contained in:
Tom Moor
2022-05-20 09:47:13 -07:00
committed by GitHub
parent 90ca8655af
commit ba7b3fff05
10 changed files with 99 additions and 4 deletions

View File

@@ -63,6 +63,7 @@ export default class Attachment extends Node {
node.attrs.title,
];
},
toPlainText: (node) => node.attrs.title,
};
}

View File

@@ -50,6 +50,7 @@ export default class Embed extends Node {
{ class: "embed", src: node.attrs.href, contentEditable: "false" },
0,
],
toPlainText: (node) => node.attrs.href,
};
}

View File

@@ -59,6 +59,7 @@ export default class Emoji extends Node {
const text = document.createTextNode(`:${node.attrs["data-name"]}:`);
return ["span", { class: "emoji" }, text];
},
toPlainText: (node) => nameToEmoji[node.attrs["data-name"]],
};
}

View File

@@ -17,9 +17,8 @@ export default class HardBreak extends Node {
group: "inline",
selectable: false,
parseDOM: [{ tag: "br" }],
toDOM() {
return ["br"];
},
toDOM: () => ["br"],
toPlainText: () => "\n",
};
}

View File

@@ -1,8 +1,8 @@
import { InputRule } from "prosemirror-inputrules";
import { TokenConfig } from "prosemirror-markdown";
import {
Node as ProsemirrorNode,
NodeSpec,
Node as ProsemirrorNode,
NodeType,
Schema,
} from "prosemirror-model";