feat(tickets): deliver canonical operational lifecycle
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { createElement, lazy } from "react";
|
||||
import type { PlatformWebModule } from "@govoplan/core-webui";
|
||||
import "./styles/tickets.css";
|
||||
|
||||
|
||||
const TicketsPage = lazy(() => import("./features/tickets/TicketsPage"));
|
||||
|
||||
export const ticketsModule: PlatformWebModule = {
|
||||
id: "tickets",
|
||||
label: "Tickets",
|
||||
version: "0.1.20",
|
||||
optionalDependencies: [
|
||||
"cases",
|
||||
"helpdesk",
|
||||
"projects",
|
||||
"wiki",
|
||||
"files",
|
||||
"search"
|
||||
],
|
||||
routes: [
|
||||
{
|
||||
path: "/tickets",
|
||||
anyOf: ["tickets:ticket:read"],
|
||||
order: 22,
|
||||
surfaceId: "tickets.route.workspace",
|
||||
render: (context) => createElement(TicketsPage, context)
|
||||
}
|
||||
],
|
||||
navItems: [
|
||||
{
|
||||
to: "/tickets",
|
||||
label: "Tickets",
|
||||
iconName: "ticket-check",
|
||||
anyOf: ["tickets:ticket:read"],
|
||||
order: 22,
|
||||
surfaceId: "tickets.navigation"
|
||||
}
|
||||
],
|
||||
viewSurfaces: [
|
||||
{ id: "tickets.navigation", moduleId: "tickets", kind: "navigation", label: "Tickets navigation", order: 10 },
|
||||
{ id: "tickets.route.workspace", moduleId: "tickets", kind: "route", label: "Tickets workspace", order: 20 },
|
||||
{ id: "tickets.page.queue", moduleId: "tickets", kind: "section", label: "Ticket queue", parentId: "tickets.route.workspace", order: 30 },
|
||||
{ id: "tickets.page.detail", moduleId: "tickets", kind: "section", label: "Ticket details", parentId: "tickets.route.workspace", order: 40 },
|
||||
{ id: "tickets.action.report", moduleId: "tickets", kind: "action", label: "Report ticket", parentId: "tickets.page.queue", order: 50 },
|
||||
{ id: "tickets.action.resolve", moduleId: "tickets", kind: "action", label: "Resolve ticket", parentId: "tickets.page.detail", order: 60 }
|
||||
]
|
||||
};
|
||||
|
||||
export default ticketsModule;
|
||||
Reference in New Issue
Block a user