fix: drag and drop back working
This commit is contained in:
@@ -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)}
|
||||||
|
|||||||
@@ -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 />);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user