@bahmni/widgets 0.0.1-dev.244 → 0.0.1-dev.247

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
1
  import { jsx as s, jsxs as _, Fragment as Q } from "react/jsx-runtime";
2
- import { u as W, a as X, l as J, f as Z, k as x, m as ee, y as te } from "./index-CA2IZdZE.js";
2
+ import { u as W, a as X, E as J, f as Z, q as x, m as ee, y as te } from "./index-B9vjxIp3.js";
3
3
  import { useQuery as ne } from "@tanstack/react-query";
4
4
  import { useState as l, useCallback as f, useEffect as N, useMemo as p } from "react";
5
5
  import { useTranslation as ae } from "react-i18next";
@@ -37,9 +37,9 @@ const _e = [
37
37
  ], fe = /\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i, R = (n) => n.attachments.length > 0 ? n.attachments : n.documentUrl ? [{ url: n.documentUrl, contentType: n.contentType }] : [], Ne = ({ config: n, encounterUuids: E }) => {
38
38
  const [d, M] = l(!1), [r, U] = l(
39
39
  null
40
- ), [k, A] = l(
40
+ ), [P, A] = l(
41
41
  /* @__PURE__ */ new Set()
42
- ), T = W(), { t: o } = ae(), { addNotification: w } = X(), P = Number(n?.pageSize) || 5, [D, O] = l(1), [m, F] = l(P), [$, C] = l(void 0), b = f((e) => {
42
+ ), T = W(), { t: o } = ae(), { addNotification: w } = X(), F = Number(n?.pageSize) || 5, [D, O] = l(1), [m, $] = l(F), [k, C] = l(void 0), b = f((e) => {
43
43
  U(e), M(!0);
44
44
  }, []), V = f(() => {
45
45
  M(!1), U(null), A(/* @__PURE__ */ new Set());
@@ -90,15 +90,15 @@ const _e = [
90
90
  e.signal.aborted || A(a);
91
91
  })(), () => e.abort();
92
92
  }, [d, r]);
93
- const H = f(
93
+ const q = f(
94
94
  (e, t) => {
95
- t !== m ? (F(t), O(1), C(void 0)) : O(e);
95
+ t !== m ? ($(t), O(1), C(void 0)) : O(e);
96
96
  },
97
97
  [m]
98
98
  ), g = p(
99
99
  () => n?.fields ?? _e,
100
100
  [n?.fields]
101
- ), q = p(() => [...u?.documents ?? []].sort((t, a) => !t.uploadedOn && !a.uploadedOn ? 0 : t.uploadedOn ? a.uploadedOn ? new Date(a.uploadedOn).getTime() - new Date(t.uploadedOn).getTime() : -1 : 1), [u]), G = p(() => he(g, o), [g, o]), Y = p(
101
+ ), H = p(() => [...u?.documents ?? []].sort((t, a) => !t.uploadedOn && !a.uploadedOn ? 0 : t.uploadedOn ? a.uploadedOn ? new Date(a.uploadedOn).getTime() - new Date(t.uploadedOn).getTime() : -1 : 1), [u]), G = p(() => he(g, o), [g, o]), Y = p(
102
102
  () => g.map((e) => ({
103
103
  key: e,
104
104
  sortable: e !== "action"
@@ -144,7 +144,7 @@ const _e = [
144
144
  {
145
145
  headers: G,
146
146
  ariaLabel: o("DOCUMENTS_TABLE_HEADING"),
147
- rows: q,
147
+ rows: H,
148
148
  loading: z,
149
149
  errorStateMessage: y ? S?.message : null,
150
150
  sortable: Y,
@@ -153,9 +153,9 @@ const _e = [
153
153
  className: c.documentsTableBody,
154
154
  dataTestId: "documents-table",
155
155
  pageSize: m,
156
- totalItems: $,
156
+ totalItems: k,
157
157
  page: D,
158
- onPageChange: H
158
+ onPageChange: q
159
159
  }
160
160
  ) }),
161
161
  d && r && /* @__PURE__ */ s(
@@ -170,7 +170,7 @@ const _e = [
170
170
  size: "lg",
171
171
  testId: "document-view-modal",
172
172
  children: /* @__PURE__ */ s("div", { className: c.documentViewerContainer, children: h.map((e, t) => {
173
- const a = j(e.url), I = e.contentType?.toLowerCase().includes("pdf"), i = (e.contentType?.toLowerCase().includes("image") ?? !1) || fe.test(e.url ?? ""), v = k.has(t);
173
+ const a = j(e.url), I = e.contentType?.toLowerCase().includes("pdf"), i = (e.contentType?.toLowerCase().includes("image") ?? !1) || fe.test(e.url ?? ""), v = P.has(t);
174
174
  return a === "#" || v ? /* @__PURE__ */ _(
175
175
  "div",
176
176
  {
@@ -1,54 +1,54 @@
1
1
  import { jsx as n, jsxs as X, Fragment as Z } from "react/jsx-runtime";
2
- import { r as ee, u as re, F as te, Y as oe, G as ae, K as se, q as ne, c as de, O as C, k as ie, f as me, m as U, e as ce, t as le, y as ue, b as fe } from "./index-CA2IZdZE.js";
2
+ import { b as ee, u as re, H as te, r as oe, e as ae, t as se, B as ne, g as de, O as C, q as ie, f as me, m as U, c as ce, d as le, y as ue, h as fe } from "./index-B9vjxIp3.js";
3
3
  import { useQueryClient as ye, useQuery as f } from "@tanstack/react-query";
4
- import { useState as k, useMemo as d, useCallback as y } from "react";
4
+ import { useState as x, useMemo as d, useCallback as y } from "react";
5
5
  import { useTranslation as pe } from "react-i18next";
6
- const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
6
+ const be = "_formsTableBody_81hra_1", ge = "_customAccordianItem_81hra_6", N = {
7
7
  formsTableBody: be,
8
- customAccordianItem: Fe
9
- }, ge = (m) => m ? m.extension?.find(
8
+ customAccordianItem: ge
9
+ }, he = (m) => m ? m.extension?.find(
10
10
  (p) => p.url === ee
11
- )?.valueString : void 0, Ie = ({
11
+ )?.valueString : void 0, De = ({
12
12
  episodeOfCareUuids: m,
13
13
  encounterUuids: i,
14
14
  config: p
15
15
  }) => {
16
- const { t: s } = pe(), c = re(), [l, D] = k(!1), [t, I] = k(null), { numberOfVisits: w, hideThumbnail: x = !1 } = p ?? {}, v = te(
16
+ const { t: s } = pe(), c = re(), [l, B] = x(!1), [t, D] = x(null), { numberOfVisits: k, hideThumbnail: H = !1 } = p ?? {}, I = te(
17
17
  m,
18
18
  i
19
- ), K = ye(), {
19
+ ), P = ye(), {
20
20
  data: b = [],
21
21
  isLoading: M,
22
- isError: A,
23
- error: P,
24
- refetch: H
22
+ isError: v,
23
+ error: K,
24
+ refetch: j
25
25
  } = f({
26
26
  queryKey: ["forms", c, m],
27
- queryFn: () => oe(c, void 0, w),
28
- enabled: !!c && !v
29
- }), B = d(() => !i || i.length === 0 ? b : b.filter(
27
+ queryFn: () => oe(c, void 0, k),
28
+ enabled: !!c && !I
29
+ }), A = d(() => !i || i.length === 0 ? b : b.filter(
30
30
  (e) => i.includes(e.encounterUuid)
31
- ), [b, i]), { data: R = [] } = f({
31
+ ), [b, i]), { data: _ = [] } = f({
32
32
  queryKey: ["observationForms"],
33
33
  queryFn: () => ae()
34
- }), T = y(
35
- (e) => R.find((r) => r.name === e)?.uuid,
36
- [R]
37
- ), F = d(() => {
34
+ }), R = y(
35
+ (e) => _.find((r) => r.name === e)?.uuid,
36
+ [_]
37
+ ), g = d(() => {
38
38
  if (t)
39
- return T(t.formName);
40
- }, [t, T]), {
41
- isLoading: j,
42
- isError: G,
43
- error: g
44
- } = f({
45
- queryKey: ["formMetadata", F],
46
- queryFn: () => se(F),
47
- enabled: !!F && l
48
- }), {
49
- data: h,
39
+ return R(t.formName);
40
+ }, [t, R]), {
50
41
  isLoading: V,
51
42
  isError: $,
43
+ error: h
44
+ } = f({
45
+ queryKey: ["formMetadata", g],
46
+ queryFn: () => se(g),
47
+ enabled: !!g && l
48
+ }), {
49
+ data: E,
50
+ isLoading: w,
51
+ isError: Q,
52
52
  error: O
53
53
  } = f({
54
54
  queryKey: ["formsEncounterFHIR", t?.encounterUuid],
@@ -57,41 +57,41 @@ const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
57
57
  });
58
58
  de(
59
59
  (e) => {
60
- e.patientUUID === c && e.updatedConcepts.size > 0 && (H(), K.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
60
+ e.patientUUID === c && e.updatedConcepts.size > 0 && (j(), P.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
61
61
  },
62
62
  [c]
63
63
  );
64
- const Q = d(() => !h?.entry || !t?.formName ? [] : h.entry.filter((a) => a.resource?.resourceType === "Observation").map((a) => a.resource).filter((a) => {
65
- const r = ge(a);
64
+ const z = d(() => !E?.entry || !t?.formName ? [] : E.entry.filter((a) => a.resource?.resourceType === "Observation").map((a) => a.resource).filter((a) => {
65
+ const r = he(a);
66
66
  return !r || r.includes(t.formName);
67
- }), [h, t?.formName]), Y = d(() => {
68
- if (g)
69
- return C(g).message;
67
+ }), [E, t?.formName]), G = d(() => {
68
+ if (h)
69
+ return C(h).message;
70
70
  if (O)
71
71
  return C(O).message;
72
- }, [g, O]), L = d(
72
+ }, [h, O]), T = d(
73
73
  () => [
74
74
  { key: "recordedOn", header: s("RECORDED_ON") },
75
75
  { key: "recordedBy", header: s("RECORDED_BY") }
76
76
  ],
77
77
  [s]
78
- ), z = d(
78
+ ), Y = d(
79
79
  () => [
80
80
  { key: "recordedOn", sortable: !0 },
81
81
  { key: "recordedBy", sortable: !0 }
82
82
  ],
83
83
  []
84
- ), _ = d(() => {
85
- const e = B.reduce(
84
+ ), L = d(() => {
85
+ const e = A.reduce(
86
86
  (r, o) => {
87
87
  const u = o.formName;
88
88
  r[u] ??= [];
89
- const N = o.providers.map((W) => W.providerName).filter(Boolean).join(", ");
89
+ const F = o.providers.map((W) => W.providerName).filter(Boolean).join(", ");
90
90
  return r[u].push({
91
91
  id: o.encounterUuid,
92
92
  formName: o.formName,
93
93
  recordedOn: ie(o.encounterDateTime, s, !0).formattedResult,
94
- recordedBy: N ?? "--",
94
+ recordedBy: F ?? "--",
95
95
  encounterDateTime: o.encounterDateTime,
96
96
  encounterUuid: o.encounterUuid
97
97
  }), r;
@@ -102,14 +102,14 @@ const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
102
102
  ([r, o]) => ({
103
103
  formName: r,
104
104
  records: o.sort(
105
- (u, N) => N.encounterDateTime - u.encounterDateTime
105
+ (u, F) => F.encounterDateTime - u.encounterDateTime
106
106
  )
107
107
  })
108
108
  ).sort((r, o) => r.formName.localeCompare(o.formName));
109
- }, [B, s]), q = y((e) => {
110
- I(e), D(!0);
109
+ }, [A, s]), q = y((e) => {
110
+ D(e), B(!0);
111
111
  }, []), J = y(() => {
112
- D(!1), I(null);
112
+ B(!1), D(null);
113
113
  }, []), S = y(
114
114
  (e, a) => {
115
115
  switch (a) {
@@ -124,40 +124,40 @@ const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
124
124
  [q]
125
125
  );
126
126
  return /* @__PURE__ */ X(Z, { children: [
127
- /* @__PURE__ */ n("div", { "data-testid": "forms-table", children: M || A || _.length === 0 || v ? /* @__PURE__ */ n(
127
+ /* @__PURE__ */ n("div", { "data-testid": "forms-table", children: M || v || L.length === 0 || I ? /* @__PURE__ */ n(
128
128
  U,
129
129
  {
130
- headers: L,
130
+ headers: T,
131
131
  ariaLabel: s("FORMS_HEADING"),
132
132
  rows: [],
133
133
  loading: M,
134
- errorStateMessage: A ? P?.message : void 0,
134
+ errorStateMessage: v ? K?.message : void 0,
135
135
  emptyStateMessage: s("FORMS_UNAVAILABLE"),
136
136
  renderCell: S,
137
- className: E.formsTableBody,
137
+ className: N.formsTableBody,
138
138
  dataTestId: "forms-table"
139
139
  }
140
- ) : /* @__PURE__ */ n(ce, { align: "start", children: _.map((e, a) => {
140
+ ) : /* @__PURE__ */ n(ce, { align: "start", children: L.map((e, a) => {
141
141
  const { formName: r, records: o } = e;
142
142
  return /* @__PURE__ */ n(
143
143
  le,
144
144
  {
145
145
  title: r,
146
- className: E.customAccordianItem,
146
+ className: N.customAccordianItem,
147
147
  testId: `accordian-title-${r}`,
148
148
  open: a === 0,
149
149
  children: /* @__PURE__ */ n(
150
150
  U,
151
151
  {
152
- headers: L,
152
+ headers: T,
153
153
  ariaLabel: s("FORMS_HEADING"),
154
154
  rows: o,
155
155
  loading: !1,
156
156
  errorStateMessage: "",
157
- sortable: z,
157
+ sortable: Y,
158
158
  emptyStateMessage: s("FORMS_UNAVAILABLE"),
159
159
  renderCell: S,
160
- className: E.formsTableBody,
160
+ className: N.formsTableBody,
161
161
  dataTestId: `forms-table-${r}`
162
162
  }
163
163
  )
@@ -180,13 +180,13 @@ const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
180
180
  children: /* @__PURE__ */ n(
181
181
  fe,
182
182
  {
183
- observations: Q,
184
- isLoading: j || V,
185
- isError: G || $,
186
- errorMessage: Y,
183
+ observations: z,
184
+ isLoading: V || w,
185
+ isError: $ || Q,
186
+ errorMessage: G,
187
187
  emptyStateMessage: s("NO_FORM_DATA_AVAILABLE"),
188
188
  testIdPrefix: t.formName,
189
- hideThumbnail: x
189
+ hideThumbnail: H
190
190
  }
191
191
  )
192
192
  }
@@ -194,5 +194,5 @@ const be = "_formsTableBody_81hra_1", Fe = "_customAccordianItem_81hra_6", E = {
194
194
  ] });
195
195
  };
196
196
  export {
197
- Ie as default
197
+ De as default
198
198
  };
@@ -1,13 +1,13 @@
1
1
  import { jsx as l, jsxs as S } from "react/jsx-runtime";
2
- import { d as k, C as D, g as q, j as w, i as K, x as Q, h as G, z as j, u as P, a as z, n as H, o as x, c as Y, p as J, s as W, v as X, $ as Z, m as ee } from "./index-CA2IZdZE.js";
2
+ import { i as V, C as D, j as q, z as K, k as Q, x as w, l as z, n as G, u as P, a as j, J as H, F as J, g as Y, o as x, p as W, s as X, $ as Z, m as ee } from "./index-B9vjxIp3.js";
3
3
  import { useQueries as te, useQuery as se } from "@tanstack/react-query";
4
- import { useRef as oe, useEffect as C, useMemo as g } from "react";
4
+ import { useRef as oe, useEffect as C, useMemo as h } from "react";
5
5
  import { useTranslation as U } from "react-i18next";
6
- const B = (t, i, c, d, u, r) => {
7
- const s = q(t, i, u), o = s.value, a = w(o);
6
+ const F = (t, i, c, d, u, r) => {
7
+ const s = q(t, i, u), o = s.value, a = K(o);
8
8
  let n = o;
9
9
  a === "Image" && (n = /* @__PURE__ */ l(
10
- Q,
10
+ w,
11
11
  {
12
12
  imageSrc: o,
13
13
  alt: o,
@@ -15,18 +15,18 @@ const B = (t, i, c, d, u, r) => {
15
15
  hideThumbnail: r
16
16
  }
17
17
  )), a === "Video" && (n = /* @__PURE__ */ l(
18
- G,
18
+ z,
19
19
  {
20
20
  id: `${o}-video`,
21
21
  videoSrc: o,
22
22
  hideThumbnail: r
23
23
  }
24
- )), a === "PDF" && (n = /* @__PURE__ */ l(j, { id: `${o}-pdf`, src: o }));
24
+ )), a === "PDF" && (n = /* @__PURE__ */ l(G, { id: `${o}-pdf`, src: o }));
25
25
  const b = u("OBSERVATIONS_RECORDED_BY", {
26
26
  provider: s.provider
27
27
  }), p = t.display, m = t.observationValue?.isAbnormal ? "abnormal-obs" : "obs", y = d ? `${d}-${m}-${p}-${c}-${i}` : `${m}-${p}-${c}-${i}`;
28
28
  return /* @__PURE__ */ l(
29
- K,
29
+ Q,
30
30
  {
31
31
  header: s.header,
32
32
  value: n,
@@ -44,7 +44,7 @@ const B = (t, i, c, d, u, r) => {
44
44
  id: `grouped-obs-${t.display}-${d}`,
45
45
  open: c,
46
46
  children: t.members?.map(
47
- (o, a) => B(
47
+ (o, a) => F(
48
48
  o,
49
49
  a,
50
50
  u,
@@ -61,7 +61,7 @@ const B = (t, i, c, d, u, r) => {
61
61
  hideThumbnail: c
62
62
  }) => {
63
63
  const { t: d } = U(), u = (r, s, o) => {
64
- const a = k(r.encounterDetails, d);
64
+ const a = V(r.encounterDetails, d);
65
65
  return /* @__PURE__ */ S(
66
66
  D,
67
67
  {
@@ -70,7 +70,7 @@ const B = (t, i, c, d, u, r) => {
70
70
  open: s,
71
71
  children: [
72
72
  r.observations.map(
73
- (n, b) => B(
73
+ (n, b) => F(
74
74
  n,
75
75
  b,
76
76
  o,
@@ -114,7 +114,7 @@ const B = (t, i, c, d, u, r) => {
114
114
  conceptNames: c = [],
115
115
  conceptUuid: d = [],
116
116
  hideThumbnail: u = !1
117
- } = i, r = oe(/* @__PURE__ */ new Set()), s = P(), { addNotification: o } = z(), { t: a } = U(), n = te({
117
+ } = i, r = oe(/* @__PURE__ */ new Set()), s = P(), { addNotification: o } = j(), { t: a } = U(), n = te({
118
118
  queries: c.map((e) => ({
119
119
  queryKey: ce(e),
120
120
  queryFn: () => H(e),
@@ -133,14 +133,14 @@ const B = (t, i, c, d, u, r) => {
133
133
  } else e.isError || r.current.delete(v);
134
134
  });
135
135
  }, [n, c]);
136
- const b = g(() => n.map((e) => e.data?.uuid).filter((e) => !!e), [n]), p = g(() => [.../* @__PURE__ */ new Set([...b, ...d])], [b, d]), f = g(() => c.length === 0 ? !0 : n.every((e) => !e.isLoading), [n, c.length]), {
136
+ const b = h(() => n.map((e) => e.data?.uuid).filter((e) => !!e), [n]), p = h(() => [.../* @__PURE__ */ new Set([...b, ...d])], [b, d]), f = h(() => c.length === 0 ? !0 : n.every((e) => !e.isLoading), [n, c.length]), {
137
137
  data: m,
138
138
  isLoading: y,
139
139
  isError: O,
140
140
  refetch: T
141
141
  } = se({
142
142
  queryKey: de(s, p),
143
- queryFn: () => x(s, p),
143
+ queryFn: () => J(s, p),
144
144
  enabled: !!s && p.length > 0 && f
145
145
  });
146
146
  Y(
@@ -157,20 +157,20 @@ const B = (t, i, c, d, u, r) => {
157
157
  type: "error"
158
158
  });
159
159
  }, [O]);
160
- const $ = g(() => {
160
+ const $ = h(() => {
161
161
  if (!m) return [];
162
- const e = J(m), v = W(e);
162
+ const e = x(m), v = W(e);
163
163
  return X(v);
164
- }, [m]), A = [
164
+ }, [m]), B = [
165
165
  { key: "name", header: "name" },
166
166
  { key: "value", header: "value" },
167
167
  { key: "form", header: "form" }
168
- ], I = y || !f, _ = O && f, F = (!m || m.entry?.length === 0 || p.length === 0) && f, L = _ ? a("ERROR_FETCHING_OBSERVATIONS") : null, M = F ? a("NO_OBSERVATIONS_FOUND") : void 0, V = $.length > 0 && !I && !_, h = i.titleTranslationKey, E = h ? a(h) : "";
168
+ ], _ = y || !f, I = O && f, A = (!m || m.entry?.length === 0 || p.length === 0) && f, L = I ? a("ERROR_FETCHING_OBSERVATIONS") : null, k = A ? a("NO_OBSERVATIONS_FOUND") : void 0, M = $.length > 0 && !_ && !I, g = i.titleTranslationKey, E = g ? a(g) : "";
169
169
  return /* @__PURE__ */ S(
170
170
  "div",
171
171
  {
172
172
  id: "observations",
173
- "data-testid": h ? `observations-${E}` : "observations",
173
+ "data-testid": g ? `observations-${E}` : "observations",
174
174
  "aria-label": "observations-aria-label",
175
175
  className: N.observations,
176
176
  children: [
@@ -178,13 +178,13 @@ const B = (t, i, c, d, u, r) => {
178
178
  Z,
179
179
  {
180
180
  id: "observations-title",
181
- testId: h ? `observations-title-${E}` : "observations-title",
181
+ testId: g ? `observations-title-${E}` : "observations-title",
182
182
  title: E,
183
183
  className: N.title,
184
184
  children: /* @__PURE__ */ l("p", { children: E })
185
185
  }
186
186
  ),
187
- V ? /* @__PURE__ */ l(
187
+ M ? /* @__PURE__ */ l(
188
188
  ae,
189
189
  {
190
190
  groupedData: $,
@@ -194,12 +194,12 @@ const B = (t, i, c, d, u, r) => {
194
194
  ) : /* @__PURE__ */ l(
195
195
  ee,
196
196
  {
197
- headers: A,
197
+ headers: B,
198
198
  rows: [],
199
199
  ariaLabel: a("OBSERVATIONS"),
200
- loading: I,
200
+ loading: _,
201
201
  errorStateMessage: L,
202
- emptyStateMessage: M,
202
+ emptyStateMessage: k,
203
203
  dataTestId: "observations-table"
204
204
  }
205
205
  )