- cabana: config_reorder.yaml (title, nameFrom, modelClass, parentColumn,
sortColumn, maxDepth, partition) with fail-loud boot checks and the
built-in reorder toolbar button; list schema carries reorder
- GET/POST {controller}/reorder: scoped set (ListExtendQuery plus the
partition) locked FOR UPDATE, 409 reorder_stale on any set difference,
422 for duplicates, foreign parents, cycles and maxDepth, both columns
written without model hooks
- pact.AdminSingleton: GET {controller}/singleton (first or create, form
scope checked), form schema singleton, list/create/bulk/delete 404,
no config_list.yaml needed
- swag, inventories, token classes, CSRF walk, conformance cases, backend
lang reorder.stale and load_failed, reorder and singleton smoke tests, docs
47 lines
1.1 KiB
YAML
47 lines
1.1 KiB
YAML
fields:
|
|
title:
|
|
label: Title
|
|
type: text
|
|
required: true
|
|
group:
|
|
label: Group
|
|
type: relation
|
|
nameFrom: title
|
|
emptyOption: backend::lang.form.none
|
|
type:
|
|
label: Type
|
|
type: dropdown
|
|
options: typeOptions
|
|
reference:
|
|
label: Reference
|
|
type: dropdown
|
|
dependsOn: type
|
|
emptyOption: backend::lang.form.none
|
|
description:
|
|
label: Description
|
|
type: richeditor
|
|
size: large
|
|
rows:
|
|
label: Rows
|
|
type: repeater
|
|
prompt: Add row
|
|
titleFrom: title
|
|
maxItems: 5
|
|
form:
|
|
fields:
|
|
title:
|
|
label: Title
|
|
type: text
|
|
required: true
|
|
body:
|
|
label: Body
|
|
type: richeditor
|
|
type:
|
|
label: Type
|
|
type: dropdown
|
|
options: typeOptions
|
|
reference:
|
|
label: Reference
|
|
type: dropdown
|
|
dependsOn: type
|