From 0f81553b3f561ec146772e0a48af06a1cb2e7b0c Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Wed, 18 Mar 2026 10:47:05 -0700 Subject: [PATCH] No hide this column on last remaining column --- datasette/static/table.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/datasette/static/table.js b/datasette/static/table.js index 707bfe86..1e243703 100644 --- a/datasette/static/table.js +++ b/datasette/static/table.js @@ -110,6 +110,14 @@ function shouldShowShowAllColumns() { return params.getAll("_nocol").length || params.getAll("_col").length; } +function hasMultipleVisibleColumns(manager) { + return ( + Array.from(document.querySelectorAll(manager.selectors.tableHeaders)).filter( + (th) => th.dataset.column && th.dataset.isLinkColumn !== "1", + ).length > 1 + ); +} + function buildColumnActionItems(manager, th, options) { options = options || {}; var params = getParams(); @@ -163,7 +171,7 @@ function buildColumnActionItems(manager, th, options) { }); } - if (th.dataset.isPk !== "1") { + if (th.dataset.isPk !== "1" && hasMultipleVisibleColumns(manager)) { columnActions.push({ label: "Hide this column", href: hideColumnUrl(column),