feat(12.1-02): read-only preview screen with a status hint and record actions

- config_form.yaml preview block (optional headerPartial), reported in the form schema as preview
- fields with context: preview show only on the preview screen and are never written
- form messages preview and edit; recordActions without a preview block stops boot
- SPA route {id}/preview, PreviewView and PreviewField, record actions in the footer
- mapWinterUrl maps preview/:id; the update form returns to the preview
- summer-callout partial style classes for status hints
- README, docs, OpenAPI document, TS types and the embedded build updated
This commit is contained in:
Jakub Zych
2026-10-05 00:10:48 +02:00
parent 1c99de5013
commit a65c670574
50 changed files with 1441 additions and 66 deletions

View File

@@ -68,6 +68,9 @@ type formMessageKeys struct {
Saved string `yaml:"saved"`
DeleteConfirm string `yaml:"deleteConfirm"`
Deleted string `yaml:"deleted"`
// The preview screen's subtitle and its edit button (D-11).
Preview string `yaml:"preview"`
Edit string `yaml:"edit"`
}
// FormMessages is a form's copy, every key resolved.
@@ -77,6 +80,9 @@ type FormMessages struct {
Saved MessageForms `json:"saved"`
DeleteConfirm MessageForms `json:"deleteConfirm"`
Deleted MessageForms `json:"deleted"`
// The preview screen's subtitle and its edit button (D-11).
Preview MessageForms `json:"preview"`
Edit MessageForms `json:"edit"`
}
// relationMessageKeys is one config_relation.yaml relation's messages block.
@@ -162,6 +168,8 @@ var (
Saved: "backend::lang.messages.form.saved",
DeleteConfirm: "backend::lang.messages.form.delete_confirm",
Deleted: "backend::lang.messages.form.deleted",
Preview: "backend::lang.messages.form.preview",
Edit: "backend::lang.messages.form.edit",
}
relationMessageDefaults = relationMessageKeys{
Link: "backend::lang.messages.relation.link",