@argusoft/medplat-core 1.0.29 → 1.0.31

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 (217) hide show
  1. package/dist/AccessRights-DUgY6ewy.js +1031 -0
  2. package/dist/AccessRights-DUgY6ewy.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
  7. package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
  8. package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
  9. package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
  10. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
  11. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  12. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  13. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
  14. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
  15. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
  16. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
  17. package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
  18. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
  19. package/dist/ConditionConfig-BQBmBHaM.js +408 -0
  20. package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
  21. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
  22. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
  23. package/dist/EventConfig-BY2cgGyx.js +27 -0
  24. package/dist/EventConfig-BY2cgGyx.js.map +1 -0
  25. package/dist/EventConfigurations-CUPEN5BV.js +544 -0
  26. package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
  27. package/dist/EventConfigurations.css +1 -1
  28. package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
  29. package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
  30. package/dist/EventsUi-D6O9S7BK.js +258 -0
  31. package/dist/EventsUi-D6O9S7BK.js.map +1 -0
  32. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
  33. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
  34. package/dist/FeatureMenu-CHsBbw3W.js +525 -0
  35. package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
  36. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
  37. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
  38. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  39. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  40. package/dist/FlywayQuery-CQygj51V.js +179 -0
  41. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  42. package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
  43. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  44. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
  45. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
  46. package/dist/ImmunizationConfigurationBase.css +1 -1
  47. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  48. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  49. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
  50. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
  51. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  52. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  53. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  54. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  55. package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
  56. package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
  57. package/dist/ManageEventConfiguration.css +1 -1
  58. package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
  59. package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
  60. package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
  61. package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
  62. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  63. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  64. package/dist/ManageTranslation.css +1 -1
  65. package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
  66. package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
  67. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
  68. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
  69. package/dist/MobileAnalytics-BLOionG_.js +17301 -0
  70. package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
  71. package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
  72. package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
  73. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
  74. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
  75. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  76. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  77. package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
  78. package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
  79. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
  80. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
  81. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
  82. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
  83. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
  84. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
  85. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  86. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  87. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
  88. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
  89. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
  90. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
  91. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
  92. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
  93. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
  94. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
  95. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
  96. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
  97. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
  98. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
  99. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
  100. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
  101. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
  102. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
  103. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
  104. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
  105. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
  106. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
  107. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  108. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  109. package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
  110. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  111. package/dist/Roles-BIyiic67.js +14 -0
  112. package/dist/Roles-BIyiic67.js.map +1 -0
  113. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
  114. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
  115. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
  116. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
  117. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
  118. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
  119. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  120. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  121. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
  122. package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
  123. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  124. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  125. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
  126. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
  127. package/dist/SubMenu-BdMTYtC1.js +319 -0
  128. package/dist/SubMenu-BdMTYtC1.js.map +1 -0
  129. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
  130. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
  131. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
  132. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
  133. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
  134. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
  135. package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
  136. package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
  137. package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
  138. package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
  139. package/dist/Users-CsJ08Kjm.js.map +1 -1
  140. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
  141. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
  142. package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
  143. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
  144. package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
  145. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
  146. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  147. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  148. package/dist/index.css +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.lib-ETRQOzvE.js +894 -0
  151. package/dist/index.lib-ETRQOzvE.js.map +1 -0
  152. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
  153. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
  154. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  155. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  156. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  157. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  158. package/package.json +4 -3
  159. package/dist/AccessRights-Zm8Obm4N.js +0 -1284
  160. package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
  161. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  162. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  163. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  164. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  165. package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
  166. package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
  167. package/dist/AppModal-CtG2GjD_.js +0 -428
  168. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  169. package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
  170. package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
  171. package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
  172. package/dist/ConditionConfig.css +0 -1
  173. package/dist/EventConfigurations-BJcURufo.js +0 -449
  174. package/dist/EventConfigurations-BJcURufo.js.map +0 -1
  175. package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
  176. package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
  177. package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
  178. package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
  179. package/dist/FeatureMenu-C3503UIX.js +0 -265
  180. package/dist/FeatureMenu-C3503UIX.js.map +0 -1
  181. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  182. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  183. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
  184. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
  185. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  186. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  187. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  188. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  189. package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
  190. package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
  191. package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
  192. package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
  193. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  194. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  195. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  196. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  197. package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
  198. package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
  199. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  200. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  201. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
  202. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
  203. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  204. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  205. package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
  206. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  207. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  208. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  209. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  210. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  211. package/dist/SubMenu-B072oEGb.js +0 -191
  212. package/dist/SubMenu-B072oEGb.js.map +0 -1
  213. package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
  214. package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
  215. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  216. package/dist/index.lib-C3fwoM3y.js +0 -820
  217. package/dist/index.lib-C3fwoM3y.js.map +0 -1
