@bahmni/registration-app 0.0.1-dev.329 → 0.0.1-dev.330

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,234 +0,0 @@
1
- import { jsx as i, jsxs as re, Fragment as ae } from "react/jsx-runtime";
2
- import { u as te, n as oe, N as se, a as ne, e as de, m as ie, b as le, j as me, D as q, g as ue, f as ce, O as x, v as fe, E as ye, p as be, c as pe, d as ge } from "./index-ua-STquW.js";
3
- import { useQueryClient as he, useQuery as b } from "@tanstack/react-query";
4
- import { useState as j, useMemo as d, useCallback as p } from "react";
5
- const Ne = "FormsTable-module_formsTableBody__SvGha", Oe = "FormsTable-module_customAccordianItem__isszs", E = {
6
- formsTableBody: Ne,
7
- customAccordianItem: Oe
8
- }, Ae = (u) => u ? u.extension?.find(
9
- (l) => l.url === ge
10
- )?.valueString : void 0, Fe = ({
11
- episodeOfCareUuids: u,
12
- encounterUuids: l,
13
- config: k
14
- }) => {
15
- const { t: n } = te(), c = oe(), [f, T] = j(!1), [o, v] = j(null), {
16
- numberOfVisits: w,
17
- hideThumbnail: H = !1,
18
- forms: y
19
- } = k ?? {}, I = se(
20
- u,
21
- l
22
- ), K = he(), {
23
- data: F = [],
24
- isLoading: L,
25
- isError: B,
26
- error: V,
27
- refetch: $
28
- } = b({
29
- queryKey: ["forms", c, u],
30
- queryFn: () => ne(c, void 0, w),
31
- enabled: !!c && !I
32
- }), D = d(() => {
33
- let e = F;
34
- return l && l.length > 0 && (e = e.filter(
35
- (r) => l.includes(r.encounterUuid)
36
- )), Array.isArray(y) && y.length > 0 && (e = e.filter(
37
- (r) => y.some((a) => a.toLowerCase() === r.formName.toLowerCase())
38
- )), e;
39
- }, [F, l, y]), { data: M = [] } = b({
40
- queryKey: ["observationForms"],
41
- queryFn: () => de()
42
- }), S = p(
43
- (e) => M.find((r) => r.name === e)?.uuid,
44
- [M]
45
- ), g = d(() => {
46
- if (o)
47
- return S(o.formName);
48
- }, [o, S]), {
49
- data: m,
50
- isLoading: z,
51
- isError: G,
52
- error: h
53
- } = b({
54
- queryKey: ["formMetadata", g],
55
- queryFn: () => ie(g),
56
- enabled: !!g && f
57
- }), {
58
- data: N,
59
- isLoading: Q,
60
- isError: P,
61
- error: O
62
- } = b({
63
- queryKey: ["formsEncounterFHIR", o?.encounterUuid],
64
- queryFn: () => le(o.encounterUuid),
65
- enabled: !!o?.encounterUuid && f
66
- });
67
- me(
68
- (e) => {
69
- e.patientUUID === c && e.updatedConcepts.size > 0 && ($(), K.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
70
- },
71
- [c]
72
- );
73
- const Y = d(() => !N?.entry || !o?.formName ? [] : N.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => {
74
- const r = Ae(e);
75
- return !r || r.includes(o.formName);
76
- }), [N, o?.formName]), J = d(() => {
77
- if (!m?.schema) return;
78
- const e = [], r = (a) => {
79
- (a ?? []).forEach((s) => {
80
- const t = s;
81
- t.id != null && e.push(String(t.id)), t.controls && r(t.controls);
82
- });
83
- };
84
- return r(
85
- m.schema.controls ?? []
86
- ), e.length > 0 ? e : void 0;
87
- }, [m]), W = d(() => {
88
- if (!m?.schema) return;
89
- const e = {}, r = (a, s) => {
90
- for (const t of a)
91
- if (t.type === "section") {
92
- const A = t.label?.value ?? "Section";
93
- r(t.controls ?? [], A);
94
- } else
95
- t.id != null && s && (e[String(t.id)] = s), t.controls && r(t.controls, s);
96
- };
97
- return r(
98
- m.schema.controls ?? [],
99
- null
100
- ), Object.keys(e).length > 0 ? e : void 0;
101
- }, [m]), X = d(() => {
102
- if (h)
103
- return q(h).message;
104
- if (O)
105
- return q(O).message;
106
- }, [h, O]), _ = d(
107
- () => [
108
- { key: "recordedOn", header: n("RECORDED_ON") },
109
- { key: "recordedBy", header: n("RECORDED_BY") }
110
- ],
111
- [n]
112
- ), Z = d(
113
- () => [
114
- { key: "recordedOn", sortable: !0 },
115
- { key: "recordedBy", sortable: !0 }
116
- ],
117
- []
118
- ), C = d(() => {
119
- const e = D.reduce(
120
- (r, a) => {
121
- const s = a.formName;
122
- r[s] ??= [];
123
- const t = a.providers.map((A) => A.providerName).filter(Boolean).join(", ");
124
- return r[s].push({
125
- id: a.encounterUuid,
126
- formName: a.formName,
127
- recordedOn: ue(a.encounterDateTime, n, !0).formattedResult,
128
- recordedBy: t ?? "--",
129
- encounterDateTime: a.encounterDateTime,
130
- encounterUuid: a.encounterUuid
131
- }), r;
132
- },
133
- {}
134
- );
135
- return Object.entries(e).map(
136
- ([r, a]) => ({
137
- formName: r,
138
- records: a.sort(
139
- (s, t) => t.encounterDateTime - s.encounterDateTime
140
- )
141
- })
142
- ).sort((r, a) => r.formName.localeCompare(a.formName));
143
- }, [D, n]), R = p((e) => {
144
- v(e), T(!0);
145
- }, []), ee = p(() => {
146
- T(!1), v(null);
147
- }, []), U = p(
148
- (e, r) => {
149
- switch (r) {
150
- case "recordedOn":
151
- return /* @__PURE__ */ i(ce, { onClick: () => R(e), children: e.recordedOn });
152
- case "recordedBy":
153
- return e.recordedBy;
154
- default:
155
- return null;
156
- }
157
- },
158
- [R]
159
- );
160
- return /* @__PURE__ */ re(ae, { children: [
161
- /* @__PURE__ */ i("div", { id: "forms-table", "data-testid": "forms-table", children: L || B || C.length === 0 || I ? /* @__PURE__ */ i(
162
- x,
163
- {
164
- headers: _,
165
- ariaLabel: n("FORMS_HEADING"),
166
- rows: [],
167
- loading: L,
168
- errorStateMessage: B ? V?.message : void 0,
169
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
170
- renderCell: U,
171
- className: E.formsTableBody,
172
- dataTestId: "forms-table"
173
- }
174
- ) : /* @__PURE__ */ i(fe, { align: "start", children: C.map((e, r) => {
175
- const { formName: a, records: s } = e;
176
- return /* @__PURE__ */ i(
177
- ye,
178
- {
179
- title: a,
180
- className: E.customAccordianItem,
181
- testId: `accordian-title-${a}`,
182
- open: r === 0,
183
- children: /* @__PURE__ */ i(
184
- x,
185
- {
186
- headers: _,
187
- ariaLabel: n("FORMS_HEADING"),
188
- rows: s,
189
- loading: !1,
190
- errorStateMessage: "",
191
- sortable: Z,
192
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
193
- renderCell: U,
194
- className: E.formsTableBody,
195
- dataTestId: `forms-table-${a}`
196
- }
197
- )
198
- },
199
- a
200
- );
201
- }) }) }),
202
- f && o && /* @__PURE__ */ i(
203
- be,
204
- {
205
- id: "modalIdForActionAreaLayout",
206
- portalId: "main-display-area",
207
- open: f,
208
- onRequestClose: ee,
209
- modalHeading: o.formName,
210
- modalLabel: `${o.recordedOn} | ${o.recordedBy}`,
211
- passiveModal: !0,
212
- size: "md",
213
- testId: "form-details-modal",
214
- children: /* @__PURE__ */ i(
215
- pe,
216
- {
217
- observations: Y,
218
- isLoading: z || Q,
219
- isError: G || P,
220
- errorMessage: X,
221
- emptyStateMessage: n("NO_FORM_DATA_AVAILABLE"),
222
- testIdPrefix: o.formName,
223
- hideThumbnail: H,
224
- controlOrder: J,
225
- sectionMap: W
226
- }
227
- )
228
- }
229
- )
230
- ] });
231
- };
232
- export {
233
- Fe as default
234
- };