Renders the AdminLTE sidebar navigation tree. Lists
report menu groups and items with ACL-based visibility
control per item.
SysGuiMenu — set as ReportType in def_report.
| Table | Purpose |
|---|---|
def_menu |
Menu item definitions (target, glyph, params) |
def_menugroup |
Menu group names and display order |
def_report |
Reports with MenuRank > 0 appear as menu items |
Schemas in ObjReportSysGuiMenu.yaml. Both def_menu
and def_menugroup have Package in PK and Module.
| Method | Purpose |
|---|---|
Render() |
Build full sidebar nav tree |
RenderMenuGroup(group_name) |
Render items for one group |
def_menu UNION def_report (YAML query)MenuGroupdef_menugroup rows<li> nodeacl.validate_report()MENU_BUFFER (per user, no TTL)| Target | Behaviour |
|---|---|
base / empty |
Opens in main content via axion_transitprocess |
sidebar |
Opens in sidebar content area |
form / other |
Opens in Bootstrap 5 modal (static backdrop) |
Modal items use vanilla JS Bootstrap 5 API (no jQuery):
var modal = new bootstrap.Modal(el, {
backdrop: 'static',
keyboard: false
});
modal.show();
Requires bootstrap.bundle.min.js from the parent
template (axion.yaml).
Read from self._Options JSON:
| Key | Effect |
|---|---|
open_by_default |
"true" adds menu-open class to expand groups on load |
MENU_BUFFER is a module-level dict keyed by username.
No TTL — persists for the process lifetime.
axion.rpc.js — axion_transitprocess() for SPA navbootstrap.bundle.min.js — Bootstrap 5 Modal APIself.DB.Acl) for permission filtering| Flag | Effect |
|---|---|
DO_DEBUG |
Standard debug output |
DO_MENU_DEBUG |
Shows ACL-blocked items with "locked" label |
python ObjReportSysGuiMenu.py main VIRTUAL
ObjReportSysGuiLeftmenu — legacy alias/wrapperObjAcl — ACL validation for menu itemsresource.templates/axion.yaml — Bootstrap 5.3 includes