diff --git a/packages/web/src/appobj/columnAppObject.js b/packages/web/src/appobj/columnAppObject.js deleted file mode 100644 index e40c08224..000000000 --- a/packages/web/src/appobj/columnAppObject.js +++ /dev/null @@ -1,15 +0,0 @@ -/** @param columnProps {import('dbgate-types').ColumnInfo} */ -function getColumnIcon(columnProps) { - if (columnProps.autoIncrement) return 'img autoincrement'; - return 'img column'; -} - -/** @param columnProps {import('dbgate-types').ColumnInfo} */ -export default function columnAppObject(columnProps, { setOpenedTabs }) { - const title = columnProps.columnName; - const key = title; - const icon = getColumnIcon(columnProps); - const isBold = columnProps.notNull; - - return { title, key, icon, isBold }; -} diff --git a/packages/web/src/appobj/constraintAppObject.js b/packages/web/src/appobj/constraintAppObject.js deleted file mode 100644 index d75f0245b..000000000 --- a/packages/web/src/appobj/constraintAppObject.js +++ /dev/null @@ -1,15 +0,0 @@ -/** @param props {import('dbgate-types').ConstraintInfo} */ -function getConstraintIcon(props) { - if (props.constraintType == 'primaryKey') return 'img primary-key'; - if (props.constraintType == 'foreignKey') return 'img foreign-key'; - return null; -} - -/** @param props {import('dbgate-types').ConstraintInfo} */ -export default function constraintAppObject(props, { setOpenedTabs }) { - const title = props.constraintName; - const key = title; - const icon = getConstraintIcon(props); - - return { title, key, icon }; -} diff --git a/packages/web/src/datagrid/ColumnLabel.js b/packages/web/src/datagrid/ColumnLabel.js index a94a60dfd..0523bcd50 100644 --- a/packages/web/src/datagrid/ColumnLabel.js +++ b/packages/web/src/datagrid/ColumnLabel.js @@ -5,13 +5,13 @@ import styled from 'styled-components'; import { FontIcon } from '../icons'; const Label = styled.span` - font-weight: ${props => (props.notNull ? 'bold' : 'normal')}; + font-weight: ${(props) => (props.notNull ? 'bold' : 'normal')}; white-space: nowrap; `; /** @param column {import('dbgate-datalib').DisplayColumn|import('dbgate-types').ColumnInfo} */ export default function ColumnLabel(column) { - let icon = null; + let icon = column.forceIcon ? 'img column' : null; if (column.autoIncrement) icon = 'img autoincrement'; if (column.foreignKey) icon = 'img foreign-key'; return ( diff --git a/packages/web/src/tabs/TableStructureTab.js b/packages/web/src/tabs/TableStructureTab.js index 558e4e834..8aa1a5084 100644 --- a/packages/web/src/tabs/TableStructureTab.js +++ b/packages/web/src/tabs/TableStructureTab.js @@ -3,10 +3,10 @@ import styled from 'styled-components'; import _ from 'lodash'; import ObjectListControl from '../utility/ObjectListControl'; import { TableColumn } from '../utility/TableControl'; -import columnAppObject from '../appobj/columnAppObject'; -import constraintAppObject from '../appobj/constraintAppObject'; import { useTableInfo, useDbCore } from '../utility/metadataLoaders'; import useTheme from '../theme/useTheme'; +import ColumnLabel from '../datagrid/ColumnLabel'; +import { FontIcon } from '../icons'; const WhitePage = styled.div` position: absolute; @@ -18,6 +18,25 @@ const WhitePage = styled.div` overflow: auto; `; +const IconTextSpan = styled.span` + white-space: nowrap; +`; + +function getConstraintIcon(data) { + if (data.constraintType == 'primaryKey') return 'img primary-key'; + if (data.constraintType == 'foreignKey') return 'img foreign-key'; + return null; +} + +function ConstraintLabel({ data }) { + const icon = getConstraintIcon(data); + return ( + + {data.constraintName} + + ); +} + export default function TableStructureTab({ conid, database, schemaName, pureName, objectTypeField = 'tables' }) { const theme = useTheme(); const tableInfo = useDbCore({ conid, database, schemaName, pureName, objectTypeField }); @@ -27,7 +46,8 @@ export default function TableStructureTab({ conid, database, schemaName, pureNam ({ ...x, ordinal: index + 1 }))} - makeAppObj={columnAppObject} + NameComponent={({ data }) => } + // makeAppObj={columnAppObject} title="Columns" > */} - + - + - + - } - /> + } /> {children}