Add column editing in dashboard edit mode

Per-column header bar with size dropdown (small/full), left/right
move arrows, and delete. New "+ Add column" button at the bottom of
the page-columns container. Each action POSTs to a column endpoint
and reloads.

Backend endpoints:
- POST /edit/api/pages/{slug}/columns — add (form: size)
- POST /edit/api/pages/{slug}/columns/{col}/delete
- POST /edit/api/pages/{slug}/columns/{col}/move?dir=left|right
- POST /edit/api/pages/{slug}/columns/{col}/size — set size

All go through configEditor's yaml.Node tree so comments and other
config survive.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
uhlwoogi
2026-04-30 17:16:08 +00:00
co-authored by Claude Opus 4.7
parent 4b8a34a2ae
commit 8ba6dcb704
4 changed files with 390 additions and 0 deletions
+4
View File
@@ -470,6 +470,10 @@ func (a *application) server() (func() error, func() error) {
mux.HandleFunc("GET /edit/api/widget-schemas", a.handleAdminWidgetSchemas)
mux.HandleFunc("POST /edit/api/validate/{kind}", a.handleAdminValidate)
mux.HandleFunc("POST /edit/api/lookup/{kind}", a.handleAdminLookup)
mux.HandleFunc("POST /edit/api/pages/{page}/columns", a.handleAdminAddColumn)
mux.HandleFunc("POST /edit/api/pages/{page}/columns/{col}/delete", a.handleAdminDeleteColumn)
mux.HandleFunc("POST /edit/api/pages/{page}/columns/{col}/move", a.handleAdminMoveColumn)
mux.HandleFunc("POST /edit/api/pages/{page}/columns/{col}/size", a.handleAdminColumnSize)
if a.RequiresAuth {
mux.HandleFunc("GET /login", a.handleLoginPageRequest)