docs(web-ui): schedule creation is now inline table bottom row (follow-up to #602)

This commit is contained in:
lexis 2026-05-29 20:36:26 +02:00
commit efdd1dd156

View file

@ -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`.