Added the support for generating docs from template doc
This commit is contained in:
@@ -203,17 +203,42 @@ const rawMenuGroups = [
|
||||
routeName: "settings",
|
||||
active: ["settings", "settings.*"],
|
||||
},
|
||||
// Admin panel (roles & permissions management)
|
||||
// Only shown if current user has admin role or manage-settings permission.
|
||||
// We'll filter it out below if not authorized.
|
||||
{
|
||||
key: "admin-panel",
|
||||
title: "Administrator",
|
||||
routeName: "admin.index",
|
||||
active: ["admin.index", "admin.users.index", "admin.permissions.create"],
|
||||
requires: { role: "admin", permission: "manage-settings" },
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const menuGroups = computed(() => {
|
||||
return rawMenuGroups.map((g) => ({
|
||||
label: g.label,
|
||||
items: [...g.items].sort((a, b) =>
|
||||
a.title.localeCompare(b.title, "sl", { sensitivity: "base" })
|
||||
),
|
||||
}));
|
||||
const user = page.props.auth?.user || {};
|
||||
const roles = (user.roles || []).map((r) => r.slug);
|
||||
const permissions = user.permissions || [];
|
||||
|
||||
// Helper to determine inclusion based on optional requires meta
|
||||
function allowed(item) {
|
||||
if (!item.requires) return true;
|
||||
const needRole = item.requires.role;
|
||||
const needPerm = item.requires.permission;
|
||||
return (
|
||||
(needRole && roles.includes(needRole)) ||
|
||||
(needPerm && permissions.includes(needPerm))
|
||||
);
|
||||
}
|
||||
|
||||
return rawMenuGroups.map((g) => {
|
||||
const items = g.items
|
||||
.filter(allowed)
|
||||
.sort((a, b) => a.title.localeCompare(b.title, "sl", { sensitivity: "base" }));
|
||||
return { label: g.label, items };
|
||||
});
|
||||
});
|
||||
|
||||
// Icon map for menu keys -> FontAwesome icon definitions
|
||||
@@ -227,6 +252,7 @@ const menuIconMap = {
|
||||
"import-templates-new": faFileCirclePlus,
|
||||
fieldjobs: faMap,
|
||||
settings: faGear,
|
||||
"admin-panel": faUserGroup,
|
||||
};
|
||||
|
||||
function isActive(patterns) {
|
||||
|
||||
Reference in New Issue
Block a user