TypeCellOS / BlockNote

A React Rich Text Editor that's block-based (Notion style) and extensible. Built on top of Prosemirror and Tiptap.

Home Page:https://www.blocknotejs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Using Custom DragHandleMenu and SideMenu at the same time but didn't show custom DragHandleMenu

julzheng opened this issue · comments

Describe the bug
I tried to use custom SideMenu and DragHandleMenu together, but the custom DragHandleMenu didn't show

To Reproduce
Just try to mix/use both example from docs that is custom SideMenu and custom DraghandleMenu

<BlockNoteView editor={editor} formattingToolbar={false} linkToolbar={false} imageToolbar={false} sideMenu={false} slashMenu={false} tableHandles={false}> <SideMenuController sideMenu={(props) => ( <SideMenu {...props} dragHandleMenu={(props) => ( <DragHandleMenu {...props}> <DragHandleMenuItem onClick={() => { editor.updateBlock(props.block, { type: 'paragraph' }); }}> Reset Type </DragHandleMenuItem> </DragHandleMenu> )}> <RemoveBlockButton {...props} /> <DragHandleButton {...props} /> </SideMenu> )} /> </BlockNoteView>

Misc

  • Node version: 21.6.2
  • Package manager: 10.2.4
  • Vite: 5.1.4
  • Blocknote: 0.12.4

Interesting. Could you add a stackblitz / codesandbox for this?

Interesting. Could you add a stackblitz / codesandbox for this?

https://stackblitz.com/edit/bn-custom-dhm-sm?file=src%2FApp.tsx

The issue was that the DragHandleMenu had to be set on the DragHandleButton. A todo about this is noted here:

// TODO: props.dragHandleMenu should only be available if no children are passed

Here's a fix on the latest version of BlockNote: https://stackblitz.com/edit/bn-custom-dhm-sm-eirhtu?file=package.json,src%2FApp.tsx,src%2FRemoveBlockButton.tsx