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}