@argusoft/medplat-core 1.0.9 → 1.0.11

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.
Files changed (116) hide show
  1. package/dist/index-D6bNg8bx.js +66 -0
  2. package/dist/index-D6bNg8bx.js.map +1 -0
  3. package/dist/index.css +1 -1
  4. package/dist/index.js +99455 -445
  5. package/dist/index.js.map +1 -1
  6. package/package.json +4 -1
  7. package/dist/AccessRights-sgIhYR30.js +0 -1238
  8. package/dist/AccessRights-sgIhYR30.js.map +0 -1
  9. package/dist/AddEditQueryBuilder-BaZxS2Cm.js +0 -289
  10. package/dist/AddEditQueryBuilder-BaZxS2Cm.js.map +0 -1
  11. package/dist/AddEditQueryBuilder.css +0 -1
  12. package/dist/AddFeatures-DLbjDGei.js +0 -212
  13. package/dist/AddFeatures-DLbjDGei.js.map +0 -1
  14. package/dist/AddLabelModal-DE3ploGD.js +0 -734
  15. package/dist/AddLabelModal-DE3ploGD.js.map +0 -1
  16. package/dist/AddMenuConfiguration-QWfpcnuP.js +0 -2237
  17. package/dist/AddMenuConfiguration-QWfpcnuP.js.map +0 -1
  18. package/dist/AddMenuConfiguration.css +0 -1
  19. package/dist/AddRoleDrawer-ZK1eejxI.js +0 -453
  20. package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
  21. package/dist/AppModal-BgZyfrd-.js +0 -428
  22. package/dist/AppModal-BgZyfrd-.js.map +0 -1
  23. package/dist/ChangePasswordModal-MV7g8tkA.js +0 -176
  24. package/dist/ChangePasswordModal-MV7g8tkA.js.map +0 -1
  25. package/dist/ConditionConfig-GDCXIg3C.js +0 -395
  26. package/dist/ConditionConfig-GDCXIg3C.js.map +0 -1
  27. package/dist/ConditionConfig.css +0 -1
  28. package/dist/EntityManagement-D-x6Qzal.js +0 -50
  29. package/dist/EntityManagement-D-x6Qzal.js.map +0 -1
  30. package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
  31. package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
  32. package/dist/EventConfigurations.css +0 -1
  33. package/dist/EventsExceptionModal-BF6E1Np7.js +0 -200
  34. package/dist/EventsExceptionModal-BF6E1Np7.js.map +0 -1
  35. package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
  36. package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
  37. package/dist/FeatureMenu-BYSRoNm0.js +0 -249
  38. package/dist/FeatureMenu-BYSRoNm0.js.map +0 -1
  39. package/dist/Features-CKMmuqcs.js +0 -11
  40. package/dist/Features-CKMmuqcs.js.map +0 -1
  41. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  42. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  43. package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js +0 -5166
  44. package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
  45. package/dist/ImmunizationConfigurationBase.css +0 -1
  46. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
  47. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
  48. package/dist/ImmunizationSkeleton-D2tdv5k-.js +0 -186
  49. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +0 -1
  50. package/dist/LanguagesModal-rk6IGQwY.js +0 -394
  51. package/dist/LanguagesModal-rk6IGQwY.js.map +0 -1
  52. package/dist/ManageDynamicFeature-BKkCnQvF.js +0 -4189
  53. package/dist/ManageDynamicFeature-BKkCnQvF.js.map +0 -1
  54. package/dist/ManageEventConfiguration-BJxS2Su0.js +0 -1017
  55. package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
  56. package/dist/ManageEventConfiguration.css +0 -1
  57. package/dist/ManageNotification-B4prX-9Z.js +0 -6819
  58. package/dist/ManageNotification-B4prX-9Z.js.map +0 -1
  59. package/dist/ManageRole-BjIIXAlK.js +0 -728
  60. package/dist/ManageRole-BjIIXAlK.js.map +0 -1
  61. package/dist/ManageTranslation-BTxvSYKb.js +0 -616
  62. package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
  63. package/dist/ManageTranslation.css +0 -1
  64. package/dist/ManageUser-PHiTNyF8.js +0 -2160
  65. package/dist/ManageUser-PHiTNyF8.js.map +0 -1
  66. package/dist/ManageUser.css +0 -1
  67. package/dist/MobileMenuManagement-DmQU5TTo.js +0 -108
  68. package/dist/MobileMenuManagement-DmQU5TTo.js.map +0 -1
  69. package/dist/MobileTypeEventConfigModal-ChhO_A4f.js +0 -783
  70. package/dist/MobileTypeEventConfigModal-ChhO_A4f.js.map +0 -1
  71. package/dist/NewServerManagement-5YcAtF-g.js +0 -1002
  72. package/dist/NewServerManagement-5YcAtF-g.js.map +0 -1
  73. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  74. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  75. package/dist/NotificationList-BkpOrCpM.js +0 -400
  76. package/dist/NotificationList-BkpOrCpM.js.map +0 -1
  77. package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js +0 -1953
  78. package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
  79. package/dist/QueryBuilder-Cus_mRwZ.js +0 -378
  80. package/dist/QueryBuilder-Cus_mRwZ.js.map +0 -1
  81. package/dist/QueryBuilder.css +0 -1
  82. package/dist/QueryManagement-DXA73N2j.js +0 -671
  83. package/dist/QueryManagement-DXA73N2j.js.map +0 -1
  84. package/dist/QueryManagement.css +0 -1
  85. package/dist/RoleManagement-v5Nyp1vr.js +0 -416
  86. package/dist/RoleManagement-v5Nyp1vr.js.map +0 -1
  87. package/dist/ServerSyncModal-uNjGCQJz.js +0 -869
  88. package/dist/ServerSyncModal-uNjGCQJz.js.map +0 -1
  89. package/dist/ShowFlywayQuery-DMsAbtOW.js +0 -130
  90. package/dist/ShowFlywayQuery-DMsAbtOW.js.map +0 -1
  91. package/dist/ShowFlywayQuery-DVRCd384.js +0 -259
  92. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  93. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  94. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  95. package/dist/SubMenu-BHcSNSUF.js +0 -187
  96. package/dist/SubMenu-BHcSNSUF.js.map +0 -1
  97. package/dist/TableDetails-DzREeJkm.js +0 -1508
  98. package/dist/TableDetails-DzREeJkm.js.map +0 -1
  99. package/dist/TableList-B9hr05Hs.js +0 -428
  100. package/dist/TableList-B9hr05Hs.js.map +0 -1
  101. package/dist/TypeConfiguration-C-lk8Szs.js +0 -117
  102. package/dist/TypeConfiguration-C-lk8Szs.js.map +0 -1
  103. package/dist/UserList-BxB1tCwM.js +0 -13042
  104. package/dist/UserList-BxB1tCwM.js.map +0 -1
  105. package/dist/UserList.css +0 -1
  106. package/dist/UserListSkeleton-cglK2SaU.js +0 -184
  107. package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
  108. package/dist/WidgetList-BSApErov.js +0 -188
  109. package/dist/WidgetList-BSApErov.js.map +0 -1
  110. package/dist/_commonjsHelpers-BItOPCY9.js +0 -29
  111. package/dist/_commonjsHelpers-BItOPCY9.js.map +0 -1
  112. package/dist/i18next-CTOWN_jH.js +0 -1394
  113. package/dist/i18next-CTOWN_jH.js.map +0 -1
  114. package/dist/manageImmunization-B4swS745.js +0 -1204
  115. package/dist/manageImmunization-B4swS745.js.map +0 -1
  116. package/dist/manageImmunization.css +0 -1
