Compare commits

..

View file

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