@burdenoff/microfe-assethandler 2026.510.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/assethandler/AssetHandlerRoot.d.ts +5 -0
- package/dist/assethandler/AssetHandlerRoot.d.ts.map +1 -0
- package/dist/assethandler/AssetHandlerRoot.js +159 -0
- package/dist/assethandler/AssetHandlerRoot.js.map +1 -0
- package/dist/assethandler/AssetHandlerRoutes.d.ts +2 -0
- package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -0
- package/dist/assethandler/AssetHandlerRoutes.js +255 -0
- package/dist/assethandler/AssetHandlerRoutes.js.map +1 -0
- package/dist/assethandler/index.d.ts +5 -0
- package/dist/assethandler/index.d.ts.map +1 -0
- package/dist/assethandler/index.js +3 -0
- package/dist/assethandler/pages/AiPredictionsPage.d.ts +2 -0
- package/dist/assethandler/pages/AiPredictionsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AiPredictionsPage.js +133 -0
- package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -0
- package/dist/assethandler/pages/AnalyticsPage.d.ts +2 -0
- package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AnalyticsPage.js +576 -0
- package/dist/assethandler/pages/AnalyticsPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +162 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +249 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.js +323 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.js +392 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.js +341 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetListPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetListPage.js +459 -0
- package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js +166 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -0
- package/dist/assethandler/pages/AuditTrailPage.d.ts +2 -0
- package/dist/assethandler/pages/AuditTrailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AuditTrailPage.js +197 -0
- package/dist/assethandler/pages/AuditTrailPage.js.map +1 -0
- package/dist/assethandler/pages/CmdbBrowserPage.d.ts +2 -0
- package/dist/assethandler/pages/CmdbBrowserPage.d.ts.map +1 -0
- package/dist/assethandler/pages/CmdbBrowserPage.js +75 -0
- package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -0
- package/dist/assethandler/pages/DashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DashboardPage.js +336 -0
- package/dist/assethandler/pages/DashboardPage.js.map +1 -0
- package/dist/assethandler/pages/DigitalTwinPage.d.ts +2 -0
- package/dist/assethandler/pages/DigitalTwinPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DigitalTwinPage.js +71 -0
- package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.d.ts +2 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.js +115 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -0
- package/dist/assethandler/pages/EsgDashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/EsgDashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/EsgDashboardPage.js +130 -0
- package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js +182 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.js +324 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +172 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/IotDevicesPage.d.ts +2 -0
- package/dist/assethandler/pages/IotDevicesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/IotDevicesPage.js +80 -0
- package/dist/assethandler/pages/IotDevicesPage.js.map +1 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.js +221 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.js +179 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.js +222 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.js +265 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -0
- package/dist/assethandler/pages/ItilItilhubPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilItilhubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilItilhubPage.js +374 -0
- package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.js +177 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.js +167 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -0
- package/dist/assethandler/pages/KnowledgeBasePage.d.ts +2 -0
- package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -0
- package/dist/assethandler/pages/KnowledgeBasePage.js +116 -0
- package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts +2 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +185 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts +2 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +133 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +166 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +155 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +126 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +157 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +179 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.js +291 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +172 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts +2 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +203 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -0
- package/dist/assethandler/pages/ProvenancePage.d.ts +2 -0
- package/dist/assethandler/pages/ProvenancePage.d.ts.map +1 -0
- package/dist/assethandler/pages/ProvenancePage.js +118 -0
- package/dist/assethandler/pages/ProvenancePage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.js +201 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js +201 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportsListPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportsListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportsListPage.js +128 -0
- package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -0
- package/dist/assethandler/pages/SamLicensesPage.d.ts +2 -0
- package/dist/assethandler/pages/SamLicensesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SamLicensesPage.js +79 -0
- package/dist/assethandler/pages/SamLicensesPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js +109 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js +133 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js +143 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +135 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts +2 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.js +355 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +281 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts +2 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.js +220 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -0
- package/dist/assethandler/pages/UsersPage.d.ts +2 -0
- package/dist/assethandler/pages/UsersPage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersPage.js +183 -0
- package/dist/assethandler/pages/UsersPage.js.map +1 -0
- package/dist/assethandler/pages/UsersUserCreatePage.d.ts +2 -0
- package/dist/assethandler/pages/UsersUserCreatePage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersUserCreatePage.js +213 -0
- package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts +2 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.js +325 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +246 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +188 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +163 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +158 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -0
- package/dist/assethandler/providers/AssetHandlerProvider.d.ts +6 -0
- package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -0
- package/dist/assethandler/providers/AssetHandlerProvider.js +214 -0
- package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -0
- package/dist/assethandler/store/assethandlerStore.d.ts +635 -0
- package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -0
- package/dist/assethandler/store/assethandlerStore.js +2337 -0
- package/dist/assethandler/store/assethandlerStore.js.map +1 -0
- package/dist/assethandler/types/index.d.ts +56 -0
- package/dist/assethandler/types/index.d.ts.map +1 -0
- package/dist/assethandler/utils/cn.d.ts +4 -0
- package/dist/assethandler/utils/cn.d.ts.map +1 -0
- package/dist/assethandler/utils/i18n.d.ts +6 -0
- package/dist/assethandler/utils/i18n.d.ts.map +1 -0
- package/dist/assethandler/utils/i18n.js +9 -0
- package/dist/assethandler/utils/i18n.js.map +1 -0
- package/dist/assethandler/utils/navigation.d.ts +2 -0
- package/dist/assethandler/utils/navigation.d.ts.map +1 -0
- package/dist/assethandler/utils/navigation.js +8 -0
- package/dist/assethandler/utils/navigation.js.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +210 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +108 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
|
|
2
|
+
import { AlertTriangle as t, CheckCircle as n, GitPullRequest as r, Search as i, XCircle as a } from "lucide-react";
|
|
3
|
+
import { Badge as o, Button as s, Card as c, CardContent as l, Tabs as u, TabsContent as d, TabsList as f, TabsTrigger as p } from "@burdenoff/fe-libs/ui";
|
|
4
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
5
|
+
//#region src/assethandler/pages/ItilItilhubPage.tsx
|
|
6
|
+
var g = {
|
|
7
|
+
critical: "destructive",
|
|
8
|
+
high: "destructive",
|
|
9
|
+
medium: "default",
|
|
10
|
+
low: "secondary"
|
|
11
|
+
};
|
|
12
|
+
function _() {
|
|
13
|
+
let { incidents: _, changeRequests: v, problems: y } = e(), b = _.filter((e) => e.status !== "resolved" && e.status !== "closed"), x = _.filter((e) => e.status === "resolved" || e.status === "closed"), S = _.filter((e) => e.slaBreached), C = v.filter((e) => e.status !== "completed" && e.status !== "rejected"), w = y.filter((e) => e.status !== "resolved" && e.status !== "closed");
|
|
14
|
+
return /* @__PURE__ */ h("div", {
|
|
15
|
+
className: "space-y-6 p-6",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ h("div", {
|
|
18
|
+
className: "flex items-center justify-between",
|
|
19
|
+
children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h1", {
|
|
20
|
+
className: "text-2xl font-bold",
|
|
21
|
+
children: "ITIL Service Management"
|
|
22
|
+
}), /* @__PURE__ */ m("p", {
|
|
23
|
+
className: "text-sm text-muted-foreground",
|
|
24
|
+
children: "Incident, Change, and Problem management hub"
|
|
25
|
+
})] }), /* @__PURE__ */ m(s, {
|
|
26
|
+
size: "sm",
|
|
27
|
+
children: "Create Ticket"
|
|
28
|
+
})]
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ h("div", {
|
|
31
|
+
className: "grid gap-4 md:grid-cols-2 lg:grid-cols-5",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ m(c, { children: /* @__PURE__ */ h(l, {
|
|
34
|
+
className: "pt-4",
|
|
35
|
+
children: [/* @__PURE__ */ h("div", {
|
|
36
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
37
|
+
children: [/* @__PURE__ */ m(t, { className: "h-4 w-4" }), "Active Incidents"]
|
|
38
|
+
}), /* @__PURE__ */ m("p", {
|
|
39
|
+
className: "text-2xl font-bold mt-1",
|
|
40
|
+
children: b.length
|
|
41
|
+
})]
|
|
42
|
+
}) }),
|
|
43
|
+
/* @__PURE__ */ m(c, { children: /* @__PURE__ */ h(l, {
|
|
44
|
+
className: "pt-4",
|
|
45
|
+
children: [/* @__PURE__ */ h("div", {
|
|
46
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
47
|
+
children: [/* @__PURE__ */ m(n, { className: "h-4 w-4" }), "Resolved"]
|
|
48
|
+
}), /* @__PURE__ */ m("p", {
|
|
49
|
+
className: "text-2xl font-bold mt-1 text-green-600",
|
|
50
|
+
children: x.length
|
|
51
|
+
})]
|
|
52
|
+
}) }),
|
|
53
|
+
/* @__PURE__ */ m(c, { children: /* @__PURE__ */ h(l, {
|
|
54
|
+
className: "pt-4",
|
|
55
|
+
children: [/* @__PURE__ */ h("div", {
|
|
56
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
57
|
+
children: [/* @__PURE__ */ m(a, { className: "h-4 w-4" }), "SLA Breaches"]
|
|
58
|
+
}), /* @__PURE__ */ m("p", {
|
|
59
|
+
className: "text-2xl font-bold mt-1 text-red-600",
|
|
60
|
+
children: S.length
|
|
61
|
+
})]
|
|
62
|
+
}) }),
|
|
63
|
+
/* @__PURE__ */ m(c, { children: /* @__PURE__ */ h(l, {
|
|
64
|
+
className: "pt-4",
|
|
65
|
+
children: [/* @__PURE__ */ h("div", {
|
|
66
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
67
|
+
children: [/* @__PURE__ */ m(r, { className: "h-4 w-4" }), "Pending Changes"]
|
|
68
|
+
}), /* @__PURE__ */ m("p", {
|
|
69
|
+
className: "text-2xl font-bold mt-1",
|
|
70
|
+
children: C.length
|
|
71
|
+
})]
|
|
72
|
+
}) }),
|
|
73
|
+
/* @__PURE__ */ m(c, { children: /* @__PURE__ */ h(l, {
|
|
74
|
+
className: "pt-4",
|
|
75
|
+
children: [/* @__PURE__ */ h("div", {
|
|
76
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
77
|
+
children: [/* @__PURE__ */ m(i, { className: "h-4 w-4" }), "Open Problems"]
|
|
78
|
+
}), /* @__PURE__ */ m("p", {
|
|
79
|
+
className: "text-2xl font-bold mt-1",
|
|
80
|
+
children: w.length
|
|
81
|
+
})]
|
|
82
|
+
}) })
|
|
83
|
+
]
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ h(u, {
|
|
86
|
+
defaultValue: "incidents",
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ h(f, { children: [
|
|
89
|
+
/* @__PURE__ */ h(p, {
|
|
90
|
+
value: "incidents",
|
|
91
|
+
children: [
|
|
92
|
+
"Incidents (",
|
|
93
|
+
_.length,
|
|
94
|
+
")"
|
|
95
|
+
]
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ h(p, {
|
|
98
|
+
value: "changes",
|
|
99
|
+
children: [
|
|
100
|
+
"Changes (",
|
|
101
|
+
v.length,
|
|
102
|
+
")"
|
|
103
|
+
]
|
|
104
|
+
}),
|
|
105
|
+
/* @__PURE__ */ h(p, {
|
|
106
|
+
value: "problems",
|
|
107
|
+
children: [
|
|
108
|
+
"Problems (",
|
|
109
|
+
y.length,
|
|
110
|
+
")"
|
|
111
|
+
]
|
|
112
|
+
})
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ m(d, {
|
|
115
|
+
value: "incidents",
|
|
116
|
+
className: "mt-4",
|
|
117
|
+
children: /* @__PURE__ */ m(c, { children: /* @__PURE__ */ m(l, {
|
|
118
|
+
className: "p-0",
|
|
119
|
+
children: /* @__PURE__ */ m("div", {
|
|
120
|
+
className: "overflow-x-auto",
|
|
121
|
+
children: /* @__PURE__ */ h("table", {
|
|
122
|
+
className: "w-full text-sm",
|
|
123
|
+
children: [/* @__PURE__ */ m("thead", { children: /* @__PURE__ */ h("tr", {
|
|
124
|
+
className: "border-b bg-muted/50",
|
|
125
|
+
children: [
|
|
126
|
+
/* @__PURE__ */ m("th", {
|
|
127
|
+
className: "text-left p-3 font-medium",
|
|
128
|
+
children: "ID"
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ m("th", {
|
|
131
|
+
className: "text-left p-3 font-medium",
|
|
132
|
+
children: "Title"
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ m("th", {
|
|
135
|
+
className: "text-left p-3 font-medium",
|
|
136
|
+
children: "Priority"
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ m("th", {
|
|
139
|
+
className: "text-left p-3 font-medium",
|
|
140
|
+
children: "Status"
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ m("th", {
|
|
143
|
+
className: "text-left p-3 font-medium",
|
|
144
|
+
children: "Assigned To"
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ m("th", {
|
|
147
|
+
className: "text-left p-3 font-medium",
|
|
148
|
+
children: "SLA"
|
|
149
|
+
})
|
|
150
|
+
]
|
|
151
|
+
}) }), /* @__PURE__ */ m("tbody", { children: _.map((e) => /* @__PURE__ */ h("tr", {
|
|
152
|
+
className: "border-b hover:bg-muted/50 cursor-pointer",
|
|
153
|
+
children: [
|
|
154
|
+
/* @__PURE__ */ m("td", {
|
|
155
|
+
className: "p-3 font-mono text-xs",
|
|
156
|
+
children: e.id
|
|
157
|
+
}),
|
|
158
|
+
/* @__PURE__ */ h("td", {
|
|
159
|
+
className: "p-3",
|
|
160
|
+
children: [/* @__PURE__ */ m("p", {
|
|
161
|
+
className: "font-medium",
|
|
162
|
+
children: e.title
|
|
163
|
+
}), /* @__PURE__ */ m("p", {
|
|
164
|
+
className: "text-xs text-muted-foreground truncate max-w-xs",
|
|
165
|
+
children: e.description
|
|
166
|
+
})]
|
|
167
|
+
}),
|
|
168
|
+
/* @__PURE__ */ m("td", {
|
|
169
|
+
className: "p-3",
|
|
170
|
+
children: /* @__PURE__ */ m(o, {
|
|
171
|
+
variant: g[e.priority],
|
|
172
|
+
children: e.priority
|
|
173
|
+
})
|
|
174
|
+
}),
|
|
175
|
+
/* @__PURE__ */ m("td", {
|
|
176
|
+
className: "p-3",
|
|
177
|
+
children: /* @__PURE__ */ m(o, {
|
|
178
|
+
variant: "outline",
|
|
179
|
+
children: e.status.replace("_", " ")
|
|
180
|
+
})
|
|
181
|
+
}),
|
|
182
|
+
/* @__PURE__ */ m("td", {
|
|
183
|
+
className: "p-3 text-xs",
|
|
184
|
+
children: e.assignedTo || "Unassigned"
|
|
185
|
+
}),
|
|
186
|
+
/* @__PURE__ */ m("td", {
|
|
187
|
+
className: "p-3",
|
|
188
|
+
children: e.slaBreached ? /* @__PURE__ */ m(o, {
|
|
189
|
+
variant: "destructive",
|
|
190
|
+
children: "Breached"
|
|
191
|
+
}) : /* @__PURE__ */ m(o, {
|
|
192
|
+
variant: "secondary",
|
|
193
|
+
children: "OK"
|
|
194
|
+
})
|
|
195
|
+
})
|
|
196
|
+
]
|
|
197
|
+
}, e.id)) })]
|
|
198
|
+
})
|
|
199
|
+
})
|
|
200
|
+
}) })
|
|
201
|
+
}),
|
|
202
|
+
/* @__PURE__ */ m(d, {
|
|
203
|
+
value: "changes",
|
|
204
|
+
className: "mt-4",
|
|
205
|
+
children: /* @__PURE__ */ m(c, { children: /* @__PURE__ */ m(l, {
|
|
206
|
+
className: "p-0",
|
|
207
|
+
children: /* @__PURE__ */ m("div", {
|
|
208
|
+
className: "overflow-x-auto",
|
|
209
|
+
children: /* @__PURE__ */ h("table", {
|
|
210
|
+
className: "w-full text-sm",
|
|
211
|
+
children: [/* @__PURE__ */ m("thead", { children: /* @__PURE__ */ h("tr", {
|
|
212
|
+
className: "border-b bg-muted/50",
|
|
213
|
+
children: [
|
|
214
|
+
/* @__PURE__ */ m("th", {
|
|
215
|
+
className: "text-left p-3 font-medium",
|
|
216
|
+
children: "ID"
|
|
217
|
+
}),
|
|
218
|
+
/* @__PURE__ */ m("th", {
|
|
219
|
+
className: "text-left p-3 font-medium",
|
|
220
|
+
children: "Title"
|
|
221
|
+
}),
|
|
222
|
+
/* @__PURE__ */ m("th", {
|
|
223
|
+
className: "text-left p-3 font-medium",
|
|
224
|
+
children: "Type"
|
|
225
|
+
}),
|
|
226
|
+
/* @__PURE__ */ m("th", {
|
|
227
|
+
className: "text-left p-3 font-medium",
|
|
228
|
+
children: "Risk"
|
|
229
|
+
}),
|
|
230
|
+
/* @__PURE__ */ m("th", {
|
|
231
|
+
className: "text-left p-3 font-medium",
|
|
232
|
+
children: "Status"
|
|
233
|
+
}),
|
|
234
|
+
/* @__PURE__ */ m("th", {
|
|
235
|
+
className: "text-left p-3 font-medium",
|
|
236
|
+
children: "Scheduled"
|
|
237
|
+
})
|
|
238
|
+
]
|
|
239
|
+
}) }), /* @__PURE__ */ m("tbody", { children: v.map((e) => /* @__PURE__ */ h("tr", {
|
|
240
|
+
className: "border-b hover:bg-muted/50 cursor-pointer",
|
|
241
|
+
children: [
|
|
242
|
+
/* @__PURE__ */ m("td", {
|
|
243
|
+
className: "p-3 font-mono text-xs",
|
|
244
|
+
children: e.id
|
|
245
|
+
}),
|
|
246
|
+
/* @__PURE__ */ h("td", {
|
|
247
|
+
className: "p-3",
|
|
248
|
+
children: [/* @__PURE__ */ m("p", {
|
|
249
|
+
className: "font-medium",
|
|
250
|
+
children: e.title
|
|
251
|
+
}), /* @__PURE__ */ m("p", {
|
|
252
|
+
className: "text-xs text-muted-foreground truncate max-w-xs",
|
|
253
|
+
children: e.description
|
|
254
|
+
})]
|
|
255
|
+
}),
|
|
256
|
+
/* @__PURE__ */ m("td", {
|
|
257
|
+
className: "p-3 capitalize",
|
|
258
|
+
children: e.type
|
|
259
|
+
}),
|
|
260
|
+
/* @__PURE__ */ m("td", {
|
|
261
|
+
className: "p-3",
|
|
262
|
+
children: /* @__PURE__ */ m(o, {
|
|
263
|
+
variant: g[e.risk],
|
|
264
|
+
children: e.risk
|
|
265
|
+
})
|
|
266
|
+
}),
|
|
267
|
+
/* @__PURE__ */ m("td", {
|
|
268
|
+
className: "p-3",
|
|
269
|
+
children: /* @__PURE__ */ m(o, {
|
|
270
|
+
variant: "outline",
|
|
271
|
+
children: e.status.replace("_", " ")
|
|
272
|
+
})
|
|
273
|
+
}),
|
|
274
|
+
/* @__PURE__ */ m("td", {
|
|
275
|
+
className: "p-3 text-xs",
|
|
276
|
+
children: new Date(e.scheduledStart).toLocaleDateString()
|
|
277
|
+
})
|
|
278
|
+
]
|
|
279
|
+
}, e.id)) })]
|
|
280
|
+
})
|
|
281
|
+
})
|
|
282
|
+
}) })
|
|
283
|
+
}),
|
|
284
|
+
/* @__PURE__ */ m(d, {
|
|
285
|
+
value: "problems",
|
|
286
|
+
className: "mt-4",
|
|
287
|
+
children: /* @__PURE__ */ m(c, { children: /* @__PURE__ */ m(l, {
|
|
288
|
+
className: "p-0",
|
|
289
|
+
children: /* @__PURE__ */ m("div", {
|
|
290
|
+
className: "overflow-x-auto",
|
|
291
|
+
children: /* @__PURE__ */ h("table", {
|
|
292
|
+
className: "w-full text-sm",
|
|
293
|
+
children: [/* @__PURE__ */ m("thead", { children: /* @__PURE__ */ h("tr", {
|
|
294
|
+
className: "border-b bg-muted/50",
|
|
295
|
+
children: [
|
|
296
|
+
/* @__PURE__ */ m("th", {
|
|
297
|
+
className: "text-left p-3 font-medium",
|
|
298
|
+
children: "ID"
|
|
299
|
+
}),
|
|
300
|
+
/* @__PURE__ */ m("th", {
|
|
301
|
+
className: "text-left p-3 font-medium",
|
|
302
|
+
children: "Title"
|
|
303
|
+
}),
|
|
304
|
+
/* @__PURE__ */ m("th", {
|
|
305
|
+
className: "text-left p-3 font-medium",
|
|
306
|
+
children: "Priority"
|
|
307
|
+
}),
|
|
308
|
+
/* @__PURE__ */ m("th", {
|
|
309
|
+
className: "text-left p-3 font-medium",
|
|
310
|
+
children: "Status"
|
|
311
|
+
}),
|
|
312
|
+
/* @__PURE__ */ m("th", {
|
|
313
|
+
className: "text-left p-3 font-medium",
|
|
314
|
+
children: "Related Incidents"
|
|
315
|
+
}),
|
|
316
|
+
/* @__PURE__ */ m("th", {
|
|
317
|
+
className: "text-left p-3 font-medium",
|
|
318
|
+
children: "Assigned To"
|
|
319
|
+
})
|
|
320
|
+
]
|
|
321
|
+
}) }), /* @__PURE__ */ m("tbody", { children: y.map((e) => /* @__PURE__ */ h("tr", {
|
|
322
|
+
className: "border-b hover:bg-muted/50 cursor-pointer",
|
|
323
|
+
children: [
|
|
324
|
+
/* @__PURE__ */ m("td", {
|
|
325
|
+
className: "p-3 font-mono text-xs",
|
|
326
|
+
children: e.id
|
|
327
|
+
}),
|
|
328
|
+
/* @__PURE__ */ h("td", {
|
|
329
|
+
className: "p-3",
|
|
330
|
+
children: [/* @__PURE__ */ m("p", {
|
|
331
|
+
className: "font-medium",
|
|
332
|
+
children: e.title
|
|
333
|
+
}), /* @__PURE__ */ m("p", {
|
|
334
|
+
className: "text-xs text-muted-foreground truncate max-w-xs",
|
|
335
|
+
children: e.description
|
|
336
|
+
})]
|
|
337
|
+
}),
|
|
338
|
+
/* @__PURE__ */ m("td", {
|
|
339
|
+
className: "p-3",
|
|
340
|
+
children: /* @__PURE__ */ m(o, {
|
|
341
|
+
variant: g[e.priority],
|
|
342
|
+
children: e.priority
|
|
343
|
+
})
|
|
344
|
+
}),
|
|
345
|
+
/* @__PURE__ */ m("td", {
|
|
346
|
+
className: "p-3",
|
|
347
|
+
children: /* @__PURE__ */ m(o, {
|
|
348
|
+
variant: "outline",
|
|
349
|
+
children: e.status.replace("_", " ")
|
|
350
|
+
})
|
|
351
|
+
}),
|
|
352
|
+
/* @__PURE__ */ h("td", {
|
|
353
|
+
className: "p-3 text-xs",
|
|
354
|
+
children: [e.relatedIncidents.length, " incident(s)"]
|
|
355
|
+
}),
|
|
356
|
+
/* @__PURE__ */ m("td", {
|
|
357
|
+
className: "p-3 text-xs",
|
|
358
|
+
children: e.assignedTo
|
|
359
|
+
})
|
|
360
|
+
]
|
|
361
|
+
}, e.id)) })]
|
|
362
|
+
})
|
|
363
|
+
})
|
|
364
|
+
}) })
|
|
365
|
+
})
|
|
366
|
+
]
|
|
367
|
+
})
|
|
368
|
+
]
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
//#endregion
|
|
372
|
+
export { _ as ItilItilhubPage };
|
|
373
|
+
|
|
374
|
+
//# sourceMappingURL=ItilItilhubPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItilItilhubPage.js","names":[],"sources":["../../../src/assethandler/pages/ItilItilhubPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@burdenoff/fe-libs/ui';\nimport {\n AlertTriangle,\n GitPullRequest,\n Search,\n Shield,\n BarChart3,\n Clock,\n CheckCircle,\n XCircle,\n} from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nconst priorityColors: Record<string, 'destructive' | 'default' | 'secondary' | 'outline'> = {\n critical: 'destructive',\n high: 'destructive',\n medium: 'default',\n low: 'secondary',\n};\n\nexport function ItilItilhubPage() {\n const { incidents, changeRequests, problems } = useAssetHandlerStore();\n\n const activeIncidents = incidents.filter((i) => i.status !== 'resolved' && i.status !== 'closed');\n const resolvedIncidents = incidents.filter(\n (i) => i.status === 'resolved' || i.status === 'closed'\n );\n const slaBreaches = incidents.filter((i) => i.slaBreached);\n const pendingChanges = changeRequests.filter(\n (c) => c.status !== 'completed' && c.status !== 'rejected'\n );\n const openProblems = problems.filter((p) => p.status !== 'resolved' && p.status !== 'closed');\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold\">ITIL Service Management</h1>\n <p className=\"text-sm text-muted-foreground\">\n Incident, Change, and Problem management hub\n </p>\n </div>\n <Button size=\"sm\">Create Ticket</Button>\n </div>\n\n {/* KPI Cards */}\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-5\">\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <AlertTriangle className=\"h-4 w-4\" />\n Active Incidents\n </div>\n <p className=\"text-2xl font-bold mt-1\">{activeIncidents.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <CheckCircle className=\"h-4 w-4\" />\n Resolved\n </div>\n <p className=\"text-2xl font-bold mt-1 text-green-600\">{resolvedIncidents.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <XCircle className=\"h-4 w-4\" />\n SLA Breaches\n </div>\n <p className=\"text-2xl font-bold mt-1 text-red-600\">{slaBreaches.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <GitPullRequest className=\"h-4 w-4\" />\n Pending Changes\n </div>\n <p className=\"text-2xl font-bold mt-1\">{pendingChanges.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Search className=\"h-4 w-4\" />\n Open Problems\n </div>\n <p className=\"text-2xl font-bold mt-1\">{openProblems.length}</p>\n </CardContent>\n </Card>\n </div>\n\n <Tabs defaultValue=\"incidents\">\n <TabsList>\n <TabsTrigger value=\"incidents\">Incidents ({incidents.length})</TabsTrigger>\n <TabsTrigger value=\"changes\">Changes ({changeRequests.length})</TabsTrigger>\n <TabsTrigger value=\"problems\">Problems ({problems.length})</TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"incidents\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">ID</th>\n <th className=\"text-left p-3 font-medium\">Title</th>\n <th className=\"text-left p-3 font-medium\">Priority</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Assigned To</th>\n <th className=\"text-left p-3 font-medium\">SLA</th>\n </tr>\n </thead>\n <tbody>\n {incidents.map((inc) => (\n <tr key={inc.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{inc.id}</td>\n <td className=\"p-3\">\n <p className=\"font-medium\">{inc.title}</p>\n <p className=\"text-xs text-muted-foreground truncate max-w-xs\">\n {inc.description}\n </p>\n </td>\n <td className=\"p-3\">\n <Badge variant={priorityColors[inc.priority]}>{inc.priority}</Badge>\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{inc.status.replace('_', ' ')}</Badge>\n </td>\n <td className=\"p-3 text-xs\">{inc.assignedTo || 'Unassigned'}</td>\n <td className=\"p-3\">\n {inc.slaBreached ? (\n <Badge variant=\"destructive\">Breached</Badge>\n ) : (\n <Badge variant=\"secondary\">OK</Badge>\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n\n <TabsContent value=\"changes\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">ID</th>\n <th className=\"text-left p-3 font-medium\">Title</th>\n <th className=\"text-left p-3 font-medium\">Type</th>\n <th className=\"text-left p-3 font-medium\">Risk</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Scheduled</th>\n </tr>\n </thead>\n <tbody>\n {changeRequests.map((chg) => (\n <tr key={chg.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{chg.id}</td>\n <td className=\"p-3\">\n <p className=\"font-medium\">{chg.title}</p>\n <p className=\"text-xs text-muted-foreground truncate max-w-xs\">\n {chg.description}\n </p>\n </td>\n <td className=\"p-3 capitalize\">{chg.type}</td>\n <td className=\"p-3\">\n <Badge variant={priorityColors[chg.risk]}>{chg.risk}</Badge>\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{chg.status.replace('_', ' ')}</Badge>\n </td>\n <td className=\"p-3 text-xs\">\n {new Date(chg.scheduledStart).toLocaleDateString()}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n\n <TabsContent value=\"problems\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">ID</th>\n <th className=\"text-left p-3 font-medium\">Title</th>\n <th className=\"text-left p-3 font-medium\">Priority</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Related Incidents</th>\n <th className=\"text-left p-3 font-medium\">Assigned To</th>\n </tr>\n </thead>\n <tbody>\n {problems.map((prob) => (\n <tr key={prob.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{prob.id}</td>\n <td className=\"p-3\">\n <p className=\"font-medium\">{prob.title}</p>\n <p className=\"text-xs text-muted-foreground truncate max-w-xs\">\n {prob.description}\n </p>\n </td>\n <td className=\"p-3\">\n <Badge variant={priorityColors[prob.priority]}>{prob.priority}</Badge>\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{prob.status.replace('_', ' ')}</Badge>\n </td>\n <td className=\"p-3 text-xs\">{prob.relatedIncidents.length} incident(s)</td>\n <td className=\"p-3 text-xs\">{prob.assignedTo}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItilProblemDetailPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ItilProblemDetailPage.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,qBAAqB,4CAwHpC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
|
|
2
|
+
import { ArrowLeft as t, CheckCircle as n, Link2 as r } from "lucide-react";
|
|
3
|
+
import { useParams as i } from "react-router-dom";
|
|
4
|
+
import { Badge as a, Button as o, Card as s, CardContent as c, CardHeader as l, CardTitle as u, Separator as d } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
6
|
+
//#region src/assethandler/pages/ItilProblemDetailPage.tsx
|
|
7
|
+
var h = {
|
|
8
|
+
critical: "destructive",
|
|
9
|
+
high: "destructive",
|
|
10
|
+
medium: "default",
|
|
11
|
+
low: "secondary"
|
|
12
|
+
};
|
|
13
|
+
function g() {
|
|
14
|
+
let { problemId: g } = i(), { problems: _ } = e(), v = _.find((e) => e.id === g) ?? _[0];
|
|
15
|
+
return v ? /* @__PURE__ */ m("div", {
|
|
16
|
+
className: "space-y-6 p-6",
|
|
17
|
+
children: [/* @__PURE__ */ m("div", {
|
|
18
|
+
className: "flex items-center justify-between",
|
|
19
|
+
children: [/* @__PURE__ */ m("div", {
|
|
20
|
+
className: "flex items-center gap-4",
|
|
21
|
+
children: [/* @__PURE__ */ p(o, {
|
|
22
|
+
variant: "ghost",
|
|
23
|
+
size: "icon",
|
|
24
|
+
children: /* @__PURE__ */ p(t, { className: "h-4 w-4" })
|
|
25
|
+
}), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("div", {
|
|
26
|
+
className: "flex items-center gap-3",
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ p("h1", {
|
|
29
|
+
className: "text-2xl font-bold",
|
|
30
|
+
children: v.id
|
|
31
|
+
}),
|
|
32
|
+
/* @__PURE__ */ p(a, {
|
|
33
|
+
variant: h[v.priority],
|
|
34
|
+
children: v.priority
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ p(a, {
|
|
37
|
+
variant: "outline",
|
|
38
|
+
children: v.status.replace("_", " ")
|
|
39
|
+
})
|
|
40
|
+
]
|
|
41
|
+
}), /* @__PURE__ */ p("p", {
|
|
42
|
+
className: "text-sm text-muted-foreground mt-1",
|
|
43
|
+
children: v.title
|
|
44
|
+
})] })]
|
|
45
|
+
}), /* @__PURE__ */ m(o, {
|
|
46
|
+
size: "sm",
|
|
47
|
+
children: [/* @__PURE__ */ p(n, { className: "mr-2 h-4 w-4" }), "Resolve"]
|
|
48
|
+
})]
|
|
49
|
+
}), /* @__PURE__ */ m("div", {
|
|
50
|
+
className: "grid gap-6 lg:grid-cols-3",
|
|
51
|
+
children: [/* @__PURE__ */ m(s, {
|
|
52
|
+
className: "lg:col-span-2",
|
|
53
|
+
children: [/* @__PURE__ */ p(l, { children: /* @__PURE__ */ p(u, { children: "Problem Details" }) }), /* @__PURE__ */ m(c, {
|
|
54
|
+
className: "space-y-4",
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h4", {
|
|
57
|
+
className: "text-sm font-medium text-muted-foreground",
|
|
58
|
+
children: "Description"
|
|
59
|
+
}), /* @__PURE__ */ p("p", {
|
|
60
|
+
className: "text-sm mt-1",
|
|
61
|
+
children: v.description
|
|
62
|
+
})] }),
|
|
63
|
+
v.rootCause && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(d, {}), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h4", {
|
|
64
|
+
className: "text-sm font-medium text-muted-foreground",
|
|
65
|
+
children: "Root Cause"
|
|
66
|
+
}), /* @__PURE__ */ p("p", {
|
|
67
|
+
className: "text-sm mt-1",
|
|
68
|
+
children: v.rootCause
|
|
69
|
+
})] })] }),
|
|
70
|
+
v.workaround && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(d, {}), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h4", {
|
|
71
|
+
className: "text-sm font-medium text-muted-foreground",
|
|
72
|
+
children: "Workaround"
|
|
73
|
+
}), /* @__PURE__ */ p("p", {
|
|
74
|
+
className: "text-sm mt-1",
|
|
75
|
+
children: v.workaround
|
|
76
|
+
})] })] }),
|
|
77
|
+
/* @__PURE__ */ p(d, {}),
|
|
78
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("h4", {
|
|
79
|
+
className: "text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2",
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ p(r, { className: "h-4 w-4" }),
|
|
82
|
+
"Related Incidents (",
|
|
83
|
+
v.relatedIncidents.length,
|
|
84
|
+
")"
|
|
85
|
+
]
|
|
86
|
+
}), /* @__PURE__ */ p("div", {
|
|
87
|
+
className: "flex flex-wrap gap-2",
|
|
88
|
+
children: v.relatedIncidents.map((e) => /* @__PURE__ */ p(a, {
|
|
89
|
+
variant: "secondary",
|
|
90
|
+
className: "font-mono",
|
|
91
|
+
children: e
|
|
92
|
+
}, e))
|
|
93
|
+
})] })
|
|
94
|
+
]
|
|
95
|
+
})]
|
|
96
|
+
}), /* @__PURE__ */ m(s, { children: [/* @__PURE__ */ p(l, { children: /* @__PURE__ */ p(u, {
|
|
97
|
+
className: "text-base",
|
|
98
|
+
children: "Properties"
|
|
99
|
+
}) }), /* @__PURE__ */ p(c, { children: /* @__PURE__ */ m("dl", {
|
|
100
|
+
className: "space-y-3 text-sm",
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ m("div", {
|
|
103
|
+
className: "flex justify-between",
|
|
104
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
105
|
+
className: "text-muted-foreground",
|
|
106
|
+
children: "Category"
|
|
107
|
+
}), /* @__PURE__ */ p("dd", {
|
|
108
|
+
className: "font-medium",
|
|
109
|
+
children: v.category
|
|
110
|
+
})]
|
|
111
|
+
}),
|
|
112
|
+
/* @__PURE__ */ m("div", {
|
|
113
|
+
className: "flex justify-between",
|
|
114
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
115
|
+
className: "text-muted-foreground",
|
|
116
|
+
children: "Priority"
|
|
117
|
+
}), /* @__PURE__ */ p("dd", { children: /* @__PURE__ */ p(a, {
|
|
118
|
+
variant: h[v.priority],
|
|
119
|
+
children: v.priority
|
|
120
|
+
}) })]
|
|
121
|
+
}),
|
|
122
|
+
/* @__PURE__ */ m("div", {
|
|
123
|
+
className: "flex justify-between",
|
|
124
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
125
|
+
className: "text-muted-foreground",
|
|
126
|
+
children: "Status"
|
|
127
|
+
}), /* @__PURE__ */ p("dd", { children: /* @__PURE__ */ p(a, {
|
|
128
|
+
variant: "outline",
|
|
129
|
+
children: v.status.replace("_", " ")
|
|
130
|
+
}) })]
|
|
131
|
+
}),
|
|
132
|
+
/* @__PURE__ */ p(d, {}),
|
|
133
|
+
/* @__PURE__ */ m("div", {
|
|
134
|
+
className: "flex justify-between",
|
|
135
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
136
|
+
className: "text-muted-foreground",
|
|
137
|
+
children: "Assigned To"
|
|
138
|
+
}), /* @__PURE__ */ p("dd", {
|
|
139
|
+
className: "text-xs",
|
|
140
|
+
children: v.assignedTo
|
|
141
|
+
})]
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ m("div", {
|
|
144
|
+
className: "flex justify-between",
|
|
145
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
146
|
+
className: "text-muted-foreground",
|
|
147
|
+
children: "Created"
|
|
148
|
+
}), /* @__PURE__ */ p("dd", {
|
|
149
|
+
className: "text-xs",
|
|
150
|
+
children: new Date(v.createdAt).toLocaleDateString()
|
|
151
|
+
})]
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ m("div", {
|
|
154
|
+
className: "flex justify-between",
|
|
155
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
156
|
+
className: "text-muted-foreground",
|
|
157
|
+
children: "Updated"
|
|
158
|
+
}), /* @__PURE__ */ p("dd", {
|
|
159
|
+
className: "text-xs",
|
|
160
|
+
children: new Date(v.updatedAt).toLocaleDateString()
|
|
161
|
+
})]
|
|
162
|
+
})
|
|
163
|
+
]
|
|
164
|
+
}) })] })]
|
|
165
|
+
})]
|
|
166
|
+
}) : /* @__PURE__ */ p("div", {
|
|
167
|
+
className: "p-6",
|
|
168
|
+
children: /* @__PURE__ */ p("p", {
|
|
169
|
+
className: "text-muted-foreground",
|
|
170
|
+
children: "Problem not found."
|
|
171
|
+
})
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
//#endregion
|
|
175
|
+
export { g as ItilProblemDetailPage };
|
|
176
|
+
|
|
177
|
+
//# sourceMappingURL=ItilProblemDetailPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItilProblemDetailPage.js","names":[],"sources":["../../../src/assethandler/pages/ItilProblemDetailPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, CheckCircle, Link2, Search } from 'lucide-react';\nimport { useParams } from 'react-router-dom';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nconst priorityColors: Record<string, 'destructive' | 'default' | 'secondary' | 'outline'> = {\n critical: 'destructive',\n high: 'destructive',\n medium: 'default',\n low: 'secondary',\n};\n\nexport function ItilProblemDetailPage() {\n const { problemId } = useParams<{ problemId: string }>();\n const { problems } = useAssetHandlerStore();\n const problem = problems.find((item) => item.id === problemId) ?? problems[0];\n\n if (!problem)\n return (\n <div className=\"p-6\">\n <p className=\"text-muted-foreground\">Problem not found.</p>\n </div>\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button variant=\"ghost\" size=\"icon\">\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <div className=\"flex items-center gap-3\">\n <h1 className=\"text-2xl font-bold\">{problem.id}</h1>\n <Badge variant={priorityColors[problem.priority]}>{problem.priority}</Badge>\n <Badge variant=\"outline\">{problem.status.replace('_', ' ')}</Badge>\n </div>\n <p className=\"text-sm text-muted-foreground mt-1\">{problem.title}</p>\n </div>\n </div>\n <Button size=\"sm\">\n <CheckCircle className=\"mr-2 h-4 w-4\" />\n Resolve\n </Button>\n </div>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n <Card className=\"lg:col-span-2\">\n <CardHeader>\n <CardTitle>Problem Details</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <h4 className=\"text-sm font-medium text-muted-foreground\">Description</h4>\n <p className=\"text-sm mt-1\">{problem.description}</p>\n </div>\n {problem.rootCause && (\n <>\n <Separator />\n <div>\n <h4 className=\"text-sm font-medium text-muted-foreground\">Root Cause</h4>\n <p className=\"text-sm mt-1\">{problem.rootCause}</p>\n </div>\n </>\n )}\n {problem.workaround && (\n <>\n <Separator />\n <div>\n <h4 className=\"text-sm font-medium text-muted-foreground\">Workaround</h4>\n <p className=\"text-sm mt-1\">{problem.workaround}</p>\n </div>\n </>\n )}\n <Separator />\n <div>\n <h4 className=\"text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2\">\n <Link2 className=\"h-4 w-4\" />\n Related Incidents ({problem.relatedIncidents.length})\n </h4>\n <div className=\"flex flex-wrap gap-2\">\n {problem.relatedIncidents.map((id) => (\n <Badge key={id} variant=\"secondary\" className=\"font-mono\">\n {id}\n </Badge>\n ))}\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Properties</CardTitle>\n </CardHeader>\n <CardContent>\n <dl className=\"space-y-3 text-sm\">\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Category</dt>\n <dd className=\"font-medium\">{problem.category}</dd>\n </div>\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Priority</dt>\n <dd>\n <Badge variant={priorityColors[problem.priority]}>{problem.priority}</Badge>\n </dd>\n </div>\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Status</dt>\n <dd>\n <Badge variant=\"outline\">{problem.status.replace('_', ' ')}</Badge>\n </dd>\n </div>\n <Separator />\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Assigned To</dt>\n <dd className=\"text-xs\">{problem.assignedTo}</dd>\n </div>\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Created</dt>\n <dd className=\"text-xs\">{new Date(problem.createdAt).toLocaleDateString()}</dd>\n </div>\n <div className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">Updated</dt>\n <dd className=\"text-xs\">{new Date(problem.updatedAt).toLocaleDateString()}</dd>\n </div>\n </dl>\n </CardContent>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItilProblemManagementPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ItilProblemManagementPage.tsx"],"names":[],"mappings":"AAWA,wBAAgB,yBAAyB,4CA8FxC"}
|