@burdenoff/microfe-assethandler 2026.714.2 → 2026.719.1

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.
Files changed (29) hide show
  1. package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -1
  2. package/dist/assethandler/AssetHandlerRoutes.js +9 -17
  3. package/dist/assethandler/AssetHandlerRoutes.js.map +1 -1
  4. package/dist/assethandler/ops/NewWorkOrderDialog.d.ts.map +1 -1
  5. package/dist/assethandler/ops/NewWorkOrderDialog.js +110 -74
  6. package/dist/assethandler/ops/NewWorkOrderDialog.js.map +1 -1
  7. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -1
  8. package/dist/assethandler/pages/AssetsAssetCreatePage.js +189 -126
  9. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -1
  10. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -1
  11. package/dist/assethandler/pages/AssetsAssetDetailPage.js +312 -251
  12. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
  13. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -1
  14. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +286 -222
  15. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -1
  16. package/dist/stories/ListEmptyState.stories.d.ts +10 -0
  17. package/dist/stories/ListEmptyState.stories.d.ts.map +1 -0
  18. package/dist/stories/SectionHeader.stories.d.ts +10 -0
  19. package/dist/stories/SectionHeader.stories.d.ts.map +1 -0
  20. package/dist/stories/StatTile.stories.d.ts +10 -0
  21. package/dist/stories/StatTile.stories.d.ts.map +1 -0
  22. package/dist/utils/pageContext.d.ts.map +1 -1
  23. package/dist/utils/pageContext.js +26 -18
  24. package/dist/utils/pageContext.js.map +1 -1
  25. package/package.json +16 -3
  26. package/dist/assethandler/pages/EsgDashboardPage.js +0 -423
  27. package/dist/assethandler/pages/EsgDashboardPage.js.map +0 -1
  28. package/dist/assethandler/pages/KnowledgeBasePage.js +0 -521
  29. package/dist/assethandler/pages/KnowledgeBasePage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AssetHandlerRoutes.d.ts","sourceRoot":"","sources":["../../src/assethandler/AssetHandlerRoutes.tsx"],"names":[],"mappings":"AA+JA,wBAAgB,kBAAkB,gCA6DjC"}
1
+ {"version":3,"file":"AssetHandlerRoutes.d.ts","sourceRoot":"","sources":["../../src/assethandler/AssetHandlerRoutes.tsx"],"names":[],"mappings":"AAiKA,wBAAgB,kBAAkB,gCA6DjC"}
@@ -4,16 +4,16 @@ import { Loader2 as r } from "lucide-react";
4
4
  import { Navigate as i, Route as a, Routes as o } from "react-router-dom";
5
5
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
6
  //#region src/assethandler/AssetHandlerRoutes.tsx
