53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type { PlatformWebModule } from "@govoplan/core-webui";
|
|
import "./styles/reporting.css";
|
|
|
|
|
|
const ReportingPage = lazy(() => import("./features/reporting/ReportingPage"));
|
|
|
|
export const reportingModule: PlatformWebModule = {
|
|
id: "reporting",
|
|
label: "Reporting",
|
|
version: "0.1.14",
|
|
optionalDependencies: [
|
|
"dataflow",
|
|
"datasources",
|
|
"connectors",
|
|
"dashboard",
|
|
"files",
|
|
"mail",
|
|
"templates",
|
|
"workflow_engine",
|
|
"policy",
|
|
"search",
|
|
"notifications"
|
|
],
|
|
routes: [
|
|
{
|
|
path: "/reporting",
|
|
anyOf: ["reporting:definition:read"],
|
|
order: 74,
|
|
surfaceId: "reporting.workspace",
|
|
render: (context) => createElement(ReportingPage, context)
|
|
}
|
|
],
|
|
navItems: [
|
|
{
|
|
to: "/reporting",
|
|
label: "Reporting",
|
|
iconName: "clipboard-pen-line",
|
|
anyOf: ["reporting:definition:read"],
|
|
order: 74,
|
|
surfaceId: "reporting.navigation"
|
|
}
|
|
],
|
|
viewSurfaces: [
|
|
{ id: "reporting.navigation", moduleId: "reporting", kind: "navigation", label: "Reporting navigation", order: 10 },
|
|
{ id: "reporting.workspace", moduleId: "reporting", kind: "route", label: "Reporting workspace", order: 20 },
|
|
{ id: "reporting.parameters", moduleId: "reporting", kind: "section", label: "Report parameters and filters", parentId: "reporting.workspace", order: 30 },
|
|
{ id: "reporting.results", moduleId: "reporting", kind: "section", label: "Authorized report results", parentId: "reporting.workspace", order: 40 }
|
|
]
|
|
};
|
|
|
|
export default reportingModule;
|