Files
pad/web/src
xarmian 4b887c77db fix(editor): block drag handle picks up atom block-level nodes (TASK-1329) (#479)
* fix(editor): block drag handle picks up atom block-level nodes (TASK-1329)

`BlockDragHandle.blockAtPos` rejected `depth === 0` outright, so atom
block-level nodes (e.g. the new htmlBlock from PLAN-1322) never got a
drag handle. When the cursor hovers over an atom block, posAtCoords
returns a position at the doc boundary between top-level children;
that resolves to depth 0, which the existing logic treats as
"no enclosing block."

Fix: when depth is 0, look at the node AT `pos` (after the boundary)
and the node immediately before `pos` (walking doc children to find
the sibling whose end matches `pos`). If either is an atom block-level
node, return its block info so the handle shows up. Non-atom or
inline content still returns null — same as before.

The "Turn into" context menu still doesn't apply to atom blocks (they
don't map to any TURN_INTO_ITEMS), so tapping the handle on an
htmlBlock opens an empty / no-op menu in v1. Drag-to-reorder is the
primary use case and is what users asked for here. Atom-block
"Turn into" (e.g. convert htmlBlock ↔ codeBlock) is a follow-up.

Parent: PLAN-1322.

* fix(editor): hide Turn-into entries for atom blocks per Codex review (round 1)

* fix(editor): measure menu height after visibility toggle (Codex round 2)
2026-05-10 01:33:46 -04:00
..
2026-03-26 01:52:36 +00:00