@canner/slate-paste-html-plugin
Version:
A copy and paste HTML plugin for slate framework
25 lines (21 loc) • 653 B
JavaScript
import Html from "slate-html-serializer";
import { DEFAULT_RULES } from "@canner/slate-editor-html";
import { getEventTransfer } from "slate-react";
const serializer = new Html({ rules: DEFAULT_RULES });
export default () => {
return {
/**
* On paste, deserialize the HTML and then insert the fragment.
*
* @param {Event} event
* @param {Change} change
*/
onPaste: (event, change) => {
const transfer = getEventTransfer(event);
if (transfer.type != "html") return;
const { document } = serializer.deserialize(transfer.html);
change.insertFragment(document);
return true;
}
};
};