feat(17-04): menu plugin admin with registry types, URL checks and tree reorder
- golem15.menu plugin, tables golem15_menu_menus and golem15_menu_menu_entries with the PHP columns plus a nullable url_pattern (D-02) - MenuEntry BeforeSave ports PHP beforeSave: nest columns 0, menu from the parent, sort_order after the menu's last - entry type dropdown: url, divider and the signpost registry types; reference depends on type through signpost.ReferenceOptions - URL scheme allowlist (errors.url_scheme), target _self or _blank, menu and parent cycle checks - menu filter, toolbar reorder/create/delete and config_reorder.yaml partitioned by menu - navigation Menus with Menus and Menu entries, permission golem15.menu.manage_menu, en and pl phrasebooks - TestMenuAdminSmoke
This commit is contained in:
26
models/menu/columns.yaml
Normal file
26
models/menu/columns.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# ===================================
|
||||
# List Column Definitions
|
||||
# ===================================
|
||||
|
||||
columns:
|
||||
id:
|
||||
label: golem15.menu::lang.models.general.id
|
||||
searchable: true
|
||||
name:
|
||||
label: golem15.menu::lang.models.menu.name
|
||||
searchable: true
|
||||
code:
|
||||
label: golem15.menu::lang.models.menu.code
|
||||
searchable: true
|
||||
is_active:
|
||||
label: golem15.menu::lang.models.menu.is_active
|
||||
type: switch
|
||||
created_at:
|
||||
label: golem15.menu::lang.models.general.created_at
|
||||
type: datetime
|
||||
sortable: true
|
||||
invisible: true
|
||||
updated_at:
|
||||
label: golem15.menu::lang.models.general.updated_at
|
||||
type: datetime
|
||||
sortable: true
|
||||
25
models/menu/fields.yaml
Normal file
25
models/menu/fields.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# ===================================
|
||||
# Form Field Definitions
|
||||
# ===================================
|
||||
|
||||
fields:
|
||||
name:
|
||||
label: golem15.menu::lang.models.menu.name
|
||||
type: text
|
||||
span: left
|
||||
required: true
|
||||
code:
|
||||
label: golem15.menu::lang.models.menu.code
|
||||
type: text
|
||||
span: right
|
||||
required: true
|
||||
preset: name
|
||||
css_class:
|
||||
label: golem15.menu::lang.models.menu.css_class
|
||||
type: text
|
||||
span: left
|
||||
is_active:
|
||||
label: golem15.menu::lang.models.menu.is_active
|
||||
type: switch
|
||||
span: right
|
||||
default: true
|
||||
Reference in New Issue
Block a user