Skip to content

Commit 651b78d

Browse files
committed
Redesign ?_extra=extras a bit, refs #262
1 parent c025b01 commit 651b78d

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

datasette/views/table.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1539,17 +1539,27 @@ async def extra_expandable_columns():
15391539

15401540
async def extra_extras():
15411541
"Available ?_extra= blocks"
1542-
return {
1543-
"available": [
1544-
{
1545-
"name": key[len("extra_") :],
1546-
"doc": fn.__doc__,
1547-
}
1548-
for key, fn in registry._registry.items()
1549-
if key.startswith("extra_")
1550-
],
1551-
"selected": list(extras),
1552-
}
1542+
all_extras = [
1543+
(key[len("extra_") :], fn.__doc__)
1544+
for key, fn in registry._registry.items()
1545+
if key.startswith("extra_")
1546+
]
1547+
return [
1548+
{
1549+
"name": name,
1550+
"description": doc,
1551+
"toggle_url": datasette.absolute_url(
1552+
request,
1553+
datasette.urls.path(
1554+
path_with_added_args(request, {"_extra": name})
1555+
if name not in extras
1556+
else path_with_removed_args(request, {"_extra": name})
1557+
),
1558+
),
1559+
"selected": name in extras,
1560+
}
1561+
for name, doc in all_extras
1562+
]
15531563

15541564
async def extra_facets_timed_out(extra_facet_results):
15551565
return extra_facet_results["timed_out"]

0 commit comments

Comments
 (0)