Files
govoplan-records/webui/src/module.ts
T

56 lines
1.8 KiB
TypeScript

import { createElement, lazy } from "react";
import type { PlatformWebModule } from "@govoplan/core-webui";
import { generatedTranslations } from "./i18n/generatedTranslations";
import "./styles/records.css";
const RecordsPage = lazy(() => import("./features/records/RecordsPage"));
export const recordsModule: PlatformWebModule = {
id: "records",
label: "i18n:govoplan-records.records",
version: "0.1.18",
optionalDependencies: [
"files",
"cases",
"forms_runtime",
"decisions",
"campaigns",
"postbox",
"reporting",
"dms",
"policy",
"approvals",
"audit",
"search"
],
translations: generatedTranslations,
routes: [
{
path: "/records",
anyOf: ["records:workspace:read"],
order: 47,
surfaceId: "records.workspace",
render: (context) => createElement(RecordsPage, context)
}
],
navItems: [
{
to: "/records",
label: "i18n:govoplan-records.records",
iconName: "archive",
anyOf: ["records:workspace:read"],
order: 47,
surfaceId: "records.navigation"
}
],
viewSurfaces: [
{ id: "records.workspace.file-plan", moduleId: "records", kind: "section", label: "i18n:govoplan-records.file_plan", parentId: "records.workspace", order: 10 },
{ id: "records.workspace.list", moduleId: "records", kind: "section", label: "i18n:govoplan-records.record_list", parentId: "records.workspace", order: 20 },
{ id: "records.workspace.detail", moduleId: "records", kind: "section", label: "i18n:govoplan-records.record_detail", parentId: "records.workspace", order: 30 },
{ id: "records.workspace.file", moduleId: "records", kind: "action", label: "i18n:govoplan-records.file_source", parentId: "records.workspace.detail", order: 40 }
]
};
export default recordsModule;