diff --git a/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx b/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx index 29886bbd..44051e28 100644 --- a/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx +++ b/frontend/app/(main)/admin/systemMng/tableMngList/page.tsx @@ -1592,6 +1592,10 @@ export default function TableManagementPage() { constraints={constraints} typeFilter={typeFilter} getColumnIndexState={getColumnIndexState} + onPkToggle={handlePkToggle} + onIndexToggle={(columnName, checked) => + handleIndexToggle(columnName, "index", checked) + } /> )} diff --git a/frontend/components/admin/table-type/ColumnGrid.tsx b/frontend/components/admin/table-type/ColumnGrid.tsx index 5f339a8a..c03c7516 100644 --- a/frontend/components/admin/table-type/ColumnGrid.tsx +++ b/frontend/components/admin/table-type/ColumnGrid.tsx @@ -21,6 +21,8 @@ export interface ColumnGridProps { constraints: ColumnGridConstraints; typeFilter?: string | null; getColumnIndexState?: (columnName: string) => { isPk: boolean; hasIndex: boolean }; + onPkToggle?: (columnName: string, checked: boolean) => void; + onIndexToggle?: (columnName: string, checked: boolean) => void; } function getIndexState( @@ -49,6 +51,8 @@ export function ColumnGrid({ constraints, typeFilter = null, getColumnIndexState: externalGetIndexState, + onPkToggle, + onIndexToggle, }: ColumnGridProps) { const getIdxState = useMemo( () => externalGetIndexState ?? ((name: string) => getIndexState(name, constraints)), @@ -193,7 +197,7 @@ export function ColumnGrid({ )} onClick={(e) => { e.stopPropagation(); - onColumnChange(column.columnName, "isPrimaryKey" as keyof ColumnTypeInfo, !idxState.isPk); + onPkToggle?.(column.columnName, !idxState.isPk); }} title="Primary Key 토글" > @@ -225,7 +229,7 @@ export function ColumnGrid({ )} onClick={(e) => { e.stopPropagation(); - onColumnChange(column.columnName, "hasIndex" as keyof ColumnTypeInfo, !idxState.hasIndex); + onIndexToggle?.(column.columnName, !idxState.hasIndex); }} title="Index 토글" >