56 lines
1.8 KiB
TypeScript
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;
|