fix: drag and drop back working

This commit is contained in:
2026-02-21 20:53:20 +01:00
parent 0860dbe557
commit 4bd0e5ab19
2 changed files with 13 additions and 1 deletions

View File

@@ -597,8 +597,10 @@ export const MenuEditorView: React.FC = () => {
setSelectedId(nodes[0]?.data.id || null); setSelectedId(nodes[0]?.data.id || null);
}} }}
> >
{({ node, style, tree }) => ( {({ node, style, tree, dragHandle }) => (
<div <div
ref={dragHandle}
data-drag-handle="true"
style={style} style={style}
className={`menu-editor-row ${selectedId === node.data.id ? 'is-selected' : ''} ${recentParentInsertId === node.data.id ? 'is-parent-target' : ''}`} className={`menu-editor-row ${selectedId === node.data.id ? 'is-selected' : ''} ${recentParentInsertId === node.data.id ? 'is-parent-target' : ''}`}
onClick={() => setSelectedId(node.data.id)} onClick={() => setSelectedId(node.data.id)}

View File

@@ -105,6 +105,16 @@ describe('MenuEditorView entry editor', () => {
expect(screen.getByRole('button', { name: /^delete$/i })).toBeInTheDocument(); expect(screen.getByRole('button', { name: /^delete$/i })).toBeInTheDocument();
}); });
it('marks outliner rows as drag handles so drag-and-drop can start from rows', async () => {
const { container } = render(<MenuEditorView />);
await screen.findByRole('button', { name: /add entry/i });
const row = container.querySelector('.menu-editor-row');
expect(row).not.toBeNull();
expect(row).toHaveAttribute('data-drag-handle', 'true');
});
it('finalizes entry as page on a double-click gesture', async () => { it('finalizes entry as page on a double-click gesture', async () => {
render(<MenuEditorView />); render(<MenuEditorView />);