7
- var l = n(() => import("./pages/AssetsAssetCategoriesPage.js").then((e) => ({ default: e.AssetsAssetCategoriesPage }))), u = n(() => import("./pages/AssetsAssetCheckInOutPage.js").then((e) => ({ default: e.AssetsAssetCheckInOutPage }))), d = n(() => import("./pages/AssetsAssetCreatePage.js").then((e) => ({ default: e.AssetsAssetCreatePage }))), f = n(() => import("./pages/AssetsAssetDetailPage.js").then((e) => ({ default: e.AssetsAssetDetailPage }))), p = n(() => import("./pages/AssetsAssetListPage.js").then((e) => ({ default: e.AssetsAssetListPage }))), m = n(() => import("./pages/AssetsAssetTrackingPage.js").then((e) => ({ default: e.AssetsAssetTrackingPage }))), h = n(() => import("./pages/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), g = n(() => import("./pages/FinanceBudgetDetailPage.js").then((e) => ({ default: e.FinanceBudgetDetailPage }))), _ = n(() => import("./pages/FinanceFinanceHubPage.js").then((e) => ({ default: e.FinanceFinanceHubPage }))), v = n(() => import("./pages/FinanceInvoiceDetailPage.js").then((e) => ({ default: e.FinanceInvoiceDetailPage }))), y = n(() => import("./pages/ItilChangeDetailPage.js").then((e) => ({ default: e.ItilChangeDetailPage }))), b = n(() => import("./pages/ItilChangeManagementPage.js").then((e) => ({ default: e.ItilChangeManagementPage }))), x = n(() => import("./pages/ItilItilhubPage.js").then((e) => ({ default: e.ItilItilhubPage }))), S = n(() => import("./pages/ItilIncidentDetailPage.js").then((e) => ({ default: e.ItilIncidentDetailPage }))), C = n(() => import("./pages/ItilIncidentManagementPage.js").then((e) => ({ default: e.ItilIncidentManagementPage }))), w = n(() => import("./pages/ItilProblemDetailPage.js").then((e) => ({ default: e.ItilProblemDetailPage }))), T = n(() => import("./pages/ItilProblemManagementPage.js").then((e) => ({ default: e.ItilProblemManagementPage }))), E = n(() => import("./pages/MaintenanceMaintenanceCalendarPage.js").then((e) => ({ default: e.MaintenanceMaintenanceCalendarPage }))), D = n(() => import("./pages/MaintenanceMaintenanceSchedulerPage.js").then((e) => ({ default: e.MaintenanceMaintenanceSchedulerPage }))), O = n(() => import("./pages/OperationsMaintenanceDetailPage.js").then((e) => ({ default: e.OperationsMaintenanceDetailPage }))), k = n(() => import("./pages/OperationsOperationsHubPage.js").then((e) => ({ default: e.OperationsOperationsHubPage }))), A = n(() => import("./pages/OperationsWorkOrderDetailPage.js").then((e) => ({ default: e.OperationsWorkOrderDetailPage }))), j = n(() => import("./pages/PortfolioPortfolioOverviewPage.js").then((e) => ({ default: e.PortfolioPortfolioOverviewPage }))), M = n(() => import("./pages/SecurityComplianceDetailPage.js").then((e) => ({ default: e.SecurityComplianceDetailPage }))), N = n(() => import("./pages/SecurityPolicyDetailPage.js").then((e) => ({ default: e.SecurityPolicyDetailPage }))), P = n(() => import("./pages/SecuritySecurityEventDetailPage.js").then((e) => ({ default: e.SecuritySecurityEventDetailPage }))), F = n(() => import("./pages/SecuritySecurityHubPage.js").then((e) => ({ default: e.SecuritySecurityHubPage }))), I = n(() => import("./pages/TransactionsTransactionDetailPage.js").then((e) => ({ default: e.TransactionsTransactionDetailPage }))), L = n(() => import("./pages/TransactionsTransactionListPage.js").then((e) => ({ default: e.TransactionsTransactionListPage }))), R = n(() => import("./pages/AiPredictionsPage.js").then((e) => ({ default: e.AiPredictionsPage }))), z = n(() => import("./pages/CmdbBrowserPage.js").then((e) => ({ default: e.CmdbBrowserPage }))), B = n(() => import("./pages/DiscoveryJobsPage.js").then((e) => ({ default: e.DiscoveryJobsPage }))), V = n(() => import("./pages/DigitalTwinPage.js").then((e) => ({ default: e.DigitalTwinPage }))), H = n(() => import("./pages/EsgDashboardPage.js").then((e) => ({ default: e.EsgDashboardPage }))), U = n(() => import("./pages/IotDevicesPage.js").then((e) => ({ default: e.IotDevicesPage }))), W = n(() => import("./pages/KnowledgeBasePage.js").then((e) => ({ default: e.KnowledgeBasePage }))), G = n(() => import("./pages/ProvenancePage.js").then((e) => ({ default: e.ProvenancePage }))), K = n(() => import("./pages/SamLicensesPage.js").then((e) => ({ default: e.SamLicensesPage }))), q = n(() => import("./pages/ReportsDashboardPage.js").then((e) => ({ default: e.ReportsDashboardPage })));
8
- function J() {
7
+ var l = n(() => import("./pages/AssetsAssetCategoriesPage.js").then((e) => ({ default: e.AssetsAssetCategoriesPage }))), u = n(() => import("./pages/AssetsAssetCheckInOutPage.js").then((e) => ({ default: e.AssetsAssetCheckInOutPage }))), d = n(() => import("./pages/AssetsAssetCreatePage.js").then((e) => ({ default: e.AssetsAssetCreatePage }))), f = n(() => import("./pages/AssetsAssetDetailPage.js").then((e) => ({ default: e.AssetsAssetDetailPage }))), p = n(() => import("./pages/AssetsAssetListPage.js").then((e) => ({ default: e.AssetsAssetListPage }))), m = n(() => import("./pages/AssetsAssetTrackingPage.js").then((e) => ({ default: e.AssetsAssetTrackingPage }))), h = n(() => import("./pages/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), g = n(() => import("./pages/FinanceBudgetDetailPage.js").then((e) => ({ default: e.FinanceBudgetDetailPage }))), _ = n(() => import("./pages/FinanceFinanceHubPage.js").then((e) => ({ default: e.FinanceFinanceHubPage }))), v = n(() => import("./pages/FinanceInvoiceDetailPage.js").then((e) => ({ default: e.FinanceInvoiceDetailPage }))), y = n(() => import("./pages/ItilChangeDetailPage.js").then((e) => ({ default: e.ItilChangeDetailPage }))), b = n(() => import("./pages/ItilChangeManagementPage.js").then((e) => ({ default: e.ItilChangeManagementPage }))), x = n(() => import("./pages/ItilItilhubPage.js").then((e) => ({ default: e.ItilItilhubPage }))), S = n(() => import("./pages/ItilIncidentDetailPage.js").then((e) => ({ default: e.ItilIncidentDetailPage }))), C = n(() => import("./pages/ItilIncidentManagementPage.js").then((e) => ({ default: e.ItilIncidentManagementPage }))), w = n(() => import("./pages/ItilProblemDetailPage.js").then((e) => ({ default: e.ItilProblemDetailPage }))), T = n(() => import("./pages/ItilProblemManagementPage.js").then((e) => ({ default: e.ItilProblemManagementPage }))), E = n(() => import("./pages/MaintenanceMaintenanceCalendarPage.js").then((e) => ({ default: e.MaintenanceMaintenanceCalendarPage }))), D = n(() => import("./pages/MaintenanceMaintenanceSchedulerPage.js").then((e) => ({ default: e.MaintenanceMaintenanceSchedulerPage }))), O = n(() => import("./pages/OperationsMaintenanceDetailPage.js").then((e) => ({ default: e.OperationsMaintenanceDetailPage }))), k = n(() => import("./pages/OperationsOperationsHubPage.js").then((e) => ({ default: e.OperationsOperationsHubPage }))), A = n(() => import("./pages/OperationsWorkOrderDetailPage.js").then((e) => ({ default: e.OperationsWorkOrderDetailPage }))), j = n(() => import("./pages/PortfolioPortfolioOverviewPage.js").then((e) => ({ default: e.PortfolioPortfolioOverviewPage }))), M = n(() => import("./pages/SecurityComplianceDetailPage.js").then((e) => ({ default: e.SecurityComplianceDetailPage }))), N = n(() => import("./pages/SecurityPolicyDetailPage.js").then((e) => ({ default: e.SecurityPolicyDetailPage }))), P = n(() => import("./pages/SecuritySecurityEventDetailPage.js").then((e) => ({ default: e.SecuritySecurityEventDetailPage }))), F = n(() => import("./pages/SecuritySecurityHubPage.js").then((e) => ({ default: e.SecuritySecurityHubPage }))), I = n(() => import("./pages/TransactionsTransactionDetailPage.js").then((e) => ({ default: e.TransactionsTransactionDetailPage }))), L = n(() => import("./pages/TransactionsTransactionListPage.js").then((e) => ({ default: e.TransactionsTransactionListPage }))), R = n(() => import("./pages/AiPredictionsPage.js").then((e) => ({ default: e.AiPredictionsPage }))), z = n(() => import("./pages/CmdbBrowserPage.js").then((e) => ({ default: e.CmdbBrowserPage }))), B = n(() => import("./pages/DiscoveryJobsPage.js").then((e) => ({ default: e.DiscoveryJobsPage }))), V = n(() => import("./pages/DigitalTwinPage.js").then((e) => ({ default: e.DigitalTwinPage }))), H = n(() => import("./pages/IotDevicesPage.js").then((e) => ({ default: e.IotDevicesPage }))), U = n(() => import("./pages/ProvenancePage.js").then((e) => ({ default: e.ProvenancePage }))), W = n(() => import("./pages/SamLicensesPage.js").then((e) => ({ default: e.SamLicensesPage }))), G = n(() => import("./pages/ReportsDashboardPage.js").then((e) => ({ default: e.ReportsDashboardPage })));
8
+ function K() {
9
9
  return /* @__PURE__ */ s("div", {
10
10
  className: "flex min-h-[320px] items-center justify-center",
11
11
  children: /* @__PURE__ */ s(r, { className: "h-8 w-8 animate-spin text-primary" })
12
12
  });
13
13
  }
14
- function Y() {
14
+ function q() {
15
15
  return /* @__PURE__ */ s(t, {
16
- fallback: /* @__PURE__ */ s(J, {}),
16
+ fallback: /* @__PURE__ */ s(K, {}),
17
17
  children: /* @__PURE__ */ c(o, { children: [
18
18
  /* @__PURE__ */ s(a, {
19
19
  index: !0,
@@ -120,7 +120,7 @@ function Y() {
120
120
  }),
121
121
  /* @__PURE__ */ s(a, {
122
122
  path: "reports/reports-dashboard",
123
- element: /* @__PURE__ */ s(q, {})
123
+ element: /* @__PURE__ */ s(G, {})
124
124
  }),
125
125
  /* @__PURE__ */ s(a, {
126
126
  path: "security/compliance/:frameworkId",
@@ -148,7 +148,7 @@ function Y() {
148
148
  }),
149
149
  /* @__PURE__ */ s(a, {
150
150
  path: "advanced/iot-devices",
151
- element: /* @__PURE__ */ s(U, {})
151
+ element: /* @__PURE__ */ s(H, {})
152
152
  }),
153
153
  /* @__PURE__ */ s(a, {
154
154
  path: "advanced/digital-twin",
@@ -156,7 +156,7 @@ function Y() {
156
156
  }),
157
157
  /* @__PURE__ */ s(a, {
158
158
  path: "advanced/sam-licenses",
159
- element: /* @__PURE__ */ s(K, {})
159
+ element: /* @__PURE__ */ s(W, {})
160
160
  }),
161
161
  /* @__PURE__ */ s(a, {
162
162
  path: "advanced/cmdb-browser",
@@ -166,17 +166,9 @@ function Y() {
166
166
  path: "advanced/discovery-jobs",
167
167
  element: /* @__PURE__ */ s(B, {})
168
168
  }),
169
- /* @__PURE__ */ s(a, {
170
- path: "advanced/knowledge-base",
171
- element: /* @__PURE__ */ s(W, {})
172
- }),
173
169
  /* @__PURE__ */ s(a, {
174
170
  path: "advanced/provenance",
175
- element: /* @__PURE__ */ s(G, {})
176
- }),
177
- /* @__PURE__ */ s(a, {
178
- path: "advanced/esg-dashboard",
179
- element: /* @__PURE__ */ s(H, {})
171
+ element: /* @__PURE__ */ s(U, {})
180
172
  }),
181
173
  /* @__PURE__ */ s(a, {
182
174
  path: "advanced/ai-predictions",
@@ -193,6 +185,6 @@ function Y() {
193
185
  });
194
186
  }
195
187
  //#endregion
196
- export { Y as AssetHandlerRoutes };
188
+ export { q as AssetHandlerRoutes };
197
189
 
198
190
  //# sourceMappingURL=AssetHandlerRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetHandlerRoutes.js","names":[],"sources":["../../src/assethandler/AssetHandlerRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { DashboardPage as IndexPage } from './pages/DashboardPage';\n\nconst AssetsAssetCategoriesPage = lazy(() =>\n import('./pages/AssetsAssetCategoriesPage').then((m) => ({\n default: m.AssetsAssetCategoriesPage,\n }))\n);\nconst AssetsAssetCheckInOutPage = lazy(() =>\n import('./pages/AssetsAssetCheckInOutPage').then((m) => ({\n default: m.AssetsAssetCheckInOutPage,\n }))\n);\nconst AssetsAssetCreatePage = lazy(() =>\n import('./pages/AssetsAssetCreatePage').then((m) => ({ default: m.AssetsAssetCreatePage }))\n);\nconst AssetsAssetDetailPage = lazy(() =>\n import('./pages/AssetsAssetDetailPage').then((m) => ({ default: m.AssetsAssetDetailPage }))\n);\nconst AssetsAssetListPage = lazy(() =>\n import('./pages/AssetsAssetListPage').then((m) => ({ default: m.AssetsAssetListPage }))\n);\nconst AssetsAssetTrackingPage = lazy(() =>\n import('./pages/AssetsAssetTrackingPage').then((m) => ({ default: m.AssetsAssetTrackingPage }))\n);\nconst AnalyticsPage = lazy(() =>\n import('./pages/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\nconst FinanceBudgetDetailPage = lazy(() =>\n import('./pages/FinanceBudgetDetailPage').then((m) => ({ default: m.FinanceBudgetDetailPage }))\n);\nconst FinanceFinanceHubPage = lazy(() =>\n import('./pages/FinanceFinanceHubPage').then((m) => ({ default: m.FinanceFinanceHubPage }))\n);\nconst FinanceInvoiceDetailPage = lazy(() =>\n import('./pages/FinanceInvoiceDetailPage').then((m) => ({ default: m.FinanceInvoiceDetailPage }))\n);\nconst ItilChangeDetailPage = lazy(() =>\n import('./pages/ItilChangeDetailPage').then((m) => ({ default: m.ItilChangeDetailPage }))\n);\nconst ItilChangeManagementPage = lazy(() =>\n import('./pages/ItilChangeManagementPage').then((m) => ({ default: m.ItilChangeManagementPage }))\n);\nconst ItilItilhubPage = lazy(() =>\n import('./pages/ItilItilhubPage').then((m) => ({ default: m.ItilItilhubPage }))\n);\nconst ItilIncidentDetailPage = lazy(() =>\n import('./pages/ItilIncidentDetailPage').then((m) => ({ default: m.ItilIncidentDetailPage }))\n);\nconst ItilIncidentManagementPage = lazy(() =>\n import('./pages/ItilIncidentManagementPage').then((m) => ({\n default: m.ItilIncidentManagementPage,\n }))\n);\nconst ItilProblemDetailPage = lazy(() =>\n import('./pages/ItilProblemDetailPage').then((m) => ({ default: m.ItilProblemDetailPage }))\n);\nconst ItilProblemManagementPage = lazy(() =>\n import('./pages/ItilProblemManagementPage').then((m) => ({\n default: m.ItilProblemManagementPage,\n }))\n);\nconst MaintenanceMaintenanceCalendarPage = lazy(() =>\n import('./pages/MaintenanceMaintenanceCalendarPage').then((m) => ({\n default: m.MaintenanceMaintenanceCalendarPage,\n }))\n);\nconst MaintenanceMaintenanceSchedulerPage = lazy(() =>\n import('./pages/MaintenanceMaintenanceSchedulerPage').then((m) => ({\n default: m.MaintenanceMaintenanceSchedulerPage,\n }))\n);\nconst OperationsMaintenanceDetailPage = lazy(() =>\n import('./pages/OperationsMaintenanceDetailPage').then((m) => ({\n default: m.OperationsMaintenanceDetailPage,\n }))\n);\nconst OperationsOperationsHubPage = lazy(() =>\n import('./pages/OperationsOperationsHubPage').then((m) => ({\n default: m.OperationsOperationsHubPage,\n }))\n);\nconst OperationsWorkOrderDetailPage = lazy(() =>\n import('./pages/OperationsWorkOrderDetailPage').then((m) => ({\n default: m.OperationsWorkOrderDetailPage,\n }))\n);\nconst PortfolioPortfolioOverviewPage = lazy(() =>\n import('./pages/PortfolioPortfolioOverviewPage').then((m) => ({\n default: m.PortfolioPortfolioOverviewPage,\n }))\n);\nconst SecurityComplianceDetailPage = lazy(() =>\n import('./pages/SecurityComplianceDetailPage').then((m) => ({\n default: m.SecurityComplianceDetailPage,\n }))\n);\nconst SecurityPolicyDetailPage = lazy(() =>\n import('./pages/SecurityPolicyDetailPage').then((m) => ({ default: m.SecurityPolicyDetailPage }))\n);\nconst SecuritySecurityEventDetailPage = lazy(() =>\n import('./pages/SecuritySecurityEventDetailPage').then((m) => ({\n default: m.SecuritySecurityEventDetailPage,\n }))\n);\nconst SecuritySecurityHubPage = lazy(() =>\n import('./pages/SecuritySecurityHubPage').then((m) => ({ default: m.SecuritySecurityHubPage }))\n);\nconst TransactionsTransactionDetailPage = lazy(() =>\n import('./pages/TransactionsTransactionDetailPage').then((m) => ({\n default: m.TransactionsTransactionDetailPage,\n }))\n);\nconst TransactionsTransactionListPage = lazy(() =>\n import('./pages/TransactionsTransactionListPage').then((m) => ({\n default: m.TransactionsTransactionListPage,\n }))\n);\nconst AiPredictionsPage = lazy(() =>\n import('./pages/AiPredictionsPage').then((m) => ({ default: m.AiPredictionsPage }))\n);\nconst CmdbBrowserPage = lazy(() =>\n import('./pages/CmdbBrowserPage').then((m) => ({ default: m.CmdbBrowserPage }))\n);\nconst DiscoveryJobsPage = lazy(() =>\n import('./pages/DiscoveryJobsPage').then((m) => ({ default: m.DiscoveryJobsPage }))\n);\nconst DigitalTwinPage = lazy(() =>\n import('./pages/DigitalTwinPage').then((m) => ({ default: m.DigitalTwinPage }))\n);\nconst EsgDashboardPage = lazy(() =>\n import('./pages/EsgDashboardPage').then((m) => ({ default: m.EsgDashboardPage }))\n);\nconst IotDevicesPage = lazy(() =>\n import('./pages/IotDevicesPage').then((m) => ({ default: m.IotDevicesPage }))\n);\nconst KnowledgeBasePage = lazy(() =>\n import('./pages/KnowledgeBasePage').then((m) => ({ default: m.KnowledgeBasePage }))\n);\nconst ProvenancePage = lazy(() =>\n import('./pages/ProvenancePage').then((m) => ({ default: m.ProvenancePage }))\n);\nconst SamLicensesPage = lazy(() =>\n import('./pages/SamLicensesPage').then((m) => ({ default: m.SamLicensesPage }))\n);\nconst ReportsDashboardPage = lazy(() =>\n import('./pages/ReportsDashboardPage').then((m) => ({ default: m.ReportsDashboardPage }))\n);\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n </div>\n );\n}\n\nexport function AssetHandlerRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<IndexPage />} />\n <Route path=\"assets/asset-categories\" element={<AssetsAssetCategoriesPage />} />\n <Route path=\"assets/asset-check-in-out\" element={<AssetsAssetCheckInOutPage />} />\n <Route path=\"assets/asset-create\" element={<AssetsAssetCreatePage />} />\n <Route path=\"assets/:assetId\" element={<AssetsAssetDetailPage />} />\n <Route path=\"assets/asset-list\" element={<AssetsAssetListPage />} />\n <Route path=\"assets/asset-tracking\" element={<AssetsAssetTrackingPage />} />\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n <Route path=\"finance/budgets/:budgetId\" element={<FinanceBudgetDetailPage />} />\n <Route path=\"finance/finance-hub\" element={<FinanceFinanceHubPage />} />\n <Route path=\"finance/invoices/:invoiceId\" element={<FinanceInvoiceDetailPage />} />\n <Route path=\"itil/changes/:changeId\" element={<ItilChangeDetailPage />} />\n <Route path=\"itil/change-management\" element={<ItilChangeManagementPage />} />\n <Route path=\"itil/itilhub\" element={<ItilItilhubPage />} />\n <Route path=\"itil/incidents/:incidentId\" element={<ItilIncidentDetailPage />} />\n <Route path=\"itil/incident-management\" element={<ItilIncidentManagementPage />} />\n <Route path=\"itil/problems/:problemId\" element={<ItilProblemDetailPage />} />\n <Route path=\"itil/problem-management\" element={<ItilProblemManagementPage />} />\n <Route\n path=\"maintenance/maintenance-calendar\"\n element={<MaintenanceMaintenanceCalendarPage />}\n />\n <Route\n path=\"maintenance/maintenance-scheduler\"\n element={<MaintenanceMaintenanceSchedulerPage />}\n />\n <Route\n path=\"operations/maintenance/:maintenanceId\"\n element={<OperationsMaintenanceDetailPage />}\n />\n <Route path=\"operations/operations-hub\" element={<OperationsOperationsHubPage />} />\n <Route\n path=\"operations/work-orders/:workOrderId\"\n element={<OperationsWorkOrderDetailPage />}\n />\n <Route path=\"portfolio/portfolio-overview\" element={<PortfolioPortfolioOverviewPage />} />\n <Route path=\"reports\" element={<Navigate to=\"reports-dashboard\" replace />} />\n <Route path=\"reports/reports-dashboard\" element={<ReportsDashboardPage />} />\n <Route path=\"security/compliance/:frameworkId\" element={<SecurityComplianceDetailPage />} />\n <Route path=\"security/policies/:policyId\" element={<SecurityPolicyDetailPage />} />\n <Route path=\"security/events/:eventId\" element={<SecuritySecurityEventDetailPage />} />\n <Route path=\"security/security-hub\" element={<SecuritySecurityHubPage />} />\n <Route path=\"transactions/:transactionId\" element={<TransactionsTransactionDetailPage />} />\n <Route path=\"transactions/transaction-list\" element={<TransactionsTransactionListPage />} />\n <Route path=\"advanced/iot-devices\" element={<IotDevicesPage />} />\n <Route path=\"advanced/digital-twin\" element={<DigitalTwinPage />} />\n <Route path=\"advanced/sam-licenses\" element={<SamLicensesPage />} />\n <Route path=\"advanced/cmdb-browser\" element={<CmdbBrowserPage />} />\n <Route path=\"advanced/discovery-jobs\" element={<DiscoveryJobsPage />} />\n <Route path=\"advanced/knowledge-base\" element={<KnowledgeBasePage />} />\n <Route path=\"advanced/provenance\" element={<ProvenancePage />} />\n <Route path=\"advanced/esg-dashboard\" element={<EsgDashboardPage />} />\n <Route path=\"advanced/ai-predictions\" element={<AiPredictionsPage />} />\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetHandlerRoutes.js","names":[],"sources":["../../src/assethandler/AssetHandlerRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { DashboardPage as IndexPage } from './pages/DashboardPage';\n\nconst AssetsAssetCategoriesPage = lazy(() =>\n import('./pages/AssetsAssetCategoriesPage').then((m) => ({\n default: m.AssetsAssetCategoriesPage,\n }))\n);\nconst AssetsAssetCheckInOutPage = lazy(() =>\n import('./pages/AssetsAssetCheckInOutPage').then((m) => ({\n default: m.AssetsAssetCheckInOutPage,\n }))\n);\nconst AssetsAssetCreatePage = lazy(() =>\n import('./pages/AssetsAssetCreatePage').then((m) => ({ default: m.AssetsAssetCreatePage }))\n);\nconst AssetsAssetDetailPage = lazy(() =>\n import('./pages/AssetsAssetDetailPage').then((m) => ({ default: m.AssetsAssetDetailPage }))\n);\nconst AssetsAssetListPage = lazy(() =>\n import('./pages/AssetsAssetListPage').then((m) => ({ default: m.AssetsAssetListPage }))\n);\nconst AssetsAssetTrackingPage = lazy(() =>\n import('./pages/AssetsAssetTrackingPage').then((m) => ({ default: m.AssetsAssetTrackingPage }))\n);\nconst AnalyticsPage = lazy(() =>\n import('./pages/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\nconst FinanceBudgetDetailPage = lazy(() =>\n import('./pages/FinanceBudgetDetailPage').then((m) => ({ default: m.FinanceBudgetDetailPage }))\n);\nconst FinanceFinanceHubPage = lazy(() =>\n import('./pages/FinanceFinanceHubPage').then((m) => ({ default: m.FinanceFinanceHubPage }))\n);\nconst FinanceInvoiceDetailPage = lazy(() =>\n import('./pages/FinanceInvoiceDetailPage').then((m) => ({ default: m.FinanceInvoiceDetailPage }))\n);\nconst ItilChangeDetailPage = lazy(() =>\n import('./pages/ItilChangeDetailPage').then((m) => ({ default: m.ItilChangeDetailPage }))\n);\nconst ItilChangeManagementPage = lazy(() =>\n import('./pages/ItilChangeManagementPage').then((m) => ({ default: m.ItilChangeManagementPage }))\n);\nconst ItilItilhubPage = lazy(() =>\n import('./pages/ItilItilhubPage').then((m) => ({ default: m.ItilItilhubPage }))\n);\nconst ItilIncidentDetailPage = lazy(() =>\n import('./pages/ItilIncidentDetailPage').then((m) => ({ default: m.ItilIncidentDetailPage }))\n);\nconst ItilIncidentManagementPage = lazy(() =>\n import('./pages/ItilIncidentManagementPage').then((m) => ({\n default: m.ItilIncidentManagementPage,\n }))\n);\nconst ItilProblemDetailPage = lazy(() =>\n import('./pages/ItilProblemDetailPage').then((m) => ({ default: m.ItilProblemDetailPage }))\n);\nconst ItilProblemManagementPage = lazy(() =>\n import('./pages/ItilProblemManagementPage').then((m) => ({\n default: m.ItilProblemManagementPage,\n }))\n);\nconst MaintenanceMaintenanceCalendarPage = lazy(() =>\n import('./pages/MaintenanceMaintenanceCalendarPage').then((m) => ({\n default: m.MaintenanceMaintenanceCalendarPage,\n }))\n);\nconst MaintenanceMaintenanceSchedulerPage = lazy(() =>\n import('./pages/MaintenanceMaintenanceSchedulerPage').then((m) => ({\n default: m.MaintenanceMaintenanceSchedulerPage,\n }))\n);\nconst OperationsMaintenanceDetailPage = lazy(() =>\n import('./pages/OperationsMaintenanceDetailPage').then((m) => ({\n default: m.OperationsMaintenanceDetailPage,\n }))\n);\nconst OperationsOperationsHubPage = lazy(() =>\n import('./pages/OperationsOperationsHubPage').then((m) => ({\n default: m.OperationsOperationsHubPage,\n }))\n);\nconst OperationsWorkOrderDetailPage = lazy(() =>\n import('./pages/OperationsWorkOrderDetailPage').then((m) => ({\n default: m.OperationsWorkOrderDetailPage,\n }))\n);\nconst PortfolioPortfolioOverviewPage = lazy(() =>\n import('./pages/PortfolioPortfolioOverviewPage').then((m) => ({\n default: m.PortfolioPortfolioOverviewPage,\n }))\n);\nconst SecurityComplianceDetailPage = lazy(() =>\n import('./pages/SecurityComplianceDetailPage').then((m) => ({\n default: m.SecurityComplianceDetailPage,\n }))\n);\nconst SecurityPolicyDetailPage = lazy(() =>\n import('./pages/SecurityPolicyDetailPage').then((m) => ({ default: m.SecurityPolicyDetailPage }))\n);\nconst SecuritySecurityEventDetailPage = lazy(() =>\n import('./pages/SecuritySecurityEventDetailPage').then((m) => ({\n default: m.SecuritySecurityEventDetailPage,\n }))\n);\nconst SecuritySecurityHubPage = lazy(() =>\n import('./pages/SecuritySecurityHubPage').then((m) => ({ default: m.SecuritySecurityHubPage }))\n);\nconst TransactionsTransactionDetailPage = lazy(() =>\n import('./pages/TransactionsTransactionDetailPage').then((m) => ({\n default: m.TransactionsTransactionDetailPage,\n }))\n);\nconst TransactionsTransactionListPage = lazy(() =>\n import('./pages/TransactionsTransactionListPage').then((m) => ({\n default: m.TransactionsTransactionListPage,\n }))\n);\nconst AiPredictionsPage = lazy(() =>\n import('./pages/AiPredictionsPage').then((m) => ({ default: m.AiPredictionsPage }))\n);\nconst CmdbBrowserPage = lazy(() =>\n import('./pages/CmdbBrowserPage').then((m) => ({ default: m.CmdbBrowserPage }))\n);\nconst DiscoveryJobsPage = lazy(() =>\n import('./pages/DiscoveryJobsPage').then((m) => ({ default: m.DiscoveryJobsPage }))\n);\nconst DigitalTwinPage = lazy(() =>\n import('./pages/DigitalTwinPage').then((m) => ({ default: m.DigitalTwinPage }))\n);\n// EsgDashboardPage and KnowledgeBasePage are intentionally NOT routed (BOFF-3948):\n// both query GraphQL fields (esgMetrics/upsertEsgMetric, knowledgeArticles/\n// createKnowledgeArticle) that do not exist anywhere in the federation graph —\n// neither in this subgraph nor in the suggested owner services\n// (wspace-ecoimpacthub-svc, wspace-botlit-svc) — so rendering them throws a\n// GraphQL validation error for any user who reaches the route. The page\n// components remain in ./pages/ for when the real federated data lands (or are\n// dropped entirely, per product decision — see BOFF-3948).\nconst IotDevicesPage = lazy(() =>\n import('./pages/IotDevicesPage').then((m) => ({ default: m.IotDevicesPage }))\n);\nconst ProvenancePage = lazy(() =>\n import('./pages/ProvenancePage').then((m) => ({ default: m.ProvenancePage }))\n);\nconst SamLicensesPage = lazy(() =>\n import('./pages/SamLicensesPage').then((m) => ({ default: m.SamLicensesPage }))\n);\nconst ReportsDashboardPage = lazy(() =>\n import('./pages/ReportsDashboardPage').then((m) => ({ default: m.ReportsDashboardPage }))\n);\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n </div>\n );\n}\n\nexport function AssetHandlerRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<IndexPage />} />\n <Route path=\"assets/asset-categories\" element={<AssetsAssetCategoriesPage />} />\n <Route path=\"assets/asset-check-in-out\" element={<AssetsAssetCheckInOutPage />} />\n <Route path=\"assets/asset-create\" element={<AssetsAssetCreatePage />} />\n <Route path=\"assets/:assetId\" element={<AssetsAssetDetailPage />} />\n <Route path=\"assets/asset-list\" element={<AssetsAssetListPage />} />\n <Route path=\"assets/asset-tracking\" element={<AssetsAssetTrackingPage />} />\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n <Route path=\"finance/budgets/:budgetId\" element={<FinanceBudgetDetailPage />} />\n <Route path=\"finance/finance-hub\" element={<FinanceFinanceHubPage />} />\n <Route path=\"finance/invoices/:invoiceId\" element={<FinanceInvoiceDetailPage />} />\n <Route path=\"itil/changes/:changeId\" element={<ItilChangeDetailPage />} />\n <Route path=\"itil/change-management\" element={<ItilChangeManagementPage />} />\n <Route path=\"itil/itilhub\" element={<ItilItilhubPage />} />\n <Route path=\"itil/incidents/:incidentId\" element={<ItilIncidentDetailPage />} />\n <Route path=\"itil/incident-management\" element={<ItilIncidentManagementPage />} />\n <Route path=\"itil/problems/:problemId\" element={<ItilProblemDetailPage />} />\n <Route path=\"itil/problem-management\" element={<ItilProblemManagementPage />} />\n <Route\n path=\"maintenance/maintenance-calendar\"\n element={<MaintenanceMaintenanceCalendarPage />}\n />\n <Route\n path=\"maintenance/maintenance-scheduler\"\n element={<MaintenanceMaintenanceSchedulerPage />}\n />\n <Route\n path=\"operations/maintenance/:maintenanceId\"\n element={<OperationsMaintenanceDetailPage />}\n />\n <Route path=\"operations/operations-hub\" element={<OperationsOperationsHubPage />} />\n <Route\n path=\"operations/work-orders/:workOrderId\"\n element={<OperationsWorkOrderDetailPage />}\n />\n <Route path=\"portfolio/portfolio-overview\" element={<PortfolioPortfolioOverviewPage />} />\n <Route path=\"reports\" element={<Navigate to=\"reports-dashboard\" replace />} />\n <Route path=\"reports/reports-dashboard\" element={<ReportsDashboardPage />} />\n <Route path=\"security/compliance/:frameworkId\" element={<SecurityComplianceDetailPage />} />\n <Route path=\"security/policies/:policyId\" element={<SecurityPolicyDetailPage />} />\n <Route path=\"security/events/:eventId\" element={<SecuritySecurityEventDetailPage />} />\n <Route path=\"security/security-hub\" element={<SecuritySecurityHubPage />} />\n <Route path=\"transactions/:transactionId\" element={<TransactionsTransactionDetailPage />} />\n <Route path=\"transactions/transaction-list\" element={<TransactionsTransactionListPage />} />\n <Route path=\"advanced/iot-devices\" element={<IotDevicesPage />} />\n <Route path=\"advanced/digital-twin\" element={<DigitalTwinPage />} />\n <Route path=\"advanced/sam-licenses\" element={<SamLicensesPage />} />\n <Route path=\"advanced/cmdb-browser\" element={<CmdbBrowserPage />} />\n <Route path=\"advanced/discovery-jobs\" element={<DiscoveryJobsPage />} />\n {/* advanced/knowledge-base and advanced/esg-dashboard intentionally\n unrouted — see the comment above the (removed) lazy imports. */}\n <Route path=\"advanced/provenance\" element={<ProvenancePage />} />\n <Route path=\"advanced/ai-predictions\" element={<AiPredictionsPage />} />\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NewWorkOrderDialog.d.ts","sourceRoot":"","sources":["../../../src/assethandler/ops/NewWorkOrderDialog.tsx"],"names":[],"mappings":"AA0DA,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC,+BAuKA"}
1
+ {"version":3,"file":"NewWorkOrderDialog.d.ts","sourceRoot":"","sources":["../../../src/assethandler/ops/NewWorkOrderDialog.tsx"],"names":[],"mappings":"AA0DA,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC,+BAkNA"}
@@ -1,164 +1,200 @@
1
1
  import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
2
  import { notify as t } from "../utils/toast.js";
3
3
  import { useState as n } from "react";
4
- import { Loader2 as r } from "lucide-react";
5
- import { gql as i } from "@apollo/client";
6
- import { useMutation as a } from "@apollo/client/react";
7
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
- import { Button as c, Input as l, Label as u, ResponsiveDialog as d, ResponsiveDialogContent as f, ResponsiveDialogDescription as p, ResponsiveDialogFooter as m, ResponsiveDialogHeader as h, ResponsiveDialogTitle as g, Select as _, SelectContent as v, SelectItem as y, SelectTrigger as b, SelectValue as x, Textarea as S } from "@burdenoff/fe-libs/ui";
4
+ import { Loader2 as r, Plus as i, X as a } from "lucide-react";
5
+ import { gql as o } from "@apollo/client";
6
+ import { useMutation as s } from "@apollo/client/react";
7
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ import { Button as u, Input as d, Label as f, ResponsiveDialog as p, ResponsiveDialogContent as m, ResponsiveDialogDescription as h, ResponsiveDialogFooter as g, ResponsiveDialogHeader as _, ResponsiveDialogTitle as v, Select as y, SelectContent as b, SelectItem as x, SelectTrigger as S, SelectValue as C, Textarea as w } from "@burdenoff/fe-libs/ui";
9
9
  //#region src/assethandler/ops/NewWorkOrderDialog.tsx
10
- var C = i`
10
+ var T = o`
11
11
  mutation AssetHandlerCreateWorkOrder($input: CreateWorkOrderInput!) {
12
12
  createWorkOrder(input: $input) {
13
13
  id
14
14
  title
15
15
  }
16
16
  }
17
- `, w = [
17
+ `, E = [
18
18
  "CORRECTIVE",
19
19
  "PREVENTIVE",
20
20
  "PREDICTIVE",
21
21
  "EMERGENCY"
22
- ], T = [
22
+ ], D = [
23
23
  "DRAFT",
24
24
  "SCHEDULED",
25
25
  "APPROVED",
26
26
  "IN_PROGRESS",
27
27
  "COMPLETED",
28
28
  "CANCELLED"
29
- ], E = [
29
+ ], O = [
30
30
  "CRITICAL",
31
31
  "HIGH",
32
32
  "MEDIUM",
33
33
  "LOW"
34
- ], D = (e) => e.toLowerCase().replace(/_/g, " ").replace(/^\w/, (e) => e.toUpperCase());
35
- function O({ open: i, onOpenChange: O }) {
36
- let { assets: k } = e(), [A, j] = n(""), [M, N] = n(""), [P, F] = n(""), [I, L] = n(""), [R, z] = n("CORRECTIVE"), [B, V] = n("MEDIUM"), [H, U] = n("DRAFT"), W = () => {
37
- j(""), N(""), F(""), L(""), z("CORRECTIVE"), V("MEDIUM"), U("DRAFT");
38
- }, [G, { loading: K }] = a(C, {
34
+ ], k = (e) => e.toLowerCase().replace(/_/g, " ").replace(/^\w/, (e) => e.toUpperCase());
35
+ function A({ open: o, onOpenChange: A }) {
36
+ let { assets: j } = e(), [M, N] = n(""), [P, F] = n(""), [I, L] = n(""), [R, z] = n(""), [B, V] = n("CORRECTIVE"), [H, U] = n("MEDIUM"), [W, G] = n("DRAFT"), [K, q] = n([""]), J = () => {
37
+ N(""), F(""), L(""), z(""), V("CORRECTIVE"), U("MEDIUM"), G("DRAFT"), q([""]);
38
+ }, Y = (e, t) => q((n) => n.map((n, r) => r === e ? t : n)), X = () => q((e) => [...e, ""]), Z = (e) => q((t) => t.length === 1 ? t : t.filter((t, n) => n !== e)), [Q, { loading: $ }] = s(T, {
39
39
  refetchQueries: ["AssetHandlerBootstrap"],
40
40
  onCompleted: (e) => {
41
- t.success("Work order created", `${e.createWorkOrder.title} was raised.`), W(), O(!1);
41
+ t.success("Work order created", `${e.createWorkOrder.title} was raised.`), J(), A(!1);
42
42
  },
43
43
  onError: (e) => t.error("Could not create work order", e.message)
44
44
  });
45
- return /* @__PURE__ */ o(d, {
46
- open: i,
47
- onOpenChange: O,
48
- children: /* @__PURE__ */ s(f, {
45
+ return /* @__PURE__ */ c(p, {
46
+ open: o,
47
+ onOpenChange: A,
48
+ children: /* @__PURE__ */ l(m, {
49
49
  className: "max-h-[85vh] overflow-y-auto sm:max-w-xl",
50
50
  children: [
51
- /* @__PURE__ */ s(h, { children: [/* @__PURE__ */ o(g, { children: "New Work Order" }), /* @__PURE__ */ o(p, { children: "Raise a work order when an asset needs repair, inspection or attention." })] }),
52
- /* @__PURE__ */ s("div", {
51
+ /* @__PURE__ */ l(_, { children: [/* @__PURE__ */ c(v, { children: "New Work Order" }), /* @__PURE__ */ c(h, { children: "Raise a work order when an asset needs repair, inspection or attention." })] }),
52
+ /* @__PURE__ */ l("div", {
53
53
  className: "space-y-4",
54
54
  children: [
55
- /* @__PURE__ */ s("div", {
55
+ /* @__PURE__ */ l("div", {
56
56
  className: "space-y-2",
57
- children: [/* @__PURE__ */ o(u, { children: "Title *" }), /* @__PURE__ */ o(l, {
57
+ children: [/* @__PURE__ */ c(f, { children: "Title *" }), /* @__PURE__ */ c(d, {
58
58
  placeholder: "e.g., Replace worn drive belt",
59
- value: A,
60
- onChange: (e) => j(e.target.value)
59
+ value: M,
60
+ onChange: (e) => N(e.target.value)
61
61
  })]
62
62
  }),
63
- /* @__PURE__ */ s("div", {
63
+ /* @__PURE__ */ l("div", {
64
64
  className: "space-y-2",
65
- children: [/* @__PURE__ */ o(u, { children: "Description" }), /* @__PURE__ */ o(S, {
65
+ children: [/* @__PURE__ */ c(f, { children: "Description" }), /* @__PURE__ */ c(w, {
66
66
  placeholder: "Describe the work required",
67
- value: M,
68
- onChange: (e) => N(e.target.value),
67
+ value: P,
68
+ onChange: (e) => F(e.target.value),
69
69
  rows: 2
70
70
  })]
71
71
  }),
72
- /* @__PURE__ */ s("div", {
72
+ /* @__PURE__ */ l("div", {
73
73
  className: "grid gap-4 md:grid-cols-2",
74
- children: [/* @__PURE__ */ s("div", {
74
+ children: [/* @__PURE__ */ l("div", {
75
75
  className: "space-y-2",
76
- children: [/* @__PURE__ */ o(u, { children: "Asset" }), /* @__PURE__ */ s(_, {
77
- value: P,
78
- onValueChange: F,
79
- children: [/* @__PURE__ */ o(b, { children: /* @__PURE__ */ o(x, { placeholder: "Unassigned" }) }), /* @__PURE__ */ o(v, { children: k.map((e) => /* @__PURE__ */ s(y, {
76
+ children: [/* @__PURE__ */ c(f, { children: "Asset" }), /* @__PURE__ */ l(y, {
77
+ value: I,
78
+ onValueChange: L,
79
+ children: [/* @__PURE__ */ c(S, { children: /* @__PURE__ */ c(C, { placeholder: "Unassigned" }) }), /* @__PURE__ */ c(b, { children: j.map((e) => /* @__PURE__ */ l(x, {
80
80
  value: e.id,
81
81
  children: [e.name, e.assetTag ? ` · ${e.assetTag}` : ""]
82
82
  }, e.id)) })]
83
83
  })]
84
- }), /* @__PURE__ */ s("div", {
84
+ }), /* @__PURE__ */ l("div", {
85
85
  className: "space-y-2",
86
- children: [/* @__PURE__ */ o(u, { children: "Assigned To" }), /* @__PURE__ */ o(l, {
86
+ children: [/* @__PURE__ */ c(f, { children: "Assigned To" }), /* @__PURE__ */ c(d, {
87
87
  placeholder: "e.g., Facilities team",
88
- value: I,
89
- onChange: (e) => L(e.target.value)
88
+ value: R,
89
+ onChange: (e) => z(e.target.value)
90
90
  })]
91
91
  })]
92
92
  }),
93
- /* @__PURE__ */ s("div", {
93
+ /* @__PURE__ */ l("div", {
94
94
  className: "grid gap-4 md:grid-cols-3",
95
95
  children: [
96
- /* @__PURE__ */ s("div", {
96
+ /* @__PURE__ */ l("div", {
97
97
  className: "space-y-2",
98
- children: [/* @__PURE__ */ o(u, { children: "Type" }), /* @__PURE__ */ s(_, {
99
- value: R,
100
- onValueChange: (e) => z(e),
101
- children: [/* @__PURE__ */ o(b, { children: /* @__PURE__ */ o(x, {}) }), /* @__PURE__ */ o(v, { children: w.map((e) => /* @__PURE__ */ o(y, {
98
+ children: [/* @__PURE__ */ c(f, { children: "Type" }), /* @__PURE__ */ l(y, {
99
+ value: B,
100
+ onValueChange: (e) => V(e),
101
+ children: [/* @__PURE__ */ c(S, { children: /* @__PURE__ */ c(C, {}) }), /* @__PURE__ */ c(b, { children: E.map((e) => /* @__PURE__ */ c(x, {
102
102
  value: e,
103
- children: D(e)
103
+ children: k(e)
104
104
  }, e)) })]
105
105
  })]
106
106
  }),
107
- /* @__PURE__ */ s("div", {
107
+ /* @__PURE__ */ l("div", {
108
108
  className: "space-y-2",
109
- children: [/* @__PURE__ */ o(u, { children: "Priority" }), /* @__PURE__ */ s(_, {
110
- value: B,
111
- onValueChange: (e) => V(e),
112
- children: [/* @__PURE__ */ o(b, { children: /* @__PURE__ */ o(x, {}) }), /* @__PURE__ */ o(v, { children: E.map((e) => /* @__PURE__ */ o(y, {
109
+ children: [/* @__PURE__ */ c(f, { children: "Priority" }), /* @__PURE__ */ l(y, {
110
+ value: H,
111
+ onValueChange: (e) => U(e),
112
+ children: [/* @__PURE__ */ c(S, { children: /* @__PURE__ */ c(C, {}) }), /* @__PURE__ */ c(b, { children: O.map((e) => /* @__PURE__ */ c(x, {
113
113
  value: e,
114
- children: D(e)
114
+ children: k(e)
115
115
  }, e)) })]
116
116
  })]
117
117
  }),
118
- /* @__PURE__ */ s("div", {
118
+ /* @__PURE__ */ l("div", {
119
119
  className: "space-y-2",
120
- children: [/* @__PURE__ */ o(u, { children: "Status" }), /* @__PURE__ */ s(_, {
121
- value: H,
122
- onValueChange: (e) => U(e),
123
- children: [/* @__PURE__ */ o(b, { children: /* @__PURE__ */ o(x, {}) }), /* @__PURE__ */ o(v, { children: T.map((e) => /* @__PURE__ */ o(y, {
120
+ children: [/* @__PURE__ */ c(f, { children: "Status" }), /* @__PURE__ */ l(y, {
121
+ value: W,
122
+ onValueChange: (e) => G(e),
123
+ children: [/* @__PURE__ */ c(S, { children: /* @__PURE__ */ c(C, {}) }), /* @__PURE__ */ c(b, { children: D.map((e) => /* @__PURE__ */ c(x, {
124
124
  value: e,
125
- children: D(e)
125
+ children: k(e)
126
126
  }, e)) })]
127
127
  })]
128
128
  })
129
129
  ]
130
+ }),
131
+ /* @__PURE__ */ l("div", {
132
+ className: "space-y-2",
133
+ children: [/* @__PURE__ */ l("div", {
134
+ className: "flex items-center justify-between",
135
+ children: [/* @__PURE__ */ c(f, { children: "Checklist" }), /* @__PURE__ */ l(u, {
136
+ type: "button",
137
+ size: "sm",
138
+ variant: "ghost",
139
+ onClick: X,
140
+ children: [/* @__PURE__ */ c(i, { className: "mr-1 h-3.5 w-3.5" }), "Add task"]
141
+ })]
142
+ }), /* @__PURE__ */ c("div", {
143
+ className: "space-y-2",
144
+ children: K.map((e, t) => /* @__PURE__ */ l("div", {
145
+ className: "flex items-center gap-2",
146
+ children: [/* @__PURE__ */ c(d, {
147
+ placeholder: `Task ${t + 1}`,
148
+ value: e,
149
+ onChange: (e) => Y(t, e.target.value)
150
+ }), /* @__PURE__ */ c(u, {
151
+ type: "button",
152
+ size: "icon",
153
+ variant: "ghost",
154
+ onClick: () => Z(t),
155
+ disabled: K.length === 1,
156
+ "aria-label": "Remove task",
157
+ children: /* @__PURE__ */ c(a, { className: "h-4 w-4" })
158
+ })]
159
+ }, t))
160
+ })]
130
161
  })
131
162
  ]
132
163
  }),
133
- /* @__PURE__ */ s(m, { children: [/* @__PURE__ */ o(c, {
164
+ /* @__PURE__ */ l(g, { children: [/* @__PURE__ */ c(u, {
134
165
  variant: "outline",
135
- onClick: () => O(!1),
136
- disabled: K,
166
+ onClick: () => A(!1),
167
+ disabled: $,
137
168
  children: "Cancel"
138
- }), /* @__PURE__ */ s(c, {
169
+ }), /* @__PURE__ */ l(u, {
139
170
  onClick: () => {
140
- if (!A.trim()) {
171
+ if (!M.trim()) {
141
172
  t.warning("Title required", "Give the work order a title.");
142
173
  return;
143
174
  }
144
- G({ variables: { input: {
145
- title: A.trim(),
146
- description: M.trim() || null,
147
- assetId: P || null,
148
- assignedTo: I.trim() || null,
149
- type: R,
150
- priority: B,
151
- status: H
175
+ let e = K.map((e) => e.trim()).filter((e) => e !== "").map((e) => ({
176
+ task: e,
177
+ completed: !1
178
+ }));
179
+ Q({ variables: { input: {
180
+ title: M.trim(),
181
+ description: P.trim() || null,
182
+ assetId: I || null,
183
+ assignedTo: R.trim() || null,
184
+ type: B,
185
+ priority: H,
186
+ status: W,
187
+ checklist: e
152
188
  } } });
153
189
  },
154
- disabled: K,
155
- children: [K ? /* @__PURE__ */ o(r, { className: "mr-2 h-4 w-4 animate-spin" }) : null, K ? "Creating…" : "Create Work Order"]
190
+ disabled: $,
191
+ children: [$ ? /* @__PURE__ */ c(r, { className: "mr-2 h-4 w-4 animate-spin" }) : null, $ ? "Creating…" : "Create Work Order"]
156
192
  })] })
157
193
  ]
158
194
  })
159
195
  });
160
196
  }
161
197
  //#endregion
162
- export { O as NewWorkOrderDialog };
198
+ export { A as NewWorkOrderDialog };
163
199
 
164
200
  //# sourceMappingURL=NewWorkOrderDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewWorkOrderDialog.js","names":[],"sources":["../../../src/assethandler/ops/NewWorkOrderDialog.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Input,\n Label,\n Textarea,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n} from '@burdenoff/fe-libs/ui';\nimport { Loader2 } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useMutation } from '@apollo/client/react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\nimport { notify } from '../utils/toast';\n\n/**\n * Reusable \"New Work Order\" create dialog, wired to the real createWorkOrder\n * mutation (wspace-assethandler-svc). Used by the Operations Hub.\n */\nconst CREATE_WORK_ORDER_MUTATION = gql`\n mutation AssetHandlerCreateWorkOrder($input: CreateWorkOrderInput!) {\n createWorkOrder(input: $input) {\n id\n title\n }\n }\n`;\n\ninterface CreateWorkOrderResult {\n createWorkOrder: { id: string; title: string };\n}\n\nconst WORK_ORDER_TYPES = ['CORRECTIVE', 'PREVENTIVE', 'PREDICTIVE', 'EMERGENCY'] as const;\nconst WORK_ORDER_STATUSES = [\n 'DRAFT',\n 'SCHEDULED',\n 'APPROVED',\n 'IN_PROGRESS',\n 'COMPLETED',\n 'CANCELLED',\n] as const;\nconst PRIORITIES = ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'] as const;\n\nconst humanize = (value: string) =>\n value\n .toLowerCase()\n .replace(/_/g, ' ')\n .replace(/^\\w/, (c) => c.toUpperCase());\n\nexport function NewWorkOrderDialog({\n open,\n onOpenChange,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) {\n const { assets } = useAssetHandlerStore();\n\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [assetId, setAssetId] = useState('');\n const [assignedTo, setAssignedTo] = useState('');\n const [type, setType] = useState<(typeof WORK_ORDER_TYPES)[number]>('CORRECTIVE');\n const [priority, setPriority] = useState<(typeof PRIORITIES)[number]>('MEDIUM');\n const [status, setStatus] = useState<(typeof WORK_ORDER_STATUSES)[number]>('DRAFT');\n\n const reset = () => {\n setTitle('');\n setDescription('');\n setAssetId('');\n setAssignedTo('');\n setType('CORRECTIVE');\n setPriority('MEDIUM');\n setStatus('DRAFT');\n };\n\n const [createWorkOrder, { loading }] = useMutation<CreateWorkOrderResult>(\n CREATE_WORK_ORDER_MUTATION,\n {\n refetchQueries: ['AssetHandlerBootstrap'],\n onCompleted: (data) => {\n notify.success('Work order created', `${data.createWorkOrder.title} was raised.`);\n reset();\n onOpenChange(false);\n },\n onError: (error) => notify.error('Could not create work order', error.message),\n }\n );\n\n const handleSubmit = () => {\n if (!title.trim()) {\n notify.warning('Title required', 'Give the work order a title.');\n return;\n }\n void createWorkOrder({\n variables: {\n input: {\n title: title.trim(),\n description: description.trim() || null,\n assetId: assetId || null,\n assignedTo: assignedTo.trim() || null,\n type,\n priority,\n status,\n },\n },\n });\n };\n\n return (\n <ResponsiveDialog open={open} onOpenChange={onOpenChange}>\n <ResponsiveDialogContent className=\"max-h-[85vh] overflow-y-auto sm:max-w-xl\">\n <ResponsiveDialogHeader>\n <ResponsiveDialogTitle>New Work Order</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>\n Raise a work order when an asset needs repair, inspection or attention.\n </ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label>Title *</Label>\n <Input\n placeholder=\"e.g., Replace worn drive belt\"\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n placeholder=\"Describe the work required\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n rows={2}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset</Label>\n <Select value={assetId} onValueChange={setAssetId}>\n <SelectTrigger>\n <SelectValue placeholder=\"Unassigned\" />\n </SelectTrigger>\n <SelectContent>\n {assets.map((asset) => (\n <SelectItem key={asset.id} value={asset.id}>\n {asset.name}\n {asset.assetTag ? ` · ${asset.assetTag}` : ''}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n placeholder=\"e.g., Facilities team\"\n value={assignedTo}\n onChange={(e) => setAssignedTo(e.target.value)}\n />\n </div>\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Type</Label>\n <Select value={type} onValueChange={(v) => setType(v as typeof type)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {WORK_ORDER_TYPES.map((t) => (\n <SelectItem key={t} value={t}>\n {humanize(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Priority</Label>\n <Select value={priority} onValueChange={(v) => setPriority(v as typeof priority)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {PRIORITIES.map((p) => (\n <SelectItem key={p} value={p}>\n {humanize(p)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={status} onValueChange={(v) => setStatus(v as typeof status)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {WORK_ORDER_STATUSES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n </div>\n <ResponsiveDialogFooter>\n <Button variant=\"outline\" onClick={() => onOpenChange(false)} disabled={loading}>\n Cancel\n </Button>\n <Button onClick={handleSubmit} disabled={loading}>\n {loading ? <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" /> : null}\n {loading ? 'Creating…' : 'Create Work Order'}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n );\n}\n"],"mappings":";;;;;;;;;AA4BA,IAAM,IAA6B,CAAG;;;;;;;GAahC,IAAmB;CAAC;CAAc;CAAc;CAAc;CAAY,EAC1E,IAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACD,EACK,IAAa;CAAC;CAAY;CAAQ;CAAU;CAAM,EAElD,KAAY,MAChB,EACG,aAAa,CACb,QAAQ,MAAM,IAAI,CAClB,QAAQ,QAAQ,MAAM,EAAE,aAAa,CAAC;AAE3C,SAAgB,EAAmB,EACjC,SACA,mBAIC;CACD,IAAM,EAAE,cAAW,GAAsB,EAEnC,CAAC,GAAO,KAAY,EAAS,GAAG,EAChC,CAAC,GAAa,KAAkB,EAAS,GAAG,EAC5C,CAAC,GAAS,KAAc,EAAS,GAAG,EACpC,CAAC,GAAY,KAAiB,EAAS,GAAG,EAC1C,CAAC,GAAM,KAAW,EAA4C,aAAa,EAC3E,CAAC,GAAU,KAAe,EAAsC,SAAS,EACzE,CAAC,GAAQ,KAAa,EAA+C,QAAQ,EAE7E,UAAc;AAOlB,EANA,EAAS,GAAG,EACZ,EAAe,GAAG,EAClB,EAAW,GAAG,EACd,EAAc,GAAG,EACjB,EAAQ,aAAa,EACrB,EAAY,SAAS,EACrB,EAAU,QAAQ;IAGd,CAAC,GAAiB,EAAE,gBAAa,EACrC,GACA;EACE,gBAAgB,CAAC,wBAAwB;EACzC,cAAc,MAAS;AAGrB,GAFA,EAAO,QAAQ,sBAAsB,GAAG,EAAK,gBAAgB,MAAM,cAAc,EACjF,GAAO,EACP,EAAa,GAAM;;EAErB,UAAU,MAAU,EAAO,MAAM,+BAA+B,EAAM,QAAQ;EAC/E,CACF;AAsBD,QACE,kBAAC,GAAD;EAAwB;EAAoB;YAC1C,kBAAC,GAAD;GAAyB,WAAU;aAAnC;IACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAuB,kBAAsC,CAAA,EAC7D,kBAAC,GAAD,EAAA,UAA6B,2EAEC,CAAA,CACP,EAAA,CAAA;IACzB,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,WAAe,CAAA,EACtB,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO;QACP,WAAW,MAAM,EAAS,EAAE,OAAO,MAAM;QACzC,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO;QACP,WAAW,MAAM,EAAe,EAAE,OAAO,MAAM;QAC/C,MAAM;QACN,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,SAAa,CAAA,EACpB,kBAAC,GAAD;SAAQ,OAAO;SAAS,eAAe;mBAAvC,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAa,aAAY,cAAe,CAAA,EAC1B,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAO,KAAK,MACX,kBAAC,GAAD;UAA2B,OAAO,EAAM;oBAAxC,CACG,EAAM,MACN,EAAM,WAAW,MAAM,EAAM,aAAa,GAChC;YAHI,EAAM,GAGV,CACb,EACY,CAAA,CACT;WACL;WACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;SACE,aAAY;SACZ,OAAO;SACP,WAAW,MAAM,EAAc,EAAE,OAAO,MAAM;SAC9C,CAAA,CACE;UACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,QAAY,CAAA,EACnB,kBAAC,GAAD;UAAQ,OAAO;UAAM,gBAAgB,MAAM,EAAQ,EAAiB;oBAApE,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAiB,KAAK,MACrB,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,YAAgB,CAAA,EACvB,kBAAC,GAAD;UAAQ,OAAO;UAAU,gBAAgB,MAAM,EAAY,EAAqB;oBAAhF,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAW,KAAK,MACf,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,UAAc,CAAA,EACrB,kBAAC,GAAD;UAAQ,OAAO;UAAQ,gBAAgB,MAAM,EAAU,EAAmB;oBAA1E,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAoB,KAAK,MACxB,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACF;;MACF;;IACN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAQ,SAAQ;KAAU,eAAe,EAAa,GAAM;KAAE,UAAU;eAAS;KAExE,CAAA,EACT,kBAAC,GAAD;KAAQ,eA7HW;AACzB,UAAI,CAAC,EAAM,MAAM,EAAE;AACjB,SAAO,QAAQ,kBAAkB,+BAA+B;AAChE;;AAEG,QAAgB,EACnB,WAAW,EACT,OAAO;OACL,OAAO,EAAM,MAAM;OACnB,aAAa,EAAY,MAAM,IAAI;OACnC,SAAS,KAAW;OACpB,YAAY,EAAW,MAAM,IAAI;OACjC;OACA;OACA;OACD,EACF,EACF,CAAC;;KA4GmC,UAAU;eAAzC,CACG,IAAU,kBAAC,GAAD,EAAS,WAAU,6BAA8B,CAAA,GAAG,MAC9D,IAAU,cAAc,oBAClB;OACc,EAAA,CAAA;IACD;;EACT,CAAA"}
1
+ {"version":3,"file":"NewWorkOrderDialog.js","names":[],"sources":["../../../src/assethandler/ops/NewWorkOrderDialog.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Input,\n Label,\n Textarea,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n} from '@burdenoff/fe-libs/ui';\nimport { Loader2, Plus, X } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useMutation } from '@apollo/client/react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\nimport { notify } from '../utils/toast';\n\n/**\n * Reusable \"New Work Order\" create dialog, wired to the real createWorkOrder\n * mutation (wspace-assethandler-svc). Used by the Operations Hub.\n */\nconst CREATE_WORK_ORDER_MUTATION = gql`\n mutation AssetHandlerCreateWorkOrder($input: CreateWorkOrderInput!) {\n createWorkOrder(input: $input) {\n id\n title\n }\n }\n`;\n\ninterface CreateWorkOrderResult {\n createWorkOrder: { id: string; title: string };\n}\n\nconst WORK_ORDER_TYPES = ['CORRECTIVE', 'PREVENTIVE', 'PREDICTIVE', 'EMERGENCY'] as const;\nconst WORK_ORDER_STATUSES = [\n 'DRAFT',\n 'SCHEDULED',\n 'APPROVED',\n 'IN_PROGRESS',\n 'COMPLETED',\n 'CANCELLED',\n] as const;\nconst PRIORITIES = ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'] as const;\n\nconst humanize = (value: string) =>\n value\n .toLowerCase()\n .replace(/_/g, ' ')\n .replace(/^\\w/, (c) => c.toUpperCase());\n\nexport function NewWorkOrderDialog({\n open,\n onOpenChange,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) {\n const { assets } = useAssetHandlerStore();\n\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [assetId, setAssetId] = useState('');\n const [assignedTo, setAssignedTo] = useState('');\n const [type, setType] = useState<(typeof WORK_ORDER_TYPES)[number]>('CORRECTIVE');\n const [priority, setPriority] = useState<(typeof PRIORITIES)[number]>('MEDIUM');\n const [status, setStatus] = useState<(typeof WORK_ORDER_STATUSES)[number]>('DRAFT');\n const [checklist, setChecklist] = useState<string[]>(['']);\n\n const reset = () => {\n setTitle('');\n setDescription('');\n setAssetId('');\n setAssignedTo('');\n setType('CORRECTIVE');\n setPriority('MEDIUM');\n setStatus('DRAFT');\n setChecklist(['']);\n };\n\n const setChecklistItem = (index: number, value: string) =>\n setChecklist((prev) => prev.map((task, i) => (i === index ? value : task)));\n const addChecklistItem = () => setChecklist((prev) => [...prev, '']);\n const removeChecklistItem = (index: number) =>\n setChecklist((prev) => (prev.length === 1 ? prev : prev.filter((_, i) => i !== index)));\n\n const [createWorkOrder, { loading }] = useMutation<CreateWorkOrderResult>(\n CREATE_WORK_ORDER_MUTATION,\n {\n refetchQueries: ['AssetHandlerBootstrap'],\n onCompleted: (data) => {\n notify.success('Work order created', `${data.createWorkOrder.title} was raised.`);\n reset();\n onOpenChange(false);\n },\n onError: (error) => notify.error('Could not create work order', error.message),\n }\n );\n\n const handleSubmit = () => {\n if (!title.trim()) {\n notify.warning('Title required', 'Give the work order a title.');\n return;\n }\n const cleanedChecklist = checklist\n .map((task) => task.trim())\n .filter((task) => task !== '')\n .map((task) => ({ task, completed: false }));\n void createWorkOrder({\n variables: {\n input: {\n title: title.trim(),\n description: description.trim() || null,\n assetId: assetId || null,\n assignedTo: assignedTo.trim() || null,\n type,\n priority,\n status,\n checklist: cleanedChecklist,\n },\n },\n });\n };\n\n return (\n <ResponsiveDialog open={open} onOpenChange={onOpenChange}>\n <ResponsiveDialogContent className=\"max-h-[85vh] overflow-y-auto sm:max-w-xl\">\n <ResponsiveDialogHeader>\n <ResponsiveDialogTitle>New Work Order</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>\n Raise a work order when an asset needs repair, inspection or attention.\n </ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label>Title *</Label>\n <Input\n placeholder=\"e.g., Replace worn drive belt\"\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n placeholder=\"Describe the work required\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n rows={2}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset</Label>\n <Select value={assetId} onValueChange={setAssetId}>\n <SelectTrigger>\n <SelectValue placeholder=\"Unassigned\" />\n </SelectTrigger>\n <SelectContent>\n {assets.map((asset) => (\n <SelectItem key={asset.id} value={asset.id}>\n {asset.name}\n {asset.assetTag ? ` · ${asset.assetTag}` : ''}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n placeholder=\"e.g., Facilities team\"\n value={assignedTo}\n onChange={(e) => setAssignedTo(e.target.value)}\n />\n </div>\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Type</Label>\n <Select value={type} onValueChange={(v) => setType(v as typeof type)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {WORK_ORDER_TYPES.map((t) => (\n <SelectItem key={t} value={t}>\n {humanize(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Priority</Label>\n <Select value={priority} onValueChange={(v) => setPriority(v as typeof priority)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {PRIORITIES.map((p) => (\n <SelectItem key={p} value={p}>\n {humanize(p)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={status} onValueChange={(v) => setStatus(v as typeof status)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {WORK_ORDER_STATUSES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between\">\n <Label>Checklist</Label>\n <Button type=\"button\" size=\"sm\" variant=\"ghost\" onClick={addChecklistItem}>\n <Plus className=\"mr-1 h-3.5 w-3.5\" />\n Add task\n </Button>\n </div>\n <div className=\"space-y-2\">\n {checklist.map((task, i) => (\n <div key={i} className=\"flex items-center gap-2\">\n <Input\n placeholder={`Task ${i + 1}`}\n value={task}\n onChange={(e) => setChecklistItem(i, e.target.value)}\n />\n <Button\n type=\"button\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => removeChecklistItem(i)}\n disabled={checklist.length === 1}\n aria-label=\"Remove task\"\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </div>\n ))}\n </div>\n </div>\n </div>\n <ResponsiveDialogFooter>\n <Button variant=\"outline\" onClick={() => onOpenChange(false)} disabled={loading}>\n Cancel\n </Button>\n <Button onClick={handleSubmit} disabled={loading}>\n {loading ? <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" /> : null}\n {loading ? 'Creating…' : 'Create Work Order'}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n );\n}\n"],"mappings":";;;;;;;;;AA4BA,IAAM,IAA6B,CAAG;;;;;;;GAahC,IAAmB;CAAC;CAAc;CAAc;CAAc;CAAY,EAC1E,IAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACD,EACK,IAAa;CAAC;CAAY;CAAQ;CAAU;CAAM,EAElD,KAAY,MAChB,EACG,aAAa,CACb,QAAQ,MAAM,IAAI,CAClB,QAAQ,QAAQ,MAAM,EAAE,aAAa,CAAC;AAE3C,SAAgB,EAAmB,EACjC,SACA,mBAIC;CACD,IAAM,EAAE,cAAW,GAAsB,EAEnC,CAAC,GAAO,KAAY,EAAS,GAAG,EAChC,CAAC,GAAa,KAAkB,EAAS,GAAG,EAC5C,CAAC,GAAS,KAAc,EAAS,GAAG,EACpC,CAAC,GAAY,KAAiB,EAAS,GAAG,EAC1C,CAAC,GAAM,KAAW,EAA4C,aAAa,EAC3E,CAAC,GAAU,KAAe,EAAsC,SAAS,EACzE,CAAC,GAAQ,KAAa,EAA+C,QAAQ,EAC7E,CAAC,GAAW,KAAgB,EAAmB,CAAC,GAAG,CAAC,EAEpD,UAAc;AAQlB,EAPA,EAAS,GAAG,EACZ,EAAe,GAAG,EAClB,EAAW,GAAG,EACd,EAAc,GAAG,EACjB,EAAQ,aAAa,EACrB,EAAY,SAAS,EACrB,EAAU,QAAQ,EAClB,EAAa,CAAC,GAAG,CAAC;IAGd,KAAoB,GAAe,MACvC,GAAc,MAAS,EAAK,KAAK,GAAM,MAAO,MAAM,IAAQ,IAAQ,EAAM,CAAC,EACvE,UAAyB,GAAc,MAAS,CAAC,GAAG,GAAM,GAAG,CAAC,EAC9D,KAAuB,MAC3B,GAAc,MAAU,EAAK,WAAW,IAAI,IAAO,EAAK,QAAQ,GAAG,MAAM,MAAM,EAAM,CAAE,EAEnF,CAAC,GAAiB,EAAE,gBAAa,EACrC,GACA;EACE,gBAAgB,CAAC,wBAAwB;EACzC,cAAc,MAAS;AAGrB,GAFA,EAAO,QAAQ,sBAAsB,GAAG,EAAK,gBAAgB,MAAM,cAAc,EACjF,GAAO,EACP,EAAa,GAAM;;EAErB,UAAU,MAAU,EAAO,MAAM,+BAA+B,EAAM,QAAQ;EAC/E,CACF;AA2BD,QACE,kBAAC,GAAD;EAAwB;EAAoB;YAC1C,kBAAC,GAAD;GAAyB,WAAU;aAAnC;IACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAuB,kBAAsC,CAAA,EAC7D,kBAAC,GAAD,EAAA,UAA6B,2EAEC,CAAA,CACP,EAAA,CAAA;IACzB,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,WAAe,CAAA,EACtB,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO;QACP,WAAW,MAAM,EAAS,EAAE,OAAO,MAAM;QACzC,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO;QACP,WAAW,MAAM,EAAe,EAAE,OAAO,MAAM;QAC/C,MAAM;QACN,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,SAAa,CAAA,EACpB,kBAAC,GAAD;SAAQ,OAAO;SAAS,eAAe;mBAAvC,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAa,aAAY,cAAe,CAAA,EAC1B,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAO,KAAK,MACX,kBAAC,GAAD;UAA2B,OAAO,EAAM;oBAAxC,CACG,EAAM,MACN,EAAM,WAAW,MAAM,EAAM,aAAa,GAChC;YAHI,EAAM,GAGV,CACb,EACY,CAAA,CACT;WACL;WACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;SACE,aAAY;SACZ,OAAO;SACP,WAAW,MAAM,EAAc,EAAE,OAAO,MAAM;SAC9C,CAAA,CACE;UACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,QAAY,CAAA,EACnB,kBAAC,GAAD;UAAQ,OAAO;UAAM,gBAAgB,MAAM,EAAQ,EAAiB;oBAApE,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAiB,KAAK,MACrB,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,YAAgB,CAAA,EACvB,kBAAC,GAAD;UAAQ,OAAO;UAAU,gBAAgB,MAAM,EAAY,EAAqB;oBAAhF,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAW,KAAK,MACf,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,UAAc,CAAA,EACrB,kBAAC,GAAD;UAAQ,OAAO;UAAQ,gBAAgB,MAAM,EAAU,EAAmB;oBAA1E,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UACG,EAAoB,KAAK,MACxB,kBAAC,GAAD;WAAoB,OAAO;qBACxB,EAAS,EAAE;WACD,EAFI,EAEJ,CACb,EACY,CAAA,CACT;YACL;;QACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,aAAiB,CAAA,EACxB,kBAAC,GAAD;SAAQ,MAAK;SAAS,MAAK;SAAK,SAAQ;SAAQ,SAAS;mBAAzD,CACE,kBAAC,GAAD,EAAM,WAAU,oBAAqB,CAAA,EAAA,WAE9B;WACL;WACN,kBAAC,OAAD;QAAK,WAAU;kBACZ,EAAU,KAAK,GAAM,MACpB,kBAAC,OAAD;SAAa,WAAU;mBAAvB,CACE,kBAAC,GAAD;UACE,aAAa,QAAQ,IAAI;UACzB,OAAO;UACP,WAAW,MAAM,EAAiB,GAAG,EAAE,OAAO,MAAM;UACpD,CAAA,EACF,kBAAC,GAAD;UACE,MAAK;UACL,MAAK;UACL,SAAQ;UACR,eAAe,EAAoB,EAAE;UACrC,UAAU,EAAU,WAAW;UAC/B,cAAW;oBAEX,kBAAC,GAAD,EAAG,WAAU,WAAY,CAAA;UAClB,CAAA,CACL;WAhBI,EAgBJ,CACN;QACE,CAAA,CACF;;MACF;;IACN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAQ,SAAQ;KAAU,eAAe,EAAa,GAAM;KAAE,UAAU;eAAS;KAExE,CAAA,EACT,kBAAC,GAAD;KAAQ,eAhKW;AACzB,UAAI,CAAC,EAAM,MAAM,EAAE;AACjB,SAAO,QAAQ,kBAAkB,+BAA+B;AAChE;;MAEF,IAAM,IAAmB,EACtB,KAAK,MAAS,EAAK,MAAM,CAAC,CAC1B,QAAQ,MAAS,MAAS,GAAG,CAC7B,KAAK,OAAU;OAAE;OAAM,WAAW;OAAO,EAAE;AACzC,QAAgB,EACnB,WAAW,EACT,OAAO;OACL,OAAO,EAAM,MAAM;OACnB,aAAa,EAAY,MAAM,IAAI;OACnC,SAAS,KAAW;OACpB,YAAY,EAAW,MAAM,IAAI;OACjC;OACA;OACA;OACA,WAAW;OACZ,EACF,EACF,CAAC;;KA0ImC,UAAU;eAAzC,CACG,IAAU,kBAAC,GAAD,EAAS,WAAU,6BAA8B,CAAA,GAAG,MAC9D,IAAU,cAAc,oBAClB;OACc,EAAA,CAAA;IACD;;EACT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsAssetCreatePage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/AssetsAssetCreatePage.tsx"],"names":[],"mappings":"AA0IA,wBAAgB,qBAAqB,gCAufpC"}
1
+ {"version":3,"file":"AssetsAssetCreatePage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/AssetsAssetCreatePage.tsx"],"names":[],"mappings":"AA4KA,wBAAgB,qBAAqB,gCA4hBpC"}