diff --git a/examples/01-basic/01-minimal/App.tsx b/examples/01-basic/01-minimal/App.tsx index a3b92bafd..15027459f 100644 --- a/examples/01-basic/01-minimal/App.tsx +++ b/examples/01-basic/01-minimal/App.tsx @@ -2,10 +2,30 @@ import "@blocknote/core/fonts/inter.css"; import { BlockNoteView } from "@blocknote/mantine"; import "@blocknote/mantine/style.css"; import { useCreateBlockNote } from "@blocknote/react"; +import { getBlocksChangedByTransaction } from "@blocknote/core"; +import { Plugin, PluginKey } from "prosemirror-state"; + +const MyFilterExtension = { + plugin: new Plugin({ + filterTransaction: (transaction) => { + const blocksChanged = getBlocksChangedByTransaction(transaction); + console.log(blocksChanged); + if (JSON.stringify(blocksChanged).includes("NOPE")) { + return false; + } + return true; + }, + key: new PluginKey("my-extension"), + }), +}; export default function App() { // Creates a new editor instance. - const editor = useCreateBlockNote(); + const editor = useCreateBlockNote({ + _extensions: { + filterExtension: MyFilterExtension, + }, + }); // Renders the editor instance using a React component. return ;