@burdenoff/microfe-assethandler 2026.625.1 → 2026.625.2
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/dist/assethandler/pages/AiPredictionsPage.js +42 -41
- package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -1
- package/dist/assethandler/pages/AnalyticsPage.js +538 -534
- package/dist/assethandler/pages/AnalyticsPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +135 -125
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +90 -92
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetCreatePage.js +131 -124
- package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetDetailPage.js +214 -185
- package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetEditPage.js +168 -156
- package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetListPage.js +207 -187
- package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js +82 -71
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -1
- package/dist/assethandler/pages/AuditTrailPage.js +93 -91
- package/dist/assethandler/pages/AuditTrailPage.js.map +1 -1
- package/dist/assethandler/pages/CmdbBrowserPage.js +32 -33
- package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -1
- package/dist/assethandler/pages/DashboardPage.js +157 -126
- package/dist/assethandler/pages/DashboardPage.js.map +1 -1
- package/dist/assethandler/pages/DigitalTwinPage.js +25 -26
- package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -1
- package/dist/assethandler/pages/DiscoveryJobsPage.js +50 -50
- package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -1
- package/dist/assethandler/pages/EsgDashboardPage.js +43 -42
- package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -1
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js +96 -82
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -1
- package/dist/assethandler/pages/FinanceFinanceHubPage.js +137 -103
- package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -1
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +77 -66
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -1
- package/dist/assethandler/pages/IotDevicesPage.js +34 -35
- package/dist/assethandler/pages/IotDevicesPage.js.map +1 -1
- package/dist/assethandler/pages/ItilChangeDetailPage.js +236 -199
- package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -1
- package/dist/assethandler/pages/ItilChangeManagementPage.js +66 -64
- package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -1
- package/dist/assethandler/pages/ItilIncidentDetailPage.js +237 -200
- package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -1
- package/dist/assethandler/pages/ItilIncidentManagementPage.js +99 -97
- package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -1
- package/dist/assethandler/pages/ItilItilhubPage.js +166 -122
- package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -1
- package/dist/assethandler/pages/ItilProblemDetailPage.js +193 -156
- package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -1
- package/dist/assethandler/pages/ItilProblemManagementPage.js +63 -61
- package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -1
- package/dist/assethandler/pages/KnowledgeBasePage.js +45 -43
- package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -1
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +70 -68
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -1
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +77 -62
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -1
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +162 -151
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -1
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +64 -57
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -1
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +125 -108
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -1
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +67 -61
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -1
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +203 -166
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -1
- package/dist/assethandler/pages/OperationsOperationsHubPage.js +125 -95
- package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -1
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +165 -151
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -1
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +83 -81
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -1
- package/dist/assethandler/pages/ProvenancePage.js +56 -53
- package/dist/assethandler/pages/ProvenancePage.js.map +1 -1
- package/dist/assethandler/pages/ReportsReportBuilderPage.js +80 -73
- package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -1
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js +112 -77
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -1
- package/dist/assethandler/pages/ReportsReportsListPage.js +119 -103
- package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -1
- package/dist/assethandler/pages/SamLicensesPage.js +32 -33
- package/dist/assethandler/pages/SamLicensesPage.js.map +1 -1
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js +60 -52
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -1
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js +134 -117
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -1
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js +63 -57
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -1
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +131 -117
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -1
- package/dist/assethandler/pages/SecuritySecurityHubPage.js +147 -113
- package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -1
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +235 -218
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -1
- package/dist/assethandler/pages/TransactionsTransactionListPage.js +118 -116
- package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -1
- package/dist/assethandler/pages/UsersPage.js +108 -99
- package/dist/assethandler/pages/UsersPage.js.map +1 -1
- package/dist/assethandler/pages/UsersUserCreatePage.js +74 -67
- package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -1
- package/dist/assethandler/pages/UsersUserManagementHubPage.js +128 -93
- package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -1
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +211 -193
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -1
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +88 -86
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -1
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +68 -60
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -1
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +71 -68
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { useState as e } from "react";
|
|
2
2
|
import { ArrowLeft as t, Save as n, X as r } from "lucide-react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useNavigate as i } from "react-router-dom";
|
|
4
|
+
import { Button as a, Card as o, CardContent as s, CardDescription as c, CardHeader as l, CardTitle as u, EmphasisPanel as d, GradientText as f, Input as p, Label as m, PagePurpose as h, Select as g, SelectContent as _, SelectItem as v, SelectTrigger as y, SelectValue as b, Textarea as x } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
import { jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
5
6
|
//#region src/assethandler/pages/AssetsAssetCreatePage.tsx
|
|
6
|
-
function
|
|
7
|
-
let [
|
|
7
|
+
function w() {
|
|
8
|
+
let w = i(), [T, E] = e({
|
|
8
9
|
name: "",
|
|
9
10
|
description: "",
|
|
10
11
|
category: "it_hardware",
|
|
@@ -23,160 +24,166 @@ function x() {
|
|
|
23
24
|
purchaseDate: "",
|
|
24
25
|
warrantyExpiry: "",
|
|
25
26
|
tags: ""
|
|
26
|
-
}),
|
|
27
|
-
|
|
27
|
+
}), D = (e, t) => {
|
|
28
|
+
E((n) => ({
|
|
28
29
|
...n,
|
|
29
30
|
[e]: t
|
|
30
31
|
}));
|
|
31
32
|
};
|
|
32
|
-
return /* @__PURE__ */
|
|
33
|
+
return /* @__PURE__ */ C("div", {
|
|
33
34
|
className: "space-y-6 p-6 max-w-4xl",
|
|
34
35
|
children: [
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */ C("div", {
|
|
36
37
|
className: "flex items-center justify-between",
|
|
37
|
-
children: [/* @__PURE__ */
|
|
38
|
+
children: [/* @__PURE__ */ C("div", {
|
|
38
39
|
className: "flex items-center gap-4",
|
|
39
|
-
children: [/* @__PURE__ */
|
|
40
|
+
children: [/* @__PURE__ */ S(a, {
|
|
40
41
|
variant: "ghost",
|
|
41
42
|
size: "icon",
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
onClick: () => w("/assets/asset-list"),
|
|
44
|
+
children: /* @__PURE__ */ S(t, { className: "h-4 w-4" })
|
|
45
|
+
}), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
|
|
44
46
|
className: "text-2xl font-bold",
|
|
45
|
-
children: /* @__PURE__ */
|
|
46
|
-
}), /* @__PURE__ */
|
|
47
|
+
children: /* @__PURE__ */ S(f, { children: "Create New Asset" })
|
|
48
|
+
}), /* @__PURE__ */ S("p", {
|
|
47
49
|
className: "text-sm text-text-secondary",
|
|
48
50
|
children: "Register a new asset in the inventory"
|
|
49
51
|
})] })]
|
|
50
|
-
}), /* @__PURE__ */
|
|
52
|
+
}), /* @__PURE__ */ C("div", {
|
|
51
53
|
className: "flex gap-2",
|
|
52
|
-
children: [/* @__PURE__ */
|
|
54
|
+
children: [/* @__PURE__ */ C(a, {
|
|
53
55
|
variant: "outline",
|
|
54
56
|
size: "sm",
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
onClick: () => w("/assets/asset-list"),
|
|
58
|
+
children: [/* @__PURE__ */ S(r, { className: "mr-2 h-4 w-4" }), "Cancel"]
|
|
59
|
+
}), /* @__PURE__ */ C(a, {
|
|
57
60
|
size: "sm",
|
|
58
|
-
children: [/* @__PURE__ */
|
|
61
|
+
children: [/* @__PURE__ */ S(n, { className: "mr-2 h-4 w-4" }), "Create Asset"]
|
|
59
62
|
})]
|
|
60
63
|
})]
|
|
61
64
|
}),
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
|
|
65
|
+
/* @__PURE__ */ S(h, { children: "Register a new asset so it can be tracked, valued, maintained and assigned from day one. Capture its identity (name, tag, serial), category and condition, then the financial and location details — the more you fill in now, the better your reports and audits later." }),
|
|
66
|
+
/* @__PURE__ */ C(d, { children: [/* @__PURE__ */ C(l, {
|
|
67
|
+
className: "px-0 pt-0",
|
|
68
|
+
children: [/* @__PURE__ */ S(u, { children: "General Information" }), /* @__PURE__ */ S(c, { children: "Basic asset details and identification" })]
|
|
69
|
+
}), /* @__PURE__ */ C(s, {
|
|
70
|
+
className: "space-y-4 px-0 pb-0",
|
|
64
71
|
children: [
|
|
65
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ C("div", {
|
|
66
73
|
className: "grid gap-4 md:grid-cols-2",
|
|
67
|
-
children: [/* @__PURE__ */
|
|
74
|
+
children: [/* @__PURE__ */ C("div", {
|
|
68
75
|
className: "space-y-2",
|
|
69
|
-
children: [/* @__PURE__ */
|
|
76
|
+
children: [/* @__PURE__ */ S(m, { children: "Asset Name *" }), /* @__PURE__ */ S(p, {
|
|
70
77
|
placeholder: "e.g., Dell OptiPlex 7090",
|
|
71
|
-
value:
|
|
72
|
-
onChange: (e) =>
|
|
78
|
+
value: T.name,
|
|
79
|
+
onChange: (e) => D("name", e.target.value)
|
|
73
80
|
})]
|
|
74
|
-
}), /* @__PURE__ */
|
|
81
|
+
}), /* @__PURE__ */ C("div", {
|
|
75
82
|
className: "space-y-2",
|
|
76
|
-
children: [/* @__PURE__ */
|
|
83
|
+
children: [/* @__PURE__ */ S(m, { children: "Asset Tag *" }), /* @__PURE__ */ S(p, {
|
|
77
84
|
placeholder: "e.g., IT-HW-001",
|
|
78
|
-
value:
|
|
79
|
-
onChange: (e) =>
|
|
85
|
+
value: T.assetTag,
|
|
86
|
+
onChange: (e) => D("assetTag", e.target.value)
|
|
80
87
|
})]
|
|
81
88
|
})]
|
|
82
89
|
}),
|
|
83
|
-
/* @__PURE__ */
|
|
90
|
+
/* @__PURE__ */ C("div", {
|
|
84
91
|
className: "space-y-2",
|
|
85
|
-
children: [/* @__PURE__ */
|
|
92
|
+
children: [/* @__PURE__ */ S(m, { children: "Description" }), /* @__PURE__ */ S(x, {
|
|
86
93
|
placeholder: "Brief description of the asset...",
|
|
87
|
-
value:
|
|
88
|
-
onChange: (e) =>
|
|
94
|
+
value: T.description,
|
|
95
|
+
onChange: (e) => D("description", e.target.value),
|
|
89
96
|
rows: 3
|
|
90
97
|
})]
|
|
91
98
|
}),
|
|
92
|
-
/* @__PURE__ */
|
|
99
|
+
/* @__PURE__ */ C("div", {
|
|
93
100
|
className: "grid gap-4 md:grid-cols-3",
|
|
94
101
|
children: [
|
|
95
|
-
/* @__PURE__ */
|
|
102
|
+
/* @__PURE__ */ C("div", {
|
|
96
103
|
className: "space-y-2",
|
|
97
|
-
children: [/* @__PURE__ */
|
|
98
|
-
value:
|
|
99
|
-
onValueChange: (e) =>
|
|
100
|
-
children: [/* @__PURE__ */ y
|
|
101
|
-
/* @__PURE__ */
|
|
104
|
+
children: [/* @__PURE__ */ S(m, { children: "Category *" }), /* @__PURE__ */ C(g, {
|
|
105
|
+
value: T.category,
|
|
106
|
+
onValueChange: (e) => D("category", e),
|
|
107
|
+
children: [/* @__PURE__ */ S(y, { children: /* @__PURE__ */ S(b, {}) }), /* @__PURE__ */ C(_, { children: [
|
|
108
|
+
/* @__PURE__ */ S(v, {
|
|
102
109
|
value: "electronics",
|
|
103
110
|
children: "Electronics"
|
|
104
111
|
}),
|
|
105
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ S(v, {
|
|
106
113
|
value: "it_hardware",
|
|
107
114
|
children: "IT Hardware"
|
|
108
115
|
}),
|
|
109
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ S(v, {
|
|
110
117
|
value: "furniture",
|
|
111
118
|
children: "Furniture"
|
|
112
119
|
}),
|
|
113
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ S(v, {
|
|
114
121
|
value: "vehicles",
|
|
115
122
|
children: "Vehicles"
|
|
116
123
|
}),
|
|
117
|
-
/* @__PURE__ */
|
|
124
|
+
/* @__PURE__ */ S(v, {
|
|
118
125
|
value: "equipment",
|
|
119
126
|
children: "Equipment"
|
|
120
127
|
}),
|
|
121
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ S(v, {
|
|
122
129
|
value: "software",
|
|
123
130
|
children: "Software"
|
|
124
131
|
}),
|
|
125
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ S(v, {
|
|
126
133
|
value: "networking",
|
|
127
134
|
children: "Networking"
|
|
128
135
|
}),
|
|
129
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ S(v, {
|
|
130
137
|
value: "servers",
|
|
131
138
|
children: "Servers"
|
|
132
139
|
})
|
|
133
140
|
] })]
|
|
134
141
|
})]
|
|
135
142
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ C("div", {
|
|
137
144
|
className: "space-y-2",
|
|
138
|
-
children: [/* @__PURE__ */
|
|
139
|
-
value:
|
|
140
|
-
onValueChange: (e) =>
|
|
141
|
-
children: [/* @__PURE__ */ y
|
|
142
|
-
/* @__PURE__ */
|
|
145
|
+
children: [/* @__PURE__ */ S(m, { children: "Status" }), /* @__PURE__ */ C(g, {
|
|
146
|
+
value: T.status,
|
|
147
|
+
onValueChange: (e) => D("status", e),
|
|
148
|
+
children: [/* @__PURE__ */ S(y, { children: /* @__PURE__ */ S(b, {}) }), /* @__PURE__ */ C(_, { children: [
|
|
149
|
+
/* @__PURE__ */ S(v, {
|
|
143
150
|
value: "active",
|
|
144
151
|
children: "Active"
|
|
145
152
|
}),
|
|
146
|
-
/* @__PURE__ */
|
|
153
|
+
/* @__PURE__ */ S(v, {
|
|
147
154
|
value: "inactive",
|
|
148
155
|
children: "Inactive"
|
|
149
156
|
}),
|
|
150
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ S(v, {
|
|
151
158
|
value: "under_maintenance",
|
|
152
159
|
children: "Under Maintenance"
|
|
153
160
|
}),
|
|
154
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ S(v, {
|
|
155
162
|
value: "reserved",
|
|
156
163
|
children: "Reserved"
|
|
157
164
|
})
|
|
158
165
|
] })]
|
|
159
166
|
})]
|
|
160
167
|
}),
|
|
161
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ C("div", {
|
|
162
169
|
className: "space-y-2",
|
|
163
|
-
children: [/* @__PURE__ */
|
|
164
|
-
value:
|
|
165
|
-
onValueChange: (e) =>
|
|
166
|
-
children: [/* @__PURE__ */ y
|
|
167
|
-
/* @__PURE__ */
|
|
170
|
+
children: [/* @__PURE__ */ S(m, { children: "Condition" }), /* @__PURE__ */ C(g, {
|
|
171
|
+
value: T.condition,
|
|
172
|
+
onValueChange: (e) => D("condition", e),
|
|
173
|
+
children: [/* @__PURE__ */ S(y, { children: /* @__PURE__ */ S(b, {}) }), /* @__PURE__ */ C(_, { children: [
|
|
174
|
+
/* @__PURE__ */ S(v, {
|
|
168
175
|
value: "excellent",
|
|
169
176
|
children: "Excellent"
|
|
170
177
|
}),
|
|
171
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ S(v, {
|
|
172
179
|
value: "good",
|
|
173
180
|
children: "Good"
|
|
174
181
|
}),
|
|
175
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ S(v, {
|
|
176
183
|
value: "fair",
|
|
177
184
|
children: "Fair"
|
|
178
185
|
}),
|
|
179
|
-
/* @__PURE__ */
|
|
186
|
+
/* @__PURE__ */ S(v, {
|
|
180
187
|
value: "poor",
|
|
181
188
|
children: "Poor"
|
|
182
189
|
})
|
|
@@ -187,137 +194,137 @@ function x() {
|
|
|
187
194
|
})
|
|
188
195
|
]
|
|
189
196
|
})] }),
|
|
190
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(l, { children: /* @__PURE__ */ S(u, { children: "Identification & Manufacturer" }) }), /* @__PURE__ */ S(s, {
|
|
191
198
|
className: "space-y-4",
|
|
192
|
-
children: /* @__PURE__ */
|
|
199
|
+
children: /* @__PURE__ */ C("div", {
|
|
193
200
|
className: "grid gap-4 md:grid-cols-2",
|
|
194
201
|
children: [
|
|
195
|
-
/* @__PURE__ */
|
|
202
|
+
/* @__PURE__ */ C("div", {
|
|
196
203
|
className: "space-y-2",
|
|
197
|
-
children: [/* @__PURE__ */
|
|
204
|
+
children: [/* @__PURE__ */ S(m, { children: "Serial Number *" }), /* @__PURE__ */ S(p, {
|
|
198
205
|
placeholder: "e.g., DELL-7090-X1A2B3",
|
|
199
|
-
value:
|
|
200
|
-
onChange: (e) =>
|
|
206
|
+
value: T.serialNumber,
|
|
207
|
+
onChange: (e) => D("serialNumber", e.target.value)
|
|
201
208
|
})]
|
|
202
209
|
}),
|
|
203
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ C("div", {
|
|
204
211
|
className: "space-y-2",
|
|
205
|
-
children: [/* @__PURE__ */
|
|
212
|
+
children: [/* @__PURE__ */ S(m, { children: "Vendor" }), /* @__PURE__ */ S(p, {
|
|
206
213
|
placeholder: "e.g., Dell Technologies",
|
|
207
|
-
value:
|
|
208
|
-
onChange: (e) =>
|
|
214
|
+
value: T.vendor,
|
|
215
|
+
onChange: (e) => D("vendor", e.target.value)
|
|
209
216
|
})]
|
|
210
217
|
}),
|
|
211
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ C("div", {
|
|
212
219
|
className: "space-y-2",
|
|
213
|
-
children: [/* @__PURE__ */
|
|
220
|
+
children: [/* @__PURE__ */ S(m, { children: "Manufacturer" }), /* @__PURE__ */ S(p, {
|
|
214
221
|
placeholder: "e.g., Dell",
|
|
215
|
-
value:
|
|
216
|
-
onChange: (e) =>
|
|
222
|
+
value: T.manufacturer,
|
|
223
|
+
onChange: (e) => D("manufacturer", e.target.value)
|
|
217
224
|
})]
|
|
218
225
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ C("div", {
|
|
220
227
|
className: "space-y-2",
|
|
221
|
-
children: [/* @__PURE__ */
|
|
228
|
+
children: [/* @__PURE__ */ S(m, { children: "Model" }), /* @__PURE__ */ S(p, {
|
|
222
229
|
placeholder: "e.g., OptiPlex 7090",
|
|
223
|
-
value:
|
|
224
|
-
onChange: (e) =>
|
|
230
|
+
value: T.model,
|
|
231
|
+
onChange: (e) => D("model", e.target.value)
|
|
225
232
|
})]
|
|
226
233
|
})
|
|
227
234
|
]
|
|
228
235
|
})
|
|
229
236
|
})] }),
|
|
230
|
-
/* @__PURE__ */
|
|
237
|
+
/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(l, { children: /* @__PURE__ */ S(u, { children: "Financial Details" }) }), /* @__PURE__ */ C(s, {
|
|
231
238
|
className: "space-y-4",
|
|
232
|
-
children: [/* @__PURE__ */
|
|
239
|
+
children: [/* @__PURE__ */ C("div", {
|
|
233
240
|
className: "grid gap-4 md:grid-cols-3",
|
|
234
241
|
children: [
|
|
235
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ C("div", {
|
|
236
243
|
className: "space-y-2",
|
|
237
|
-
children: [/* @__PURE__ */
|
|
244
|
+
children: [/* @__PURE__ */ S(m, { children: "Purchase Value ($) *" }), /* @__PURE__ */ S(p, {
|
|
238
245
|
type: "number",
|
|
239
246
|
placeholder: "0.00",
|
|
240
|
-
value:
|
|
241
|
-
onChange: (e) =>
|
|
247
|
+
value: T.value,
|
|
248
|
+
onChange: (e) => D("value", e.target.value)
|
|
242
249
|
})]
|
|
243
250
|
}),
|
|
244
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ C("div", {
|
|
245
252
|
className: "space-y-2",
|
|
246
|
-
children: [/* @__PURE__ */
|
|
253
|
+
children: [/* @__PURE__ */ S(m, { children: "Depreciation Rate (%)" }), /* @__PURE__ */ S(p, {
|
|
247
254
|
type: "number",
|
|
248
255
|
placeholder: "20",
|
|
249
|
-
value:
|
|
250
|
-
onChange: (e) =>
|
|
256
|
+
value: T.depreciationRate,
|
|
257
|
+
onChange: (e) => D("depreciationRate", e.target.value)
|
|
251
258
|
})]
|
|
252
259
|
}),
|
|
253
|
-
/* @__PURE__ */
|
|
260
|
+
/* @__PURE__ */ C("div", {
|
|
254
261
|
className: "space-y-2",
|
|
255
|
-
children: [/* @__PURE__ */
|
|
262
|
+
children: [/* @__PURE__ */ S(m, { children: "Purchase Date *" }), /* @__PURE__ */ S(p, {
|
|
256
263
|
type: "date",
|
|
257
|
-
value:
|
|
258
|
-
onChange: (e) =>
|
|
264
|
+
value: T.purchaseDate,
|
|
265
|
+
onChange: (e) => D("purchaseDate", e.target.value)
|
|
259
266
|
})]
|
|
260
267
|
})
|
|
261
268
|
]
|
|
262
|
-
}), /* @__PURE__ */
|
|
269
|
+
}), /* @__PURE__ */ C("div", {
|
|
263
270
|
className: "space-y-2",
|
|
264
|
-
children: [/* @__PURE__ */
|
|
271
|
+
children: [/* @__PURE__ */ S(m, { children: "Warranty Expiry" }), /* @__PURE__ */ S(p, {
|
|
265
272
|
type: "date",
|
|
266
|
-
value:
|
|
267
|
-
onChange: (e) =>
|
|
273
|
+
value: T.warrantyExpiry,
|
|
274
|
+
onChange: (e) => D("warrantyExpiry", e.target.value)
|
|
268
275
|
})]
|
|
269
276
|
})]
|
|
270
277
|
})] }),
|
|
271
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ C(o, { children: [/* @__PURE__ */ S(l, { children: /* @__PURE__ */ S(u, { children: "Assignment & Location" }) }), /* @__PURE__ */ C(s, {
|
|
272
279
|
className: "space-y-4",
|
|
273
280
|
children: [
|
|
274
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ C("div", {
|
|
275
282
|
className: "grid gap-4 md:grid-cols-2",
|
|
276
|
-
children: [/* @__PURE__ */
|
|
283
|
+
children: [/* @__PURE__ */ C("div", {
|
|
277
284
|
className: "space-y-2",
|
|
278
|
-
children: [/* @__PURE__ */
|
|
285
|
+
children: [/* @__PURE__ */ S(m, { children: "Assigned To" }), /* @__PURE__ */ S(p, {
|
|
279
286
|
placeholder: "e.g., john.smith@company.com",
|
|
280
|
-
value:
|
|
281
|
-
onChange: (e) =>
|
|
287
|
+
value: T.assignedTo,
|
|
288
|
+
onChange: (e) => D("assignedTo", e.target.value)
|
|
282
289
|
})]
|
|
283
|
-
}), /* @__PURE__ */
|
|
290
|
+
}), /* @__PURE__ */ C("div", {
|
|
284
291
|
className: "space-y-2",
|
|
285
|
-
children: [/* @__PURE__ */
|
|
292
|
+
children: [/* @__PURE__ */ S(m, { children: "Department" }), /* @__PURE__ */ S(p, {
|
|
286
293
|
placeholder: "e.g., Information Technology",
|
|
287
|
-
value:
|
|
288
|
-
onChange: (e) =>
|
|
294
|
+
value: T.department,
|
|
295
|
+
onChange: (e) => D("department", e.target.value)
|
|
289
296
|
})]
|
|
290
297
|
})]
|
|
291
298
|
}),
|
|
292
|
-
/* @__PURE__ */
|
|
299
|
+
/* @__PURE__ */ C("div", {
|
|
293
300
|
className: "space-y-2",
|
|
294
|
-
children: [/* @__PURE__ */
|
|
301
|
+
children: [/* @__PURE__ */ S(m, { children: "Location" }), /* @__PURE__ */ S(p, {
|
|
295
302
|
placeholder: "e.g., Building A, Floor 3, Desk 15",
|
|
296
|
-
value:
|
|
297
|
-
onChange: (e) =>
|
|
303
|
+
value: T.location,
|
|
304
|
+
onChange: (e) => D("location", e.target.value)
|
|
298
305
|
})]
|
|
299
306
|
}),
|
|
300
|
-
/* @__PURE__ */
|
|
307
|
+
/* @__PURE__ */ C("div", {
|
|
301
308
|
className: "space-y-2",
|
|
302
|
-
children: [/* @__PURE__ */
|
|
309
|
+
children: [/* @__PURE__ */ S(m, { children: "Tags (comma-separated)" }), /* @__PURE__ */ S(p, {
|
|
303
310
|
placeholder: "e.g., desktop, engineering, high-performance",
|
|
304
|
-
value:
|
|
305
|
-
onChange: (e) =>
|
|
311
|
+
value: T.tags,
|
|
312
|
+
onChange: (e) => D("tags", e.target.value)
|
|
306
313
|
})]
|
|
307
314
|
})
|
|
308
315
|
]
|
|
309
316
|
})] }),
|
|
310
|
-
/* @__PURE__ */
|
|
317
|
+
/* @__PURE__ */ C("div", {
|
|
311
318
|
className: "flex justify-end gap-2",
|
|
312
|
-
children: [/* @__PURE__ */
|
|
319
|
+
children: [/* @__PURE__ */ S(a, {
|
|
313
320
|
variant: "outline",
|
|
314
321
|
children: "Cancel"
|
|
315
|
-
}), /* @__PURE__ */
|
|
322
|
+
}), /* @__PURE__ */ C(a, { children: [/* @__PURE__ */ S(n, { className: "mr-2 h-4 w-4" }), "Create Asset"] })]
|
|
316
323
|
})
|
|
317
324
|
]
|
|
318
325
|
});
|
|
319
326
|
}
|
|
320
327
|
//#endregion
|
|
321
|
-
export {
|
|
328
|
+
export { w as AssetsAssetCreatePage };
|
|
322
329
|
|
|
323
330
|
//# sourceMappingURL=AssetsAssetCreatePage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsAssetCreatePage.js","names":[],"sources":["../../../src/assethandler/pages/AssetsAssetCreatePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n GradientText,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Save, X } from 'lucide-react';\n\nexport function AssetsAssetCreatePage() {\n const [formData, setFormData] = useState({\n name: '',\n description: '',\n category: 'it_hardware',\n status: 'active',\n condition: 'good',\n serialNumber: '',\n assetTag: '',\n value: '',\n location: '',\n department: '',\n assignedTo: '',\n vendor: '',\n model: '',\n manufacturer: '',\n depreciationRate: '20',\n purchaseDate: '',\n warrantyExpiry: '',\n tags: '',\n });\n\n const handleChange = (field: string, value: string) => {\n setFormData((prev) => ({ ...prev, [field]: value }));\n };\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\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 <h1 className=\"text-2xl font-bold\">\n <GradientText>Create New Asset</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">Register a new asset in the inventory</p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <X className=\"mr-2 h-4 w-4\" />\n Cancel\n </Button>\n <Button size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Create Asset\n </Button>\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>General Information</CardTitle>\n <CardDescription>Basic asset details and identification</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset Name *</Label>\n <Input\n placeholder=\"e.g., Dell OptiPlex 7090\"\n value={formData.name}\n onChange={(e) => handleChange('name', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Asset Tag *</Label>\n <Input\n placeholder=\"e.g., IT-HW-001\"\n value={formData.assetTag}\n onChange={(e) => handleChange('assetTag', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n placeholder=\"Brief description of the asset...\"\n value={formData.description}\n onChange={(e) => handleChange('description', e.target.value)}\n rows={3}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Category *</Label>\n <Select value={formData.category} onValueChange={(v) => handleChange('category', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"electronics\">Electronics</SelectItem>\n <SelectItem value=\"it_hardware\">IT Hardware</SelectItem>\n <SelectItem value=\"furniture\">Furniture</SelectItem>\n <SelectItem value=\"vehicles\">Vehicles</SelectItem>\n <SelectItem value=\"equipment\">Equipment</SelectItem>\n <SelectItem value=\"software\">Software</SelectItem>\n <SelectItem value=\"networking\">Networking</SelectItem>\n <SelectItem value=\"servers\">Servers</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={formData.status} onValueChange={(v) => handleChange('status', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"active\">Active</SelectItem>\n <SelectItem value=\"inactive\">Inactive</SelectItem>\n <SelectItem value=\"under_maintenance\">Under Maintenance</SelectItem>\n <SelectItem value=\"reserved\">Reserved</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Condition</Label>\n <Select\n value={formData.condition}\n onValueChange={(v) => handleChange('condition', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"excellent\">Excellent</SelectItem>\n <SelectItem value=\"good\">Good</SelectItem>\n <SelectItem value=\"fair\">Fair</SelectItem>\n <SelectItem value=\"poor\">Poor</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Identification & Manufacturer</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Serial Number *</Label>\n <Input\n placeholder=\"e.g., DELL-7090-X1A2B3\"\n value={formData.serialNumber}\n onChange={(e) => handleChange('serialNumber', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Vendor</Label>\n <Input\n placeholder=\"e.g., Dell Technologies\"\n value={formData.vendor}\n onChange={(e) => handleChange('vendor', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Manufacturer</Label>\n <Input\n placeholder=\"e.g., Dell\"\n value={formData.manufacturer}\n onChange={(e) => handleChange('manufacturer', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Model</Label>\n <Input\n placeholder=\"e.g., OptiPlex 7090\"\n value={formData.model}\n onChange={(e) => handleChange('model', e.target.value)}\n />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Financial Details</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Purchase Value ($) *</Label>\n <Input\n type=\"number\"\n placeholder=\"0.00\"\n value={formData.value}\n onChange={(e) => handleChange('value', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Depreciation Rate (%)</Label>\n <Input\n type=\"number\"\n placeholder=\"20\"\n value={formData.depreciationRate}\n onChange={(e) => handleChange('depreciationRate', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Purchase Date *</Label>\n <Input\n type=\"date\"\n value={formData.purchaseDate}\n onChange={(e) => handleChange('purchaseDate', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Warranty Expiry</Label>\n <Input\n type=\"date\"\n value={formData.warrantyExpiry}\n onChange={(e) => handleChange('warrantyExpiry', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assignment & Location</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n placeholder=\"e.g., john.smith@company.com\"\n value={formData.assignedTo}\n onChange={(e) => handleChange('assignedTo', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Department</Label>\n <Input\n placeholder=\"e.g., Information Technology\"\n value={formData.department}\n onChange={(e) => handleChange('department', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Location</Label>\n <Input\n placeholder=\"e.g., Building A, Floor 3, Desk 15\"\n value={formData.location}\n onChange={(e) => handleChange('location', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Tags (comma-separated)</Label>\n <Input\n placeholder=\"e.g., desktop, engineering, high-performance\"\n value={formData.tags}\n onChange={(e) => handleChange('tags', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\">Cancel</Button>\n <Button>\n <Save className=\"mr-2 h-4 w-4\" />\n Create Asset\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAoBA,SAAgB,IAAwB;CACtC,IAAM,CAAC,GAAU,KAAe,EAAS;EACvC,MAAM;EACN,aAAa;EACb,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,UAAU;EACV,OAAO;EACP,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,OAAO;EACP,cAAc;EACd,kBAAkB;EAClB,cAAc;EACd,gBAAgB;EAChB,MAAM;EACP,CAAC,EAEI,KAAgB,GAAe,MAAkB;AACrD,KAAa,OAAU;GAAE,GAAG;IAAO,IAAQ;GAAO,EAAE;;AAGtD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAQ,SAAQ;MAAQ,MAAK;gBAC3B,kBAAC,GAAD,EAAW,WAAU,WAAY,CAAA;MAC1B,CAAA,EACT,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;MAAI,WAAU;gBACZ,kBAAC,GAAD,EAAA,UAAc,oBAA+B,CAAA;MAC1C,CAAA,EACL,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAyC,CAAA,CAChF,EAAA,CAAA,CACF;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAQ,SAAQ;MAAU,MAAK;gBAA/B,CACE,kBAAC,GAAD,EAAG,WAAU,gBAAiB,CAAA,EAAA,SAEvB;SACT,kBAAC,GAAD;MAAQ,MAAK;gBAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,eAE1B;QACL;OACF;;GAEN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAW,uBAA+B,CAAA,EAC1C,kBAAC,GAAD,EAAA,UAAiB,0CAAwD,CAAA,CAC9D,EAAA,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cAAvB;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,gBAAoB,CAAA,EAC3B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,QAAQ,EAAE,OAAO,MAAM;QACrD,CAAA,CACE;UACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,YAAY,EAAE,OAAO,MAAM;QACzD,CAAA,CACE;SACF;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO,EAAS;OAChB,WAAW,MAAM,EAAa,eAAe,EAAE,OAAO,MAAM;OAC5D,MAAM;OACN,CAAA,CACE;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,cAAkB,CAAA,EACzB,kBAAC,GAAD;SAAQ,OAAO,EAAS;SAAU,gBAAgB,MAAM,EAAa,YAAY,EAAE;mBAAnF,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UAAA;UACE,kBAAC,GAAD;WAAY,OAAM;qBAAc;WAAwB,CAAA;UACxD,kBAAC,GAAD;WAAY,OAAM;qBAAc;WAAwB,CAAA;UACxD,kBAAC,GAAD;WAAY,OAAM;qBAAY;WAAsB,CAAA;UACpD,kBAAC,GAAD;WAAY,OAAM;qBAAW;WAAqB,CAAA;UAClD,kBAAC,GAAD;WAAY,OAAM;qBAAY;WAAsB,CAAA;UACpD,kBAAC,GAAD;WAAY,OAAM;qBAAW;WAAqB,CAAA;UAClD,kBAAC,GAAD;WAAY,OAAM;qBAAa;WAAuB,CAAA;UACtD,kBAAC,GAAD;WAAY,OAAM;qBAAU;WAAoB,CAAA;UAClC,EAAA,CAAA,CACT;WACL;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,UAAc,CAAA,EACrB,kBAAC,GAAD;SAAQ,OAAO,EAAS;SAAQ,gBAAgB,MAAM,EAAa,UAAU,EAAE;mBAA/E,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UAAA;UACE,kBAAC,GAAD;WAAY,OAAM;qBAAS;WAAmB,CAAA;UAC9C,kBAAC,GAAD;WAAY,OAAM;qBAAW;WAAqB,CAAA;UAClD,kBAAC,GAAD;WAAY,OAAM;qBAAoB;WAA8B,CAAA;UACpE,kBAAC,GAAD;WAAY,OAAM;qBAAW;WAAqB,CAAA;UACpC,EAAA,CAAA,CACT;WACL;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,aAAiB,CAAA,EACxB,kBAAC,GAAD;SACE,OAAO,EAAS;SAChB,gBAAgB,MAAM,EAAa,aAAa,EAAE;mBAFpD,CAIE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAe,CAAA,EACD,CAAA,EAChB,kBAAC,GAAD,EAAA,UAAA;UACE,kBAAC,GAAD;WAAY,OAAM;qBAAY;WAAsB,CAAA;UACpD,kBAAC,GAAD;WAAY,OAAM;qBAAO;WAAiB,CAAA;UAC1C,kBAAC,GAAD;WAAY,OAAM;qBAAO;WAAiB,CAAA;UAC1C,kBAAC,GAAD;WAAY,OAAM;qBAAO;WAAiB,CAAA;UAC5B,EAAA,CAAA,CACT;WACL;;OACF;;KACM;MACT,EAAA,CAAA;GAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,iCAAyC,CAAA,EACzC,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cACrB,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,mBAAuB,CAAA,EAC9B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,gBAAgB,EAAE,OAAO,MAAM;QAC7D,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,UAAc,CAAA,EACrB,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,UAAU,EAAE,OAAO,MAAM;QACvD,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,gBAAoB,CAAA,EAC3B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,gBAAgB,EAAE,OAAO,MAAM;QAC7D,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,SAAa,CAAA,EACpB,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,SAAS,EAAE,OAAO,MAAM;QACtD,CAAA,CACE;;MACF;;IACM,CAAA,CACT,EAAA,CAAA;GAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,qBAA6B,CAAA,EAC7B,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cAAvB,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,wBAA4B,CAAA,EACnC,kBAAC,GAAD;QACE,MAAK;QACL,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,SAAS,EAAE,OAAO,MAAM;QACtD,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,yBAA6B,CAAA,EACpC,kBAAC,GAAD;QACE,MAAK;QACL,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,oBAAoB,EAAE,OAAO,MAAM;QACjE,CAAA,CACE;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,mBAAuB,CAAA,EAC9B,kBAAC,GAAD;QACE,MAAK;QACL,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,gBAAgB,EAAE,OAAO,MAAM;QAC7D,CAAA,CACE;;MACF;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD,EAAA,UAAO,mBAAuB,CAAA,EAC9B,kBAAC,GAAD;MACE,MAAK;MACL,OAAO,EAAS;MAChB,WAAW,MAAM,EAAa,kBAAkB,EAAE,OAAO,MAAM;MAC/D,CAAA,CACE;OACM;MACT,EAAA,CAAA;GAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,yBAAiC,CAAA,EACjC,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cAAvB;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,eAAmB,CAAA,EAC1B,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,MAAM;QAC3D,CAAA,CACE;UACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,cAAkB,CAAA,EACzB,kBAAC,GAAD;QACE,aAAY;QACZ,OAAO,EAAS;QAChB,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,MAAM;QAC3D,CAAA,CACE;SACF;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,YAAgB,CAAA,EACvB,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO,EAAS;OAChB,WAAW,MAAM,EAAa,YAAY,EAAE,OAAO,MAAM;OACzD,CAAA,CACE;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD,EAAA,UAAO,0BAA8B,CAAA,EACrC,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO,EAAS;OAChB,WAAW,MAAM,EAAa,QAAQ,EAAE,OAAO,MAAM;OACrD,CAAA,CACE;;KACM;MACT,EAAA,CAAA;GAEP,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD;KAAQ,SAAQ;eAAU;KAAe,CAAA,EACzC,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,eAE1B,EAAA,CAAA,CACL;;GACF"}
|
|
1
|
+
{"version":3,"file":"AssetsAssetCreatePage.js","names":[],"sources":["../../../src/assethandler/pages/AssetsAssetCreatePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n GradientText,\n EmphasisPanel,\n PagePurpose,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Save, X } from 'lucide-react';\nimport { useNavigate } from 'react-router-dom';\n\nexport function AssetsAssetCreatePage() {\n const navigate = useNavigate();\n const [formData, setFormData] = useState({\n name: '',\n description: '',\n category: 'it_hardware',\n status: 'active',\n condition: 'good',\n serialNumber: '',\n assetTag: '',\n value: '',\n location: '',\n department: '',\n assignedTo: '',\n vendor: '',\n model: '',\n manufacturer: '',\n depreciationRate: '20',\n purchaseDate: '',\n warrantyExpiry: '',\n tags: '',\n });\n\n const handleChange = (field: string, value: string) => {\n setFormData((prev) => ({ ...prev, [field]: value }));\n };\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button variant=\"ghost\" size=\"icon\" onClick={() => navigate('/assets/asset-list')}>\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <h1 className=\"text-2xl font-bold\">\n <GradientText>Create New Asset</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">Register a new asset in the inventory</p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => navigate('/assets/asset-list')}>\n <X className=\"mr-2 h-4 w-4\" />\n Cancel\n </Button>\n <Button size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Create Asset\n </Button>\n </div>\n </div>\n\n <PagePurpose>\n Register a new asset so it can be tracked, valued, maintained and assigned from day one.\n Capture its identity (name, tag, serial), category and condition, then the financial and\n location details — the more you fill in now, the better your reports and audits later.\n </PagePurpose>\n\n <EmphasisPanel>\n <CardHeader className=\"px-0 pt-0\">\n <CardTitle>General Information</CardTitle>\n <CardDescription>Basic asset details and identification</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4 px-0 pb-0\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Asset Name *</Label>\n <Input\n placeholder=\"e.g., Dell OptiPlex 7090\"\n value={formData.name}\n onChange={(e) => handleChange('name', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Asset Tag *</Label>\n <Input\n placeholder=\"e.g., IT-HW-001\"\n value={formData.assetTag}\n onChange={(e) => handleChange('assetTag', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n placeholder=\"Brief description of the asset...\"\n value={formData.description}\n onChange={(e) => handleChange('description', e.target.value)}\n rows={3}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Category *</Label>\n <Select value={formData.category} onValueChange={(v) => handleChange('category', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"electronics\">Electronics</SelectItem>\n <SelectItem value=\"it_hardware\">IT Hardware</SelectItem>\n <SelectItem value=\"furniture\">Furniture</SelectItem>\n <SelectItem value=\"vehicles\">Vehicles</SelectItem>\n <SelectItem value=\"equipment\">Equipment</SelectItem>\n <SelectItem value=\"software\">Software</SelectItem>\n <SelectItem value=\"networking\">Networking</SelectItem>\n <SelectItem value=\"servers\">Servers</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Status</Label>\n <Select value={formData.status} onValueChange={(v) => handleChange('status', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"active\">Active</SelectItem>\n <SelectItem value=\"inactive\">Inactive</SelectItem>\n <SelectItem value=\"under_maintenance\">Under Maintenance</SelectItem>\n <SelectItem value=\"reserved\">Reserved</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Condition</Label>\n <Select\n value={formData.condition}\n onValueChange={(v) => handleChange('condition', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"excellent\">Excellent</SelectItem>\n <SelectItem value=\"good\">Good</SelectItem>\n <SelectItem value=\"fair\">Fair</SelectItem>\n <SelectItem value=\"poor\">Poor</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </EmphasisPanel>\n\n <Card>\n <CardHeader>\n <CardTitle>Identification & Manufacturer</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Serial Number *</Label>\n <Input\n placeholder=\"e.g., DELL-7090-X1A2B3\"\n value={formData.serialNumber}\n onChange={(e) => handleChange('serialNumber', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Vendor</Label>\n <Input\n placeholder=\"e.g., Dell Technologies\"\n value={formData.vendor}\n onChange={(e) => handleChange('vendor', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Manufacturer</Label>\n <Input\n placeholder=\"e.g., Dell\"\n value={formData.manufacturer}\n onChange={(e) => handleChange('manufacturer', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Model</Label>\n <Input\n placeholder=\"e.g., OptiPlex 7090\"\n value={formData.model}\n onChange={(e) => handleChange('model', e.target.value)}\n />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Financial Details</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Purchase Value ($) *</Label>\n <Input\n type=\"number\"\n placeholder=\"0.00\"\n value={formData.value}\n onChange={(e) => handleChange('value', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Depreciation Rate (%)</Label>\n <Input\n type=\"number\"\n placeholder=\"20\"\n value={formData.depreciationRate}\n onChange={(e) => handleChange('depreciationRate', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Purchase Date *</Label>\n <Input\n type=\"date\"\n value={formData.purchaseDate}\n onChange={(e) => handleChange('purchaseDate', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Warranty Expiry</Label>\n <Input\n type=\"date\"\n value={formData.warrantyExpiry}\n onChange={(e) => handleChange('warrantyExpiry', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assignment & Location</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Assigned To</Label>\n <Input\n placeholder=\"e.g., john.smith@company.com\"\n value={formData.assignedTo}\n onChange={(e) => handleChange('assignedTo', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Department</Label>\n <Input\n placeholder=\"e.g., Information Technology\"\n value={formData.department}\n onChange={(e) => handleChange('department', e.target.value)}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Location</Label>\n <Input\n placeholder=\"e.g., Building A, Floor 3, Desk 15\"\n value={formData.location}\n onChange={(e) => handleChange('location', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Tags (comma-separated)</Label>\n <Input\n placeholder=\"e.g., desktop, engineering, high-performance\"\n value={formData.tags}\n onChange={(e) => handleChange('tags', e.target.value)}\n />\n </div>\n </CardContent>\n </Card>\n\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\">Cancel</Button>\n <Button>\n <Save className=\"mr-2 h-4 w-4\" />\n Create Asset\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|