TypeCellOS / TypeCellOS/BlockNote

Editor in dialog overlapping another breaks SideMenu and drag-and-drop

Aperta
#2,559 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug:P4
Lingua principale
TypeScript
Stelle
10.2k
Fork
772
Merge medio
3g 11h
PR unite (30g)
17

Descrizione

What’s broken?

We have a setup with an editor and a button next to it that opens another editor instance in a dialog above it. In areas where the two editors directly overlap, the SideMenu does not appear in the topmost editor. Drag and drop is also not possible in these overlapping areas.

https://github.com/user-attachments/assets/be553b97-812c-487e-9f84-7aa12d7f9e20

The root cause is likely in findClosestEditorElement (in SideMenu.ts) because it does not consider the z-axis stacking order when determining the editor element.

What did you expect to happen?

Option 1
Ensure Sidebar and drag-and-drop interactions only consider the topmost editor.

Option 2
Add an option to exclude specific editors (for example editors behind a dialog) from the hover and drag detection logic.

Steps to reproduce

Having an editor in a dialog above another editor

Demo:
https://react-shadcn-blockno-nf9x.bolt.host

BlockNote version

No response

Environment

No response

Additional context

No response

Contribution
  • I'd be interested in contributing a fix for this issue
Sponsor
  • I'm a sponsor and would appreciate if you could look into this sooner than later 💖

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Start in packages/core/src/extensions/SideMenu/SideMenu.ts at findClosestEditorElement, then reproduce the overlapping-editor case using the linked demo. Trace how SideMenu hover detection and drag-and-drop choose an editor; done means the topmost editor handles both interactions without breaking ordinary editor behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
react, typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
50/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.