chore: sync GovOPlaN module split state
This commit is contained in:
@@ -1,87 +1,118 @@
|
||||
import { createElement, lazy } from "react";
|
||||
import type { AdminSectionsUiCapability, PlatformWebModule } from "@govoplan/core-webui";
|
||||
import { adminReadScopes, hasScope } from "@govoplan/core-webui";
|
||||
import { generatedTranslations } from "./i18n/generatedTranslations";
|
||||
|
||||
const AdminOverviewPanel = lazy(() => import("./features/admin/AdminOverviewPanel"));
|
||||
const ConfigurationChangesPanel = lazy(() => import("./features/admin/ConfigurationChangesPanel"));
|
||||
const ConfigurationPackagesPanel = lazy(() => import("./features/admin/ConfigurationPackagesPanel"));
|
||||
const GovernanceTemplatesPanel = lazy(() => import("./features/admin/GovernanceTemplatesPanel"));
|
||||
const ModuleManagementPanel = lazy(() => import("./features/admin/ModuleManagementPanel"));
|
||||
const SystemSettingsPanel = lazy(() => import("./features/admin/SystemSettingsPanel"));
|
||||
|
||||
const translations = {
|
||||
en: generatedTranslations.en,
|
||||
de: generatedTranslations.de
|
||||
};
|
||||
|
||||
const adminSections: AdminSectionsUiCapability = {
|
||||
sections: [
|
||||
{
|
||||
id: "overview",
|
||||
label: "Overview",
|
||||
group: "ROOT",
|
||||
order: 0,
|
||||
anyOf: adminReadScopes,
|
||||
render: ({ settings, availableSections, selectSection }) => createElement(AdminOverviewPanel, {
|
||||
settings,
|
||||
availableSections,
|
||||
onSelect: selectSection
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-settings",
|
||||
label: "General",
|
||||
group: "SYSTEM",
|
||||
order: 10,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(SystemSettingsPanel, {
|
||||
settings,
|
||||
canWrite: hasScope(auth, "system:settings:write"),
|
||||
canAccessMaintenance: hasScope(auth, "system:maintenance:access")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-role-templates",
|
||||
label: "Tenant roles",
|
||||
group: "SYSTEM",
|
||||
order: 40,
|
||||
allOf: ["system:governance:read"],
|
||||
render: ({ settings, auth, refreshAuth }) => createElement(GovernanceTemplatesPanel, {
|
||||
settings,
|
||||
kind: "role",
|
||||
canWrite: hasScope(auth, "system:governance:write"),
|
||||
onAuthRefresh: refreshAuth
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-modules",
|
||||
label: "Modules",
|
||||
group: "SYSTEM",
|
||||
order: 85,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(ModuleManagementPanel, {
|
||||
settings,
|
||||
canWrite: hasScope(auth, "system:settings:write"),
|
||||
canAccessMaintenance: hasScope(auth, "system:maintenance:access")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-groups",
|
||||
label: "Groups",
|
||||
group: "SYSTEM",
|
||||
order: 50,
|
||||
allOf: ["system:governance:read"],
|
||||
render: ({ settings, auth, refreshAuth }) => createElement(GovernanceTemplatesPanel, {
|
||||
settings,
|
||||
kind: "group",
|
||||
canWrite: hasScope(auth, "system:governance:write"),
|
||||
onAuthRefresh: refreshAuth
|
||||
})
|
||||
}
|
||||
]
|
||||
{
|
||||
id: "overview",
|
||||
label: "i18n:govoplan-admin.overview.0efc2e6b",
|
||||
group: "ROOT",
|
||||
order: 0,
|
||||
anyOf: adminReadScopes,
|
||||
render: ({ settings, availableSections, selectSection }) => createElement(AdminOverviewPanel, {
|
||||
settings,
|
||||
availableSections,
|
||||
onSelect: selectSection
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-settings",
|
||||
label: "i18n:govoplan-admin.general.9239ee2c",
|
||||
group: "SYSTEM",
|
||||
order: 10,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(SystemSettingsPanel, {
|
||||
settings,
|
||||
canWrite: hasScope(auth, "system:settings:write"),
|
||||
canAccessMaintenance: hasScope(auth, "system:maintenance:access")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-configuration-changes",
|
||||
label: "i18n:govoplan-admin.changes.8aa57de6",
|
||||
group: "SYSTEM",
|
||||
order: 20,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(ConfigurationChangesPanel, {
|
||||
settings,
|
||||
canApprove: hasScope(auth, "system:settings:write") || hasScope(auth, "system:governance:write")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-configuration-packages",
|
||||
label: "i18n:govoplan-admin.packages.0a999012",
|
||||
group: "SYSTEM",
|
||||
order: 30,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(ConfigurationPackagesPanel, {
|
||||
settings,
|
||||
canWrite: hasScope(auth, "system:settings:write")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-role-templates",
|
||||
label: "i18n:govoplan-admin.tenant_roles.51aca82d",
|
||||
group: "SYSTEM",
|
||||
order: 40,
|
||||
allOf: ["system:governance:read"],
|
||||
render: ({ settings, auth, refreshAuth }) => createElement(GovernanceTemplatesPanel, {
|
||||
settings,
|
||||
kind: "role",
|
||||
canWrite: hasScope(auth, "system:governance:write"),
|
||||
onAuthRefresh: refreshAuth
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-modules",
|
||||
label: "i18n:govoplan-admin.modules.04e9462c",
|
||||
group: "SYSTEM",
|
||||
order: 85,
|
||||
allOf: ["system:settings:read"],
|
||||
render: ({ settings, auth }) => createElement(ModuleManagementPanel, {
|
||||
settings,
|
||||
canWrite: hasScope(auth, "system:settings:write"),
|
||||
canAccessMaintenance: hasScope(auth, "system:maintenance:access")
|
||||
})
|
||||
},
|
||||
{
|
||||
id: "system-groups",
|
||||
label: "i18n:govoplan-admin.groups.ae9629f4",
|
||||
group: "SYSTEM",
|
||||
order: 50,
|
||||
allOf: ["system:governance:read"],
|
||||
render: ({ settings, auth, refreshAuth }) => createElement(GovernanceTemplatesPanel, {
|
||||
settings,
|
||||
kind: "group",
|
||||
canWrite: hasScope(auth, "system:governance:write"),
|
||||
onAuthRefresh: refreshAuth
|
||||
})
|
||||
}]
|
||||
|
||||
};
|
||||
|
||||
export const adminModule: PlatformWebModule = {
|
||||
id: "admin",
|
||||
label: "Admin",
|
||||
label: "i18n:govoplan-admin.admin.4e7afebc",
|
||||
version: "1.0.0",
|
||||
dependencies: ["access"],
|
||||
translations,
|
||||
uiCapabilities: {
|
||||
"admin.sections": adminSections
|
||||
}
|
||||
};
|
||||
|
||||
export default adminModule;
|
||||
export default adminModule;
|
||||
Reference in New Issue
Block a user