@@ -0,0 +1,220 @@
1
+ import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
+ import { api as z } from "@/common/interceptors/AxiosInterceptor";
3
+ import { showToast as A } from "@/common/toaster/toaster";
4
+ import { Paper as W, Box as o, Typography as p, InputAdornment as S, IconButton as D, Button as N } from "@mui/material";
5
+ import F from "@mui/material/Grid2";
6
+ import d from "prop-types";
7
+ import { useState as b, useEffect as R, useMemo as B } from "react";
8
+ import { useNavigate as j } from "react-router";
9
+ import f from "@/common/fontAwesomeIcons/FontAwesomeIcons";
10
+ import { useTranslateProvider as J } from "@/common/languageTranslator/TranslationContext";
11
+ import q from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
12
+ import E from "@/views/custom-components/DebouncedSearchInput";
13
+ import { c as $ } from "./dashboardLayoutUtils-CJivzaU1.js";
14
+ const G = "/mobilemenu/v2", H = {
15
+ getMobileMenuList: () => z.get(G + "/list")
16
+ }, x = ({ icon: i, title: g, body: a, action: l, dataTestId: m }) => /* @__PURE__ */ u(
17
+ o,
18
+ {
19
+ "data-testid": m,
20
+ sx: {
21
+ display: "flex",
22
+ flexDirection: "column",
23
+ alignItems: "center",
24
+ justifyContent: "center",
25
+ textAlign: "center",
26
+ gap: 1,
27
+ px: 3,
28
+ py: 8
29
+ },
30
+ children: [
31
+ /* @__PURE__ */ e(o, { sx: { color: "text.disabled" }, children: /* @__PURE__ */ e(f, { iconName: i, size: "2x" }) }),
32
+ /* @__PURE__ */ e(p, { variant: "subtitle1", sx: { fontWeight: 700 }, children: g }),
33
+ a && /* @__PURE__ */ e(p, { variant: "body2", color: "text.secondary", sx: { maxWidth: 440 }, children: a }),
34
+ l
35
+ ]
36
+ }
37
+ );
38
+ x.propTypes = {
39
+ icon: d.string,
40
+ title: d.node,
41
+ body: d.node,
42
+ action: d.node,
43
+ dataTestId: d.string
44
+ };
45
+ function ie() {
46
+ const [i, g] = b([]), [a, l] = b(""), [m, y] = b(!0), M = j(), { translate: n } = J(), L = [
47
+ { field: "Sr. No.", label: "#", align: "left" },
48
+ { field: "name", label: n("Role Name"), align: "left", minWidth: 220, isBold: !0 },
49
+ { field: "features", label: n("Features"), align: "left", minWidth: 340 },
50
+ { field: "Actions", label: n("Actions"), align: "left", minWidth: 110 }
51
+ ], T = (t) => {
52
+ const s = `addMenuConfiguration?${new URLSearchParams({ id: t.id }).toString()}`;
53
+ M(s, { state: { mobileMenuList: t, roleId: t.roleId } });
54
+ }, v = (t) => [
55
+ {
56
+ icon: /* @__PURE__ */ e(f, { iconName: "faPen" }),
57
+ ariaLabel: `${n("Edit menu configuration for")} ${(t == null ? void 0 : t.name) ?? ""}`,
58
+ onClick: T,
59
+ dataTestId: "mobilemenumanagement-edit-action"
60
+ }
61
+ ];
62
+ R(() => {
63
+ (async () => await P())();
64
+ }, []);
65
+ const P = async () => {
66
+ try {
67
+ y(!0);
68
+ const s = ((await H.getMobileMenuList()).data || []).map((r) => {
69
+ let h = {};
70
+ try {
71
+ h = typeof r.configJson == "string" ? JSON.parse(r.configJson) : r.configJson || {};
72
+ } catch {
73
+ h = {};
74
+ }
75
+ const k = $(h), w = [...new Set(k)].join(", ");
76
+ return {
77
+ id: r.id,
78
+ roleId: r.roleId,
79
+ name: r.roleName,
80
+ features: w,
81
+ configJson: h
82
+ };
83
+ });
84
+ g(s);
85
+ } catch (t) {
86
+ A({
87
+ message: n("Could not load the mobile menu configurations. Try again in a moment."),
88
+ type: "error"
89
+ }), console.error(t);
90
+ } finally {
91
+ y(!1);
92
+ }
93
+ }, C = B(() => {
94
+ const t = a.trim().toLowerCase();
95
+ return t ? i.filter((c) => {
96
+ var s;
97
+ return (s = c.name) == null ? void 0 : s.toLowerCase().includes(t);
98
+ }) : i;
99
+ }, [i, a]), I = (t, c = "contained") => /* @__PURE__ */ e(
100
+ N,
101
+ {
102
+ size: "small",
103
+ variant: c,
104
+ onClick: () => M("addMenuConfiguration"),
105
+ startIcon: /* @__PURE__ */ e(f, { iconName: "faPlus" }),
106
+ "data-testid": t,
107
+ children: n("Add configuration")
108
+ }
109
+ );
110
+ return /* @__PURE__ */ e(F, { "data-testid": "mobilemenumanagement-container", children: /* @__PURE__ */ e(
111
+ W,
112
+ {
113
+ elevation: 0,
114
+ sx: {
115
+ p: { xs: 2.5, md: 3 },
116
+ mt: 2,
117
+ mb: 3,
118
+ border: "1px solid",
119
+ borderColor: "divider",
120
+ borderRadius: (t) => `${t.shape.cardRadius}px`,
121
+ backgroundColor: "background.paper"
122
+ },
123
+ children: /* @__PURE__ */ u(o, { sx: { display: "flex", flexDirection: "column", gap: 3 }, children: [
124
+ /* @__PURE__ */ u(
125
+ o,
126
+ {
127
+ sx: {
128
+ display: "flex",
129
+ justifyContent: "space-between",
130
+ alignItems: "flex-start",
131
+ flexWrap: "wrap",
132
+ gap: 2
133
+ },
134
+ children: [
135
+ /* @__PURE__ */ u(o, { sx: { minWidth: { xs: "100%", lg: "40%" } }, children: [
136
+ /* @__PURE__ */ e(
137
+ p,
138
+ {
139
+ variant: "h5",
140
+ component: "h1",
141
+ sx: { fontWeight: 800, color: "text.primary", mb: 0.5 },
142
+ children: n("Mobile Menu Management")
143
+ }
144
+ ),
145
+ /* @__PURE__ */ e(p, { variant: "body2", color: "text.secondary", children: n(
146
+ "Decide what each role sees on the mobile home screen: menu blocks, dashboards and shortcuts."
147
+ ) })
148
+ ] }),
149
+ /* @__PURE__ */ u(o, { sx: { display: "flex", alignItems: "center", gap: 1.5, flexWrap: "wrap" }, children: [
150
+ /* @__PURE__ */ e(
151
+ E,
152
+ {
153
+ value: a,
154
+ onChange: l,
155
+ placeholder: n("Search Role"),
156
+ autoFocus: !1,
157
+ size: "small",
158
+ "data-testid": "mobilemenumanagement-search-textfield",
159
+ sx: { width: { xs: "100%", sm: 240 } },
160
+ slotProps: { htmlInput: { "aria-label": n("Search Role") } },
161
+ inputProps: {
162
+ startAdornment: /* @__PURE__ */ e(S, { position: "start", children: /* @__PURE__ */ e(o, { sx: { color: "text.disabled", display: "flex" }, children: /* @__PURE__ */ e(f, { iconName: "faMagnifyingGlass", size: "sm" }) }) }),
163
+ endAdornment: a ? /* @__PURE__ */ e(S, { position: "end", children: /* @__PURE__ */ e(
164
+ D,
165
+ {
166
+ size: "small",
167
+ "aria-label": n("Clear search"),
168
+ onClick: () => l(""),
169
+ children: /* @__PURE__ */ e(f, { iconName: "faXmark", size: "sm" })
170
+ }
171
+ ) }) : null
172
+ }
173
+ }
174
+ ),
175
+ I("mobilemenumanagement-add-button")
176
+ ] })
177
+ ]
178
+ }
179
+ ),
180
+ !m && C.length === 0 && a ? /* @__PURE__ */ e(
181
+ x,
182
+ {
183
+ icon: "faMagnifyingGlass",
184
+ title: n("No roles match your search"),
185
+ body: n("Search matches the role name. Check the spelling, or try a shorter term."),
186
+ action: /* @__PURE__ */ e(N, { variant: "text", size: "small", onClick: () => l(""), children: n("Clear search") }),
187
+ dataTestId: "mobilemenumanagement-no-results"
188
+ }
189
+ ) : !m && i.length === 0 ? /* @__PURE__ */ e(
190
+ x,
191
+ {
192
+ icon: "faMobileScreenButton",
193
+ title: n("No mobile menus configured yet"),
194
+ body: n(
195
+ "Add a configuration to choose which blocks a role sees when it opens the mobile app."
196
+ ),
197
+ action: I("mobilemenumanagement-empty-add-button", "text"),
198
+ dataTestId: "mobilemenumanagement-empty"
199
+ }
200
+ ) : /* @__PURE__ */ e(
201
+ q,
202
+ {
203
+ columns: L,
204
+ tableData: C,
205
+ actions: v,
206
+ isLoading: m,
207
+ disableHtml: !0,
208
+ showFullContent: !1,
209
+ styleConfig: { tableStyle: { maxHeight: 65 }, cellStyle: { maxLines: 2 } },
210
+ dataTestId: "mobilemenumanagement-customizedtable"
211
+ }
212
+ )
213
+ ] })
214
+ }
215
+ ) });
216
+ }
217
+ export {
218
+ ie as default
219
+ };
220
+ //# sourceMappingURL=MobileMenuManagement-68Wijb0X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileMenuManagement-68Wijb0X.js","sources":["../src/services/MobileMenuService.js","../src/views/MobileMenuManagement/MobileMenuManagement.jsx"],"sourcesContent":["import { api } from '@/common/interceptors/AxiosInterceptor';\n\nconst basePath = '/mobilemenu/v2';\n\nexport const MobileMenuService = {\n getMobileMenuList: () => api.get(basePath + '/list'),\n};\n","/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-03-24 (Monday)\n */\n\nimport { MobileMenuService } from '../../services/MobileMenuService';\nimport { showToast } from '@/common/toaster/toaster';\nimport { Box, Button, IconButton, InputAdornment, Paper, Typography } from '@mui/material';\nimport Grid from '@mui/material/Grid2';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router';\nimport FontAwesomeIcons from '@/common/fontAwesomeIcons/FontAwesomeIcons';\nimport { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\nimport CustomizedTable from '@/views/custom-components/CustomizedTable/CustomizedTableV2';\nimport DebouncedSearchInput from '@/views/custom-components/DebouncedSearchInput';\nimport { collectFeatureNamesFromLayout } from './dashboardLayoutUtils';\n\n/**\n * Centred message block used for every zero-content state on this screen, so\n * \"nothing configured yet\" and \"no matches\" read as one family rather than two\n * unrelated layouts.\n *\n * @param {Object} props\n * @param {string} props.icon - FontAwesome export name.\n * @returns {JSX.Element}\n */\nconst EmptyState = ({ icon, title, body, action, dataTestId }) => (\n <Box\n data-testid={dataTestId}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n gap: 1,\n px: 3,\n py: 8,\n }}\n >\n <Box sx={{ color: 'text.disabled' }}>\n <FontAwesomeIcons iconName={icon} size=\"2x\" />\n </Box>\n <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n {body && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ maxWidth: 440 }}>\n {body}\n </Typography>\n )}\n {action}\n </Box>\n);\n\nEmptyState.propTypes = {\n icon: PropTypes.string,\n title: PropTypes.node,\n body: PropTypes.node,\n action: PropTypes.node,\n dataTestId: PropTypes.string,\n};\n\nexport default function MobileMenuManagement() {\n const [mobileMenuList, setMobileMenuList] = useState([]);\n const [searchText, setSearchText] = useState('');\n const [isLoading, setIsLoading] = useState(true);\n\n const navigate = useNavigate();\n const { translate } = useTranslateProvider();\n\n const columns = [\n { field: 'Sr. No.', label: '#', align: 'left' },\n { field: 'name', label: translate('Role Name'), align: 'left', minWidth: 220, isBold: true },\n { field: 'features', label: translate('Features'), align: 'left', minWidth: 340 },\n { field: 'Actions', label: translate('Actions'), align: 'left', minWidth: 110 },\n ];\n\n /** Row comes from the action's own argument, never from parent state. */\n const handleEdit = (row) => {\n const queryParams = new URLSearchParams({ id: row.id }).toString();\n const url = `addMenuConfiguration?${queryParams}`;\n navigate(url, { state: { mobileMenuList: row, roleId: row.roleId } });\n };\n\n const actions = (row) => [\n {\n icon: <FontAwesomeIcons iconName=\"faPen\" />,\n ariaLabel: `${translate('Edit menu configuration for')} ${row?.name ?? ''}`,\n onClick: handleEdit,\n dataTestId: 'mobilemenumanagement-edit-action',\n },\n ];\n\n useEffect(() => {\n (async () => {\n await fetchMenuRelations();\n })();\n }, []);\n\n const fetchMenuRelations = async () => {\n try {\n setIsLoading(true);\n const response = await MobileMenuService.getMobileMenuList();\n const menuData = response.data || [];\n const formattedData = menuData.map((item) => {\n let config = {};\n try {\n config =\n typeof item.configJson === 'string'\n ? JSON.parse(item.configJson)\n : item.configJson || {};\n } catch {\n config = {};\n }\n\n const allFeatureNames = collectFeatureNamesFromLayout(config);\n const uniqueNames = [...new Set(allFeatureNames)];\n const featureSummary = uniqueNames.join(', ');\n\n return {\n id: item.id,\n roleId: item.roleId,\n name: item.roleName,\n features: featureSummary,\n configJson: config,\n };\n });\n setMobileMenuList(formattedData);\n } catch (error) {\n showToast({\n message: translate('Could not load the mobile menu configurations. Try again in a moment.'),\n type: 'error',\n });\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const filteredList = useMemo(() => {\n const term = searchText.trim().toLowerCase();\n if (!term) return mobileMenuList;\n return mobileMenuList.filter((item) => item.name?.toLowerCase().includes(term));\n }, [mobileMenuList, searchText]);\n\n const addConfigurationButton = (dataTestId, variant = 'contained') => (\n <Button\n size=\"small\"\n variant={variant}\n onClick={() => navigate('addMenuConfiguration')}\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n data-testid={dataTestId}\n >\n {translate('Add configuration')}\n </Button>\n );\n\n return (\n <Grid data-testid=\"mobilemenumanagement-container\">\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: (t) => `${t.shape.cardRadius}px`,\n backgroundColor: 'background.paper',\n }}\n >\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>\n {/* ── Header: title block (left) + actions (right) ── */}\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\n variant=\"h5\"\n component=\"h1\"\n sx={{ fontWeight: 800, color: 'text.primary', mb: 0.5 }}\n >\n {translate('Mobile Menu Management')}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n 'Decide what each role sees on the mobile home screen: menu blocks, dashboards and shortcuts.',\n )}\n </Typography>\n </Box>\n\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5, flexWrap: 'wrap' }}>\n <DebouncedSearchInput\n value={searchText}\n onChange={setSearchText}\n placeholder={translate('Search Role')}\n autoFocus={false}\n size=\"small\"\n data-testid=\"mobilemenumanagement-search-textfield\"\n sx={{ width: { xs: '100%', sm: 240 } }}\n slotProps={{ htmlInput: { 'aria-label': translate('Search Role') } }}\n inputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Box sx={{ color: 'text.disabled', display: 'flex' }}>\n <FontAwesomeIcons iconName=\"faMagnifyingGlass\" size=\"sm\" />\n </Box>\n </InputAdornment>\n ),\n endAdornment: searchText ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={translate('Clear search')}\n onClick={() => setSearchText('')}\n >\n <FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n {addConfigurationButton('mobilemenumanagement-add-button')}\n </Box>\n </Box>\n\n {!isLoading && filteredList.length === 0 && searchText ? (\n <EmptyState\n icon=\"faMagnifyingGlass\"\n title={translate('No roles match your search')}\n body={translate('Search matches the role name. Check the spelling, or try a shorter term.')}\n action={\n <Button variant=\"text\" size=\"small\" onClick={() => setSearchText('')}>\n {translate('Clear search')}\n </Button>\n }\n dataTestId=\"mobilemenumanagement-no-results\"\n />\n ) : !isLoading && mobileMenuList.length === 0 ? (\n <EmptyState\n icon=\"faMobileScreenButton\"\n title={translate('No mobile menus configured yet')}\n body={translate(\n 'Add a configuration to choose which blocks a role sees when it opens the mobile app.',\n )}\n action={addConfigurationButton('mobilemenumanagement-empty-add-button', 'text')}\n dataTestId=\"mobilemenumanagement-empty\"\n />\n ) : (\n <CustomizedTable\n columns={columns}\n tableData={filteredList}\n actions={actions}\n isLoading={isLoading}\n disableHtml\n showFullContent={false}\n styleConfig={{ tableStyle: { maxHeight: 65 }, cellStyle: { maxLines: 2 } }}\n dataTestId=\"mobilemenumanagement-customizedtable\"\n />\n )}\n </Box>\n </Paper>\n </Grid>\n );\n}\n"],"names":["basePath","MobileMenuService","api","EmptyState","icon","title","body","action","dataTestId","jsxs","Box","jsx","FontAwesomeIcons","Typography","PropTypes","MobileMenuManagement","mobileMenuList","setMobileMenuList","useState","searchText","setSearchText","isLoading","setIsLoading","navigate","useNavigate","translate","useTranslateProvider","columns","handleEdit","row","url","actions","useEffect","fetchMenuRelations","formattedData","item","config","allFeatureNames","collectFeatureNamesFromLayout","featureSummary","error","showToast","filteredList","useMemo","term","_a","addConfigurationButton","variant","Button","Grid","Paper","DebouncedSearchInput","InputAdornment","IconButton","CustomizedTable"],"mappings":"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"}