feat(17-01): menu item type registry and dependent dropdown binding
- pact: HasMenuItemTypes, MenuItemType, MenuItemReference, MenuItemResolve,
ResolvedMenuItem, MenuItemAlternate, DependentOptionsProvider,
DependentOptionSet; Option gains Depth (omitempty)
- signpost (new module): boot-time registry with fail-loud key and pattern
checks, layered URL patterns incl. PatternFrom for list types, host
overrides at menu_items.patterns, Resolve and ReferenceOptions
- party: signpost.Activate after postcard, before Boot
- cabana: dependsOn on dropdowns (boot checks, controller-only), GET
fields/{field}/dependent-options with swag, inventories, conformance case
- companions fixture, TestSignpostSmoke, TestCompanionsDependentSmoke, docs
This commit is contained in:
4
modules/cabana/testdata/companions/controllers/links/config_form.yaml
vendored
Normal file
4
modules/cabana/testdata/companions/controllers/links/config_form.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
name: New link
|
||||
form: ~/plugins/acme/companions/models/link/fields.yaml
|
||||
modelClass: Link
|
||||
defaultRedirect: acme/companions/links
|
||||
7
modules/cabana/testdata/companions/controllers/links/config_list.yaml
vendored
Normal file
7
modules/cabana/testdata/companions/controllers/links/config_list.yaml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
list: ~/plugins/acme/companions/models/link/columns.yaml
|
||||
modelClass: Link
|
||||
title: Links
|
||||
recordUrl: acme/companions/links/update/:id
|
||||
recordsPerPage: 20
|
||||
toolbar:
|
||||
buttons: [create]
|
||||
6
modules/cabana/testdata/companions/models/link/columns.yaml
vendored
Normal file
6
modules/cabana/testdata/companions/models/link/columns.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
columns:
|
||||
title:
|
||||
label: Title
|
||||
searchable: true
|
||||
type:
|
||||
label: Type
|
||||
14
modules/cabana/testdata/companions/models/link/fields.yaml
vendored
Normal file
14
modules/cabana/testdata/companions/models/link/fields.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
required: true
|
||||
type:
|
||||
label: Type
|
||||
type: dropdown
|
||||
options: typeOptions
|
||||
reference:
|
||||
label: Reference
|
||||
type: dropdown
|
||||
dependsOn: type
|
||||
emptyOption: backend::lang.form.none
|
||||
Reference in New Issue
Block a user