@burdenoff/microfe-assethandler 2026.820.2 → 2026.820.4
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/components/AssetTag.d.ts +20 -0
- package/dist/assethandler/components/AssetTag.d.ts.map +1 -0
- package/dist/assethandler/components/AssetTag.js +8 -0
- package/dist/assethandler/components/AssetTag.js.map +1 -0
- package/dist/assethandler/components/index.d.ts +2 -0
- package/dist/assethandler/components/index.d.ts.map +1 -1
- package/dist/assethandler/components/index.js +1 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -1
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +344 -181
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -1
- package/dist/assethandler/pages/AssetsAssetDetailPage.js +338 -325
- package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
- package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -1
- package/dist/assethandler/pages/AssetsAssetListPage.js +177 -163
- package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
- package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -1
- package/dist/assethandler/pages/KnowledgeBasePage.js +394 -287
- package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -1
- package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -1
- package/dist/assethandler/providers/AssetHandlerProvider.js +1 -0
- package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -1
- package/dist/assethandler/store/assethandlerStore.d.ts +2 -0
- package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -1
- package/dist/assethandler/store/assethandlerStore.js +1 -0
- package/dist/assethandler/store/assethandlerStore.js.map +1 -1
- package/dist/assethandler/utils/knowledgeBase.d.ts +17 -0
- package/dist/assethandler/utils/knowledgeBase.d.ts.map +1 -0
- package/dist/assethandler/utils/knowledgeBase.js +17 -0
- package/dist/assethandler/utils/knowledgeBase.js.map +1 -0
- package/dist/assethandler/utils/printAssetTag.d.ts +24 -0
- package/dist/assethandler/utils/printAssetTag.d.ts.map +1 -0
- package/dist/assethandler/utils/printAssetTag.js +124 -0
- package/dist/assethandler/utils/printAssetTag.js.map +1 -0
- package/dist/node_modules/dijkstrajs/dijkstra.js +61 -0
- package/dist/node_modules/dijkstrajs/dijkstra.js.map +1 -0
- package/dist/node_modules/qrcode/lib/browser.js +40 -0
- package/dist/node_modules/qrcode/lib/browser.js.map +1 -0
- package/dist/node_modules/qrcode/lib/can-promise.js +12 -0
- package/dist/node_modules/qrcode/lib/can-promise.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.js +21 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.js +28 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.js +28 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.js +23 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.js +23 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.js +350 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.js +34 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.js +19 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/format-info.js +16 -0
- package/dist/node_modules/qrcode/lib/core/format-info.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.js +22 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.js +31 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.js +84 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/mode.js +74 -0
- package/dist/node_modules/qrcode/lib/core/mode.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.js +26 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.js +30 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.js +117 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.js +27 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/regex.js +21 -0
- package/dist/node_modules/qrcode/lib/core/regex.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/segments.js +144 -0
- package/dist/node_modules/qrcode/lib/core/segments.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/utils.js +70 -0
- package/dist/node_modules/qrcode/lib/core/utils.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/version-check.js +12 -0
- package/dist/node_modules/qrcode/lib/core/version-check.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/version.js +60 -0
- package/dist/node_modules/qrcode/lib/core/version.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.js +32 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.js +31 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.js +55 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.js.map +1 -0
- package/package.json +3 -1
|
@@ -15,19 +15,21 @@ import { StatTile as s } from "../components/StatTile.js";
|
|
|
15
15
|
import { ChartCard as c } from "../components/ChartCard.js";
|
|
16
16
|
import "../components/index.js";
|
|
17
17
|
import { METER_UNIT_OPTIONS as se, NOT_METERED as ce, meterReadingLabel as le } from "../utils/meter.js";
|
|
18
|
+
import { printAssetTag as ue } from "../utils/printAssetTag.js";
|
|
18
19
|
import { useState as l } from "react";
|
|
19
|
-
import { Archive as
|
|
20
|
-
import { useParams as
|
|
21
|
-
import { gql as
|
|
22
|
-
import { useMutation as
|
|
23
|
-
import { Fragment as
|
|
24
|
-
import { Badge as
|
|
20
|
+
import { Archive as de, ArrowLeft as fe, Building2 as pe, Calendar as me, DollarSign as he, Hash as ge, Layers as _e, MapPin as ve, Pencil as ye, Printer as be, ShieldCheck as xe, Tag as Se, Trash2 as Ce, TrendingDown as we, Truck as Te, User as Ee, Wrench as u } from "lucide-react";
|
|
21
|
+
import { useParams as De } from "react-router";
|
|
22
|
+
import { gql as d } from "@apollo/client";
|
|
23
|
+
import { useMutation as f, useQuery as Oe } from "@apollo/client/react";
|
|
24
|
+
import { Fragment as ke, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
25
|
+
import { Badge as Ae, Button as h, Card as je, CardContent as Me, CardDescription as Ne, CardHeader as Pe, CardTitle as Fe, EmphasisPanel as Ie, GlassCard as Le, GradientText as Re, Input as g, Label as _, PagePurpose as ze, ResponsiveDialog as v, ResponsiveDialogContent as y, ResponsiveDialogDescription as b, ResponsiveDialogFooter as x, ResponsiveDialogHeader as S, ResponsiveDialogTitle as C, Select as w, SelectContent as T, SelectItem as E, SelectTrigger as D, SelectValue as O, Tabs as Be, TabsContent as k, TabsList as Ve, TabsTrigger as A, Textarea as He } from "@burdenoff/fe-libs/ui";
|
|
25
26
|
//#region src/assethandler/pages/AssetsAssetDetailPage.tsx
|
|
26
|
-
var
|
|
27
|
+
var Ue = d`
|
|
27
28
|
query AssetHandlerAsset($id: ID!) {
|
|
28
29
|
asset(id: $id) {
|
|
29
30
|
id
|
|
30
31
|
assetNumber
|
|
32
|
+
tagId
|
|
31
33
|
name
|
|
32
34
|
description
|
|
33
35
|
category
|
|
@@ -58,49 +60,49 @@ var ze = p`
|
|
|
58
60
|
totalCostOfOwnership
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
|
-
`,
|
|
63
|
+
`, We = d`
|
|
62
64
|
mutation AssetHandlerUpdateAsset($id: ID!, $input: UpdateAssetInput!) {
|
|
63
65
|
updateAsset(id: $id, input: $input) {
|
|
64
66
|
id
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
|
-
`,
|
|
69
|
+
`, Ge = d`
|
|
68
70
|
mutation AssetHandlerDisposeAsset($id: ID!, $input: DisposeAssetInput!) {
|
|
69
71
|
disposeAsset(id: $id, input: $input) {
|
|
70
72
|
id
|
|
71
73
|
status
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
|
-
`,
|
|
76
|
+
`, Ke = d`
|
|
75
77
|
mutation AssetHandlerDeleteAsset($id: ID!) {
|
|
76
78
|
deleteAsset(id: $id)
|
|
77
79
|
}
|
|
78
|
-
`,
|
|
80
|
+
`, qe = {
|
|
79
81
|
excellent: "text-status-success-text bg-status-success-bg-subtle",
|
|
80
82
|
good: "text-status-info-text bg-status-info-bg-subtle",
|
|
81
83
|
fair: "text-status-warning-text bg-status-warning-bg-subtle",
|
|
82
84
|
poor: "text-status-warning-text bg-status-warning-bg-subtle",
|
|
83
85
|
damaged: "text-status-error-text bg-status-error-bg-subtle"
|
|
84
86
|
};
|
|
85
|
-
function
|
|
87
|
+
function Je(e) {
|
|
86
88
|
let t = Date.now();
|
|
87
89
|
return e.map((e) => e.scheduledDate).filter((e) => e != null && new Date(e).getTime() >= t).sort((e, t) => new Date(e).getTime() - new Date(t).getTime())[0];
|
|
88
90
|
}
|
|
89
|
-
var
|
|
91
|
+
var Ye = {
|
|
90
92
|
STRAIGHT_LINE: "Straight line",
|
|
91
93
|
REDUCING_BALANCE: "Reducing balance (200%)",
|
|
92
94
|
DECLINING_BALANCE: "Declining balance (150%)",
|
|
93
95
|
SUM_OF_YEARS_DIGITS: "Sum of years' digits",
|
|
94
96
|
UNITS_OF_PRODUCTION: "Units of production",
|
|
95
97
|
NONE: "None"
|
|
96
|
-
},
|
|
98
|
+
}, Xe = {
|
|
97
99
|
active: "bg-status-success-bg-subtle text-status-success-text",
|
|
98
100
|
maintenance: "bg-status-warning-bg-subtle text-status-warning-text",
|
|
99
101
|
inactive: "bg-bg-sunken text-text-secondary",
|
|
100
102
|
retired: "bg-bg-sunken text-text-secondary",
|
|
101
103
|
disposed: "bg-status-error-bg-subtle text-status-error-text"
|
|
102
104
|
};
|
|
103
|
-
function
|
|
105
|
+
function Ze(e) {
|
|
104
106
|
let t = e.purchaseValue, n = e.usefulLifeMonths;
|
|
105
107
|
if (!t || t <= 0 || !n || n <= 0) return [];
|
|
106
108
|
let r = Math.max(0, Math.min(e.salvageValue ?? 0, t)), i = (e.method ?? "straight_line").toLowerCase(), a = Math.max(1, Math.round(n / 12));
|
|
@@ -136,7 +138,7 @@ function qe(e) {
|
|
|
136
138
|
}
|
|
137
139
|
return o;
|
|
138
140
|
}
|
|
139
|
-
function
|
|
141
|
+
function Qe(e) {
|
|
140
142
|
return {
|
|
141
143
|
name: e.name,
|
|
142
144
|
description: e.description ?? "",
|
|
@@ -157,76 +159,76 @@ function Je(e) {
|
|
|
157
159
|
meterUnit: e.meterUnit ?? ""
|
|
158
160
|
};
|
|
159
161
|
}
|
|
160
|
-
function
|
|
161
|
-
let
|
|
162
|
-
variables: { id:
|
|
163
|
-
skip: !
|
|
162
|
+
function $e() {
|
|
163
|
+
let d = i(), { labels: $e } = n(), { format: N, compact: P } = r(), { assetId: et } = De(), { maintenanceRecords: tt } = e(), F = a(), { data: I, loading: nt, refetch: rt } = Oe(Ue, {
|
|
164
|
+
variables: { id: et ?? "" },
|
|
165
|
+
skip: !et,
|
|
164
166
|
fetchPolicy: "cache-and-network"
|
|
165
|
-
}), [
|
|
167
|
+
}), [it, L] = l(!1), [at, R] = l(!1), [ot, z] = l(!1), [B, V] = l(null), [H, U] = l({
|
|
166
168
|
disposalDate: "",
|
|
167
169
|
method: "",
|
|
168
170
|
notes: ""
|
|
169
|
-
}), [
|
|
171
|
+
}), [st, { loading: W }] = f(We, {
|
|
170
172
|
refetchQueries: ["AssetHandlerBootstrap"],
|
|
171
173
|
onCompleted: () => {
|
|
172
|
-
o.success("Asset updated", "Your changes have been saved."),
|
|
174
|
+
o.success("Asset updated", "Your changes have been saved."), L(!1), rt();
|
|
173
175
|
},
|
|
174
176
|
onError: (e) => o.error("Could not update asset", e.message)
|
|
175
|
-
}), [
|
|
177
|
+
}), [ct, { loading: G }] = f(Ge, {
|
|
176
178
|
refetchQueries: ["AssetHandlerBootstrap"],
|
|
177
179
|
onCompleted: () => {
|
|
178
|
-
o.success("Asset disposed", "The asset has been marked as disposed."),
|
|
180
|
+
o.success("Asset disposed", "The asset has been marked as disposed."), R(!1), rt();
|
|
179
181
|
},
|
|
180
182
|
onError: (e) => o.error("Could not dispose asset", e.message)
|
|
181
|
-
}), [
|
|
183
|
+
}), [lt, { loading: K }] = f(Ke, {
|
|
182
184
|
refetchQueries: ["AssetHandlerBootstrap"],
|
|
183
185
|
onCompleted: () => {
|
|
184
|
-
o.success("Asset deleted", "The asset has been removed from the inventory."),
|
|
186
|
+
o.success("Asset deleted", "The asset has been removed from the inventory."), d("/assets/asset-list");
|
|
185
187
|
},
|
|
186
188
|
onError: (e) => o.error("Could not delete asset", e.message)
|
|
187
189
|
});
|
|
188
|
-
if (
|
|
190
|
+
if (nt && !I) return /* @__PURE__ */ p("div", {
|
|
189
191
|
className: "space-y-3 p-6",
|
|
190
|
-
children: Array.from({ length: 6 }).map((e, t) => /* @__PURE__ */
|
|
192
|
+
children: Array.from({ length: 6 }).map((e, t) => /* @__PURE__ */ p("div", { className: "h-10 rounded-md bg-bg-sunken motion-safe:animate-vc-shimmer" }, t))
|
|
191
193
|
});
|
|
192
|
-
let q =
|
|
193
|
-
if (!q) return /* @__PURE__ */
|
|
194
|
-
entityLabel:
|
|
195
|
-
description:
|
|
196
|
-
backLabel:
|
|
197
|
-
onBack: () =>
|
|
194
|
+
let q = I?.asset;
|
|
195
|
+
if (!q) return /* @__PURE__ */ p(oe, {
|
|
196
|
+
entityLabel: F("assethandler.asset.detail.notFound.entity", "{{asset}}"),
|
|
197
|
+
description: F("assethandler.asset.detail.notFound.description", "This {{assetLower}} may have been disposed or removed. Return to the inventory to find it."),
|
|
198
|
+
backLabel: F("assethandler.asset.detail.notFound.back", "Back to inventory"),
|
|
199
|
+
onBack: () => d("/assets/asset-list")
|
|
198
200
|
});
|
|
199
201
|
let J = {
|
|
200
202
|
...q,
|
|
201
203
|
status: q.status.toLowerCase(),
|
|
202
204
|
condition: q.condition.toLowerCase(),
|
|
203
205
|
category: q.category.toLowerCase()
|
|
204
|
-
}, Y =
|
|
206
|
+
}, Y = tt.filter((e) => e.assetId === J.id), X = Y.filter((e) => e.status !== "completed" && e.status !== "cancelled"), ut = Je(X), dt = J.status === "disposed", Z = Ze({
|
|
205
207
|
purchaseValue: J.purchaseValue,
|
|
206
208
|
salvageValue: J.salvageValue,
|
|
207
209
|
usefulLifeMonths: J.usefulLifeMonths,
|
|
208
210
|
method: J.depreciationMethod,
|
|
209
211
|
unitsOfProductionCapacity: J.unitsOfProductionCapacity,
|
|
210
212
|
unitsProduced: J.unitsProduced
|
|
211
|
-
}),
|
|
213
|
+
}), ft = Z.map((e) => e.bookValue), pt = Y.filter((e) => (e.actualCost ?? e.estimatedCost) != null).map((e) => ({
|
|
212
214
|
label: e.scheduledDate ? new Date(e.scheduledDate).toLocaleDateString(void 0, {
|
|
213
215
|
month: "short",
|
|
214
216
|
year: "2-digit"
|
|
215
217
|
}) : e.title.slice(0, 12),
|
|
216
218
|
cost: e.actualCost ?? e.estimatedCost ?? 0
|
|
217
|
-
})),
|
|
219
|
+
})), mt = Y.reduce((e, t) => e + (t.actualCost ?? t.estimatedCost ?? 0), 0), Q = J.purchaseValue != null && mt > 0 ? [{
|
|
218
220
|
name: "Purchase",
|
|
219
221
|
value: J.purchaseValue,
|
|
220
222
|
color: "var(--color-accent-primary)"
|
|
221
223
|
}, {
|
|
222
224
|
name: "Maintenance",
|
|
223
|
-
value:
|
|
225
|
+
value: mt,
|
|
224
226
|
color: "var(--color-status-info-bg)"
|
|
225
|
-
}] : [],
|
|
226
|
-
|
|
227
|
-
},
|
|
228
|
-
if (e.preventDefault(), !
|
|
229
|
-
if (!
|
|
227
|
+
}] : [], ht = () => {
|
|
228
|
+
V(Qe(q)), L(!0);
|
|
229
|
+
}, gt = (e) => {
|
|
230
|
+
if (e.preventDefault(), !B) return;
|
|
231
|
+
if (!B.name.trim()) {
|
|
230
232
|
o.warning("Name required", "An asset must have a name.");
|
|
231
233
|
return;
|
|
232
234
|
}
|
|
@@ -236,30 +238,30 @@ function Ye() {
|
|
|
236
238
|
let n = Number(t);
|
|
237
239
|
return Number.isNaN(n) ? null : n;
|
|
238
240
|
};
|
|
239
|
-
|
|
241
|
+
st({ variables: {
|
|
240
242
|
id: J.id,
|
|
241
243
|
input: {
|
|
242
|
-
name:
|
|
243
|
-
description:
|
|
244
|
-
category:
|
|
245
|
-
status:
|
|
246
|
-
condition:
|
|
247
|
-
serialNumber:
|
|
248
|
-
locationName:
|
|
249
|
-
assignedTo:
|
|
250
|
-
department:
|
|
251
|
-
supplier:
|
|
252
|
-
purchaseValue: t(
|
|
253
|
-
salvageValue: t(
|
|
254
|
-
usefulLifeMonths: t(
|
|
255
|
-
depreciationMethod:
|
|
256
|
-
unitsOfProductionCapacity: t(
|
|
257
|
-
unitsProduced: t(
|
|
258
|
-
meterUnit:
|
|
244
|
+
name: B.name.trim(),
|
|
245
|
+
description: B.description.trim() || null,
|
|
246
|
+
category: B.category.trim(),
|
|
247
|
+
status: B.status,
|
|
248
|
+
condition: B.condition,
|
|
249
|
+
serialNumber: B.serialNumber.trim() || null,
|
|
250
|
+
locationName: B.locationName.trim() || null,
|
|
251
|
+
assignedTo: B.assignedTo.trim() || null,
|
|
252
|
+
department: B.department.trim() || null,
|
|
253
|
+
supplier: B.supplier.trim() || null,
|
|
254
|
+
purchaseValue: t(B.purchaseValue),
|
|
255
|
+
salvageValue: t(B.salvageValue),
|
|
256
|
+
usefulLifeMonths: t(B.usefulLifeMonths),
|
|
257
|
+
depreciationMethod: B.depreciationMethod,
|
|
258
|
+
unitsOfProductionCapacity: t(B.unitsOfProductionCapacity),
|
|
259
|
+
unitsProduced: t(B.unitsProduced),
|
|
260
|
+
meterUnit: B.meterUnit || null
|
|
259
261
|
}
|
|
260
262
|
} });
|
|
261
|
-
},
|
|
262
|
-
e.preventDefault(),
|
|
263
|
+
}, _t = (e) => {
|
|
264
|
+
e.preventDefault(), ct({ variables: {
|
|
263
265
|
id: J.id,
|
|
264
266
|
input: {
|
|
265
267
|
disposalDate: H.disposalDate ? new Date(H.disposalDate).toISOString() : (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -267,299 +269,310 @@ function Ye() {
|
|
|
267
269
|
notes: H.notes.trim() || null
|
|
268
270
|
}
|
|
269
271
|
} });
|
|
270
|
-
}, $ = (e, t) =>
|
|
272
|
+
}, $ = (e, t) => V((n) => n && {
|
|
271
273
|
...n,
|
|
272
274
|
[e]: t
|
|
273
275
|
});
|
|
274
|
-
return /* @__PURE__ */
|
|
276
|
+
return /* @__PURE__ */ m("div", {
|
|
275
277
|
className: "space-y-6 p-6",
|
|
276
278
|
children: [
|
|
277
|
-
/* @__PURE__ */
|
|
279
|
+
/* @__PURE__ */ m("div", {
|
|
278
280
|
className: "flex flex-wrap items-center justify-between gap-3",
|
|
279
|
-
children: [/* @__PURE__ */
|
|
281
|
+
children: [/* @__PURE__ */ m("div", {
|
|
280
282
|
className: "flex items-center gap-4",
|
|
281
|
-
children: [/* @__PURE__ */ h
|
|
283
|
+
children: [/* @__PURE__ */ p(h, {
|
|
282
284
|
variant: "ghost",
|
|
283
285
|
size: "icon",
|
|
284
286
|
"aria-label": "Go back",
|
|
285
|
-
onClick: () =>
|
|
286
|
-
children: /* @__PURE__ */
|
|
287
|
-
}), /* @__PURE__ */
|
|
287
|
+
onClick: () => d("/assets/asset-list"),
|
|
288
|
+
children: /* @__PURE__ */ p(fe, { className: "h-4 w-4" })
|
|
289
|
+
}), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("div", {
|
|
288
290
|
className: "flex items-center gap-3",
|
|
289
291
|
children: [
|
|
290
|
-
/* @__PURE__ */
|
|
292
|
+
/* @__PURE__ */ p("h1", {
|
|
291
293
|
className: "text-2xl font-bold",
|
|
292
|
-
children: /* @__PURE__ */
|
|
294
|
+
children: /* @__PURE__ */ p(Re, { children: J.name })
|
|
293
295
|
}),
|
|
294
|
-
/* @__PURE__ */
|
|
295
|
-
className: `rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${
|
|
296
|
+
/* @__PURE__ */ p("span", {
|
|
297
|
+
className: `rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${Xe[J.status] ?? "bg-bg-sunken text-text-secondary"}`,
|
|
296
298
|
children: J.status.replace(/_/g, " ")
|
|
297
299
|
}),
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
className: `rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${
|
|
300
|
+
/* @__PURE__ */ p("span", {
|
|
301
|
+
className: `rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${qe[J.condition] ?? ""}`,
|
|
300
302
|
children: J.condition
|
|
301
303
|
})
|
|
302
304
|
]
|
|
303
|
-
}), /* @__PURE__ */
|
|
305
|
+
}), /* @__PURE__ */ m("p", {
|
|
304
306
|
className: "text-sm text-text-secondary mt-1",
|
|
305
|
-
children: [J.assetNumber, J.serialNumber ? /* @__PURE__ */
|
|
307
|
+
children: [J.assetNumber, J.serialNumber ? /* @__PURE__ */ m(ke, { children: [" · SN: ", J.serialNumber] }) : null]
|
|
306
308
|
})] })]
|
|
307
|
-
}), /* @__PURE__ */
|
|
309
|
+
}), /* @__PURE__ */ m("div", {
|
|
308
310
|
className: "flex items-center gap-2",
|
|
309
311
|
children: [
|
|
310
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ m(h, {
|
|
311
313
|
size: "sm",
|
|
312
314
|
variant: "outline",
|
|
313
|
-
onClick:
|
|
314
|
-
|
|
315
|
+
onClick: () => void ue({
|
|
316
|
+
name: J.name,
|
|
317
|
+
tagId: J.tagId,
|
|
318
|
+
assetTag: J.assetNumber,
|
|
319
|
+
category: J.category
|
|
320
|
+
}),
|
|
321
|
+
children: [/* @__PURE__ */ p(be, { className: "mr-2 h-4 w-4" }), "Print tag"]
|
|
315
322
|
}),
|
|
316
|
-
|
|
323
|
+
/* @__PURE__ */ m(h, {
|
|
317
324
|
size: "sm",
|
|
318
325
|
variant: "outline",
|
|
319
|
-
onClick:
|
|
320
|
-
children: [/* @__PURE__ */
|
|
326
|
+
onClick: ht,
|
|
327
|
+
children: [/* @__PURE__ */ p(ye, { className: "mr-2 h-4 w-4" }), "Edit"]
|
|
321
328
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
329
|
+
dt ? null : /* @__PURE__ */ m(h, {
|
|
330
|
+
size: "sm",
|
|
331
|
+
variant: "outline",
|
|
332
|
+
onClick: () => R(!0),
|
|
333
|
+
children: [/* @__PURE__ */ p(de, { className: "mr-2 h-4 w-4" }), "Dispose"]
|
|
334
|
+
}),
|
|
335
|
+
/* @__PURE__ */ m(h, {
|
|
323
336
|
size: "sm",
|
|
324
337
|
variant: "outline",
|
|
325
338
|
className: "text-status-error-text",
|
|
326
|
-
onClick: () =>
|
|
327
|
-
children: [/* @__PURE__ */
|
|
339
|
+
onClick: () => z(!0),
|
|
340
|
+
children: [/* @__PURE__ */ p(Ce, { className: "mr-2 h-4 w-4" }), "Delete"]
|
|
328
341
|
})
|
|
329
342
|
]
|
|
330
343
|
})]
|
|
331
344
|
}),
|
|
332
|
-
/* @__PURE__ */
|
|
333
|
-
|
|
334
|
-
/* @__PURE__ */
|
|
345
|
+
/* @__PURE__ */ p(ze, { children: F("assethandler.asset.detail.purpose", "The complete profile of a single {{assetLower}} — its identity, condition, location, assignment, financials and maintenance history. Use this page as the {{assetLower}}'s home base: edit its details, track its book value, and dispose of it when it reaches end of life.") }),
|
|
346
|
+
dt ? /* @__PURE__ */ m(Ie, { children: [
|
|
347
|
+
/* @__PURE__ */ m("div", {
|
|
335
348
|
className: "flex items-center gap-2 text-sm font-medium",
|
|
336
349
|
children: [
|
|
337
|
-
/* @__PURE__ */
|
|
350
|
+
/* @__PURE__ */ p(de, { className: "h-4 w-4" }),
|
|
338
351
|
"This asset was disposed",
|
|
339
352
|
J.disposalDate ? ` on ${new Date(J.disposalDate).toLocaleDateString()}` : ""
|
|
340
353
|
]
|
|
341
354
|
}),
|
|
342
|
-
J.disposalMethod ? /* @__PURE__ */
|
|
355
|
+
J.disposalMethod ? /* @__PURE__ */ m("p", {
|
|
343
356
|
className: "mt-1 text-sm text-text-secondary",
|
|
344
357
|
children: ["Method: ", J.disposalMethod]
|
|
345
358
|
}) : null,
|
|
346
|
-
J.disposalNotes ? /* @__PURE__ */
|
|
359
|
+
J.disposalNotes ? /* @__PURE__ */ p("p", {
|
|
347
360
|
className: "mt-1 text-sm text-text-secondary",
|
|
348
361
|
children: J.disposalNotes
|
|
349
362
|
}) : null
|
|
350
363
|
] }) : null,
|
|
351
|
-
/* @__PURE__ */
|
|
364
|
+
/* @__PURE__ */ m("div", {
|
|
352
365
|
className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
353
366
|
children: [
|
|
354
|
-
/* @__PURE__ */
|
|
367
|
+
/* @__PURE__ */ p(s, {
|
|
355
368
|
hero: !0,
|
|
356
369
|
label: "Current value",
|
|
357
|
-
value:
|
|
358
|
-
delta: J.purchaseValue == null ? void 0 : `of ${
|
|
370
|
+
value: N(J.currentValue),
|
|
371
|
+
delta: J.purchaseValue == null ? void 0 : `of ${N(J.purchaseValue)}`,
|
|
359
372
|
deltaDirection: "neutral",
|
|
360
|
-
spark:
|
|
361
|
-
icon:
|
|
373
|
+
spark: ft.length > 1 ? ft : void 0,
|
|
374
|
+
icon: he
|
|
362
375
|
}),
|
|
363
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ p(s, {
|
|
364
377
|
label: "Maintenance records",
|
|
365
378
|
value: Y.length,
|
|
366
379
|
delta: X.length > 0 ? `${X.length} open` : void 0,
|
|
367
380
|
deltaTone: "neutral",
|
|
368
381
|
deltaDirection: "neutral",
|
|
369
|
-
icon:
|
|
382
|
+
icon: u
|
|
370
383
|
}),
|
|
371
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ p(s, {
|
|
372
385
|
label: "Registered",
|
|
373
386
|
value: J.createdAt ? new Date(J.createdAt).toLocaleDateString() : "—",
|
|
374
|
-
icon:
|
|
387
|
+
icon: me
|
|
375
388
|
}),
|
|
376
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ p(s, {
|
|
377
390
|
label: "Location",
|
|
378
391
|
value: J.locationName || "—",
|
|
379
|
-
icon:
|
|
392
|
+
icon: ve
|
|
380
393
|
})
|
|
381
394
|
]
|
|
382
395
|
}),
|
|
383
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ m("div", {
|
|
384
397
|
className: "grid gap-6 lg:grid-cols-3",
|
|
385
|
-
children: [/* @__PURE__ */
|
|
398
|
+
children: [/* @__PURE__ */ p("div", {
|
|
386
399
|
className: "min-w-0 lg:col-span-2",
|
|
387
|
-
children: /* @__PURE__ */
|
|
400
|
+
children: /* @__PURE__ */ m(Be, {
|
|
388
401
|
defaultValue: "details",
|
|
389
402
|
children: [
|
|
390
|
-
/* @__PURE__ */
|
|
403
|
+
/* @__PURE__ */ m(Ve, {
|
|
391
404
|
className: "max-w-full justify-start overflow-x-auto",
|
|
392
405
|
children: [
|
|
393
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ p(A, {
|
|
394
407
|
value: "details",
|
|
395
408
|
children: "Details"
|
|
396
409
|
}),
|
|
397
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ p(A, {
|
|
398
411
|
value: "financial",
|
|
399
412
|
children: "Financial"
|
|
400
413
|
}),
|
|
401
|
-
/* @__PURE__ */
|
|
414
|
+
/* @__PURE__ */ p(A, {
|
|
402
415
|
value: "maintenance",
|
|
403
416
|
children: "Maintenance"
|
|
404
417
|
}),
|
|
405
|
-
/* @__PURE__ */
|
|
418
|
+
/* @__PURE__ */ p(A, {
|
|
406
419
|
value: "discussion",
|
|
407
420
|
children: "Discussion"
|
|
408
421
|
})
|
|
409
422
|
]
|
|
410
423
|
}),
|
|
411
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ m(k, {
|
|
412
425
|
value: "details",
|
|
413
426
|
className: "mt-4 space-y-4",
|
|
414
427
|
children: [
|
|
415
|
-
J.description ? /* @__PURE__ */
|
|
428
|
+
J.description ? /* @__PURE__ */ p(j, {
|
|
416
429
|
label: "Description",
|
|
417
430
|
value: J.description,
|
|
418
431
|
full: !0
|
|
419
432
|
}) : null,
|
|
420
|
-
/* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ m("div", {
|
|
421
434
|
className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-3",
|
|
422
435
|
children: [
|
|
423
|
-
/* @__PURE__ */
|
|
424
|
-
label:
|
|
436
|
+
/* @__PURE__ */ p(j, {
|
|
437
|
+
label: F("assethandler.asset.detail.field.tag", "{{asset}} Tag"),
|
|
425
438
|
value: J.assetNumber,
|
|
426
|
-
icon:
|
|
439
|
+
icon: ge,
|
|
427
440
|
mono: !0
|
|
428
441
|
}),
|
|
429
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ p(j, {
|
|
430
443
|
label: "Serial Number",
|
|
431
444
|
value: J.serialNumber || "—",
|
|
432
|
-
icon:
|
|
445
|
+
icon: ge,
|
|
433
446
|
mono: !0
|
|
434
447
|
}),
|
|
435
|
-
/* @__PURE__ */
|
|
448
|
+
/* @__PURE__ */ p(j, {
|
|
436
449
|
label: "Category",
|
|
437
|
-
value: t(J.category,
|
|
438
|
-
icon:
|
|
450
|
+
value: t(J.category, $e),
|
|
451
|
+
icon: _e,
|
|
439
452
|
capitalize: !0
|
|
440
453
|
}),
|
|
441
|
-
/* @__PURE__ */
|
|
454
|
+
/* @__PURE__ */ p(j, {
|
|
442
455
|
label: "Condition",
|
|
443
|
-
icon:
|
|
444
|
-
children: /* @__PURE__ */
|
|
445
|
-
className: `inline-flex rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${
|
|
456
|
+
icon: xe,
|
|
457
|
+
children: /* @__PURE__ */ p("span", {
|
|
458
|
+
className: `inline-flex rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${qe[J.condition] ?? ""}`,
|
|
446
459
|
children: J.condition
|
|
447
460
|
})
|
|
448
461
|
}),
|
|
449
|
-
/* @__PURE__ */
|
|
462
|
+
/* @__PURE__ */ p(j, {
|
|
450
463
|
label: "Assigned To",
|
|
451
464
|
value: J.assignedTo || "—",
|
|
452
|
-
icon:
|
|
465
|
+
icon: Ee
|
|
453
466
|
}),
|
|
454
|
-
/* @__PURE__ */
|
|
455
|
-
label:
|
|
456
|
-
value:
|
|
457
|
-
icon:
|
|
467
|
+
/* @__PURE__ */ p(j, {
|
|
468
|
+
label: F("assethandler.asset.detail.nextService", "Next Service"),
|
|
469
|
+
value: ut ? new Date(ut).toLocaleDateString() : "—",
|
|
470
|
+
icon: u
|
|
458
471
|
}),
|
|
459
|
-
/* @__PURE__ */
|
|
472
|
+
/* @__PURE__ */ p(j, {
|
|
460
473
|
label: "Department",
|
|
461
474
|
value: J.department || "—",
|
|
462
|
-
icon:
|
|
475
|
+
icon: pe
|
|
463
476
|
}),
|
|
464
|
-
/* @__PURE__ */
|
|
477
|
+
/* @__PURE__ */ p(j, {
|
|
465
478
|
label: "Location",
|
|
466
479
|
value: J.locationName || "—",
|
|
467
|
-
icon:
|
|
480
|
+
icon: ve
|
|
468
481
|
}),
|
|
469
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ p(j, {
|
|
470
483
|
label: "Supplier",
|
|
471
484
|
value: J.supplier || "—",
|
|
472
|
-
icon:
|
|
485
|
+
icon: Te
|
|
473
486
|
}),
|
|
474
|
-
/* @__PURE__ */
|
|
487
|
+
/* @__PURE__ */ p(j, {
|
|
475
488
|
label: "Warranty Expiry",
|
|
476
489
|
value: J.warrantyExpiry ? new Date(J.warrantyExpiry).toLocaleDateString() : "—",
|
|
477
|
-
icon:
|
|
490
|
+
icon: me
|
|
478
491
|
})
|
|
479
492
|
]
|
|
480
493
|
}),
|
|
481
|
-
/* @__PURE__ */
|
|
494
|
+
/* @__PURE__ */ p(ee, {
|
|
482
495
|
entityType: "assethandler-asset",
|
|
483
496
|
entityId: J.id
|
|
484
497
|
})
|
|
485
498
|
]
|
|
486
499
|
}),
|
|
487
|
-
/* @__PURE__ */
|
|
500
|
+
/* @__PURE__ */ m(k, {
|
|
488
501
|
value: "financial",
|
|
489
502
|
className: "mt-4 space-y-6",
|
|
490
503
|
children: [
|
|
491
|
-
/* @__PURE__ */
|
|
504
|
+
/* @__PURE__ */ m("div", {
|
|
492
505
|
className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-4",
|
|
493
506
|
children: [
|
|
494
|
-
/* @__PURE__ */
|
|
507
|
+
/* @__PURE__ */ p(s, {
|
|
495
508
|
label: "Purchase Value",
|
|
496
|
-
value:
|
|
509
|
+
value: N(J.purchaseValue)
|
|
497
510
|
}),
|
|
498
|
-
/* @__PURE__ */
|
|
511
|
+
/* @__PURE__ */ p(s, {
|
|
499
512
|
hero: !0,
|
|
500
513
|
label: "Current Book Value",
|
|
501
|
-
value:
|
|
514
|
+
value: N(J.currentValue)
|
|
502
515
|
}),
|
|
503
|
-
/* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ p(s, {
|
|
504
517
|
label: "Accum. Depreciation",
|
|
505
|
-
value:
|
|
518
|
+
value: N(J.accumulatedDepreciation)
|
|
506
519
|
}),
|
|
507
|
-
/* @__PURE__ */
|
|
520
|
+
/* @__PURE__ */ p(s, {
|
|
508
521
|
label: "Total Cost of Ownership",
|
|
509
|
-
value:
|
|
522
|
+
value: N(J.totalCostOfOwnership)
|
|
510
523
|
})
|
|
511
524
|
]
|
|
512
525
|
}),
|
|
513
|
-
/* @__PURE__ */
|
|
526
|
+
/* @__PURE__ */ m("div", {
|
|
514
527
|
className: "grid gap-4 lg:grid-cols-2",
|
|
515
|
-
children: [/* @__PURE__ */
|
|
528
|
+
children: [/* @__PURE__ */ p(c, {
|
|
516
529
|
title: "Depreciation & book value",
|
|
517
530
|
subtitle: "Projected book value over the useful life",
|
|
518
|
-
icon:
|
|
519
|
-
children: Z.length > 0 ? /* @__PURE__ */
|
|
531
|
+
icon: we,
|
|
532
|
+
children: Z.length > 0 ? /* @__PURE__ */ p(ne, {
|
|
520
533
|
data: Z,
|
|
521
534
|
xKey: "year",
|
|
522
535
|
height: 260,
|
|
523
|
-
valueFormat:
|
|
536
|
+
valueFormat: P,
|
|
524
537
|
xTickFormat: (e) => `${e}y`,
|
|
525
538
|
series: [{
|
|
526
539
|
key: "bookValue",
|
|
527
540
|
label: "Book value"
|
|
528
541
|
}]
|
|
529
|
-
}) : /* @__PURE__ */
|
|
542
|
+
}) : /* @__PURE__ */ p("div", {
|
|
530
543
|
className: "py-12 text-center text-sm text-text-secondary",
|
|
531
544
|
children: "Add purchase value, useful life and salvage value to see the depreciation schedule."
|
|
532
545
|
})
|
|
533
|
-
}), /* @__PURE__ */
|
|
546
|
+
}), /* @__PURE__ */ p(c, {
|
|
534
547
|
title: "Key facts",
|
|
535
548
|
subtitle: "Purchase & depreciation terms",
|
|
536
|
-
children: /* @__PURE__ */
|
|
549
|
+
children: /* @__PURE__ */ m("dl", {
|
|
537
550
|
className: "overflow-hidden rounded-lg border border-border-seam text-sm",
|
|
538
551
|
children: [
|
|
539
|
-
/* @__PURE__ */
|
|
552
|
+
/* @__PURE__ */ p(M, {
|
|
540
553
|
label: "Purchase Date",
|
|
541
554
|
value: J.purchaseDate ? new Date(J.purchaseDate).toLocaleDateString() : "—",
|
|
542
555
|
striped: !0
|
|
543
556
|
}),
|
|
544
|
-
/* @__PURE__ */
|
|
557
|
+
/* @__PURE__ */ p(M, {
|
|
545
558
|
label: "Useful Life",
|
|
546
559
|
value: J.usefulLifeMonths ? `${J.usefulLifeMonths} months` : "—"
|
|
547
560
|
}),
|
|
548
|
-
/* @__PURE__ */
|
|
561
|
+
/* @__PURE__ */ p(M, {
|
|
549
562
|
label: "Salvage Value",
|
|
550
|
-
value:
|
|
563
|
+
value: N(J.salvageValue),
|
|
551
564
|
striped: !0
|
|
552
565
|
}),
|
|
553
|
-
/* @__PURE__ */
|
|
566
|
+
/* @__PURE__ */ p(M, {
|
|
554
567
|
label: "Depreciation Method",
|
|
555
|
-
value: J.depreciationMethod ?
|
|
568
|
+
value: J.depreciationMethod ? Ye[J.depreciationMethod.toUpperCase()] ?? J.depreciationMethod : "—"
|
|
556
569
|
}),
|
|
557
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ p(M, {
|
|
558
571
|
label: "Supplier",
|
|
559
572
|
value: J.supplier || "—",
|
|
560
573
|
striped: !0
|
|
561
574
|
}),
|
|
562
|
-
/* @__PURE__ */
|
|
575
|
+
/* @__PURE__ */ p(M, {
|
|
563
576
|
label: "Warranty Expiry",
|
|
564
577
|
value: J.warrantyExpiry ? new Date(J.warrantyExpiry).toLocaleDateString() : "—"
|
|
565
578
|
})
|
|
@@ -567,357 +580,357 @@ function Ye() {
|
|
|
567
580
|
})
|
|
568
581
|
})]
|
|
569
582
|
}),
|
|
570
|
-
Q.length > 0 ? /* @__PURE__ */
|
|
583
|
+
Q.length > 0 ? /* @__PURE__ */ p(c, {
|
|
571
584
|
title: "Total cost of ownership",
|
|
572
585
|
subtitle: "What drives lifetime cost",
|
|
573
|
-
icon:
|
|
574
|
-
children: /* @__PURE__ */
|
|
586
|
+
icon: he,
|
|
587
|
+
children: /* @__PURE__ */ p(ie, {
|
|
575
588
|
data: Q,
|
|
576
589
|
centerLabel: "TCO",
|
|
577
590
|
centerValue: Q.reduce((e, t) => e + t.value, 0),
|
|
578
|
-
valueFormat:
|
|
591
|
+
valueFormat: P,
|
|
579
592
|
height: 220
|
|
580
593
|
})
|
|
581
594
|
}) : null
|
|
582
595
|
]
|
|
583
596
|
}),
|
|
584
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ m(k, {
|
|
585
598
|
value: "maintenance",
|
|
586
599
|
className: "mt-4 space-y-4",
|
|
587
|
-
children: [
|
|
600
|
+
children: [pt.length > 0 ? /* @__PURE__ */ p(c, {
|
|
588
601
|
title: "Maintenance cost history",
|
|
589
602
|
subtitle: "Recorded cost per maintenance event",
|
|
590
|
-
icon:
|
|
591
|
-
children: /* @__PURE__ */
|
|
592
|
-
data:
|
|
603
|
+
icon: u,
|
|
604
|
+
children: /* @__PURE__ */ p(re, {
|
|
605
|
+
data: pt,
|
|
593
606
|
xKey: "label",
|
|
594
607
|
height: 220,
|
|
595
|
-
valueFormat:
|
|
608
|
+
valueFormat: P,
|
|
596
609
|
series: [{
|
|
597
610
|
key: "cost",
|
|
598
611
|
label: "Cost"
|
|
599
612
|
}]
|
|
600
613
|
})
|
|
601
|
-
}) : null, /* @__PURE__ */
|
|
614
|
+
}) : null, /* @__PURE__ */ m(je, { children: [/* @__PURE__ */ m(Pe, { children: [/* @__PURE__ */ m(Fe, {
|
|
602
615
|
className: "flex items-center gap-2",
|
|
603
|
-
children: [/* @__PURE__ */
|
|
604
|
-
}), /* @__PURE__ */
|
|
616
|
+
children: [/* @__PURE__ */ p(u, { className: "h-4 w-4" }), "Maintenance History"]
|
|
617
|
+
}), /* @__PURE__ */ m(Ne, { children: [Y.length, " records found"] })] }), /* @__PURE__ */ p(Me, { children: Y.length === 0 ? /* @__PURE__ */ p("p", {
|
|
605
618
|
className: "py-8 text-center text-text-secondary",
|
|
606
619
|
children: "No maintenance records for this asset."
|
|
607
|
-
}) : /* @__PURE__ */
|
|
620
|
+
}) : /* @__PURE__ */ p("div", {
|
|
608
621
|
className: "space-y-3",
|
|
609
|
-
children: Y.map((e) => /* @__PURE__ */
|
|
622
|
+
children: Y.map((e) => /* @__PURE__ */ p("div", {
|
|
610
623
|
className: "flex items-start gap-4 rounded-lg border p-4",
|
|
611
|
-
children: /* @__PURE__ */
|
|
624
|
+
children: /* @__PURE__ */ m("div", {
|
|
612
625
|
className: "flex-1",
|
|
613
626
|
children: [
|
|
614
|
-
/* @__PURE__ */
|
|
627
|
+
/* @__PURE__ */ m("div", {
|
|
615
628
|
className: "flex items-center gap-2",
|
|
616
|
-
children: [/* @__PURE__ */
|
|
629
|
+
children: [/* @__PURE__ */ p(Ae, {
|
|
617
630
|
variant: "outline",
|
|
618
631
|
className: "capitalize",
|
|
619
632
|
children: e.type
|
|
620
|
-
}), /* @__PURE__ */
|
|
633
|
+
}), /* @__PURE__ */ p("span", {
|
|
621
634
|
className: `rounded-full px-2.5 py-0.5 text-xs font-medium capitalize ${e.status === "completed" ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-warning-bg-subtle text-status-warning-text"}`,
|
|
622
635
|
children: e.status.replace(/_/g, " ")
|
|
623
636
|
})]
|
|
624
637
|
}),
|
|
625
|
-
/* @__PURE__ */
|
|
638
|
+
/* @__PURE__ */ p("p", {
|
|
626
639
|
className: "mt-1 font-medium",
|
|
627
640
|
children: e.title
|
|
628
641
|
}),
|
|
629
|
-
/* @__PURE__ */
|
|
642
|
+
/* @__PURE__ */ p("p", {
|
|
630
643
|
className: "text-sm text-text-secondary",
|
|
631
644
|
children: e.description
|
|
632
645
|
}),
|
|
633
|
-
/* @__PURE__ */
|
|
646
|
+
/* @__PURE__ */ m("div", {
|
|
634
647
|
className: "mt-2 flex gap-4 text-xs text-text-secondary",
|
|
635
|
-
children: [/* @__PURE__ */
|
|
648
|
+
children: [/* @__PURE__ */ m("span", { children: [
|
|
636
649
|
"Scheduled:",
|
|
637
650
|
" ",
|
|
638
651
|
e.scheduledDate ? new Date(e.scheduledDate).toLocaleDateString() : "—"
|
|
639
|
-
] }), e.actualCost != null || e.estimatedCost != null ? /* @__PURE__ */
|
|
652
|
+
] }), e.actualCost != null || e.estimatedCost != null ? /* @__PURE__ */ m("span", { children: ["Cost: ", N(e.actualCost ?? e.estimatedCost)] }) : null]
|
|
640
653
|
})
|
|
641
654
|
]
|
|
642
655
|
})
|
|
643
656
|
}, e.id))
|
|
644
657
|
}) })] })]
|
|
645
658
|
}),
|
|
646
|
-
/* @__PURE__ */
|
|
659
|
+
/* @__PURE__ */ p(k, {
|
|
647
660
|
value: "discussion",
|
|
648
661
|
className: "mt-4",
|
|
649
|
-
children: /* @__PURE__ */
|
|
662
|
+
children: /* @__PURE__ */ p(te, {
|
|
650
663
|
entityType: "assethandler-asset",
|
|
651
664
|
entityId: J.id
|
|
652
665
|
})
|
|
653
666
|
})
|
|
654
667
|
]
|
|
655
668
|
})
|
|
656
|
-
}), /* @__PURE__ */
|
|
669
|
+
}), /* @__PURE__ */ m("aside", {
|
|
657
670
|
className: "space-y-6",
|
|
658
|
-
children: [/* @__PURE__ */
|
|
671
|
+
children: [/* @__PURE__ */ p(Le, {
|
|
659
672
|
treatment: "glass",
|
|
660
673
|
className: "border-border-seam",
|
|
661
|
-
children: /* @__PURE__ */
|
|
674
|
+
children: /* @__PURE__ */ m("div", {
|
|
662
675
|
className: "space-y-3 p-5",
|
|
663
|
-
children: [/* @__PURE__ */
|
|
676
|
+
children: [/* @__PURE__ */ m("h3", {
|
|
664
677
|
className: "flex items-center gap-2 text-sm font-semibold",
|
|
665
|
-
children: [/* @__PURE__ */
|
|
666
|
-
}), J.tags.length === 0 ? /* @__PURE__ */
|
|
678
|
+
children: [/* @__PURE__ */ p(Se, { className: "h-4 w-4 text-text-secondary" }), "Tags"]
|
|
679
|
+
}), J.tags.length === 0 ? /* @__PURE__ */ p("p", {
|
|
667
680
|
className: "text-xs text-text-secondary",
|
|
668
681
|
children: "No tags yet"
|
|
669
|
-
}) : /* @__PURE__ */
|
|
682
|
+
}) : /* @__PURE__ */ p("div", {
|
|
670
683
|
className: "flex flex-wrap gap-1.5",
|
|
671
|
-
children: J.tags.map((e) => /* @__PURE__ */
|
|
684
|
+
children: J.tags.map((e) => /* @__PURE__ */ p("span", {
|
|
672
685
|
className: "rounded-full bg-action-primary-bg/10 px-2.5 py-0.5 text-xs font-medium text-action-primary-bg",
|
|
673
686
|
children: e
|
|
674
687
|
}, e))
|
|
675
688
|
})]
|
|
676
689
|
})
|
|
677
|
-
}), /* @__PURE__ */
|
|
690
|
+
}), /* @__PURE__ */ p(ae, { resourceId: J.id })]
|
|
678
691
|
})]
|
|
679
692
|
}),
|
|
680
|
-
/* @__PURE__ */
|
|
681
|
-
open:
|
|
682
|
-
onOpenChange:
|
|
683
|
-
children: /* @__PURE__ */
|
|
693
|
+
/* @__PURE__ */ p(v, {
|
|
694
|
+
open: it,
|
|
695
|
+
onOpenChange: L,
|
|
696
|
+
children: /* @__PURE__ */ m(y, {
|
|
684
697
|
className: "max-h-[85vh] overflow-y-auto sm:max-w-2xl",
|
|
685
|
-
children: [/* @__PURE__ */
|
|
698
|
+
children: [/* @__PURE__ */ m(S, { children: [/* @__PURE__ */ p(C, { children: "Edit asset" }), /* @__PURE__ */ p(b, { children: "Update this asset's details and financials." })] }), B ? /* @__PURE__ */ m("form", {
|
|
686
699
|
className: "space-y-4",
|
|
687
|
-
onSubmit:
|
|
700
|
+
onSubmit: gt,
|
|
688
701
|
children: [
|
|
689
|
-
/* @__PURE__ */
|
|
702
|
+
/* @__PURE__ */ m("div", {
|
|
690
703
|
className: "grid gap-4 md:grid-cols-2",
|
|
691
|
-
children: [/* @__PURE__ */
|
|
704
|
+
children: [/* @__PURE__ */ m("div", {
|
|
692
705
|
className: "space-y-2",
|
|
693
|
-
children: [/* @__PURE__ */
|
|
694
|
-
value:
|
|
706
|
+
children: [/* @__PURE__ */ p(_, { children: "Name" }), /* @__PURE__ */ p(g, {
|
|
707
|
+
value: B.name,
|
|
695
708
|
onChange: (e) => $("name", e.target.value)
|
|
696
709
|
})]
|
|
697
|
-
}), /* @__PURE__ */
|
|
710
|
+
}), /* @__PURE__ */ m("div", {
|
|
698
711
|
className: "space-y-2",
|
|
699
|
-
children: [/* @__PURE__ */
|
|
700
|
-
value:
|
|
712
|
+
children: [/* @__PURE__ */ p(_, { children: "Category" }), /* @__PURE__ */ p(g, {
|
|
713
|
+
value: B.category,
|
|
701
714
|
onChange: (e) => $("category", e.target.value)
|
|
702
715
|
})]
|
|
703
716
|
})]
|
|
704
717
|
}),
|
|
705
|
-
/* @__PURE__ */
|
|
718
|
+
/* @__PURE__ */ m("div", {
|
|
706
719
|
className: "space-y-2",
|
|
707
|
-
children: [/* @__PURE__ */
|
|
708
|
-
value:
|
|
720
|
+
children: [/* @__PURE__ */ p(_, { children: "Description" }), /* @__PURE__ */ p(He, {
|
|
721
|
+
value: B.description,
|
|
709
722
|
onChange: (e) => $("description", e.target.value),
|
|
710
723
|
rows: 2
|
|
711
724
|
})]
|
|
712
725
|
}),
|
|
713
|
-
/* @__PURE__ */
|
|
726
|
+
/* @__PURE__ */ m("div", {
|
|
714
727
|
className: "grid gap-4 md:grid-cols-3",
|
|
715
728
|
children: [
|
|
716
|
-
/* @__PURE__ */
|
|
729
|
+
/* @__PURE__ */ m("div", {
|
|
717
730
|
className: "space-y-2",
|
|
718
|
-
children: [/* @__PURE__ */
|
|
719
|
-
value:
|
|
731
|
+
children: [/* @__PURE__ */ p(_, { children: "Status" }), /* @__PURE__ */ m(w, {
|
|
732
|
+
value: B.status,
|
|
720
733
|
onValueChange: (e) => $("status", e),
|
|
721
|
-
children: [/* @__PURE__ */
|
|
722
|
-
/* @__PURE__ */
|
|
734
|
+
children: [/* @__PURE__ */ p(D, { children: /* @__PURE__ */ p(O, {}) }), /* @__PURE__ */ m(T, { children: [
|
|
735
|
+
/* @__PURE__ */ p(E, {
|
|
723
736
|
value: "ACTIVE",
|
|
724
737
|
children: "Active"
|
|
725
738
|
}),
|
|
726
|
-
/* @__PURE__ */
|
|
739
|
+
/* @__PURE__ */ p(E, {
|
|
727
740
|
value: "INACTIVE",
|
|
728
741
|
children: "Inactive"
|
|
729
742
|
}),
|
|
730
|
-
/* @__PURE__ */
|
|
743
|
+
/* @__PURE__ */ p(E, {
|
|
731
744
|
value: "MAINTENANCE",
|
|
732
745
|
children: "Maintenance"
|
|
733
746
|
}),
|
|
734
|
-
/* @__PURE__ */
|
|
747
|
+
/* @__PURE__ */ p(E, {
|
|
735
748
|
value: "RETIRED",
|
|
736
749
|
children: "Retired"
|
|
737
750
|
})
|
|
738
751
|
] })]
|
|
739
752
|
})]
|
|
740
753
|
}),
|
|
741
|
-
/* @__PURE__ */
|
|
754
|
+
/* @__PURE__ */ m("div", {
|
|
742
755
|
className: "space-y-2",
|
|
743
|
-
children: [/* @__PURE__ */
|
|
744
|
-
value:
|
|
756
|
+
children: [/* @__PURE__ */ p(_, { children: "Condition" }), /* @__PURE__ */ m(w, {
|
|
757
|
+
value: B.condition,
|
|
745
758
|
onValueChange: (e) => $("condition", e),
|
|
746
|
-
children: [/* @__PURE__ */
|
|
747
|
-
/* @__PURE__ */
|
|
759
|
+
children: [/* @__PURE__ */ p(D, { children: /* @__PURE__ */ p(O, {}) }), /* @__PURE__ */ m(T, { children: [
|
|
760
|
+
/* @__PURE__ */ p(E, {
|
|
748
761
|
value: "EXCELLENT",
|
|
749
762
|
children: "Excellent"
|
|
750
763
|
}),
|
|
751
|
-
/* @__PURE__ */
|
|
764
|
+
/* @__PURE__ */ p(E, {
|
|
752
765
|
value: "GOOD",
|
|
753
766
|
children: "Good"
|
|
754
767
|
}),
|
|
755
|
-
/* @__PURE__ */
|
|
768
|
+
/* @__PURE__ */ p(E, {
|
|
756
769
|
value: "FAIR",
|
|
757
770
|
children: "Fair"
|
|
758
771
|
}),
|
|
759
|
-
/* @__PURE__ */
|
|
772
|
+
/* @__PURE__ */ p(E, {
|
|
760
773
|
value: "POOR",
|
|
761
774
|
children: "Poor"
|
|
762
775
|
}),
|
|
763
|
-
/* @__PURE__ */
|
|
776
|
+
/* @__PURE__ */ p(E, {
|
|
764
777
|
value: "DAMAGED",
|
|
765
778
|
children: "Damaged"
|
|
766
779
|
})
|
|
767
780
|
] })]
|
|
768
781
|
})]
|
|
769
782
|
}),
|
|
770
|
-
/* @__PURE__ */
|
|
783
|
+
/* @__PURE__ */ m("div", {
|
|
771
784
|
className: "space-y-2",
|
|
772
|
-
children: [/* @__PURE__ */
|
|
773
|
-
value:
|
|
785
|
+
children: [/* @__PURE__ */ p(_, { children: "Department" }), /* @__PURE__ */ p(g, {
|
|
786
|
+
value: B.department,
|
|
774
787
|
onChange: (e) => $("department", e.target.value)
|
|
775
788
|
})]
|
|
776
789
|
})
|
|
777
790
|
]
|
|
778
791
|
}),
|
|
779
|
-
/* @__PURE__ */
|
|
792
|
+
/* @__PURE__ */ m("div", {
|
|
780
793
|
className: "grid gap-4 md:grid-cols-2",
|
|
781
794
|
children: [
|
|
782
|
-
/* @__PURE__ */
|
|
795
|
+
/* @__PURE__ */ m("div", {
|
|
783
796
|
className: "space-y-2",
|
|
784
|
-
children: [/* @__PURE__ */
|
|
785
|
-
value:
|
|
797
|
+
children: [/* @__PURE__ */ p(_, { children: "Serial Number" }), /* @__PURE__ */ p(g, {
|
|
798
|
+
value: B.serialNumber,
|
|
786
799
|
onChange: (e) => $("serialNumber", e.target.value)
|
|
787
800
|
})]
|
|
788
801
|
}),
|
|
789
|
-
/* @__PURE__ */
|
|
802
|
+
/* @__PURE__ */ m("div", {
|
|
790
803
|
className: "space-y-2",
|
|
791
|
-
children: [/* @__PURE__ */
|
|
792
|
-
value:
|
|
804
|
+
children: [/* @__PURE__ */ p(_, { children: "Assigned To" }), /* @__PURE__ */ p(g, {
|
|
805
|
+
value: B.assignedTo,
|
|
793
806
|
onChange: (e) => $("assignedTo", e.target.value)
|
|
794
807
|
})]
|
|
795
808
|
}),
|
|
796
|
-
/* @__PURE__ */
|
|
809
|
+
/* @__PURE__ */ m("div", {
|
|
797
810
|
className: "space-y-2",
|
|
798
|
-
children: [/* @__PURE__ */
|
|
799
|
-
value:
|
|
811
|
+
children: [/* @__PURE__ */ p(_, { children: "Location" }), /* @__PURE__ */ p(g, {
|
|
812
|
+
value: B.locationName,
|
|
800
813
|
onChange: (e) => $("locationName", e.target.value)
|
|
801
814
|
})]
|
|
802
815
|
}),
|
|
803
|
-
/* @__PURE__ */
|
|
816
|
+
/* @__PURE__ */ m("div", {
|
|
804
817
|
className: "space-y-2",
|
|
805
|
-
children: [/* @__PURE__ */
|
|
806
|
-
value:
|
|
818
|
+
children: [/* @__PURE__ */ p(_, { children: "Supplier" }), /* @__PURE__ */ p(g, {
|
|
819
|
+
value: B.supplier,
|
|
807
820
|
onChange: (e) => $("supplier", e.target.value)
|
|
808
821
|
})]
|
|
809
822
|
})
|
|
810
823
|
]
|
|
811
824
|
}),
|
|
812
|
-
/* @__PURE__ */
|
|
825
|
+
/* @__PURE__ */ m("div", {
|
|
813
826
|
className: "grid gap-4 md:grid-cols-4",
|
|
814
827
|
children: [
|
|
815
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ m("div", {
|
|
816
829
|
className: "space-y-2",
|
|
817
|
-
children: [/* @__PURE__ */
|
|
830
|
+
children: [/* @__PURE__ */ p(_, { children: "Purchase Value" }), /* @__PURE__ */ p(g, {
|
|
818
831
|
type: "number",
|
|
819
832
|
min: "0",
|
|
820
833
|
step: "0.01",
|
|
821
|
-
value:
|
|
834
|
+
value: B.purchaseValue,
|
|
822
835
|
onChange: (e) => $("purchaseValue", e.target.value)
|
|
823
836
|
})]
|
|
824
837
|
}),
|
|
825
|
-
/* @__PURE__ */
|
|
838
|
+
/* @__PURE__ */ m("div", {
|
|
826
839
|
className: "space-y-2",
|
|
827
|
-
children: [/* @__PURE__ */
|
|
840
|
+
children: [/* @__PURE__ */ p(_, { children: "Salvage Value" }), /* @__PURE__ */ p(g, {
|
|
828
841
|
type: "number",
|
|
829
842
|
min: "0",
|
|
830
843
|
step: "0.01",
|
|
831
|
-
value:
|
|
844
|
+
value: B.salvageValue,
|
|
832
845
|
onChange: (e) => $("salvageValue", e.target.value)
|
|
833
846
|
})]
|
|
834
847
|
}),
|
|
835
|
-
/* @__PURE__ */
|
|
848
|
+
/* @__PURE__ */ m("div", {
|
|
836
849
|
className: "space-y-2",
|
|
837
|
-
children: [/* @__PURE__ */
|
|
850
|
+
children: [/* @__PURE__ */ p(_, { children: "Useful Life (mo)" }), /* @__PURE__ */ p(g, {
|
|
838
851
|
type: "number",
|
|
839
852
|
min: "0",
|
|
840
853
|
step: "1",
|
|
841
|
-
value:
|
|
854
|
+
value: B.usefulLifeMonths,
|
|
842
855
|
onChange: (e) => $("usefulLifeMonths", e.target.value)
|
|
843
856
|
})]
|
|
844
857
|
}),
|
|
845
|
-
/* @__PURE__ */
|
|
858
|
+
/* @__PURE__ */ m("div", {
|
|
846
859
|
className: "space-y-2",
|
|
847
|
-
children: [/* @__PURE__ */
|
|
848
|
-
value:
|
|
860
|
+
children: [/* @__PURE__ */ p(_, { children: "Depreciation" }), /* @__PURE__ */ m(w, {
|
|
861
|
+
value: B.depreciationMethod,
|
|
849
862
|
onValueChange: (e) => $("depreciationMethod", e),
|
|
850
|
-
children: [/* @__PURE__ */
|
|
851
|
-
/* @__PURE__ */
|
|
863
|
+
children: [/* @__PURE__ */ p(D, { children: /* @__PURE__ */ p(O, {}) }), /* @__PURE__ */ m(T, { children: [
|
|
864
|
+
/* @__PURE__ */ p(E, {
|
|
852
865
|
value: "STRAIGHT_LINE",
|
|
853
866
|
children: "Straight line"
|
|
854
867
|
}),
|
|
855
|
-
/* @__PURE__ */
|
|
868
|
+
/* @__PURE__ */ p(E, {
|
|
856
869
|
value: "REDUCING_BALANCE",
|
|
857
870
|
children: "Reducing balance (200%)"
|
|
858
871
|
}),
|
|
859
|
-
/* @__PURE__ */
|
|
872
|
+
/* @__PURE__ */ p(E, {
|
|
860
873
|
value: "DECLINING_BALANCE",
|
|
861
874
|
children: "Declining balance (150%)"
|
|
862
875
|
}),
|
|
863
|
-
/* @__PURE__ */
|
|
876
|
+
/* @__PURE__ */ p(E, {
|
|
864
877
|
value: "SUM_OF_YEARS_DIGITS",
|
|
865
878
|
children: "Sum of years' digits"
|
|
866
879
|
}),
|
|
867
|
-
/* @__PURE__ */
|
|
880
|
+
/* @__PURE__ */ p(E, {
|
|
868
881
|
value: "UNITS_OF_PRODUCTION",
|
|
869
882
|
children: "Units of production"
|
|
870
883
|
}),
|
|
871
|
-
/* @__PURE__ */
|
|
884
|
+
/* @__PURE__ */ p(E, {
|
|
872
885
|
value: "NONE",
|
|
873
886
|
children: "None"
|
|
874
887
|
})
|
|
875
888
|
] })]
|
|
876
889
|
})]
|
|
877
890
|
}),
|
|
878
|
-
|
|
891
|
+
B.depreciationMethod === "UNITS_OF_PRODUCTION" ? /* @__PURE__ */ m("div", {
|
|
879
892
|
className: "space-y-2",
|
|
880
|
-
children: [/* @__PURE__ */
|
|
893
|
+
children: [/* @__PURE__ */ p(_, { children: "Lifetime Capacity (units)" }), /* @__PURE__ */ p(g, {
|
|
881
894
|
type: "number",
|
|
882
895
|
min: "0",
|
|
883
896
|
step: "1",
|
|
884
|
-
value:
|
|
897
|
+
value: B.unitsOfProductionCapacity,
|
|
885
898
|
onChange: (e) => $("unitsOfProductionCapacity", e.target.value)
|
|
886
899
|
})]
|
|
887
900
|
}) : null,
|
|
888
|
-
/* @__PURE__ */
|
|
901
|
+
/* @__PURE__ */ m("div", {
|
|
889
902
|
className: "space-y-2",
|
|
890
|
-
children: [/* @__PURE__ */
|
|
891
|
-
value:
|
|
903
|
+
children: [/* @__PURE__ */ p(_, { children: "Meter unit" }), /* @__PURE__ */ m(w, {
|
|
904
|
+
value: B.meterUnit || "__NOT_METERED__",
|
|
892
905
|
onValueChange: (e) => $("meterUnit", e === "__NOT_METERED__" ? "" : e),
|
|
893
|
-
children: [/* @__PURE__ */
|
|
906
|
+
children: [/* @__PURE__ */ p(D, { children: /* @__PURE__ */ p(O, { placeholder: "Not metered" }) }), /* @__PURE__ */ m(T, { children: [/* @__PURE__ */ p(E, {
|
|
894
907
|
value: ce,
|
|
895
908
|
children: "Not metered"
|
|
896
|
-
}), se.map((e) => /* @__PURE__ */
|
|
909
|
+
}), se.map((e) => /* @__PURE__ */ p(E, {
|
|
897
910
|
value: e.value,
|
|
898
911
|
children: e.label
|
|
899
912
|
}, e.value))] })]
|
|
900
913
|
})]
|
|
901
914
|
}),
|
|
902
|
-
/* @__PURE__ */
|
|
915
|
+
/* @__PURE__ */ m("div", {
|
|
903
916
|
className: "space-y-2",
|
|
904
|
-
children: [/* @__PURE__ */
|
|
917
|
+
children: [/* @__PURE__ */ p(_, { children: le(B.meterUnit) }), /* @__PURE__ */ p(g, {
|
|
905
918
|
type: "number",
|
|
906
919
|
min: "0",
|
|
907
920
|
step: "1",
|
|
908
|
-
value:
|
|
921
|
+
value: B.unitsProduced,
|
|
909
922
|
onChange: (e) => $("unitsProduced", e.target.value)
|
|
910
923
|
})]
|
|
911
924
|
})
|
|
912
925
|
]
|
|
913
926
|
}),
|
|
914
|
-
/* @__PURE__ */
|
|
927
|
+
/* @__PURE__ */ m(x, { children: [/* @__PURE__ */ p(h, {
|
|
915
928
|
type: "button",
|
|
916
929
|
variant: "outline",
|
|
917
|
-
onClick: () =>
|
|
930
|
+
onClick: () => L(!1),
|
|
918
931
|
disabled: W,
|
|
919
932
|
children: "Cancel"
|
|
920
|
-
}), /* @__PURE__ */ h
|
|
933
|
+
}), /* @__PURE__ */ p(h, {
|
|
921
934
|
type: "submit",
|
|
922
935
|
disabled: W,
|
|
923
936
|
children: W ? "Saving…" : "Save changes"
|
|
@@ -926,16 +939,16 @@ function Ye() {
|
|
|
926
939
|
}) : null]
|
|
927
940
|
})
|
|
928
941
|
}),
|
|
929
|
-
/* @__PURE__ */
|
|
930
|
-
open:
|
|
931
|
-
onOpenChange:
|
|
932
|
-
children: /* @__PURE__ */
|
|
942
|
+
/* @__PURE__ */ p(v, {
|
|
943
|
+
open: at,
|
|
944
|
+
onOpenChange: R,
|
|
945
|
+
children: /* @__PURE__ */ m(y, { children: [/* @__PURE__ */ m(S, { children: [/* @__PURE__ */ p(C, { children: "Dispose asset" }), /* @__PURE__ */ p(b, { children: "Record the disposal of this asset. It will be marked as disposed and removed from active inventory." })] }), /* @__PURE__ */ m("form", {
|
|
933
946
|
className: "space-y-4",
|
|
934
|
-
onSubmit:
|
|
947
|
+
onSubmit: _t,
|
|
935
948
|
children: [
|
|
936
|
-
/* @__PURE__ */
|
|
949
|
+
/* @__PURE__ */ m("div", {
|
|
937
950
|
className: "space-y-2",
|
|
938
|
-
children: [/* @__PURE__ */
|
|
951
|
+
children: [/* @__PURE__ */ p(_, { children: "Disposal Date" }), /* @__PURE__ */ p(g, {
|
|
939
952
|
type: "date",
|
|
940
953
|
value: H.disposalDate,
|
|
941
954
|
onChange: (e) => U((t) => ({
|
|
@@ -944,9 +957,9 @@ function Ye() {
|
|
|
944
957
|
}))
|
|
945
958
|
})]
|
|
946
959
|
}),
|
|
947
|
-
/* @__PURE__ */
|
|
960
|
+
/* @__PURE__ */ m("div", {
|
|
948
961
|
className: "space-y-2",
|
|
949
|
-
children: [/* @__PURE__ */
|
|
962
|
+
children: [/* @__PURE__ */ p(_, { children: "Method" }), /* @__PURE__ */ p(g, {
|
|
950
963
|
placeholder: "e.g., Sold, Recycled, Scrapped",
|
|
951
964
|
value: H.method,
|
|
952
965
|
onChange: (e) => U((t) => ({
|
|
@@ -955,9 +968,9 @@ function Ye() {
|
|
|
955
968
|
}))
|
|
956
969
|
})]
|
|
957
970
|
}),
|
|
958
|
-
/* @__PURE__ */
|
|
971
|
+
/* @__PURE__ */ m("div", {
|
|
959
972
|
className: "space-y-2",
|
|
960
|
-
children: [/* @__PURE__ */
|
|
973
|
+
children: [/* @__PURE__ */ p(_, { children: "Notes" }), /* @__PURE__ */ p(He, {
|
|
961
974
|
placeholder: "Optional details about the disposal",
|
|
962
975
|
value: H.notes,
|
|
963
976
|
onChange: (e) => U((t) => ({
|
|
@@ -967,13 +980,13 @@ function Ye() {
|
|
|
967
980
|
rows: 2
|
|
968
981
|
})]
|
|
969
982
|
}),
|
|
970
|
-
/* @__PURE__ */
|
|
983
|
+
/* @__PURE__ */ m(x, { children: [/* @__PURE__ */ p(h, {
|
|
971
984
|
type: "button",
|
|
972
985
|
variant: "outline",
|
|
973
|
-
onClick: () =>
|
|
986
|
+
onClick: () => R(!1),
|
|
974
987
|
disabled: G,
|
|
975
988
|
children: "Cancel"
|
|
976
|
-
}), /* @__PURE__ */ h
|
|
989
|
+
}), /* @__PURE__ */ p(h, {
|
|
977
990
|
type: "submit",
|
|
978
991
|
disabled: G,
|
|
979
992
|
children: G ? "Disposing…" : "Confirm disposal"
|
|
@@ -981,24 +994,24 @@ function Ye() {
|
|
|
981
994
|
]
|
|
982
995
|
})] })
|
|
983
996
|
}),
|
|
984
|
-
/* @__PURE__ */
|
|
985
|
-
open:
|
|
986
|
-
onOpenChange:
|
|
987
|
-
children: /* @__PURE__ */
|
|
997
|
+
/* @__PURE__ */ p(v, {
|
|
998
|
+
open: ot,
|
|
999
|
+
onOpenChange: z,
|
|
1000
|
+
children: /* @__PURE__ */ m(y, { children: [/* @__PURE__ */ m(S, { children: [/* @__PURE__ */ p(C, { children: "Delete asset" }), /* @__PURE__ */ m(b, { children: [
|
|
988
1001
|
"This removes ",
|
|
989
|
-
/* @__PURE__ */
|
|
1002
|
+
/* @__PURE__ */ p("span", {
|
|
990
1003
|
className: "font-medium",
|
|
991
1004
|
children: J.name
|
|
992
1005
|
}),
|
|
993
1006
|
" from the inventory. This action cannot be undone."
|
|
994
|
-
] })] }), /* @__PURE__ */
|
|
1007
|
+
] })] }), /* @__PURE__ */ m(x, { children: [/* @__PURE__ */ p(h, {
|
|
995
1008
|
variant: "outline",
|
|
996
|
-
onClick: () =>
|
|
1009
|
+
onClick: () => z(!1),
|
|
997
1010
|
disabled: K,
|
|
998
1011
|
children: "Cancel"
|
|
999
|
-
}), /* @__PURE__ */ h
|
|
1012
|
+
}), /* @__PURE__ */ p(h, {
|
|
1000
1013
|
variant: "destructive",
|
|
1001
|
-
onClick: () => void
|
|
1014
|
+
onClick: () => void lt({ variables: { id: J.id } }),
|
|
1002
1015
|
disabled: K,
|
|
1003
1016
|
children: K ? "Deleting…" : "Delete asset"
|
|
1004
1017
|
})] })] })
|
|
@@ -1006,34 +1019,34 @@ function Ye() {
|
|
|
1006
1019
|
]
|
|
1007
1020
|
});
|
|
1008
1021
|
}
|
|
1009
|
-
function
|
|
1010
|
-
return /* @__PURE__ */
|
|
1022
|
+
function j({ label: e, value: t, icon: n, mono: r, capitalize: i, full: a, children: o }) {
|
|
1023
|
+
return /* @__PURE__ */ m("div", {
|
|
1011
1024
|
className: `rounded-lg border border-border-seam bg-bg-surface p-3.5 ${a ? "sm:col-span-2 xl:col-span-3" : ""}`,
|
|
1012
|
-
children: [/* @__PURE__ */
|
|
1025
|
+
children: [/* @__PURE__ */ m("p", {
|
|
1013
1026
|
className: "flex items-center gap-1.5 text-xs text-text-secondary",
|
|
1014
|
-
children: [n ? /* @__PURE__ */
|
|
1015
|
-
}), o ? /* @__PURE__ */
|
|
1027
|
+
children: [n ? /* @__PURE__ */ p(n, { className: "h-3.5 w-3.5" }) : null, e]
|
|
1028
|
+
}), o ? /* @__PURE__ */ p("div", {
|
|
1016
1029
|
className: "mt-1.5",
|
|
1017
1030
|
children: o
|
|
1018
|
-
}) : /* @__PURE__ */
|
|
1031
|
+
}) : /* @__PURE__ */ p("p", {
|
|
1019
1032
|
className: `mt-1 break-words font-medium ${r ? "font-mono text-sm" : ""} ${i ? "capitalize" : ""}`,
|
|
1020
1033
|
children: t
|
|
1021
1034
|
})]
|
|
1022
1035
|
});
|
|
1023
1036
|
}
|
|
1024
|
-
function
|
|
1025
|
-
return /* @__PURE__ */
|
|
1037
|
+
function M({ label: e, value: t, striped: n }) {
|
|
1038
|
+
return /* @__PURE__ */ m("div", {
|
|
1026
1039
|
className: `flex items-center justify-between gap-4 px-3.5 py-2.5 ${n ? "bg-bg-sunken/40" : ""}`,
|
|
1027
|
-
children: [/* @__PURE__ */
|
|
1040
|
+
children: [/* @__PURE__ */ p("dt", {
|
|
1028
1041
|
className: "shrink-0 text-text-secondary",
|
|
1029
1042
|
children: e
|
|
1030
|
-
}), /* @__PURE__ */
|
|
1043
|
+
}), /* @__PURE__ */ p("dd", {
|
|
1031
1044
|
className: "truncate text-right font-medium",
|
|
1032
1045
|
children: t
|
|
1033
1046
|
})]
|
|
1034
1047
|
});
|
|
1035
1048
|
}
|
|
1036
1049
|
//#endregion
|
|
1037
|
-
export {
|
|
1050
|
+
export { $e as AssetsAssetDetailPage };
|
|
1038
1051
|
|
|
1039
1052
|
//# sourceMappingURL=AssetsAssetDetailPage.js.map
|