@bahmni/clinical-app 0.0.1-dev.468 → 0.0.1-dev.470

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.
@@ -1,25 +1,25 @@
1
1
  import { jsx as n, jsxs as u, Fragment as pe } from "react/jsx-runtime";
2
- import { u as _e, a as Ee, z as ge, s as Ne, N as Ce, K as fe, w as Ae, O as w, t as Ie, r as Le, b as be, h as De, R as ye, p as we, q as Q, J as ve, L as Oe, $ as Se, c as Re, d as Ue, Q as J, e as ee } from "./index-Ca3Cduff.js";
3
- import { useQuery as Me } from "@tanstack/react-query";
4
- import { useState as h, useRef as $e, useEffect as _, useMemo as E, useCallback as T } from "react";
5
- const ke = "DocumentsTable-module_documentsTableBody__6iR3w", He = "DocumentsTable-module_viewAttachmentsLink__aQ1on", Be = "DocumentsTable-module_documentViewerContainer__F5m8D", ze = "DocumentsTable-module_printContainer__rtarJ", Ve = "DocumentsTable-module_attachmentItem__17KA7", We = "DocumentsTable-module_attachmentCounter__WFiI3", qe = "DocumentsTable-module_attachmentError__RI4U2", xe = "DocumentsTable-module_documentIframe__ptq5I", Fe = "DocumentsTable-module_attachmentContent__IaCEe", Ge = "DocumentsTable-module_attachmentLoading__FAR6p", Ke = "DocumentsTable-module_hiddenWhileLoading__IxocW", Pe = "DocumentsTable-module_documentImage__KQVgS", je = "DocumentsTable-module_header__345GY", Qe = "DocumentsTable-module_documentTypeCell__uWGM8", Je = "DocumentsTable-module_printAllButton__IVYUW", Ye = "DocumentsTable-module_attachmentHeader__yI2xn", o = {
6
- documentsTableBody: ke,
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-qO8oMcDW.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: Be,
9
- printContainer: ze,
8
+ documentViewerContainer: ke,
9
+ printContainer: xe,
10
10
  attachmentItem: Ve,
11
11
  attachmentCounter: We,
12
- attachmentError: qe,
13
- documentIframe: xe,
14
- attachmentContent: Fe,
15
- attachmentLoading: Ge,
16
- hiddenWhileLoading: Ke,
12
+ attachmentError: Fe,
13
+ documentIframe: Ge,
14
+ attachmentContent: ze,
15
+ attachmentLoading: qe,
16
+ hiddenWhileLoading: je,
17
17
  documentImage: Pe,
18
- header: je,
19
- documentTypeCell: Qe,
20
- printAllButton: Je,
21
- attachmentHeader: Ye
22
- }, Ze = "add", Y = "document-print-container", Z = () => /* @__PURE__ */ n(ee, {}), Xe = /* @__PURE__ */ new Set([
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, B] = h(!1), [r, z] = h(
37
+ const [i, k] = h(!1), [r, x] = h(
38
38
  null
39
- ), [I, v] = h(
39
+ ), [A, w] = h(
40
40
  /* @__PURE__ */ new Set()
41
- ), [L, O] = h(
41
+ ), [D, O] = h(
42
42
  /* @__PURE__ */ new Set()
43
- ), C = $e(null), [S, V] = h(
43
+ ), N = Be(null), [S, V] = h(
44
44
  null
45
45
  ), W = S !== null;
46
- _(() => () => C.current?.abort(), []);
47
- const g = _e(), { t: a } = Ee(), { addNotification: b } = ge(), N = E(
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 === Ze
49
+ (e) => e.type === Je
50
50
  ),
51
51
  [l?.actions]
52
- ), te = Ne(N?.requiredPrivilege), ne = !!N && te, ae = Number(l?.pageSize) || 5, [R, U] = h(1), [f, oe] = h(ae), [re, M] = h(void 0), q = T((e) => {
53
- z(e), B(!0);
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
- C.current?.abort(), O(/* @__PURE__ */ new Set()), B(!1), z(null), v(/* @__PURE__ */ new Set());
56
- }, []), x = T((e) => {
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
- }, []), F = T((e) => {
59
- v((t) => new Set(t).add(e));
58
+ }, []), z = T((e) => {
59
+ w((t) => new Set(t).add(e));
60
60
  }, []), se = T(() => {
61
- N && Ce({
62
- context: { encounterType: N.encounterType },
61
+ C && Ne({
62
+ context: { encounterType: C.encounterType },
63
63
  action: { type: "create", resourceType: "DocumentReference" }
64
64
  });
65
- }, [N]), { data: A, isLoading: le, isError: $, error: k, refetch: G } = Me({
65
+ }, [C]), { data: I, isLoading: le, isError: B, error: $, refetch: q } = Ue({
66
66
  queryKey: [
67
67
  "documents",
68
- g,
68
+ E,
69
69
  H,
70
- R,
70
+ M,
71
71
  f
72
72
  ],
73
- enabled: !!g,
73
+ enabled: !!E,
74
74
  queryFn: () => fe(
75
- g,
75
+ E,
76
76
  H,
77
77
  f,
78
- R
78
+ M
79
79
  )
80
80
  });
81
- Ae(
81
+ Ie(
82
82
  (e) => {
83
- e.patientUUID === g && e.updatedResources.documents && G();
83
+ e.patientUUID === E && e.updatedResources.documents && q();
84
84
  },
85
- [g, G]
85
+ [E, q]
86
86
  ), _(() => {
87
- A && M(A.total);
88
- }, [A]), _(() => {
89
- U(1), M(void 0);
90
- }, [g]), _(() => {
91
- $ && b({
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: k?.message ?? "",
93
+ message: $?.message ?? "",
94
94
  type: "error"
95
95
  });
96
- }, [$, k, b, a]), _(() => {
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 = w(d[s].url);
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 || v(t);
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), U(1), M(void 0)) : U(e);
137
+ t !== f ? (oe(t), R(1), U(void 0)) : R(e);
138
138
  },
139
139
  [f]
140
- ), D = E(
140
+ ), L = g(
141
141
  () => l?.fields ?? tt,
142
142
  [l?.fields]
143
- ), ie = E(() => [...A?.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), [A]), me = E(() => Ie(D, a), [D, a]), ue = E(
144
- () => D.map((e) => ({
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
- [D]
149
- ), c = E(
148
+ [L]
149
+ ), c = g(
150
150
  () => r ? X(r) : [],
151
151
  [r]
152
- ), K = c.every(
153
- (e, t) => L.has(t) || I.has(t) || w(e.url) === "#"
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 || C.current) return;
165
+ if (!r || N.current) return;
166
166
  const d = new AbortController(), { signal: s } = d;
167
- C.current = d, V(t);
168
- const m = document.getElementById(Y);
167
+ N.current = d, V(t);
168
+ const m = document.getElementById(Z);
169
169
  try {
170
- await Le(
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
- C.current = null, V(null);
182
+ N.current = null, V(null);
183
183
  }
184
184
  },
185
185
  [r, b, a]
186
- ), j = E(
186
+ ), Q = g(
187
187
  () => c.filter(
188
- (e, t) => w(e.url) !== "#" && !I.has(t)
188
+ (e, t) => v(e.url) !== "#" && !A.has(t)
189
189
  ),
190
- [c, I]
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 De(
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: () => q(e),
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
- [q, a]
231
+ [F, a]
232
232
  );
233
233
  return /* @__PURE__ */ u(pe, { children: [
234
- ne && /* @__PURE__ */ u(we, { className: o.header, testId: "documents-header", children: [
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
- Q,
237
+ K,
238
238
  {
239
239
  autoAlign: !0,
240
240
  size: "lg",
241
241
  kind: "ghost",
242
- label: a(N.label),
242
+ label: a(C.label),
243
243
  testId: "documents-add-button",
244
244
  onClick: se,
245
- children: /* @__PURE__ */ n(ve, { id: "documents-add-icon", name: "fa-plus", size: Oe.LG })
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: $ ? k?.message : null,
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: R,
264
+ page: M,
265
265
  onPageChange: ce
266
266
  }
267
267
  ) }),
268
268
  i && r && /* @__PURE__ */ n(
269
- Re,
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
- j.length > 1 && /* @__PURE__ */ n(
281
- Ue,
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" ? Z : J,
287
- disabled: W || !K,
286
+ renderIcon: S === "all" ? J : Y,
287
+ disabled: W || !j,
288
288
  testId: "print-all-attachments",
289
- onClick: () => P(j, "all"),
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 = w(e.url), s = e.contentType?.toLowerCase().includes("pdf"), m = (e.contentType?.toLowerCase().includes("image") ?? !1) || nt.test(e.url ?? ""), p = I.has(t);
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
- Q,
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 || !K,
328
+ disabled: W || !j,
329
329
  testId: `print-attachment-${t}`,
330
330
  onClick: () => P([e], t),
331
- children: S === t ? /* @__PURE__ */ n(Z, {}) : /* @__PURE__ */ n(J, {})
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
- !L.has(t) && /* @__PURE__ */ n(
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} ${L.has(t) ? "" : o.hiddenWhileLoading}`,
355
- onLoad: () => x(t),
356
- onError: () => F(t)
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} ${L.has(t) ? "" : o.hiddenWhileLoading}`,
362
+ className: `${o.documentIframe} ${D.has(t) ? "" : o.hiddenWhileLoading}`,
363
363
  title: r.documentIdentifier,
364
- onLoad: () => x(t),
365
- onError: () => F(t)
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: Y, className: o.printContainer })
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-qO8oMcDW.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-C68_x3BI.js";
2
- import { cm as d, cn as f, co as e } from "./index-Ca3Cduff.js";
1
+ import { c as s, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-mYHqu47N.js";
2
+ import { cu as d, cv as f, cw as e } from "./index-qO8oMcDW.js";
3
3
  var p = (a) => {
4
- const [r, o] = s({
4
+ const [r, t] = s({
5
5
  prefix: "TanstackQueryDevtools"
6
6
  }), n = d(), c = f(() => {
7
- const t = r.theme_preference || l;
8
- return t !== "system" ? t : n();
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: o,
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: o
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-C68_x3BI.js";
2
- import { cm as v, cn as C, co as e } from "./index-Ca3Cduff.js";
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-mYHqu47N.js";
2
+ import { cu as v, cv as C, cw as e } from "./index-qO8oMcDW.js";
3
3
  var h = (t) => {
4
4
  const [r, o] = s({
5
5
  prefix: "TanstackQueryDevtools"