@bahmni/registration-app 0.0.1-dev.215 → 0.0.1-dev.217

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,5 +1,5 @@
1
- import { jsx as r, jsxs as _, Fragment as Y } from "react/jsx-runtime";
2
- import { c as K, u as Q, e as W, p as J, H as X, T as Z, x as ee, R as te } from "./index-D9Vb4M0I.js";
1
+ import { jsx as r, jsxs as p, Fragment as Y } from "react/jsx-runtime";
2
+ import { u as K, a as Q, e as W, y as J, E as X, T as Z, h as ee, b as te } from "./index-CXRvNffr.js";
3
3
  import { useQuery as ae } from "@tanstack/react-query";
4
4
  import { useState as m, useCallback as h, useEffect as f, useMemo as T } from "react";
5
5
  const ne = "_documentsTableBody_1voj8_1", oe = "_viewAttachmentsLink_1voj8_11", re = "_documentViewerContainer_1voj8_15", de = "_attachmentItem_1voj8_23", se = "_attachmentCounter_1voj8_27", ce = "_attachmentError_1voj8_36", ie = "_documentIframe_1voj8_44", me = "_documentImage_1voj8_50", d = {
@@ -18,53 +18,53 @@ const ne = "_documentsTableBody_1voj8_1", oe = "_viewAttachmentsLink_1voj8_11",
18
18
  uploadedBy: "DOCUMENTS_UPLOADED_BY",
19
19
  action: "DOCUMENTS_ACTION"
20
20
  };
