fix: trigger edit table on canvas from context menu (#919)

This commit is contained in:
Guy Ben-Aharon
2025-09-16 10:15:42 +03:00
committed by GitHub
parent d3dbf41894
commit bdc41c0b74

View File

@@ -13,6 +13,7 @@ import { Copy, Pencil, Trash2, Workflow } from 'lucide-react';
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDialog } from '@/hooks/use-dialog';
import { useCanvas } from '@/hooks/use-canvas';
export interface TableNodeContextMenuProps {
table: DBTable;
@@ -22,10 +23,11 @@ export const TableNodeContextMenu: React.FC<
React.PropsWithChildren<TableNodeContextMenuProps>
> = ({ children, table }) => {
const { removeTable, readonly, createTable } = useChartDB();
const { openTableFromSidebar } = useLayout();
const { closeAllTablesInSidebar } = useLayout();
const { t } = useTranslation();
const { isMd: isDesktop } = useBreakpoint('md');
const { openCreateRelationshipDialog } = useDialog();
const { setEditTableModeTable } = useCanvas();
const duplicateTableHandler = useCallback(() => {
const clonedTable = cloneTable(table);
@@ -38,8 +40,13 @@ export const TableNodeContextMenu: React.FC<
}, [createTable, table]);
const editTableHandler = useCallback(() => {
openTableFromSidebar(table.id);
}, [openTableFromSidebar, table.id]);
if (readonly) {
return;
}
closeAllTablesInSidebar();
setEditTableModeTable({ tableId: table.id });
}, [table.id, setEditTableModeTable, closeAllTablesInSidebar, readonly]);
const removeTableHandler = useCallback(() => {
removeTable(table.id);