@bahmni/clinical-app 0.0.1-dev.467 → 0.0.1-dev.469
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/{ConsultationPage-BjrUy4PW.js → ConsultationPage-hOSFBfGN.js} +21081 -20037
- package/dist/{DocumentsTable-Cdjrw4yW-DoRY2hdp.js → DocumentsTable-DddJ0p1F-DBATb1Bg.js} +93 -93
- package/dist/FormsTable-DLC_vCD0-CLXfaFtn.js +249 -0
- package/dist/{LNWAZHJI-CjO-Fgpw.js → LNWAZHJI-Cy9INys2.js} +7 -7
- package/dist/{MWZ6AO7Z-BDeQ6SkW.js → MWZ6AO7Z-JShTOcHn.js} +2 -2
- package/dist/{Observations-B-dxdRlx-BEL5frvq.js → Observations-Cwi0QkK8-DkzZEyze.js} +75 -75
- package/dist/{YPM2AS64-BeiFAEzP.js → YPM2AS64-BIfscLnv.js} +1 -1
- package/dist/components/forms/observations/ObservationForms.d.ts.map +1 -1
- package/dist/components/forms/observations/ObservationFormsContainer.d.ts +2 -2
- package/dist/components/forms/observations/ObservationFormsContainer.d.ts.map +1 -1
- package/dist/constants/forms.d.ts +1 -0
- package/dist/constants/forms.d.ts.map +1 -1
- package/dist/{hook-DxwMFCWH.js → hook-Ca7ypArY.js} +3 -3
- package/dist/{index-BILowQhQ.js → index-DO8Ng_V5.js} +21 -21
- package/dist/{index-C4WckLEf.js → index-DZlx8UoV.js} +11 -11
- package/dist/index-sjgf7zfi-xYpJ_hkW.js +6900 -0
- package/dist/{index-ZfyzcWgS.js → index-z270S3eE.js} +140258 -110101
- package/dist/index.css +1 -1
- package/dist/index.js +2 -2
- package/dist/locales/locale_en.json +7 -1
- package/dist/locales/locale_es.json +7 -1
- package/dist/stores/observationFormsStore.d.ts +3 -3
- package/dist/stores/observationFormsStore.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/FormsTable-hfP2wv7g-Am6W8ufO.js +0 -249
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { jsx as n, jsxs as u, Fragment as pe } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useQuery as
|
|
4
|
-
import { useState as h, useRef as
|
|
5
|
-
const
|
|
6
|
-
documentsTableBody:
|
|
2
|
+
import { Q as _e, u as ge, a as Ee, f as Ce, C as Ne, D as fe, $ as Ie, B as v, b as Ae, Z as De, t as be, H as Le, I as ye, c as ve, d as K, e as we, o as Oe, M as Se, R as Me, x as Re, T as Y, g as ee } from "./index-z270S3eE.js";
|
|
3
|
+
import { useQuery as Ue } from "@tanstack/react-query";
|
|
4
|
+
import { useState as h, useRef as Be, useEffect as _, useMemo as g, useCallback as T } from "react";
|
|
5
|
+
const $e = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTable-module_viewAttachmentsLink__aQ1on", ke = "DocumentsTable-module_documentViewerContainer__F5m8D", xe = "DocumentsTable-module_printContainer__rtarJ", Ve = "DocumentsTable-module_attachmentItem__17KA7", We = "DocumentsTable-module_attachmentCounter__WFiI3", Fe = "DocumentsTable-module_attachmentError__RI4U2", Ge = "DocumentsTable-module_documentIframe__ptq5I", ze = "DocumentsTable-module_attachmentContent__IaCEe", qe = "DocumentsTable-module_attachmentLoading__FAR6p", je = "DocumentsTable-module_hiddenWhileLoading__IxocW", Pe = "DocumentsTable-module_documentImage__KQVgS", Qe = "DocumentsTable-module_header__345GY", Ke = "DocumentsTable-module_documentTypeCell__uWGM8", Ye = "DocumentsTable-module_printAllButton__IVYUW", Ze = "DocumentsTable-module_attachmentHeader__yI2xn", o = {
|
|
6
|
+
documentsTableBody: $e,
|
|
7
7
|
viewAttachmentsLink: He,
|
|
8
|
-
documentViewerContainer:
|
|
9
|
-
printContainer:
|
|
8
|
+
documentViewerContainer: ke,
|
|
9
|
+
printContainer: xe,
|
|
10
10
|
attachmentItem: Ve,
|
|
11
11
|
attachmentCounter: We,
|
|
12
|
-
attachmentError:
|
|
13
|
-
documentIframe:
|
|
14
|
-
attachmentContent:
|
|
15
|
-
attachmentLoading:
|
|
16
|
-
hiddenWhileLoading:
|
|
12
|
+
attachmentError: Fe,
|
|
13
|
+
documentIframe: Ge,
|
|
14
|
+
attachmentContent: ze,
|
|
15
|
+
attachmentLoading: qe,
|
|
16
|
+
hiddenWhileLoading: je,
|
|
17
17
|
documentImage: Pe,
|
|
18
|
-
header:
|
|
19
|
-
documentTypeCell:
|
|
20
|
-
printAllButton:
|
|
21
|
-
attachmentHeader:
|
|
22
|
-
},
|
|
18
|
+
header: Qe,
|
|
19
|
+
documentTypeCell: Ke,
|
|
20
|
+
printAllButton: Ye,
|
|
21
|
+
attachmentHeader: Ze
|
|
22
|
+
}, Je = "add", Z = "document-print-container", J = () => /* @__PURE__ */ n(ee, {}), Xe = /* @__PURE__ */ new Set([
|
|
23
23
|
"ArrowUp",
|
|
24
24
|
"ArrowDown",
|
|
25
25
|
"PageUp",
|
|
@@ -34,72 +34,72 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
34
34
|
"uploadedOn",
|
|
35
35
|
"uploadedBy"
|
|
36
36
|
], nt = /\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i, X = (l) => l.attachments.length > 0 ? l.attachments : l.documentUrl ? [{ url: l.documentUrl, contentType: l.contentType }] : [], st = ({ config: l, encounterUuids: H }) => {
|
|
37
|
-
const [i,
|
|
37
|
+
const [i, k] = h(!1), [r, x] = h(
|
|
38
38
|
null
|
|
39
|
-
), [
|
|
39
|
+
), [A, w] = h(
|
|
40
40
|
/* @__PURE__ */ new Set()
|
|
41
|
-
), [
|
|
41
|
+
), [D, O] = h(
|
|
42
42
|
/* @__PURE__ */ new Set()
|
|
43
|
-
),
|
|
43
|
+
), N = Be(null), [S, V] = h(
|
|
44
44
|
null
|
|
45
45
|
), W = S !== null;
|
|
46
|
-
_(() => () =>
|
|
47
|
-
const
|
|
46
|
+
_(() => () => N.current?.abort(), []);
|
|
47
|
+
const E = _e(), { t: a } = ge(), { addNotification: b } = Ee(), C = g(
|
|
48
48
|
() => l?.actions?.find(
|
|
49
|
-
(e) => e.type ===
|
|
49
|
+
(e) => e.type === Je
|
|
50
50
|
),
|
|
51
51
|
[l?.actions]
|
|
52
|
-
), te =
|
|
53
|
-
|
|
52
|
+
), te = Ce(C?.requiredPrivilege), ne = !!C && te, ae = Number(l?.pageSize) || 5, [M, R] = h(1), [f, oe] = h(ae), [re, U] = h(void 0), F = T((e) => {
|
|
53
|
+
x(e), k(!0);
|
|
54
54
|
}, []), de = T(() => {
|
|
55
|
-
|
|
56
|
-
}, []),
|
|
55
|
+
N.current?.abort(), O(/* @__PURE__ */ new Set()), k(!1), x(null), w(/* @__PURE__ */ new Set());
|
|
56
|
+
}, []), G = T((e) => {
|
|
57
57
|
O((t) => new Set(t).add(e));
|
|
58
|
-
}, []),
|
|
59
|
-
|
|
58
|
+
}, []), z = T((e) => {
|
|
59
|
+
w((t) => new Set(t).add(e));
|
|
60
60
|
}, []), se = T(() => {
|
|
61
|
-
|
|
62
|
-
context: { encounterType:
|
|
61
|
+
C && Ne({
|
|
62
|
+
context: { encounterType: C.encounterType },
|
|
63
63
|
action: { type: "create", resourceType: "DocumentReference" }
|
|
64
64
|
});
|
|
65
|
-
}, [
|
|
65
|
+
}, [C]), { data: I, isLoading: le, isError: B, error: $, refetch: q } = Ue({
|
|
66
66
|
queryKey: [
|
|
67
67
|
"documents",
|
|
68
|
-
|
|
68
|
+
E,
|
|
69
69
|
H,
|
|
70
|
-
|
|
70
|
+
M,
|
|
71
71
|
f
|
|
72
72
|
],
|
|
73
|
-
enabled: !!
|
|
73
|
+
enabled: !!E,
|
|
74
74
|
queryFn: () => fe(
|
|
75
|
-
|
|
75
|
+
E,
|
|
76
76
|
H,
|
|
77
77
|
f,
|
|
78
|
-
|
|
78
|
+
M
|
|
79
79
|
)
|
|
80
80
|
});
|
|
81
|
-
|
|
81
|
+
Ie(
|
|
82
82
|
(e) => {
|
|
83
|
-
e.patientUUID ===
|
|
83
|
+
e.patientUUID === E && e.updatedResources.documents && q();
|
|
84
84
|
},
|
|
85
|
-
[
|
|
85
|
+
[E, q]
|
|
86
86
|
), _(() => {
|
|
87
|
-
|
|
88
|
-
}, [
|
|
89
|
-
|
|
90
|
-
}, [
|
|
91
|
-
|
|
87
|
+
I && U(I.total);
|
|
88
|
+
}, [I]), _(() => {
|
|
89
|
+
R(1), U(void 0);
|
|
90
|
+
}, [E]), _(() => {
|
|
91
|
+
B && b({
|
|
92
92
|
title: a("ERROR_DEFAULT_TITLE"),
|
|
93
|
-
message:
|
|
93
|
+
message: $?.message ?? "",
|
|
94
94
|
type: "error"
|
|
95
95
|
});
|
|
96
|
-
}, [$,
|
|
96
|
+
}, [B, $, b, a]), _(() => {
|
|
97
97
|
const e = new AbortController();
|
|
98
98
|
return (async () => {
|
|
99
99
|
if (!i || !r) return;
|
|
100
100
|
const t = /* @__PURE__ */ new Set(), d = X(r);
|
|
101
101
|
for (let s = 0; s < d.length; s++) {
|
|
102
|
-
const m =
|
|
102
|
+
const m = v(d[s].url);
|
|
103
103
|
try {
|
|
104
104
|
(await fetch(m, {
|
|
105
105
|
method: "HEAD",
|
|
@@ -109,7 +109,7 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
109
109
|
p instanceof Error && p.name !== "AbortError" && t.add(s);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
e.signal.aborted ||
|
|
112
|
+
e.signal.aborted || w(t);
|
|
113
113
|
})(), () => e.abort();
|
|
114
114
|
}, [i, r]), _(() => {
|
|
115
115
|
if (!i || !r) return;
|
|
@@ -134,23 +134,23 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
134
134
|
}, [i, r]);
|
|
135
135
|
const ce = T(
|
|
136
136
|
(e, t) => {
|
|
137
|
-
t !== f ? (oe(t),
|
|
137
|
+
t !== f ? (oe(t), R(1), U(void 0)) : R(e);
|
|
138
138
|
},
|
|
139
139
|
[f]
|
|
140
|
-
),
|
|
140
|
+
), L = g(
|
|
141
141
|
() => l?.fields ?? tt,
|
|
142
142
|
[l?.fields]
|
|
143
|
-
), ie =
|
|
144
|
-
() =>
|
|
143
|
+
), ie = g(() => [...I?.documents ?? []].sort((e, t) => !e.uploadedOn && !t.uploadedOn ? 0 : e.uploadedOn ? t.uploadedOn ? new Date(t.uploadedOn).getTime() - new Date(e.uploadedOn).getTime() : -1 : 1), [I]), me = g(() => Ae(L, a), [L, a]), ue = g(
|
|
144
|
+
() => L.map((e) => ({
|
|
145
145
|
key: e,
|
|
146
146
|
sortable: e !== "attachments"
|
|
147
147
|
})),
|
|
148
|
-
[
|
|
149
|
-
), c =
|
|
148
|
+
[L]
|
|
149
|
+
), c = g(
|
|
150
150
|
() => r ? X(r) : [],
|
|
151
151
|
[r]
|
|
152
|
-
),
|
|
153
|
-
(e, t) =>
|
|
152
|
+
), j = c.every(
|
|
153
|
+
(e, t) => D.has(t) || A.has(t) || v(e.url) === "#"
|
|
154
154
|
);
|
|
155
155
|
_(() => {
|
|
156
156
|
if (!i || c.length === 0) return;
|
|
@@ -162,12 +162,12 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
162
162
|
}, [i, c]);
|
|
163
163
|
const P = T(
|
|
164
164
|
async (e, t) => {
|
|
165
|
-
if (!r ||
|
|
165
|
+
if (!r || N.current) return;
|
|
166
166
|
const d = new AbortController(), { signal: s } = d;
|
|
167
|
-
|
|
168
|
-
const m = document.getElementById(
|
|
167
|
+
N.current = d, V(t);
|
|
168
|
+
const m = document.getElementById(Z);
|
|
169
169
|
try {
|
|
170
|
-
await
|
|
170
|
+
await De(
|
|
171
171
|
e,
|
|
172
172
|
r.documentIdentifier,
|
|
173
173
|
{ container: m, signal: s }
|
|
@@ -179,15 +179,15 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
179
179
|
type: "error"
|
|
180
180
|
});
|
|
181
181
|
} finally {
|
|
182
|
-
|
|
182
|
+
N.current = null, V(null);
|
|
183
183
|
}
|
|
184
184
|
},
|
|
185
185
|
[r, b, a]
|
|
186
|
-
),
|
|
186
|
+
), Q = g(
|
|
187
187
|
() => c.filter(
|
|
188
|
-
(e, t) =>
|
|
188
|
+
(e, t) => v(e.url) !== "#" && !A.has(t)
|
|
189
189
|
),
|
|
190
|
-
[c,
|
|
190
|
+
[c, A]
|
|
191
191
|
), he = T(
|
|
192
192
|
(e, t) => {
|
|
193
193
|
switch (t) {
|
|
@@ -207,7 +207,7 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
207
207
|
)
|
|
208
208
|
] });
|
|
209
209
|
case "uploadedOn":
|
|
210
|
-
return
|
|
210
|
+
return Le(
|
|
211
211
|
e.uploadedOn,
|
|
212
212
|
a,
|
|
213
213
|
!0
|
|
@@ -218,7 +218,7 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
218
218
|
return e.attachments.length > 0 || e.documentUrl ? /* @__PURE__ */ n(
|
|
219
219
|
be,
|
|
220
220
|
{
|
|
221
|
-
onClick: () =>
|
|
221
|
+
onClick: () => F(e),
|
|
222
222
|
className: o.viewAttachmentsLink,
|
|
223
223
|
"data-testid": `view-attachments-${e.id}`,
|
|
224
224
|
children: a("DOCUMENTS_VIEW_ATTACHMENTS")
|
|
@@ -228,21 +228,21 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
228
228
|
return null;
|
|
229
229
|
}
|
|
230
230
|
},
|
|
231
|
-
[
|
|
231
|
+
[F, a]
|
|
232
232
|
);
|
|
233
233
|
return /* @__PURE__ */ u(pe, { children: [
|
|
234
|
-
ne && /* @__PURE__ */ u(
|
|
234
|
+
ne && /* @__PURE__ */ u(ve, { className: o.header, testId: "documents-header", children: [
|
|
235
235
|
/* @__PURE__ */ n("p", { children: a("DOCUMENTS_TABLE_HEADING") }),
|
|
236
236
|
/* @__PURE__ */ n(
|
|
237
|
-
|
|
237
|
+
K,
|
|
238
238
|
{
|
|
239
239
|
autoAlign: !0,
|
|
240
240
|
size: "lg",
|
|
241
241
|
kind: "ghost",
|
|
242
|
-
label: a(
|
|
242
|
+
label: a(C.label),
|
|
243
243
|
testId: "documents-add-button",
|
|
244
244
|
onClick: se,
|
|
245
|
-
children: /* @__PURE__ */ n(
|
|
245
|
+
children: /* @__PURE__ */ n(we, { id: "documents-add-icon", name: "fa-plus", size: Oe.LG })
|
|
246
246
|
}
|
|
247
247
|
)
|
|
248
248
|
] }),
|
|
@@ -253,7 +253,7 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
253
253
|
ariaLabel: a("DOCUMENTS_TABLE_HEADING"),
|
|
254
254
|
rows: ie,
|
|
255
255
|
loading: le,
|
|
256
|
-
errorStateMessage:
|
|
256
|
+
errorStateMessage: B ? $?.message : null,
|
|
257
257
|
sortable: ue,
|
|
258
258
|
emptyStateMessage: a("DOCUMENTS_NO_RECORDS"),
|
|
259
259
|
renderCell: he,
|
|
@@ -261,12 +261,12 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
261
261
|
dataTestId: "documents-table",
|
|
262
262
|
pageSize: f,
|
|
263
263
|
totalItems: re,
|
|
264
|
-
page:
|
|
264
|
+
page: M,
|
|
265
265
|
onPageChange: ce
|
|
266
266
|
}
|
|
267
267
|
) }),
|
|
268
268
|
i && r && /* @__PURE__ */ n(
|
|
269
|
-
|
|
269
|
+
Me,
|
|
270
270
|
{
|
|
271
271
|
id: "modalIdForActionAreaLayout",
|
|
272
272
|
portalId: "main-display-area",
|
|
@@ -277,21 +277,21 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
277
277
|
size: "lg",
|
|
278
278
|
testId: "document-view-modal",
|
|
279
279
|
children: /* @__PURE__ */ u("div", { className: o.documentViewerContainer, children: [
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
Q.length > 1 && /* @__PURE__ */ n(
|
|
281
|
+
Re,
|
|
282
282
|
{
|
|
283
283
|
kind: "tertiary",
|
|
284
284
|
size: "sm",
|
|
285
285
|
className: o.printAllButton,
|
|
286
|
-
renderIcon: S === "all" ?
|
|
287
|
-
disabled: W || !
|
|
286
|
+
renderIcon: S === "all" ? J : Y,
|
|
287
|
+
disabled: W || !j,
|
|
288
288
|
testId: "print-all-attachments",
|
|
289
|
-
onClick: () => P(
|
|
289
|
+
onClick: () => P(Q, "all"),
|
|
290
290
|
children: a("DOCUMENTS_PRINT_ALL")
|
|
291
291
|
}
|
|
292
292
|
),
|
|
293
293
|
c.map((e, t) => {
|
|
294
|
-
const d =
|
|
294
|
+
const d = v(e.url), s = e.contentType?.toLowerCase().includes("pdf"), m = (e.contentType?.toLowerCase().includes("image") ?? !1) || nt.test(e.url ?? ""), p = A.has(t);
|
|
295
295
|
return d === "#" || p ? /* @__PURE__ */ u(
|
|
296
296
|
"div",
|
|
297
297
|
{
|
|
@@ -318,22 +318,22 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
318
318
|
total: c.length
|
|
319
319
|
}) }) : /* @__PURE__ */ n("span", {}),
|
|
320
320
|
/* @__PURE__ */ n(
|
|
321
|
-
|
|
321
|
+
K,
|
|
322
322
|
{
|
|
323
323
|
kind: "ghost",
|
|
324
324
|
size: "sm",
|
|
325
325
|
label: a("DOCUMENTS_PRINT_ATTACHMENT", {
|
|
326
326
|
index: t + 1
|
|
327
327
|
}),
|
|
328
|
-
disabled: W || !
|
|
328
|
+
disabled: W || !j,
|
|
329
329
|
testId: `print-attachment-${t}`,
|
|
330
330
|
onClick: () => P([e], t),
|
|
331
|
-
children: S === t ? /* @__PURE__ */ n(
|
|
331
|
+
children: S === t ? /* @__PURE__ */ n(J, {}) : /* @__PURE__ */ n(Y, {})
|
|
332
332
|
}
|
|
333
333
|
)
|
|
334
334
|
] }),
|
|
335
335
|
/* @__PURE__ */ u("div", { className: o.attachmentContent, children: [
|
|
336
|
-
!
|
|
336
|
+
!D.has(t) && /* @__PURE__ */ n(
|
|
337
337
|
"div",
|
|
338
338
|
{
|
|
339
339
|
className: o.attachmentLoading,
|
|
@@ -351,18 +351,18 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
351
351
|
{
|
|
352
352
|
src: d,
|
|
353
353
|
alt: r.documentIdentifier,
|
|
354
|
-
className: `${o.documentImage} ${
|
|
355
|
-
onLoad: () =>
|
|
356
|
-
onError: () =>
|
|
354
|
+
className: `${o.documentImage} ${D.has(t) ? "" : o.hiddenWhileLoading}`,
|
|
355
|
+
onLoad: () => G(t),
|
|
356
|
+
onError: () => z(t)
|
|
357
357
|
}
|
|
358
358
|
) : /* @__PURE__ */ n(
|
|
359
359
|
"iframe",
|
|
360
360
|
{
|
|
361
361
|
src: s ? `${d}#toolbar=0` : d,
|
|
362
|
-
className: `${o.documentIframe} ${
|
|
362
|
+
className: `${o.documentIframe} ${D.has(t) ? "" : o.hiddenWhileLoading}`,
|
|
363
363
|
title: r.documentIdentifier,
|
|
364
|
-
onLoad: () =>
|
|
365
|
-
onError: () =>
|
|
364
|
+
onLoad: () => G(t),
|
|
365
|
+
onError: () => z(t)
|
|
366
366
|
}
|
|
367
367
|
)
|
|
368
368
|
] })
|
|
@@ -371,7 +371,7 @@ const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTab
|
|
|
371
371
|
`${r.id}-${e.url}`
|
|
372
372
|
);
|
|
373
373
|
}),
|
|
374
|
-
/* @__PURE__ */ n("div", { id:
|
|
374
|
+
/* @__PURE__ */ n("div", { id: Z, className: o.printContainer })
|
|
375
375
|
] })
|
|
376
376
|
}
|
|
377
377
|
)
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { jsx as n, jsxs as q, Fragment as ne } from "react/jsx-runtime";
|
|
2
|
+
import { u as de, Q as ie, f as le, p as me, h as ue, i as ce, E as fe, U as ye, $ as pe, k as Ne, J as he, j as be, H as ge, C as Oe, d as $, l as V, t as Te, M as Q, O as Ie, S as Ae, R as _e, m as Ee, n as Ce } from "./index-z270S3eE.js";
|
|
3
|
+
import { useQueryClient as Re, useQuery as A } from "@tanstack/react-query";
|
|
4
|
+
import { useState as j, useMemo as d, useCallback as i } from "react";
|
|
5
|
+
const ve = "FormsTable-module_formsTableBody__SvGha", Le = "FormsTable-module_modalHeading__wnTmA", Ue = "FormsTable-module_customAccordianItem__isszs", h = {
|
|
6
|
+
formsTableBody: ve,
|
|
7
|
+
modalHeading: Le,
|
|
8
|
+
customAccordianItem: Ue
|
|
9
|
+
}, De = ({
|
|
10
|
+
episodeOfCareUuids: _,
|
|
11
|
+
encounterUuids: l,
|
|
12
|
+
config: x,
|
|
13
|
+
disableActions: z = !1,
|
|
14
|
+
activeEncounterUuid: y = null
|
|
15
|
+
}) => {
|
|
16
|
+
const { t: o } = de(), m = ie(), [b, E] = j(!1), [s, C] = j(null), {
|
|
17
|
+
numberOfVisits: K,
|
|
18
|
+
hideThumbnail: P = !1,
|
|
19
|
+
forms: p
|
|
20
|
+
} = x ?? {}, G = le(
|
|
21
|
+
Ce.EDIT_OBSERVATIONS
|
|
22
|
+
), { userPrivileges: N } = me(), g = G && !z && !!y, R = ue(
|
|
23
|
+
_,
|
|
24
|
+
l
|
|
25
|
+
), J = Re(), {
|
|
26
|
+
data: v = [],
|
|
27
|
+
isLoading: L,
|
|
28
|
+
isError: U,
|
|
29
|
+
error: Y,
|
|
30
|
+
refetch: W
|
|
31
|
+
} = A({
|
|
32
|
+
queryKey: ["forms", m, _],
|
|
33
|
+
queryFn: () => ce(m, void 0, K),
|
|
34
|
+
enabled: !!m && !R
|
|
35
|
+
}), B = d(() => {
|
|
36
|
+
let e = v;
|
|
37
|
+
return l && l.length > 0 && (e = e.filter(
|
|
38
|
+
(r) => l.includes(r.encounterUuid)
|
|
39
|
+
)), Array.isArray(p) && p.length > 0 && (e = e.filter(
|
|
40
|
+
(r) => p.some((a) => a.toLowerCase() === r.formName.toLowerCase())
|
|
41
|
+
)), e;
|
|
42
|
+
}, [v, l, p]), { data: F = [] } = A({
|
|
43
|
+
queryKey: ["observationForms"],
|
|
44
|
+
queryFn: () => fe()
|
|
45
|
+
}), S = i(
|
|
46
|
+
(e) => {
|
|
47
|
+
const r = F.find(
|
|
48
|
+
(t) => t.name.toLowerCase() === e.toLowerCase()
|
|
49
|
+
);
|
|
50
|
+
if (!r?.privileges || r.privileges.length === 0) return !0;
|
|
51
|
+
if (!N || N.length === 0) return !1;
|
|
52
|
+
const a = new Set(N.map((t) => t.name));
|
|
53
|
+
return r.privileges.some(
|
|
54
|
+
(t) => a.has(t.privilegeName) && t.editable
|
|
55
|
+
);
|
|
56
|
+
},
|
|
57
|
+
[F, N]
|
|
58
|
+
), u = i(
|
|
59
|
+
(e) => !y || e.encounterUuid !== y ? !1 : S(e.formName),
|
|
60
|
+
[y, S]
|
|
61
|
+
), {
|
|
62
|
+
data: O,
|
|
63
|
+
isLoading: X,
|
|
64
|
+
isError: Z,
|
|
65
|
+
error: T
|
|
66
|
+
} = A({
|
|
67
|
+
queryKey: ["formsEncounterFHIR", s?.encounterUuid],
|
|
68
|
+
queryFn: () => ye(s.encounterUuid),
|
|
69
|
+
enabled: !!s?.encounterUuid && b
|
|
70
|
+
});
|
|
71
|
+
pe(
|
|
72
|
+
(e) => {
|
|
73
|
+
e.patientUUID === m && (W(), J.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
|
|
74
|
+
},
|
|
75
|
+
[m]
|
|
76
|
+
);
|
|
77
|
+
const ee = d(() => !O?.entry || !s?.formName ? [] : O.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => Ne(e) ? he(e)?.toLowerCase() === s.formName.toLowerCase() : !0), [O, s?.formName]), re = d(() => {
|
|
78
|
+
if (T)
|
|
79
|
+
return be(T).message;
|
|
80
|
+
}, [T]), c = d(
|
|
81
|
+
() => [
|
|
82
|
+
{ key: "recordedOn", header: o("RECORDED_ON") },
|
|
83
|
+
{ key: "recordedBy", header: o("RECORDED_BY") }
|
|
84
|
+
],
|
|
85
|
+
[o]
|
|
86
|
+
), M = d(
|
|
87
|
+
() => [...c, { key: "actions", header: o("ACTIONS") }],
|
|
88
|
+
[c, o]
|
|
89
|
+
), ae = i(
|
|
90
|
+
(e) => g && e.some((r) => u(r)) ? M : c,
|
|
91
|
+
[g, u, M, c]
|
|
92
|
+
), oe = c, se = d(
|
|
93
|
+
() => [
|
|
94
|
+
{ key: "recordedOn", sortable: !0 },
|
|
95
|
+
{ key: "recordedBy", sortable: !0 }
|
|
96
|
+
],
|
|
97
|
+
[]
|
|
98
|
+
), D = d(() => {
|
|
99
|
+
const e = B.reduce(
|
|
100
|
+
(r, a) => {
|
|
101
|
+
const t = a.formName;
|
|
102
|
+
r[t] ??= [];
|
|
103
|
+
const f = a.providers.map((te) => te.providerName).filter(Boolean).join(", ");
|
|
104
|
+
return r[t].push({
|
|
105
|
+
id: a.encounterUuid,
|
|
106
|
+
formName: a.formName,
|
|
107
|
+
recordedOn: ge(a.encounterDateTime, o, !0).formattedResult,
|
|
108
|
+
recordedBy: f ?? "--",
|
|
109
|
+
encounterDateTime: a.encounterDateTime,
|
|
110
|
+
encounterUuid: a.encounterUuid
|
|
111
|
+
}), r;
|
|
112
|
+
},
|
|
113
|
+
{}
|
|
114
|
+
);
|
|
115
|
+
return Object.entries(e).map(
|
|
116
|
+
([r, a]) => ({
|
|
117
|
+
formName: r,
|
|
118
|
+
records: a.sort(
|
|
119
|
+
(t, f) => f.encounterDateTime - t.encounterDateTime
|
|
120
|
+
)
|
|
121
|
+
})
|
|
122
|
+
).sort((r, a) => r.formName.localeCompare(a.formName));
|
|
123
|
+
}, [B, o]), k = i((e) => {
|
|
124
|
+
C(e), E(!0);
|
|
125
|
+
}, []), w = i(() => {
|
|
126
|
+
E(!1), C(null);
|
|
127
|
+
}, []), I = i((e) => {
|
|
128
|
+
Oe({
|
|
129
|
+
context: {
|
|
130
|
+
encounter: { resourceType: "Encounter", id: e.encounterUuid },
|
|
131
|
+
formName: e.formName,
|
|
132
|
+
directFormMode: !0
|
|
133
|
+
},
|
|
134
|
+
action: { type: "update", resourceType: "Observation" }
|
|
135
|
+
});
|
|
136
|
+
}, []), H = i(
|
|
137
|
+
(e, r) => {
|
|
138
|
+
switch (r) {
|
|
139
|
+
case "recordedOn":
|
|
140
|
+
return /* @__PURE__ */ n(Te, { onClick: () => k(e), children: e.recordedOn });
|
|
141
|
+
case "recordedBy":
|
|
142
|
+
return e.recordedBy;
|
|
143
|
+
case "actions":
|
|
144
|
+
return u(e) ? /* @__PURE__ */ n(
|
|
145
|
+
$,
|
|
146
|
+
{
|
|
147
|
+
label: o("EDIT_OBSERVATION_FORM"),
|
|
148
|
+
kind: "ghost",
|
|
149
|
+
size: "sm",
|
|
150
|
+
testId: `edit-form-${e.encounterUuid}`,
|
|
151
|
+
onClick: () => I(e),
|
|
152
|
+
children: /* @__PURE__ */ n(V, {})
|
|
153
|
+
}
|
|
154
|
+
) : null;
|
|
155
|
+
default:
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
[k, I, u, o]
|
|
160
|
+
);
|
|
161
|
+
return /* @__PURE__ */ q(ne, { children: [
|
|
162
|
+
/* @__PURE__ */ n("div", { id: "forms-table", "data-testid": "forms-table", children: L || U || D.length === 0 || R ? /* @__PURE__ */ n(
|
|
163
|
+
Q,
|
|
164
|
+
{
|
|
165
|
+
headers: oe,
|
|
166
|
+
ariaLabel: o("FORMS_HEADING"),
|
|
167
|
+
rows: [],
|
|
168
|
+
loading: L,
|
|
169
|
+
errorStateMessage: U ? Y?.message : void 0,
|
|
170
|
+
emptyStateMessage: o("FORMS_UNAVAILABLE"),
|
|
171
|
+
renderCell: H,
|
|
172
|
+
className: h.formsTableBody,
|
|
173
|
+
dataTestId: "forms-table"
|
|
174
|
+
}
|
|
175
|
+
) : /* @__PURE__ */ n(Ie, { align: "start", children: D.map((e, r) => {
|
|
176
|
+
const { formName: a, records: t } = e, f = ae(t);
|
|
177
|
+
return /* @__PURE__ */ n(
|
|
178
|
+
Ae,
|
|
179
|
+
{
|
|
180
|
+
title: a,
|
|
181
|
+
className: h.customAccordianItem,
|
|
182
|
+
testId: `accordian-title-${a}`,
|
|
183
|
+
open: r === 0,
|
|
184
|
+
children: /* @__PURE__ */ n(
|
|
185
|
+
Q,
|
|
186
|
+
{
|
|
187
|
+
headers: f,
|
|
188
|
+
ariaLabel: o("FORMS_HEADING"),
|
|
189
|
+
rows: t,
|
|
190
|
+
loading: !1,
|
|
191
|
+
errorStateMessage: "",
|
|
192
|
+
sortable: se,
|
|
193
|
+
emptyStateMessage: o("FORMS_UNAVAILABLE"),
|
|
194
|
+
renderCell: H,
|
|
195
|
+
className: h.formsTableBody,
|
|
196
|
+
dataTestId: `forms-table-${a}`
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
},
|
|
200
|
+
a
|
|
201
|
+
);
|
|
202
|
+
}) }) }),
|
|
203
|
+
b && s && /* @__PURE__ */ n(
|
|
204
|
+
_e,
|
|
205
|
+
{
|
|
206
|
+
id: "modalIdForActionAreaLayout",
|
|
207
|
+
portalId: "main-display-area",
|
|
208
|
+
open: b,
|
|
209
|
+
onRequestClose: w,
|
|
210
|
+
modalHeading: /* @__PURE__ */ q("div", { className: h.modalHeading, children: [
|
|
211
|
+
/* @__PURE__ */ n("span", { children: s.formName }),
|
|
212
|
+
g && u(s) && /* @__PURE__ */ n(
|
|
213
|
+
$,
|
|
214
|
+
{
|
|
215
|
+
label: o("EDIT_OBSERVATION_FORM"),
|
|
216
|
+
kind: "ghost",
|
|
217
|
+
size: "sm",
|
|
218
|
+
testId: `edit-form-modal-${s.encounterUuid}`,
|
|
219
|
+
onClick: () => {
|
|
220
|
+
w(), I(s);
|
|
221
|
+
},
|
|
222
|
+
children: /* @__PURE__ */ n(V, {})
|
|
223
|
+
}
|
|
224
|
+
)
|
|
225
|
+
] }),
|
|
226
|
+
modalLabel: `${s.recordedOn} | ${s.recordedBy}`,
|
|
227
|
+
passiveModal: !0,
|
|
228
|
+
size: "md",
|
|
229
|
+
testId: "form-details-modal",
|
|
230
|
+
children: /* @__PURE__ */ n(
|
|
231
|
+
Ee,
|
|
232
|
+
{
|
|
233
|
+
observations: ee,
|
|
234
|
+
isLoading: X,
|
|
235
|
+
isError: Z,
|
|
236
|
+
errorMessage: re,
|
|
237
|
+
emptyStateMessage: o("NO_FORM_DATA_AVAILABLE"),
|
|
238
|
+
testIdPrefix: s.formName,
|
|
239
|
+
hideThumbnail: P,
|
|
240
|
+
formName: s.formName
|
|
241
|
+
}
|
|
242
|
+
)
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
] });
|
|
246
|
+
};
|
|
247
|
+
export {
|
|
248
|
+
De as default
|
|
249
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { c as s, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-
|
|
2
|
-
import {
|
|
1
|
+
import { c as s, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-BIfscLnv.js";
|
|
2
|
+
import { cu as d, cv as f, cw as e } from "./index-z270S3eE.js";
|
|
3
3
|
var p = (a) => {
|
|
4
|
-
const [r,
|
|
4
|
+
const [r, t] = s({
|
|
5
5
|
prefix: "TanstackQueryDevtools"
|
|
6
6
|
}), n = d(), c = f(() => {
|
|
7
|
-
const
|
|
8
|
-
return
|
|
7
|
+
const o = r.theme_preference || l;
|
|
8
|
+
return o !== "system" ? o : n();
|
|
9
9
|
});
|
|
10
10
|
return e(i.Provider, {
|
|
11
11
|
value: a,
|
|
12
12
|
get children() {
|
|
13
13
|
return e(m, {
|
|
14
14
|
localStore: r,
|
|
15
|
-
setLocalStore:
|
|
15
|
+
setLocalStore: t,
|
|
16
16
|
get children() {
|
|
17
17
|
return e(u.Provider, {
|
|
18
18
|
value: c,
|
|
19
19
|
get children() {
|
|
20
20
|
return e(v, {
|
|
21
21
|
localStore: r,
|
|
22
|
-
setLocalStore:
|
|
22
|
+
setLocalStore: t
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./YPM2AS64-
|
|
2
|
-
import {
|
|
1
|
+
import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./YPM2AS64-BIfscLnv.js";
|
|
2
|
+
import { cu as v, cv as C, cw as e } from "./index-z270S3eE.js";
|
|
3
3
|
var h = (t) => {
|
|
4
4
|
const [r, o] = s({
|
|
5
5
|
prefix: "TanstackQueryDevtools"
|