21
- function R(a) {
21
+ function j(a) {
22
22
  return !a || a.includes(":") ? "#" : `/openmrs/auth?requested_document=/document_images/${a}`;
23
23
  }
24
- function ue(a, g) {
24
+ function ue(a, E) {
25
25
  return a.map((s) => ({
26
26
  key: s,
27
- header: g(le[s])
27
+ header: E(le[s])
28
28
  }));
29
29
  }
30
- const pe = [
30
+ const _e = [
31
31
  "documentIdentifier",
32
32
  "documentType",
33
33
  "uploadedOn",
34
34
  "uploadedBy",
35
35
  "action"
36
- ], _e = /\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i, j = (a) => a.attachments.length > 0 ? a.attachments : a.documentUrl ? [{ url: a.documentUrl, contentType: a.contentType }] : [], Ne = ({ config: a, encounterUuids: g }) => {
36
+ ], pe = /\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i, B = (a) => a.attachments.length > 0 ? a.attachments : a.documentUrl ? [{ url: a.documentUrl, contentType: a.contentType }] : [], Ne = ({ config: a, encounterUuids: E }) => {
37
37
  const [s, w] = m(!1), [o, L] = m(
38
38
  null
39
- ), [B, I] = m(
39
+ ), [R, I] = m(
40
40
  /* @__PURE__ */ new Set()
41
- ), E = K(), { t: n } = Q(), { addNotification: U } = W(), $ = Number(a?.pageSize) || 5, [C, A] = m(1), [l, k] = m($), [H, y] = m(void 0), M = h((e) => {
41
+ ), g = K(), { t: n } = Q(), { addNotification: U } = W(), $ = Number(a?.pageSize) || 5, [C, y] = m(1), [l, k] = m($), [V, A] = m(void 0), b = h((e) => {
42
42
  L(e), w(!0);
43
- }, []), V = h(() => {
43
+ }, []), F = h(() => {
44
44
  w(!1), L(null), I(/* @__PURE__ */ new Set());
45
- }, []), b = h((e) => {
45
+ }, []), M = h((e) => {
46
46
  I((t) => new Set(t).add(e));
47
- }, []), { data: u, isLoading: F, isError: D, error: v } = ae({
47
+ }, []), { data: u, isLoading: H, isError: D, error: v } = ae({
48
48
  queryKey: [
49
49
  "documents",
50
- E,
51
50
  g,
51
+ E,
52
52
  C,
53
53
  l
54
54
  ],
55
- enabled: !!E,
55
+ enabled: !!g,
56
56
  queryFn: () => J(
57
- E,
58
57
  g,
58
+ E,
59
59
  l,
60
60
  C
61
61
  )
62
62
  });
63
63
  f(() => {
64
- u && y(u.total);
64
+ u && A(u.total);
65
65
  }, [u]), f(() => {
66
- A(1), y(void 0);
67
- }, [E]), f(() => {
66
+ y(1), A(void 0);
67
+ }, [g]), f(() => {
68
68
  D && U({
69
69
  title: n("ERROR_DEFAULT_TITLE"),
70
70
  message: v?.message ?? "",
@@ -74,9 +74,9 @@ const pe = [
74
74
  const e = new AbortController();
75
75
  return (async () => {
76
76
  if (!s || !o) return;
77
- const t = /* @__PURE__ */ new Set(), c = j(o);
77
+ const t = /* @__PURE__ */ new Set(), c = B(o);
78
78
  for (let i = 0; i < c.length; i++) {
79
- const S = R(c[i].url);
79
+ const S = j(c[i].url);
80
80
  try {
81
81
  (await fetch(S, {
82
82
  method: "HEAD",
@@ -91,20 +91,20 @@ const pe = [
91
91
  }, [s, o]);
92
92
  const q = h(
93
93
  (e, t) => {
94
- t !== l ? (k(t), A(1), y(void 0)) : A(e);
94
+ t !== l ? (k(t), y(1), A(void 0)) : y(e);
95
95
  },
96
96
  [l]
97
97
  ), N = T(
98
- () => a?.fields ?? pe,
98
+ () => a?.fields ?? _e,
99
99
  [a?.fields]
100
- ), x = T(() => [...u?.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), [u]), P = T(() => ue(N, n), [N, n]), z = T(
100
+ ), P = T(() => [...u?.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), [u]), z = T(() => ue(N, n), [N, n]), x = T(
101
101
  () => N.map((e) => ({
102
102
  key: e,
103
103
  sortable: e !== "action"
104
104
  })),
105
105
  [N]
106
- ), p = T(
107
- () => o ? j(o) : [],
106
+ ), _ = T(
107
+ () => o ? B(o) : [],
108
108
  [o]
109
109
  ), G = h(
110
110
  (e, t) => {
@@ -125,7 +125,7 @@ const pe = [
125
125
  return e.attachments.length > 0 || e.documentUrl ? /* @__PURE__ */ r(
126
126
  X,
127
127
  {
128
- onClick: () => M(e),
128
+ onClick: () => b(e),
129
129
  className: d.viewAttachmentsLink,
130
130
  "data-testid": `view-attachments-${e.id}`,
131
131
  children: n("DOCUMENTS_VIEW_ATTACHMENTS")
@@ -135,24 +135,24 @@ const pe = [
135
135
  return null;
136
136
  }
137
137
  },
138
- [M, n]
138
+ [b, n]
139
139
  );
140
- return /* @__PURE__ */ _(Y, { children: [
140
+ return /* @__PURE__ */ p(Y, { children: [
141
141
  /* @__PURE__ */ r("div", { "data-testid": "documents-table", children: /* @__PURE__ */ r(
142
142
  ee,
143
143
  {
144
- headers: P,
144
+ headers: z,
145
145
  ariaLabel: n("DOCUMENTS_TABLE_HEADING"),
146
- rows: x,
147
- loading: F,
146
+ rows: P,
147
+ loading: H,
148
148
  errorStateMessage: D ? v?.message : null,
149
- sortable: z,
149
+ sortable: x,
150
150
  emptyStateMessage: n("DOCUMENTS_NO_RECORDS"),
151
151
  renderCell: G,
152
152
  className: d.documentsTableBody,
153
153
  dataTestId: "documents-table",
154
154
  pageSize: l,
155
- totalItems: H,
155
+ totalItems: V,
156
156
  page: C,
157
157
  onPageChange: q
158
158
  }
@@ -163,38 +163,38 @@ const pe = [
163
163
  id: "modalIdForActionAreaLayout",
164
164
  portalId: "main-display-area",
165
165
  open: s,
166
- onRequestClose: V,
166
+ onRequestClose: F,
167
167
  modalHeading: o.documentIdentifier,
168
168
  passiveModal: !0,
169
169
  size: "lg",
170
170
  testId: "document-view-modal",
171
- children: /* @__PURE__ */ r("div", { className: d.documentViewerContainer, children: p.map((e, t) => {
172
- const c = R(e.url), i = e.contentType?.toLowerCase().includes("pdf"), S = (e.contentType?.toLowerCase().includes("image") ?? !1) || _e.test(e.url ?? ""), O = B.has(t);
173
- return c === "#" || O ? /* @__PURE__ */ _(
171
+ children: /* @__PURE__ */ r("div", { className: d.documentViewerContainer, children: _.map((e, t) => {
172
+ const c = j(e.url), i = e.contentType?.toLowerCase().includes("pdf"), S = (e.contentType?.toLowerCase().includes("image") ?? !1) || pe.test(e.url ?? ""), O = R.has(t);
173
+ return c === "#" || O ? /* @__PURE__ */ p(
174
174
  "div",
175
175
  {
176
176
  className: d.attachmentError,
177
177
  "data-testid": `attachment-error-${t}`,
178
178
  children: [
179
- p.length > 1 && /* @__PURE__ */ _("p", { className: d.attachmentCounter, children: [
179
+ _.length > 1 && /* @__PURE__ */ p("p", { className: d.attachmentCounter, children: [
180
180
  t + 1,
181
181
  "/",
182
- p.length
182
+ _.length
183
183
  ] }),
184
184
  /* @__PURE__ */ r("p", { children: n("DOCUMENTS_ERROR_LOADING_ATTACHMENT") })
185
185
  ]
186
186
  },
187
187
  `${o.id}-${e.url}`
188
- ) : /* @__PURE__ */ _(
188
+ ) : /* @__PURE__ */ p(
189
189
  "div",
190
190
  {
191
191
  className: d.attachmentItem,
192
192
  "data-testid": `attachment-item-${t}`,
193
193
  children: [
194
- p.length > 1 && /* @__PURE__ */ _("p", { className: d.attachmentCounter, children: [
194
+ _.length > 1 && /* @__PURE__ */ p("p", { className: d.attachmentCounter, children: [
195
195
  t + 1,
196
196
  "/",
197
- p.length
197
+ _.length
198
198
  ] }),
199
199
  S ? /* @__PURE__ */ r(
200
200
  "img",
@@ -202,7 +202,7 @@ const pe = [
202
202
  src: c,
203
203
  alt: o.documentIdentifier,
204
204
  className: d.documentImage,
205
- onError: () => b(t)
205
+ onError: () => M(t)
206
206
  }
207
207
  ) : /* @__PURE__ */ r(
208
208
  "iframe",
@@ -210,7 +210,7 @@ const pe = [
210
210
  src: i ? `${c}#toolbar=0` : c,
211
211
  className: d.documentIframe,
212
212
  title: o.documentIdentifier,
213
- onError: () => b(t)
213
+ onError: () => M(t)
214
214
  }
215
215
  )
216
216
  ]
@@ -0,0 +1,197 @@
1
+ import { jsx as s, jsxs as J, Fragment as W } from "react/jsx-runtime";
2
+ import { a as Z, u as ee, c as re, d as ae, g as te, v as oe, w as se, f as ne, V as R, T as de, E as ie, h as q, q as me, U as ue, b as le, L as ce, i as fe } from "./index-CXRvNffr.js";
3
+ import { useQueryClient as ye, useQuery as c } from "@tanstack/react-query";
4
+ import { useState as C, useMemo as d, useCallback as f } from "react";
5
+ const be = "_formsTableBody_81hra_1", ge = "_customAccordianItem_81hra_6", A = {
6
+ formsTableBody: be,
7
+ customAccordianItem: ge
8
+ }, he = (m) => m ? m.extension?.find(
9
+ (n) => n.url === fe
10
+ )?.valueString : void 0, Ee = ({
11
+ episodeOfCareUuids: m,
12
+ encounterUuids: n,
13
+ config: S
14
+ }) => {
15
+ const { t: o } = Z(), u = ee(), [l, O] = C(!1), [t, E] = C(null), { numberOfVisits: k, hideThumbnail: V = !1 } = S ?? {}, I = re(
16
+ m,
17
+ n
18
+ ), w = ye(), {
19
+ data: y = [],
20
+ isLoading: T,
21
+ isError: L,
22
+ error: H,
23
+ refetch: K
24
+ } = c({
25
+ queryKey: ["forms", u, m],
26
+ queryFn: () => ae(u, void 0, k),
27
+ enabled: !!u && !I
28
+ }), B = d(() => !n || n.length === 0 ? y : y.filter(
29
+ (e) => n.includes(e.encounterUuid)
30
+ ), [y, n]), { data: _ = [] } = c({
31
+ queryKey: ["observationForms"],
32
+ queryFn: () => te()
33
+ }), v = f(
34
+ (e) => _.find((r) => r.name === e)?.uuid,
35
+ [_]
36
+ ), b = d(() => {
37
+ if (t)
38
+ return v(t.formName);
39
+ }, [t, v]), {
40
+ isLoading: j,
41
+ isError: x,
42
+ error: g
43
+ } = c({
44
+ queryKey: ["formMetadata", b],
45
+ queryFn: () => oe(b),
46
+ enabled: !!b && l
47
+ }), {
48
+ data: h,
49
+ isLoading: $,
50
+ isError: Q,
51
+ error: p
52
+ } = c({
53
+ queryKey: ["formsEncounterFHIR", t?.encounterUuid],
54
+ queryFn: () => se(t.encounterUuid),
55
+ enabled: !!t?.encounterUuid && l
56
+ });
57
+ ne(
58
+ (e) => {
59
+ e.patientUUID === u && e.updatedConcepts.size > 0 && (K(), w.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
60
+ },
61
+ [u]
62
+ );
63
+ const z = d(() => !h?.entry || !t?.formName ? [] : h.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => {
64
+ const r = he(e);
65
+ return !r || r.includes(t.formName);
66
+ }), [h, t?.formName]), G = d(() => {
67
+ if (g)
68
+ return R(g).message;
69
+ if (p)
70
+ return R(p).message;
71
+ }, [g, p]), F = d(
72
+ () => [
73
+ { key: "recordedOn", header: o("RECORDED_ON") },
74
+ { key: "recordedBy", header: o("RECORDED_BY") }
75
+ ],
76
+ [o]
77
+ ), P = d(
78
+ () => [
79
+ { key: "recordedOn", sortable: !0 },
80
+ { key: "recordedBy", sortable: !0 }
81
+ ],
82
+ []
83
+ ), M = d(() => {
84
+ const e = B.reduce(
85
+ (r, a) => {
86
+ const i = a.formName;
87
+ r[i] ??= [];
88
+ const N = a.providers.map((X) => X.providerName).filter(Boolean).join(", ");
89
+ return r[i].push({
90
+ id: a.encounterUuid,
91
+ formName: a.formName,
92
+ recordedOn: de(a.encounterDateTime, o, !0).formattedResult,
93
+ recordedBy: N ?? "--",
94
+ encounterDateTime: a.encounterDateTime,
95
+ encounterUuid: a.encounterUuid
96
+ }), r;
97
+ },
98
+ {}
99
+ );
100
+ return Object.entries(e).map(
101
+ ([r, a]) => ({
102
+ formName: r,
103
+ records: a.sort(
104
+ (i, N) => N.encounterDateTime - i.encounterDateTime
105
+ )
106
+ })
107
+ ).sort((r, a) => r.formName.localeCompare(a.formName));
108
+ }, [B, o]), U = f((e) => {
109
+ E(e), O(!0);
110
+ }, []), Y = f(() => {
111
+ O(!1), E(null);
112
+ }, []), D = f(
113
+ (e, r) => {
114
+ switch (r) {
115
+ case "recordedOn":
116
+ return /* @__PURE__ */ s(ie, { onClick: () => U(e), children: e.recordedOn });
117
+ case "recordedBy":
118
+ return e.recordedBy;
119
+ default:
120
+ return null;
121
+ }
122
+ },
123
+ [U]
124
+ );
125
+ return /* @__PURE__ */ J(W, { children: [
126
+ /* @__PURE__ */ s("div", { "data-testid": "forms-table", children: T || L || M.length === 0 || I ? /* @__PURE__ */ s(
127
+ q,
128
+ {
129
+ headers: F,
130
+ ariaLabel: o("FORMS_HEADING"),
131
+ rows: [],
132
+ loading: T,
133
+ errorStateMessage: L ? H?.message : void 0,
134
+ emptyStateMessage: o("FORMS_UNAVAILABLE"),
135
+ renderCell: D,
136
+ className: A.formsTableBody,
137
+ dataTestId: "forms-table"
138
+ }
139
+ ) : /* @__PURE__ */ s(me, { align: "start", children: M.map((e, r) => {
140
+ const { formName: a, records: i } = e;
141
+ return /* @__PURE__ */ s(
142
+ ue,
143
+ {
144
+ title: a,
145
+ className: A.customAccordianItem,
146
+ testId: `accordian-title-${a}`,
147
+ open: r === 0,
148
+ children: /* @__PURE__ */ s(
149
+ q,
150
+ {
151
+ headers: F,
152
+ ariaLabel: o("FORMS_HEADING"),
153
+ rows: i,
154
+ loading: !1,
155
+ errorStateMessage: "",
156
+ sortable: P,
157
+ emptyStateMessage: o("FORMS_UNAVAILABLE"),
158
+ renderCell: D,
159
+ className: A.formsTableBody,
160
+ dataTestId: `forms-table-${a}`
161
+ }
162
+ )
163
+ },
164
+ a
165
+ );
166
+ }) }) }),
167
+ l && t && /* @__PURE__ */ s(
168
+ le,
169
+ {
170
+ id: "modalIdForActionAreaLayout",
171
+ portalId: "main-display-area",
172
+ open: l,
173
+ onRequestClose: Y,
174
+ modalHeading: t.formName,
175
+ modalLabel: `${t.recordedOn} | ${t.recordedBy}`,
176
+ passiveModal: !0,
177
+ size: "md",
178
+ testId: "form-details-modal",
179
+ children: /* @__PURE__ */ s(
180
+ ce,
181
+ {
182
+ observations: z,
183
+ isLoading: j || $,
184
+ isError: x || Q,
185
+ errorMessage: G,
186
+ emptyStateMessage: o("NO_FORM_DATA_AVAILABLE"),
187
+ testIdPrefix: t.formName,
188
+ hideThumbnail: V
189
+ }
190
+ )
191
+ }
192
+ )
193
+ ] });
194
+ };
195
+ export {
196
+ Ee as default
197
+ };
@@ -1,25 +1,25 @@
1
- import { c, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-BS85_gJw.js";
2
- import { t as d, A as f, C as e } from "./index-D9Vb4M0I.js";
1
+ import { c, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-BOmicZD4.js";
2
+ import { o as d, r as f, s as e } from "./index-CXRvNffr.js";
3
3
  var p = (a) => {
4
- const [r, t] = c({
4
+ const [r, o] = c({
5
5
  prefix: "TanstackQueryDevtools"
6
6
  }), n = d(), s = f(() => {
7
- const o = r.theme_preference || l;
8
- return o !== "system" ? o : n();
7
+ const t = r.theme_preference || l;
8
+ return t !== "system" ? t : 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: t,
15
+ setLocalStore: o,
16
16
  get children() {
17
17
  return e(u.Provider, {
18
18
  value: s,
19
19
  get children() {
20
20
  return e(v, {
21
21
  localStore: r,
22
- setLocalStore: t
22
+ setLocalStore: o
23
23
  });
24
24
  }
25
25
  });
@@ -27,7 +27,7 @@ var p = (a) => {
27
27
  });
28
28
  }
29
29
  });
30
- }, P = p;
30
+ }, C = p;
31
31
  export {
32
- P as default
32
+ C as default
33
33
  };
@@ -1,9 +1,9 @@
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-BS85_gJw.js";
2
- import { t as C, A as v, C as e } from "./index-D9Vb4M0I.js";
1
+ import { c as l, T as c, P as u, a as i, b as m, C as P, Q as d } from "./YPM2AS64-BOmicZD4.js";
2
+ import { o as v, r as C, s as e } from "./index-CXRvNffr.js";
3
3
  var h = (t) => {
4
- const [r, o] = s({
4
+ const [r, o] = l({
5
5
  prefix: "TanstackQueryDevtools"
6
- }), a = C(), l = v(() => {
6
+ }), a = v(), s = C(() => {
7
7
  const n = r.theme_preference || c;
8
8
  return n !== "system" ? n : a();
9
9
  });
@@ -16,7 +16,7 @@ var h = (t) => {
16
16
  setLocalStore: o,
17
17
  get children() {
18
18
  return e(i.Provider, {
19
- value: l,
19
+ value: s,
20
20
  get children() {
21
21
  return e(m, {
22
22
  get children() {