diff --git a/docs/web-ui.md b/docs/web-ui.md index e1c827f2..e579cbaf 100644 --- a/docs/web-ui.md +++ b/docs/web-ui.md @@ -242,7 +242,7 @@ state + applied dirs; `POST /purge-tombstone/{name}`). ### SCH3DUL3S tab Anything that fires at a future time. Operator-set schedules -go through the creation form at the top; agent self-paced +are created inline in the table (last row); agent self-paced reminders surface at the bottom as a sibling list (#460 — they share enough conceptual ground to live together). @@ -278,18 +278,15 @@ active = `targets_remove`, checked-not-originally-active = `✕` button cancels the whole schedule (`POST /api/schedules/{id}/cancel`). -An inline creation form above the table lets the operator -queue a new schedule directly: targets (multi-select -checkboxes drawn from live container names + `operator` + -`manager`), prompt body (textarea), first-fire datetime-local -(pre-filled to 5 minutes from now), an interval composer -(#466 — preset chips for common durations + separate -d/h/m/s number fields with a live "↻ every …" preview; -all-zero = one-shot), and an optional human-readable -description. On submit the form POSTs to `/api/schedules` as -JSON; the tab pill shows the count of active schedules (at -least one live target not yet cancelled). Refreshed on tab -activation and after each submit/cancel. Backed by +The table's last row is a permanent inline creation row (#564): +inputs live directly in table cells (targets as checkboxes, +body textarea that expands on focus, datetime-local pre-filled +to 5 minutes from now, interval composer, description). Click +`+` to POST to `/api/schedules` as JSON; the row carry-state +survives SSE refreshes (partially-typed inputs are preserved +across live updates). The tab pill shows the count of active +schedules (at least one live target not yet cancelled). +Refreshed on tab activation and after each submit/cancel. Backed by `GET /api/schedules`. No backend changes for the table layout — it renders entirely from existing `schedulesState` + `containersState`.