diff --git a/datasette/database.py b/datasette/database.py
index 7ba1456b..a9f39253 100644
--- a/datasette/database.py
+++ b/datasette/database.py
@@ -16,6 +16,7 @@ from .utils import (
sqlite_timelimit,
sqlite3,
table_columns,
+ table_column_details,
)
from .inspect import inspect_hash
@@ -231,6 +232,9 @@ class Database:
async def table_columns(self, table):
return await self.execute_fn(lambda conn: table_columns(conn, table))
+ async def table_column_details(self, table):
+ return await self.execute_fn(lambda conn: table_column_details(conn, table))
+
async def primary_keys(self, table):
return await self.execute_fn(lambda conn: detect_primary_keys(conn, table))
diff --git a/datasette/static/app.css b/datasette/static/app.css
index 4b43a9f0..da8ed2ab 100644
--- a/datasette/static/app.css
+++ b/datasette/static/app.css
@@ -396,7 +396,6 @@ svg.dropdown-menu-icon {
opacity: 0.8;
}
.dropdown-menu {
- display: inline-flex;
border: 1px solid #ccc;
border-radius: 4px;
line-height: 1.4;
@@ -410,6 +409,13 @@ svg.dropdown-menu-icon {
margin: 0;
padding: 0;
}
+.dropdown-menu .dropdown-column-type {
+ font-size: 0.7em;
+ color: #666;
+ margin: 0;
+ padding: 0;
+ padding: 4px 8px 4px 8px;
+}
.dropdown-menu li {
border-bottom: 1px solid #ccc;
}
diff --git a/datasette/static/table.js b/datasette/static/table.js
index 2c9057fc..7e839b9c 100644
--- a/datasette/static/table.js
+++ b/datasette/static/table.js
@@ -6,6 +6,7 @@ var DROPDOWN_HTML = `
`;
var DROPDOWN_ICON_SVG = `