@@ -1,428 +0,0 @@
1
- import { jsxs as a, Fragment as ie, jsx as e } from "react/jsx-runtime";
2
- import { useTranslateProvider as se } from "@/common/languageTranslator/TranslationContext";
3
- import p from "@/common/fontAwesomeIcons/FontAwesomeIcons";
4
- import { Paper as N, Box as i, Typography as s, Button as b, Chip as j, TextField as F, InputAdornment as de, Divider as ce, List as pe, ListItem as ue, ListItemButton as fe, ListItemText as he, Tooltip as G, IconButton as K, Dialog as me, DialogTitle as xe, DialogContent as ye, Autocomplete as be, DialogActions as ge } from "@mui/material";
5
- import J from "@mui/material/Grid2";
6
- import u from "prop-types";
7
- import { useState as l, useEffect as X, Suspense as Ce, lazy as ve } from "react";
8
- import { useForm as Te } from "react-hook-form";
9
- const Ie = ve(() => import("./TableDetails-DzREeJkm.js"));
10
- function Se({
11
- tableList: t,
12
- tablesInfo: w,
13
- allTableList: x,
14
- allTablesInfo: D,
15
- formSubmitted: $,
16
- reloadComponents: H
17
- }) {
18
- const [W, V] = l(""), [g, C] = l(""), [v, Y] = l({}), [z, T] = l({}), [f, _] = l({}), [q, I] = l({}), y = t ? t.filter((o) => o.toLowerCase().includes(W.toLowerCase())) : [], [U, h] = l(!1), [Z, S] = l(!1), [d, M] = l(), [R, m] = l(!1), [L, O] = l(!1), [ee, P] = l(!1), { translate: A } = se();
19
- Te({
20
- defaultValues: {
21
- field1: "",
22
- field2: "",
23
- field3: ""
24
- }
25
- }), X(() => {
26
- let o = {}, n = {};
27
- C(t[0]), o = B(w), Y((r) => ({ ...r, ...o })), n = B(D), _((r) => ({ ...r, ...n }));
28
- }, [w, D]), X(() => {
29
- T(() => v[t[0]]), I(() => f[t[0]]);
30
- }, [v, f]);
31
- const oe = (o) => {
32
- const n = o.toLowerCase();
33
- return n.includes("int") || n.includes("timestamp") || n === "boolean" || n.includes("serial") || n.includes("date") ? "INTEGER" : (n.includes("char") || n.includes("text") || n.includes("varchar"), "TEXT");
34
- }, B = (o) => {
35
- const n = {};
36
- return o.forEach((r) => {
37
- const c = JSON.parse(r.columnInfo), te = Object.keys(c).map((Q) => ({
38
- name: Q,
39
- type: oe(c[Q])
40
- })), le = r.mediaConfiguration !== void 0 ? JSON.parse(r.mediaConfiguration) : null;
41
- n[r.tableName] = {
42
- columnInfo: te,
43
- modifiedOnQuery: r.modifiedOnQuery ? r.modifiedOnQuery : null,
44
- primaryKey: r.primaryKey ? r.primaryKey : null,
45
- selectQuery: r.selectQuery ? r.selectQuery : null,
46
- userData: r.userData !== void 0 ? r.userData : null,
47
- hasMedia: r.hasMedia !== void 0 ? r.hasMedia : null,
48
- mediaConfiguration: le,
49
- syncByDefault: r.syncByDefault ? r.syncByDefault : !1
50
- };
51
- }), n;
52
- }, re = () => {
53
- m(!1), S(!0), M();
54
- }, ne = () => {
55
- h(!1), m(!0);
56
- }, E = () => {
57
- S(!1);
58
- }, ae = () => {
59
- if (d) {
60
- const o = { ...f[d] };
61
- o && (o.columnInfo = []), C(d), T(() => o), I(() => f[d]), O(!0), m(!1), h(!0);
62
- }
63
- S(!1), M(() => "");
64
- }, k = (o) => {
65
- C(o), T(() => v[o]), I(() => f[o]), h(!1), m(!1), O(!1);
66
- };
67
- return /* @__PURE__ */ a(ie, { children: [
68
- /* @__PURE__ */ a(
69
- N,
70
- {
71
- elevation: 0,
72
- sx: {
73
- p: { xs: 2.5, md: 3 },
74
- mt: 2,
75
- mb: 3,
76
- border: "1px solid",
77
- borderColor: "divider",
78
- borderRadius: 3,
79
- backgroundColor: "background.paper"
80
- },
81
- children: [
82
- /* @__PURE__ */ a(i, { sx: { display: "flex", flexDirection: "column", gap: 3 }, children: [
83
- /* @__PURE__ */ a(
84
- i,
85
- {
86
- sx: {
87
- display: "flex",
88
- justifyContent: "space-between",
89
- alignItems: "flex-start",
90
- flexWrap: "wrap",
91
- gap: 2
92
- },
93
- children: [
94
- /* @__PURE__ */ a(i, { sx: { minWidth: { xs: "100%", lg: "40%" } }, children: [
95
- /* @__PURE__ */ e(s, { variant: "h5", sx: { fontWeight: 800, color: "text.primary", mb: 0.5 }, children: A("Database Management") }),
96
- /* @__PURE__ */ e(s, { variant: "body2", color: "text.secondary", children: "Manage synced tables, create new entities, and configure mobile database schemas." })
97
- ] }),
98
- /* @__PURE__ */ a(i, { sx: { display: "flex", alignItems: "center", gap: 1.5, flexWrap: "wrap" }, children: [
99
- /* @__PURE__ */ e(
100
- b,
101
- {
102
- variant: "outlined",
103
- size: "small",
104
- sx: {
105
- borderRadius: 2,
106
- fontWeight: 600,
107
- px: 2,
108
- textTransform: "none",
109
- borderColor: "divider",
110
- color: "text.primary",
111
- "&:hover": { backgroundColor: "action.hover", borderColor: "text.disabled" }
112
- },
113
- startIcon: /* @__PURE__ */ e(p, { iconName: "faRotate" }),
114
- onClick: () => re(),
115
- children: "Sync Table"
116
- }
117
- ),
118
- /* @__PURE__ */ e(
119
- b,
120
- {
121
- size: "small",
122
- variant: "contained",
123
- sx: {
124
- borderRadius: 2,
125
- fontWeight: 600,
126
- px: 2,
127
- boxShadow: "none",
128
- textTransform: "none"
129
- },
130
- startIcon: /* @__PURE__ */ e(p, { iconName: "faPlus" }),
131
- onClick: () => ne(),
132
- children: "Create Table"
133
- }
134
- )
135
- ] })
136
- ]
137
- }
138
- ),
139
- /* @__PURE__ */ a(
140
- i,
141
- {
142
- sx: {
143
- display: "flex",
144
- justifyContent: "space-between",
145
- alignItems: "center",
146
- flexWrap: "wrap",
147
- gap: 2,
148
- backgroundColor: "action.hover",
149
- p: 1.5,
150
- borderRadius: 2.5,
151
- border: "1px solid",
152
- borderColor: "divider"
153
- },
154
- children: [
155
- /* @__PURE__ */ a(i, { sx: { display: "flex", alignItems: "center", gap: 1.5 }, children: [
156
- /* @__PURE__ */ e(
157
- j,
158
- {
159
- label: `${(t == null ? void 0 : t.length) || 0} Synced`,
160
- size: "small",
161
- color: "primary",
162
- variant: "filled",
163
- sx: { fontWeight: 700, borderRadius: 2, px: 0.5 }
164
- }
165
- ),
166
- /* @__PURE__ */ e(
167
- j,
168
- {
169
- label: `${(x == null ? void 0 : x.length) || 0} Total`,
170
- size: "small",
171
- variant: "outlined",
172
- sx: { fontWeight: 600, borderRadius: 2, px: 0.5, borderColor: "divider" }
173
- }
174
- )
175
- ] }),
176
- /* @__PURE__ */ e(
177
- F,
178
- {
179
- value: W,
180
- size: "small",
181
- placeholder: "Search synced tables...",
182
- onChange: (o) => V(o.target.value),
183
- InputProps: {
184
- startAdornment: /* @__PURE__ */ e(de, { position: "start", children: /* @__PURE__ */ e(p, { iconName: "faMagnifyingGlass" }) }),
185
- sx: {
186
- backgroundColor: "background.paper",
187
- borderRadius: 2,
188
- minWidth: 260
189
- }
190
- }
191
- }
192
- )
193
- ]
194
- }
195
- )
196
- ] }),
197
- /* @__PURE__ */ e(ce, { sx: { my: 3 } }),
198
- /* @__PURE__ */ a(J, { container: !0, spacing: 2.5, children: [
199
- /* @__PURE__ */ e(J, { size: 3, children: /* @__PURE__ */ a(
200
- N,
201
- {
202
- variant: "outlined",
203
- sx: {
204
- borderRadius: 2.5,
205
- overflow: "hidden",
206
- maxHeight: "72vh",
207
- display: "flex",
208
- flexDirection: "column"
209
- },
210
- children: [
211
- /* @__PURE__ */ a(
212
- i,
213
- {
214
- sx: {
215
- px: 2,
216
- py: 1.5,
217
- backgroundColor: "action.hover",
218
- borderBottom: "1px solid",
219
- borderColor: "divider"
220
- },
221
- children: [
222
- /* @__PURE__ */ e(s, { variant: "subtitle2", sx: { fontWeight: 700, color: "text.primary" }, children: A("Synced Tables") }),
223
- /* @__PURE__ */ a(s, { variant: "caption", color: "text.secondary", children: [
224
- y.length,
225
- " of ",
226
- (t == null ? void 0 : t.length) || 0,
227
- " tables"
228
- ] })
229
- ]
230
- }
231
- ),
232
- /* @__PURE__ */ e(i, { sx: { overflowY: "auto", flex: 1 }, children: y.length ? /* @__PURE__ */ e(pe, { disablePadding: !0, children: y.map((o, n) => {
233
- const r = g === o;
234
- return /* @__PURE__ */ e(
235
- ue,
236
- {
237
- disablePadding: !0,
238
- secondaryAction: /* @__PURE__ */ a(
239
- i,
240
- {
241
- sx: {
242
- display: "flex",
243
- gap: 0.25,
244
- opacity: r ? 1 : 0,
245
- transition: "opacity 0.2s"
246
- },
247
- children: [
248
- /* @__PURE__ */ e(G, { title: "Edit table", arrow: !0, placement: "top", children: /* @__PURE__ */ e(
249
- K,
250
- {
251
- size: "small",
252
- onClick: (c) => {
253
- c.stopPropagation(), k(o), h(!0);
254
- },
255
- sx: {
256
- color: "primary.main",
257
- "&:hover": { backgroundColor: "primary.50" }
258
- },
259
- children: /* @__PURE__ */ e(p, { iconName: "faPen", className: "text-[0.75rem]" })
260
- }
261
- ) }),
262
- /* @__PURE__ */ e(G, { title: "Delete table", arrow: !0, placement: "top", children: /* @__PURE__ */ e(
263
- K,
264
- {
265
- size: "small",
266
- onClick: (c) => {
267
- c.stopPropagation(), k(o), P(!0);
268
- },
269
- sx: {
270
- color: "error.main",
271
- "&:hover": { backgroundColor: "error.50" }
272
- },
273
- children: /* @__PURE__ */ e(p, { iconName: "faTrash", className: "text-[0.75rem]" })
274
- }
275
- ) })
276
- ]
277
- }
278
- ),
279
- sx: {
280
- borderBottom: n === y.length - 1 ? "none" : "1px solid",
281
- borderColor: "divider",
282
- "&:hover .MuiBox-root": { opacity: "1 !important" }
283
- },
284
- children: /* @__PURE__ */ e(
285
- fe,
286
- {
287
- selected: r,
288
- onClick: () => k(o),
289
- sx: {
290
- py: 1,
291
- px: 2,
292
- transition: "all 0.15s ease",
293
- "&.Mui-selected": {
294
- backgroundColor: "primary.50",
295
- borderLeft: "3px solid",
296
- borderLeftColor: "primary.main",
297
- "&:hover": { backgroundColor: "primary.100" }
298
- },
299
- "&:hover": { backgroundColor: "action.hover" }
300
- },
301
- children: /* @__PURE__ */ e(
302
- he,
303
- {
304
- primary: /* @__PURE__ */ e(
305
- s,
306
- {
307
- variant: "body2",
308
- sx: {
309
- fontWeight: r ? 600 : 400,
310
- color: r ? "primary.dark" : "text.primary",
311
- fontSize: "0.82rem",
312
- overflow: "hidden",
313
- textOverflow: "ellipsis",
314
- whiteSpace: "nowrap",
315
- maxWidth: "160px"
316
- },
317
- children: o
318
- }
319
- )
320
- }
321
- )
322
- }
323
- )
324
- },
325
- n + 1
326
- );
327
- }) }) : /* @__PURE__ */ a(i, { sx: { p: 3, textAlign: "center" }, children: [
328
- /* @__PURE__ */ e(p, { iconName: "faInbox", className: "text-[2rem] text-gray-300" }),
329
- /* @__PURE__ */ e(s, { variant: "body2", color: "text.secondary", sx: { mt: 1 }, children: t.length < 1 ? "No tables synced" : "No tables match your search." })
330
- ] }) })
331
- ]
332
- }
333
- ) }),
334
- /* @__PURE__ */ e(Ce, { children: (!!g && !!z || R) && /* @__PURE__ */ e(
335
- Ie,
336
- {
337
- tableInfo: z,
338
- table: g,
339
- isEditMode: U,
340
- updateEditMode: h,
341
- tableCompleteInfo: q,
342
- formSubmitted: $,
343
- reloadComponents: H,
344
- isCreateTableMode: R,
345
- isSyncTableMode: L,
346
- updateCreateTableMode: m,
347
- openDeleteModal: ee,
348
- setOpenDeleteModal: P
349
- }
350
- ) })
351
- ] })
352
- ]
353
- }
354
- ),
355
- /* @__PURE__ */ a(
356
- me,
357
- {
358
- open: Z,
359
- onClose: E,
360
- maxWidth: "sm",
361
- fullWidth: !0,
362
- PaperProps: {
363
- sx: { borderRadius: 3, p: 1 }
364
- },
365
- children: [
366
- /* @__PURE__ */ a(xe, { sx: { fontWeight: 700, pb: 1 }, children: [
367
- "Sync a Table",
368
- /* @__PURE__ */ e(s, { variant: "body2", color: "text.secondary", children: "Select an existing database table to sync with the mobile app." })
369
- ] }),
370
- /* @__PURE__ */ e(ye, { children: /* @__PURE__ */ e(
371
- be,
372
- {
373
- options: x.filter((o) => !t.includes(o)),
374
- getOptionLabel: (o) => o,
375
- value: d,
376
- onChange: (o, n) => M(n),
377
- renderInput: (o) => /* @__PURE__ */ e(
378
- F,
379
- {
380
- ...o,
381
- label: "Table",
382
- placeholder: "Search and select a table...",
383
- size: "small",
384
- sx: { mt: 1 }
385
- }
386
- )
387
- }
388
- ) }),
389
- /* @__PURE__ */ a(ge, { sx: { px: 3, pb: 2 }, children: [
390
- /* @__PURE__ */ e(
391
- b,
392
- {
393
- onClick: E,
394
- variant: "outlined",
395
- size: "small",
396
- sx: { borderRadius: 2, textTransform: "none" },
397
- children: "Cancel"
398
- }
399
- ),
400
- /* @__PURE__ */ e(
401
- b,
402
- {
403
- variant: "contained",
404
- size: "small",
405
- onClick: () => ae(),
406
- disabled: !d,
407
- sx: { borderRadius: 2, textTransform: "none", boxShadow: "none" },
408
- children: "Sync Table"
409
- }
410
- )
411
- ] })
412
- ]
413
- }
414
- )
415
- ] });
416
- }
417
- Se.propTypes = {
418
- tableList: u.any,
419
- tablesInfo: u.any,
420
- allTableList: u.any,
421
- allTablesInfo: u.any,
422
- formSubmitted: u.bool,
423
- reloadComponents: u.any
424
- };
425
- export {
426
- Se as default
427
- };
428
- //# sourceMappingURL=TableList-B9hr05Hs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableList-B9hr05Hs.js","sources":["../src/views/Mobile/EntityManagement/TableList.jsx"],"sourcesContent":["import { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\nimport FontAwesomeIcons from '@/common/fontAwesomeIcons/FontAwesomeIcons';\nimport {\n Autocomplete,\n Box,\n Button,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n InputAdornment,\n List,\n ListItem,\n ListItemButton,\n ListItemText,\n Paper,\n TextField,\n Tooltip,\n Typography,\n} from '@mui/material';\nimport Grid from '@mui/material/Grid2';\nimport PropTypes from 'prop-types';\nimport React, { lazy, Suspense, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nconst TableDetails = lazy(() => import('./TableDetails'));\n\nexport default function TableList({\n tableList,\n tablesInfo,\n allTableList,\n allTablesInfo,\n formSubmitted,\n reloadComponents,\n}) {\n const [searchQuery, setSearchQuery] = useState('');\n const [selectedTable, setSelectedTable] = useState('');\n const [syncedTableInfo, setSyncedTableInfo] = useState({});\n const [tableInfo, setTableInfo] = useState({});\n const [allTableInfo, setAllTableInfo] = useState({});\n const [tableCompleteInfo, setTableCompleteInfo] = useState({});\n const filteredList = tableList\n ? tableList.filter((tableName) => tableName.toLowerCase().includes(searchQuery.toLowerCase()))\n : [];\n const [editMode, setEditMode] = useState(false);\n const [modalOpen, setModalOpen] = useState(false);\n const [tableForModal, setTableForModal] = useState();\n const [isCreateTableMode, setIsCreateTableMode] = useState(false);\n const [isSyncTableMode, setIsSyncTableMode] = useState(false);\n const [openDeleteModal, setOpenDeleteModal] = useState(false);\n const { translate } = useTranslateProvider();\n\n const {\n formState: { },\n } = useForm({\n defaultValues: {\n field1: '',\n field2: '',\n field3: '',\n },\n });\n\n useEffect(() => {\n let info1 = {};\n let info2 = {};\n setSelectedTable(tableList[0]);\n info1 = createTableObject(tablesInfo);\n setSyncedTableInfo((syncedTableInfo) => ({ ...syncedTableInfo, ...info1 }));\n info2 = createTableObject(allTablesInfo);\n setAllTableInfo((allTableInfo) => ({ ...allTableInfo, ...info2 }));\n }, [tablesInfo, allTablesInfo]);\n\n useEffect(() => {\n setTableInfo(() => syncedTableInfo[tableList[0]]);\n setTableCompleteInfo(() => allTableInfo[tableList[0]]);\n }, [syncedTableInfo, allTableInfo]);\n\n const mapToSQLiteType = (sqlType) => {\n const type = sqlType.toLowerCase();\n if (\n type.includes('int') ||\n type.includes('timestamp') ||\n type === 'boolean' ||\n type.includes('serial') ||\n type.includes('date')\n ) {\n return 'INTEGER';\n } else if (type.includes('char') || type.includes('text') || type.includes('varchar')) {\n return 'TEXT';\n }\n return 'TEXT';\n };\n\n const createTableObject = (tbInfo) => {\n const info = {};\n tbInfo.forEach((item) => {\n const parsedColumns = JSON.parse(item.columnInfo);\n const columnArray = Object.keys(parsedColumns).map((columnName) => ({\n name: columnName,\n type: mapToSQLiteType(parsedColumns[columnName]),\n }));\n\n const media = item.mediaConfiguration !== undefined ? JSON.parse(item.mediaConfiguration) : null;\n info[item.tableName] = {\n columnInfo: columnArray,\n modifiedOnQuery: item.modifiedOnQuery ? item.modifiedOnQuery : null,\n primaryKey: item.primaryKey ? item.primaryKey : null,\n selectQuery: item.selectQuery ? item.selectQuery : null,\n userData: item.userData !== undefined ? item.userData : null,\n hasMedia: item.hasMedia !== undefined ? item.hasMedia : null,\n mediaConfiguration: media,\n syncByDefault: item.syncByDefault ? item.syncByDefault : false,\n };\n });\n return info;\n };\n\n const handleAddTable = () => {\n setIsCreateTableMode(false);\n setModalOpen(true);\n setTableForModal();\n };\n\n const handleCreateTable = () => {\n setEditMode(false);\n setIsCreateTableMode(true);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n\n const handleTableSelect = () => {\n if (tableForModal) {\n const tableInfo = { ...allTableInfo[tableForModal] };\n if (tableInfo) {\n tableInfo.columnInfo = [];\n }\n setSelectedTable(tableForModal);\n setTableInfo(() => tableInfo);\n setTableCompleteInfo(() => allTableInfo[tableForModal]);\n setIsSyncTableMode(true);\n setIsCreateTableMode(false);\n setEditMode(true);\n }\n setModalOpen(false);\n setTableForModal(() => '');\n };\n\n const onTableChange = (tableName) => {\n setSelectedTable(tableName);\n setTableInfo(() => syncedTableInfo[tableName]);\n setTableCompleteInfo(() => allTableInfo[tableName]);\n setEditMode(false);\n setIsCreateTableMode(false);\n setIsSyncTableMode(false);\n };\n\n return (\n <>\n {/* ── Main Container with Paper wrapper (matching ManageAllForms) ── */}\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n mt: 2,\n mb: 3,\n border: '1px solid',\n borderColor: 'divider',\n borderRadius: 3,\n backgroundColor: 'background.paper',\n }}\n >\n {/* ── Header Section ── */}\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n flexWrap: 'wrap',\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: '100%', lg: '40%' } }}>\n <Typography variant=\"h5\" sx={{ fontWeight: 800, color: 'text.primary', mb: 0.5 }}>\n {translate('Database Management')}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Manage synced tables, create new entities, and configure mobile database schemas.\n </Typography>\n </Box>\n\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5, flexWrap: 'wrap' }}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n textTransform: 'none',\n borderColor: 'divider',\n color: 'text.primary',\n '&:hover': { backgroundColor: 'action.hover', borderColor: 'text.disabled' },\n }}\n startIcon={<FontAwesomeIcons iconName={'faRotate'} />}\n onClick={() => handleAddTable()}\n >\n Sync Table\n </Button>\n <Button\n size=\"small\"\n variant=\"contained\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n boxShadow: 'none',\n textTransform: 'none',\n }}\n startIcon={<FontAwesomeIcons iconName={'faPlus'} />}\n onClick={() => handleCreateTable()}\n >\n Create Table\n </Button>\n </Box>\n </Box>\n\n {/* ── Search & Stats Bar ── */}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: 2,\n backgroundColor: 'action.hover',\n p: 1.5,\n borderRadius: 2.5,\n border: '1px solid',\n borderColor: 'divider',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>\n <Chip\n label={`${tableList?.length || 0} Synced`}\n size=\"small\"\n color=\"primary\"\n variant=\"filled\"\n sx={{ fontWeight: 700, borderRadius: 2, px: 0.5 }}\n />\n <Chip\n label={`${allTableList?.length || 0} Total`}\n size=\"small\"\n variant=\"outlined\"\n sx={{ fontWeight: 600, borderRadius: 2, px: 0.5, borderColor: 'divider' }}\n />\n </Box>\n\n <TextField\n value={searchQuery}\n size=\"small\"\n placeholder=\"Search synced tables...\"\n onChange={(e) => setSearchQuery(e.target.value)}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <FontAwesomeIcons iconName=\"faMagnifyingGlass\" />\n </InputAdornment>\n ),\n sx: {\n backgroundColor: 'background.paper',\n borderRadius: 2,\n minWidth: 260,\n },\n }}\n />\n </Box>\n </Box>\n\n <Divider sx={{ my: 3 }} />\n\n {/* ── Content: List + Details Layout ── */}\n <Grid container spacing={2.5}>\n {/* ── Left Panel: Table List ── */}\n <Grid size={3}>\n <Paper\n variant=\"outlined\"\n sx={{\n borderRadius: 2.5,\n overflow: 'hidden',\n maxHeight: '72vh',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {/* List Header */}\n <Box\n sx={{\n px: 2,\n py: 1.5,\n backgroundColor: 'action.hover',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 700, color: 'text.primary' }}>\n {translate('Synced Tables')}\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {filteredList.length} of {tableList?.length || 0} tables\n </Typography>\n </Box>\n\n {/* Table List */}\n <Box sx={{ overflowY: 'auto', flex: 1 }}>\n {filteredList.length ? (\n <List disablePadding>\n {filteredList.map((tableName, index) => {\n const isSelected = selectedTable === tableName;\n return (\n <ListItem\n key={index + 1}\n disablePadding\n secondaryAction={\n <Box\n sx={{\n display: 'flex',\n gap: 0.25,\n opacity: isSelected ? 1 : 0,\n transition: 'opacity 0.2s',\n }}\n >\n <Tooltip title=\"Edit table\" arrow placement=\"top\">\n <IconButton\n size=\"small\"\n onClick={(e) => {\n e.stopPropagation();\n onTableChange(tableName);\n setEditMode(true);\n }}\n sx={{\n color: 'primary.main',\n '&:hover': { backgroundColor: 'primary.50' },\n }}\n >\n <FontAwesomeIcons iconName={'faPen'} className=\"text-[0.75rem]\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Delete table\" arrow placement=\"top\">\n <IconButton\n size=\"small\"\n onClick={(e) => {\n e.stopPropagation();\n onTableChange(tableName);\n setOpenDeleteModal(true);\n }}\n sx={{\n color: 'error.main',\n '&:hover': { backgroundColor: 'error.50' },\n }}\n >\n <FontAwesomeIcons iconName={'faTrash'} className=\"text-[0.75rem]\" />\n </IconButton>\n </Tooltip>\n </Box>\n }\n sx={{\n borderBottom: index === filteredList.length - 1 ? 'none' : '1px solid',\n borderColor: 'divider',\n '&:hover .MuiBox-root': { opacity: '1 !important' },\n }}\n >\n <ListItemButton\n selected={isSelected}\n onClick={() => onTableChange(tableName)}\n sx={{\n py: 1,\n px: 2,\n transition: 'all 0.15s ease',\n '&.Mui-selected': {\n backgroundColor: 'primary.50',\n borderLeft: '3px solid',\n borderLeftColor: 'primary.main',\n '&:hover': { backgroundColor: 'primary.100' },\n },\n '&:hover': { backgroundColor: 'action.hover' },\n }}\n >\n <ListItemText\n primary={\n <Typography\n variant=\"body2\"\n sx={{\n fontWeight: isSelected ? 600 : 400,\n color: isSelected ? 'primary.dark' : 'text.primary',\n fontSize: '0.82rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '160px',\n }}\n >\n {tableName}\n </Typography>\n }\n />\n </ListItemButton>\n </ListItem>\n );\n })}\n </List>\n ) : (\n <Box sx={{ p: 3, textAlign: 'center' }}>\n <FontAwesomeIcons iconName=\"faInbox\" className=\"text-[2rem] text-gray-300\" />\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mt: 1 }}>\n {tableList.length < 1 ? 'No tables synced' : 'No tables match your search.'}\n </Typography>\n </Box>\n )}\n </Box>\n </Paper>\n </Grid>\n\n {/* ── Right Panel: Table Details ── */}\n <Suspense>\n {((!!selectedTable && !!tableInfo) || isCreateTableMode) && (\n <TableDetails\n tableInfo={tableInfo}\n table={selectedTable}\n isEditMode={editMode}\n updateEditMode={setEditMode}\n tableCompleteInfo={tableCompleteInfo}\n formSubmitted={formSubmitted}\n reloadComponents={reloadComponents}\n isCreateTableMode={isCreateTableMode}\n isSyncTableMode={isSyncTableMode}\n updateCreateTableMode={setIsCreateTableMode}\n openDeleteModal={openDeleteModal}\n setOpenDeleteModal={setOpenDeleteModal}\n ></TableDetails>\n )}\n </Suspense>\n </Grid>\n </Paper>\n\n {/* ── Sync Table Dialog (replacing raw Modal) ── */}\n <Dialog\n open={modalOpen}\n onClose={handleModalClose}\n maxWidth=\"sm\"\n fullWidth\n PaperProps={{\n sx: { borderRadius: 3, p: 1 },\n }}\n >\n <DialogTitle sx={{ fontWeight: 700, pb: 1 }}>\n Sync a Table\n <Typography variant=\"body2\" color=\"text.secondary\">\n Select an existing database table to sync with the mobile app.\n </Typography>\n </DialogTitle>\n <DialogContent>\n <Autocomplete\n options={allTableList.filter((x) => {\n return !tableList.includes(x);\n })}\n getOptionLabel={(option) => option}\n value={tableForModal}\n onChange={(_, newValue) => setTableForModal(newValue)}\n renderInput={(params) => (\n <TextField\n {...params}\n label=\"Table\"\n placeholder=\"Search and select a table...\"\n size=\"small\"\n sx={{ mt: 1 }}\n />\n )}\n />\n </DialogContent>\n <DialogActions sx={{ px: 3, pb: 2 }}>\n <Button\n onClick={handleModalClose}\n variant=\"outlined\"\n size=\"small\"\n sx={{ borderRadius: 2, textTransform: 'none' }}\n >\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleTableSelect()}\n disabled={!tableForModal}\n sx={{ borderRadius: 2, textTransform: 'none', boxShadow: 'none' }}\n >\n Sync Table\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nTableList.propTypes = {\n tableList: PropTypes.any,\n tablesInfo: PropTypes.any,\n allTableList: PropTypes.any,\n allTablesInfo: PropTypes.any,\n formSubmitted: PropTypes.bool,\n reloadComponents: PropTypes.any,\n};\n"],"names":["TableDetails","lazy","TableList","tableList","tablesInfo","allTableList","allTablesInfo","formSubmitted","reloadComponents","searchQuery","setSearchQuery","useState","selectedTable","setSelectedTable","syncedTableInfo","setSyncedTableInfo","tableInfo","setTableInfo","allTableInfo","setAllTableInfo","tableCompleteInfo","setTableCompleteInfo","filteredList","tableName","editMode","setEditMode","modalOpen","setModalOpen","tableForModal","setTableForModal","isCreateTableMode","setIsCreateTableMode","isSyncTableMode","setIsSyncTableMode","openDeleteModal","setOpenDeleteModal","translate","useTranslateProvider","useForm","useEffect","info1","info2","createTableObject","mapToSQLiteType","sqlType","type","tbInfo","info","item","parsedColumns","columnArray","columnName","media","handleAddTable","handleCreateTable","handleModalClose","handleTableSelect","onTableChange","jsxs","Fragment","Paper","Box","jsx","Typography","Button","FontAwesomeIcons","Chip","TextField","e","InputAdornment","Divider","Grid","List","index","isSelected","ListItem","Tooltip","IconButton","ListItemButton","ListItemText","Suspense","Dialog","DialogTitle","DialogContent","Autocomplete","x","option","_","newValue","params","DialogActions","PropTypes"],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
- import "react";
3
- import { useForm as S, Controller as g } from "react-hook-form";
4
- import * as m from "yup";
5
- import { yupResolver as C } from "@hookform/resolvers/yup";
6
- import { FormControl as b, Typography as p, Select as E, MenuItem as a, Box as T, Button as d } from "@mui/material";
7
- import u from "prop-types";
8
- import "./ManageEventConfiguration-BJxS2Su0.js";
9
- import { useTranslateProvider as F } from "@/common/languageTranslator/TranslationContext";
10
- import h from "@/common/services/util/GeneralUtil";
11
- const I = ({ setType: i, onSubmit: y }) => {
12
- var l;
13
- const { translate: t } = F(), f = m.object().shape({
14
- type: m.string().required("Type is Required")
15
- }), {
16
- control: x,
17
- handleSubmit: N,
18
- reset: n,
19
- formState: { errors: r }
20
- } = S({
21
- resolver: C(f),
22
- mode: "onChange"
23
- }), v = () => {
24
- y(), n(), i(null);
25
- };
26
- return /* @__PURE__ */ o("div", { children: [
27
- /* @__PURE__ */ o(
28
- b,
29
- {
30
- fullWidth: !0,
31
- error: !!r.type,
32
- className: "mb-2",
33
- "data-testid": "typeconfigurationform-formcontrol-type",
34
- children: [
35
- /* @__PURE__ */ o(p, { variant: "body2", className: "m-1", children: [
36
- t("Type"),
37
- /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
38
- ] }),
39
- /* @__PURE__ */ e(
40
- g,
41
- {
42
- name: "type",
43
- control: x,
44
- defaultValue: "",
45
- render: ({ field: c }) => /* @__PURE__ */ o(
46
- E,
47
- {
48
- ...c,
49
- size: "small",
50
- displayEmpty: !0,
51
- onChange: (s) => {
52
- c.onChange(s.target.value), i(s.target.value);
53
- },
54
- "data-testid": "typeconfigurationform-select-type",
55
- children: [
56
- /* @__PURE__ */ e(a, { value: "", children: /* @__PURE__ */ e(p, { variant: "body2", children: t("Select") }) }),
57
- /* @__PURE__ */ e(a, { className: "text-[14px] ", value: "SMS", children: t("SMS Notification") }),
58
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "EMAIL", children: t("Email Notification") }),
59
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "QUERY", children: t("Query") }),
60
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "MOBILE", children: t("Mobile Notification") }),
61
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "EXCEPTION", children: t("Exception") }),
62
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "SYSTEM_FUNCTION", children: t("System Function") }),
63
- /* @__PURE__ */ e(a, { className: "text-[14px]", value: "PUSH_NOTIFICATION", children: t("Push Notification") }),
64
- (h.isEkavach || h.isPhmp) && /* @__PURE__ */ e(a, { className: "text-[14px]", value: "KAFKA_SYNC", children: t("Kafka Sync") })
65
- ]
66
- }
67
- )
68
- }
69
- ),
70
- (r == null ? void 0 : r.type) && /* @__PURE__ */ e(
71
- "p",
72
- {
73
- className: "error-helper",
74
- "data-testid": "typeconfigurationform-error-helper-type",
75
- children: (l = r == null ? void 0 : r.type) == null ? void 0 : l.message
76
- }
77
- )
78
- ]
79
- }
80
- ),
81
- /* @__PURE__ */ o(T, { className: "flex items-center gap-1", children: [
82
- /* @__PURE__ */ e(
83
- d,
84
- {
85
- type: "button",
86
- variant: "outlined",
87
- color: "secondary",
88
- onClick: () => {
89
- i(null), n(), i(null);
90
- },
91
- "data-testid": "typeconfigurationform-button-clear",
92
- children: t("Clear")
93
- }
94
- ),
95
- /* @__PURE__ */ e(
96
- d,
97
- {
98
- variant: "contained",
99
- color: "primary",
100
- onClick: N(v),
101
- "data-testid": "typeconfigurationform-button-add",
102
- children: t("Add")
103
- }
104
- )
105
- ] })
106
- ] });
107
- };
108
- I.propTypes = {
109
- setType: u.any,
110
- // or PropTypes.shape({...}) for specific shape
111
- onSubmit: u.any
112
- // or PropTypes.shape({...}) for specific shape
113
- };
114
- export {
115
- I as default
116
- };
117
- //# sourceMappingURL=TypeConfiguration-C-lk8Szs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeConfiguration-C-lk8Szs.js","sources":["../src/views/Events/TypeConfiguration.jsx"],"sourcesContent":["import React from \"react\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n FormControl,\n Select,\n MenuItem,\n Button,\n Box,\n Typography,\n} from \"@mui/material\";\nimport PropTypes from \"prop-types\";\nimport \"./Styles/ManageEventConfiguration.scss\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\n\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n/**\n * A form component for configuring event types.\n * @module TypeConfigurationForm\n * @param {Object} props - The props for the component.\n * @param {Function} props.setType - Function to set the selected type.\n * @param {Function} props.onSubmit - Function to handle form submission.\n * @returns {JSX.Element} The rendered form component.\n */\nconst TypeConfigurationForm = ({ setType, onSubmit }) => {\n const { translate } = useTranslateProvider();\n const validationSchema = Yup.object().shape({\n type: Yup.string().required(\"Type is Required\"),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n formState: { errors },\n } = useForm({\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n /**\n * @function onFormSubmit\n * Handles form submission.\n * Calls the onSubmit function and resets the form.\n */\n const onFormSubmit = () => {\n onSubmit();\n reset();\n setType(null);\n };\n\n return (\n <div>\n <FormControl\n fullWidth\n error={!!errors.type}\n className=\"mb-2\"\n data-testid=\"typeconfigurationform-formcontrol-type\"\n >\n <Typography variant=\"body2\" className=\"m-1\">\n {translate(\"Type\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n\n <Controller\n name=\"type\"\n control={control}\n defaultValue=\"\"\n render={({ field }) => (\n <Select\n {...field}\n size=\"small\"\n displayEmpty\n onChange={(e) => {\n field.onChange(e.target.value);\n setType(e.target.value);\n }}\n data-testid=\"typeconfigurationform-select-type\"\n >\n <MenuItem value=\"\">\n <Typography variant=\"body2\">{translate(\"Select\")}</Typography>\n </MenuItem>\n <MenuItem className=\"text-[14px] \" value=\"SMS\">\n {translate(\"SMS Notification\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"EMAIL\">\n {translate(\"Email Notification\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"QUERY\">\n {translate(\"Query\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"MOBILE\">\n {translate(\"Mobile Notification\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"EXCEPTION\">\n {translate(\"Exception\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"SYSTEM_FUNCTION\">\n {translate(\"System Function\")}\n </MenuItem>\n <MenuItem className=\"text-[14px]\" value=\"PUSH_NOTIFICATION\">\n {translate(\"Push Notification\")}\n </MenuItem>\n {(GeneralUtil.isEkavach || GeneralUtil.isPhmp) && (\n <MenuItem className=\"text-[14px]\" value=\"KAFKA_SYNC\">\n {translate(\"Kafka Sync\")}\n </MenuItem>\n )}\n </Select>\n )}\n />\n {errors?.type && (\n <p\n className=\"error-helper\"\n data-testid=\"typeconfigurationform-error-helper-type\"\n >\n {errors?.type?.message}\n </p>\n )}\n </FormControl>\n\n <Box className=\"flex items-center gap-1\">\n <Button\n type=\"button\"\n variant=\"outlined\"\n color=\"secondary\"\n onClick={() => {\n setType(null);\n reset();\n setType(null);\n }} // Clear form\n data-testid=\"typeconfigurationform-button-clear\"\n >\n {translate(\"Clear\")}\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSubmit(onFormSubmit)} // Handle submission without form reload\n data-testid=\"typeconfigurationform-button-add\"\n >\n {translate(\"Add\")}\n </Button>\n </Box>\n </div>\n );\n};\n\nexport default TypeConfigurationForm;\n\nTypeConfigurationForm.propTypes = {\n setType: PropTypes.any, // or PropTypes.shape({...}) for specific shape\n onSubmit: PropTypes.any, // or PropTypes.shape({...}) for specific shape\n};\n"],"names":["TypeConfigurationForm","setType","onSubmit","translate","useTranslateProvider","validationSchema","Yup","control","handleSubmit","reset","errors","useForm","yupResolver","onFormSubmit","jsxs","FormControl","Typography","jsx","Controller","field","Select","e","MenuItem","GeneralUtil","Box","Button","PropTypes"],"mappings":"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"}