import React from 'react'; import styled from 'styled-components'; import _ from 'lodash'; import theme from '../theme'; import useFetch from '../utility/useFetch'; import ObjectListControl from '../utility/ObjectListControl'; import { TableColumn } from '../utility/TableControl'; import columnAppObject from '../appobj/columnAppObject'; import constraintAppObject from '../appobj/constraintAppObject'; const WhitePage = styled.div` position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: white; `; export default function TableStructureTab({ conid, database, schemaName, pureName }) { /** @type {import('@dbgate/types').TableInfo} */ const tableInfo = useFetch({ url: 'tables/table-info', params: { conid, database, schemaName, pureName }, }); if (!tableInfo) return null; const { columns, primaryKey, foreignKeys, dependencies } = tableInfo; return ( ({ ...x, ordinal: index + 1 }))} makeAppObj={columnAppObject} title="Columns" > (row.notNull ? 'YES' : 'NO')} /> (row.isSparse ? 'YES' : 'NO')} /> (row.isPersisted ? 'YES' : 'NO')} /> {/* {_.includes(dbCaps.columnListOptionalColumns, 'referencedTableNamesFormatted') && ( )} ( this.deleteColumn(row)} > Delete {' '} |{' '} this.editColumn(row)} > Edit )} /> */} row.columns.map(x => x.columnName).join(', ')} /> row.columns.map(x => x.columnName).join(', ')} /> row.refTableName} /> row.columns.map(x => x.refColumnName).join(', ')} /> row.columns.map(x => x.columnName).join(', ')} /> row.pureName} /> row.columns.map(x => x.refColumnName).join(', ')} /> ); }