Support opening table rows for foreign tables in side panel (read only) (#38699)

* Support opening table rows for foreign tables in side panel (read only)

* Fix TS
This commit is contained in:
Joshen Lim authored and GitHub committed 2025-09-16 11:54:03 +08:00
1 parent 57a10f2f6d
commit 466760099d
2 files changed
+8 -3

No files matched your search

@@ -46,7 +46,7 @@ export const generateRowFields = (
table: PostgresTable,
foreignKeys: ForeignKey[]
): RowField[] => {
const { primary_keys } = table
const { primary_keys = [] } = table
const primaryKeyColumns = primary_keys.map((key) => key.name)
return (table.columns ?? []).map((column) => {
@@ -8,9 +8,11 @@ import { SupabaseGrid } from 'components/grid/SupabaseGrid'
import { useLoadTableEditorStateFromLocalStorageIntoUrl } from 'components/grid/SupabaseGrid.utils'
import {
Entity,
isForeignTable,
isMaterializedView,
isTableLike,
isView,
TableLike,
} from 'data/table-editor/table-editor-types'
import { useAsyncCheckProjectPermissions } from 'hooks/misc/useCheckPermissions'
import { useDashboardHistory } from 'hooks/misc/useDashboardHistory'
@@ -147,6 +149,7 @@ export const TableGridEditor = ({
const isViewSelected = isView(selectedTable) || isMaterializedView(selectedTable)
const isTableSelected = isTableLike(selectedTable)
const isForeignTableSelected = isForeignTable(selectedTable)
const canEditViaTableEditor = isTableSelected && !isSchemaLocked
const editable = !isReadOnly && canEditViaTableEditor
@@ -188,11 +191,13 @@ export const TableGridEditor = ({
<SidePanelEditor
editable={editable}
selectedTable={isTableLike(selectedTable) ? selectedTable : undefined}
selectedTable={
isTableSelected || isForeignTableSelected ? (selectedTable as TableLike) : undefined
}
onTableCreated={onTableCreated}
/>
<DeleteConfirmationDialogs
selectedTable={isTableLike(selectedTable) ? selectedTable : undefined}
selectedTable={isTableSelected ? selectedTable : undefined}
onTableDeleted={onTableDeleted}
/>
</TableEditorTableStateContextProvider>