- 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
96 lines
1.9 KiB
JSON
96 lines
1.9 KiB
JSON
{
|
|
"data": {
|
|
"name": "Gadget",
|
|
"fields": [
|
|
{
|
|
"name": "name",
|
|
"label": "Name",
|
|
"type": "text",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "starts_at",
|
|
"label": "Starts at",
|
|
"type": "datepicker",
|
|
"mode": "datetime"
|
|
},
|
|
{
|
|
"name": "released_on",
|
|
"label": "Released on",
|
|
"type": "datepicker",
|
|
"mode": "date",
|
|
"minDate": "2026-01-01",
|
|
"displayFormat": "D MMMM YYYY"
|
|
},
|
|
{
|
|
"name": "photos",
|
|
"label": "Photos",
|
|
"type": "fileupload",
|
|
"mode": "image",
|
|
"multiple": true,
|
|
"maxFiles": 3,
|
|
"fileTypes": [
|
|
"jpg",
|
|
"png"
|
|
],
|
|
"maxFilesize": 2,
|
|
"thumbOptions": {
|
|
"mode": "crop"
|
|
},
|
|
"useCaption": true
|
|
},
|
|
{
|
|
"name": "parts",
|
|
"label": "Parts",
|
|
"type": "relation-manager",
|
|
"relation": "parts",
|
|
"deferrable": true
|
|
}
|
|
],
|
|
"messages": {
|
|
"create": {
|
|
"other": "New gadget"
|
|
},
|
|
"update": {
|
|
"other": "Editing gadget"
|
|
},
|
|
"saved": {
|
|
"other": "Gadget „:name” saved"
|
|
},
|
|
"deleteConfirm": {
|
|
"other": "Delete this gadget?"
|
|
},
|
|
"deleted": {
|
|
"other": "Gadget deleted"
|
|
},
|
|
"preview": {
|
|
"other": "Record preview"
|
|
},
|
|
"edit": {
|
|
"other": "Edit record"
|
|
}
|
|
},
|
|
"meta": {
|
|
"locale": "en"
|
|
},
|
|
"assets": {
|
|
"scripts": [],
|
|
"styles": []
|
|
},
|
|
"redirects": {
|
|
"create": {
|
|
"redirect": "acme/demo/gadgets/update/:id",
|
|
"redirectClose": "acme/demo/gadgets"
|
|
},
|
|
"update": {
|
|
"redirect": "acme/demo/gadgets",
|
|
"redirectClose": "acme/demo/gadgets"
|
|
},
|
|
"default": "acme/demo/gadgets"
|
|
}
|
|
},
|
|
"meta": {
|
|
"locale": "en"
|
|
}
|
|
}
|