diff --git a/src/frontend/src/components/tableComponent/index.tsx b/src/frontend/src/components/tableComponent/index.tsx index 4114f5ec6..799fdbb2a 100644 --- a/src/frontend/src/components/tableComponent/index.tsx +++ b/src/frontend/src/components/tableComponent/index.tsx @@ -17,6 +17,7 @@ interface TableComponentProps extends AgGridReactProps { rowData: NonNullable; alertTitle?: string; alertDescription?: string; + editable?: boolean | string[]; } const TableComponent = forwardRef< @@ -48,20 +49,30 @@ const TableComponent = forwardRef< } const colDef = props.columnDefs.map((col, index) => { + let newCol = { + ...col, + headerName: toTitleCase(col.headerName), + }; if (props.onSelectionChanged && index === 0) { - return { - ...col, - headerName: toTitleCase(col.headerName), + newCol = { + ...newCol, checkboxSelection: true, headerCheckboxSelection: true, headerCheckboxSelectionFilteredOnly: true, }; - } else { - return { - ...col, - headerName: toTitleCase(col.headerName), + } + console.log(props.editable, col.headerName); + if ( + (typeof props.editable === "boolean" && props.editable) || + (Array.isArray(props.editable) && + props.editable.includes(newCol.headerName ?? "")) + ) { + newCol = { + ...newCol, + editable: true, }; } + return newCol; }); return ( diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-messages-table.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-messages-table.tsx index 97cfc2c82..deac7c1f0 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-messages-table.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-messages-table.tsx @@ -7,7 +7,7 @@ const useMessagesTable = (setColumns, setRows, setMessages) => { try { const data = await getMessagesTable("union", undefined, ["index"]); const { columns, rows } = data; - setColumns(columns.map((col) => ({ ...col, editable: true }))); + setColumns(columns); setRows(rows); setMessages(rows); } catch (error) { diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx index 658d298ee..48ab16092 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx @@ -40,6 +40,7 @@ export default function MessagesPage() { { setSelectedRows(